Example usage for org.springframework.util StringUtils commaDelimitedListToSet

List of usage examples for org.springframework.util StringUtils commaDelimitedListToSet

Introduction

In this page you can find the example usage for org.springframework.util StringUtils commaDelimitedListToSet.

Prototype

public static Set<String> commaDelimitedListToSet(@Nullable String str) 

Source Link

Document

Convert a comma delimited list (e.g., a row from a CSV file) into a set.

Usage

From source file:org.cloudfoundry.identity.uaa.mock.token.TokenMvcMockTests.java

@Test
public void test_Token_Expiry_Time() throws Exception {
    String clientId = "testclient" + generator.generate();
    String scopes = "space.*.developer,space.*.admin,org.*.reader,org.123*.admin,*.*,*";
    setUpClients(clientId, scopes, scopes, GRANT_TYPES, true, null, null, 60 * 60 * 24 * 3650);
    String userId = "testuser" + generator.generate();
    String userScopes = "space.1.developer,space.2.developer,org.1.reader,org.2.reader,org.12345.admin,scope.one,scope.two,scope.three";
    ScimUser developer = setUpUser(userId, userScopes, OriginKeys.UAA, IdentityZoneHolder.get().getId());
    Set<String> allUserScopes = new HashSet<>();
    allUserScopes.addAll(defaultAuthorities);
    allUserScopes.addAll(StringUtils.commaDelimitedListToSet(userScopes));

    String token = validatePasswordGrantToken(clientId, userId, "", allUserScopes.toArray(new String[0]));

    if (token.length() <= 36) {
        token = getWebApplicationContext().getBean(JdbcRevocableTokenProvisioning.class).retrieve(token)
                .getValue();/*  w w w .j  a v a2 s .  c  o  m*/
    }

    Jwt tokenJwt = JwtHelper.decode(token);

    Map<String, Object> claims = JsonUtils.readValue(tokenJwt.getClaims(),
            new TypeReference<Map<String, Object>>() {
            });
    Integer expirationTime = (Integer) claims.get(ClaimConstants.EXP);

    Calendar nineYearsAhead = new GregorianCalendar();
    nineYearsAhead.setTimeInMillis(System.currentTimeMillis());
    nineYearsAhead.add(Calendar.YEAR, 9);
    assertTrue("Expiration Date should be more than 9 years ahead.",
            new Date(expirationTime * 1000l).after(new Date(nineYearsAhead.getTimeInMillis())));

}

From source file:org.cloudfoundry.identity.uaa.mock.token.TokenMvcMockTests.java

@Test
public void testWildcardPasswordGrant() throws Exception {
    String clientId = "testclient" + generator.generate();
    String scopes = "space.*.developer,space.*.admin,org.*.reader,org.123*.admin,*.*,*";
    setUpClients(clientId, scopes, scopes, GRANT_TYPES, true);
    String userId = "testuser" + generator.generate();
    String userScopes = "space.1.developer,space.2.developer,org.1.reader,org.2.reader,org.12345.admin,scope.one,scope.two,scope.three";
    ScimUser developer = setUpUser(userId, userScopes, OriginKeys.UAA, IdentityZoneHolder.get().getId());
    Set<String> allUserScopes = new HashSet<>();
    allUserScopes.addAll(defaultAuthorities);
    allUserScopes.addAll(StringUtils.commaDelimitedListToSet(userScopes));

    validatePasswordGrantToken(clientId, userId, "", allUserScopes.toArray(new String[0]));
    validatePasswordGrantToken(clientId, userId, "space.*.developer", "space.1.developer", "space.2.developer");
    validatePasswordGrantToken(clientId, userId, "space.2.developer", "space.2.developer");
    validatePasswordGrantToken(clientId, userId, "org.123*.admin", "org.12345.admin");
    validatePasswordGrantToken(clientId, userId, "org.123*.admin,space.1.developer", "org.12345.admin",
            "space.1.developer");
    validatePasswordGrantToken(clientId, userId, "org.123*.admin,space.*.developer", "org.12345.admin",
            "space.1.developer", "space.2.developer");
    Set<String> set1 = new HashSet<>(defaultAuthorities);
    set1.addAll(Arrays.asList("org.12345.admin", "space.1.developer", "space.2.developer", "scope.one",
            "scope.two", "scope.three"));

    set1.remove("openid");
    set1.remove("profile");
    set1.remove("roles");
    set1.remove(ClaimConstants.USER_ATTRIBUTES);
    validatePasswordGrantToken(clientId, userId, "org.123*.admin,space.*.developer,*.*",
            set1.toArray(new String[0]));
    validatePasswordGrantToken(clientId, userId, "org.123*.admin,space.*.developer,scope.*", "org.12345.admin",
            "space.1.developer", "space.2.developer", "scope.one", "scope.two", "scope.three");

}

From source file:org.cloudfoundry.identity.uaa.mock.util.MockMvcUtils.java

public static ScimUser createAdminForZone(MockMvc mockMvc, String accessToken, String scopes) throws Exception {
    String random = RandomStringUtils.randomAlphabetic(6);
    ScimUser user = new ScimUser();
    user.setUserName(random + "@example.com");
    ScimUser.Email email = new ScimUser.Email();
    email.setValue(random + "@example.com");
    user.setEmails(asList(email));/*from   www . j  av  a  2  s.  c  o  m*/
    user.setPassword("secr3T");
    ScimUser createdUser = createUser(mockMvc, accessToken, user);

    for (String scope : StringUtils.commaDelimitedListToSet(scopes)) {
        ScimGroup group = getGroup(mockMvc, accessToken, scope);
        if (group == null) {
            group = new ScimGroup(null, scope, IdentityZoneHolder.get().getId());
            group.setMembers(Arrays.asList(new ScimGroupMember(createdUser.getId())));
            createGroup(mockMvc, accessToken, group);
        } else {
            List<ScimGroupMember> members = new LinkedList(group.getMembers());
            members.add(new ScimGroupMember(createdUser.getId()));
            group.setMembers(members);
            updateGroup(mockMvc, accessToken, group);
        }
    }
    return createdUser;
}

From source file:org.cloudfoundry.identity.uaa.resources.jdbc.AbstractQueryable.java

protected void validateOrderBy(String orderBy, String fields) throws IllegalArgumentException {
    if (!StringUtils.hasText(orderBy)) {
        return;/*w  ww  .j  a  v a 2  s  .  com*/
    }
    String[] input = StringUtils.commaDelimitedListToStringArray(orderBy);
    Set<String> compare = new HashSet<>();
    StringUtils.commaDelimitedListToSet(fields).stream().forEach(p -> compare.add(p.toLowerCase().trim()));
    boolean allints = true;
    for (String s : input) {
        try {
            Integer.parseInt(s);
        } catch (NumberFormatException e) {
            allints = false;
            if (!compare.contains(s.toLowerCase().trim())) {
                throw new IllegalArgumentException("Invalid sort field:" + s);
            }
        }
    }
    if (allints) {
        return;
    }

}

From source file:org.cloudfoundry.identity.uaa.scim.bootstrap.ScimGroupBootstrap.java

/**
 * Specify the membership info as a list of strings, where each string takes
 * the format -//from ww  w  .j a  va  2 s .  c  om
 * {@code <group-name>|<comma-separated usernames of members>[|write]}
 * the optional 'write' field in the end marks the users as admins of the
 * group
 *
 * @param membershipInfo
 */
public void setGroupMembers(List<String> membershipInfo) {
    for (String line : membershipInfo) {
        String[] fields = line.split("\\|");
        if (fields.length < 2) {
            continue;
        }
        Set<String> users = StringUtils.commaDelimitedListToSet(fields[1]);
        String groupName = fields[0];
        groups.putIfAbsent(groupName, null);

        boolean groupAdmin = (3 <= fields.length && "write".equalsIgnoreCase(fields[2])) ? true : false;
        if (groupAdmin) {
            groupAdmins.put(groupName, users);
        } else {
            groupMembers.put(groupName, users);
        }
    }
    logger.debug("groups: " + groups);
    logger.debug("admins: " + groupAdmins + ", members: " + groupMembers);
}

From source file:org.sakaiproject.tool.impl.SessionComponent.java

public void setClusterableTools(String clusterableToolList) {
    Set<?> newTools = StringUtils.commaDelimitedListToSet(clusterableToolList);
    this.clusterableTools.clear();
    for (Object o : newTools) {
        if (o instanceof java.lang.String) {
            this.clusterableTools.add((String) o);
        } else {/*from www . ja va2 s .  c  o m*/
            M_log.error("SessionManager.setClusterableTools(String) unable to set value: " + o);
        }
    }
}

From source file:org.springframework.amqp.rabbit.annotation.RabbitListenerAnnotationBeanPostProcessor.java

@Override
public void setEnvironment(Environment environment) {
    String property = environment.getProperty(RABBIT_EMPTY_STRING_ARGUMENTS_PROPERTY, String.class);
    if (property != null) {
        this.emptyStringArguments.addAll(StringUtils.commaDelimitedListToSet(property));
    }//from   w ww  .j  a v a2s. c  o  m
}

From source file:org.springframework.cloud.config.server.resource.GenericResourceRepository.java

private Collection<String> getProfilePaths(String profiles, String path) {
    Set<String> paths = new LinkedHashSet<>();
    for (String profile : StringUtils.commaDelimitedListToSet(profiles)) {
        if (!StringUtils.hasText(profile) || "default".equals(profile)) {
            paths.add(path);/* w ww.  j a va  2 s.  c  o  m*/
        } else {
            String ext = StringUtils.getFilenameExtension(path);
            String file = path;
            if (ext != null) {
                ext = "." + ext;
                file = StringUtils.stripFilenameExtension(path);
            } else {
                ext = "";
            }
            paths.add(file + "-" + profile + ext);
        }
    }
    paths.add(path);
    return paths;
}

From source file:org.springframework.cloud.deployer.spi.mesos.chronos.ChronosTaskLauncher.java

private Collection<Constraint> deduceConstraints(AppDeploymentRequest request) {
    Set<Constraint> requestSpecific = StringUtils
            .commaDelimitedListToSet(request.getDeploymentProperties().get(prefix("constraints"))).stream()
            .map(Constraint::new).collect(Collectors.toSet());
    Set<Constraint> result = new HashSet<>(properties.getConstraints());
    result.addAll(requestSpecific);//from w w w.  java 2 s .  c o m
    return result;
}

From source file:org.springframework.cloud.deployer.spi.mesos.marathon.MarathonAppDeployer.java

private Collection<String> deduceUris(AppDeploymentRequest request) {
    Set<String> additional = StringUtils
            .commaDelimitedListToSet(request.getDeploymentProperties().get(prefix("uris")));
    HashSet<String> result = new HashSet<>(additional);
    result.addAll(properties.getUris());
    return result;
}