Example usage for org.apache.commons.lang StringUtils substringAfter

List of usage examples for org.apache.commons.lang StringUtils substringAfter

Introduction

In this page you can find the example usage for org.apache.commons.lang StringUtils substringAfter.

Prototype

public static String substringAfter(String str, String separator) 

Source Link

Document

Gets the substring after the first occurrence of a separator.

Usage

From source file:org.apache.archiva.indexer.maven.search.MavenRepositorySearch.java

private IndexingContext getIndexingContext(String id) {
    String repoId;//w w w.  j  av a2s .c o m
    if (StringUtils.startsWith(id, "remote-")) {
        repoId = StringUtils.substringAfter(id, "remote-");
    } else {
        repoId = id;
    }
    Repository repo = repositoryRegistry.getRepository(repoId);
    if (repo == null) {
        return null;
    } else {
        if (repo.getIndexingContext() != null) {
            try {
                return repo.getIndexingContext().getBaseContext(IndexingContext.class);
            } catch (UnsupportedBaseContextException e) {
                return null;
            }
        } else {
            return null;
        }
    }
}

From source file:org.apache.archiva.indexer.maven.search.MavenRepositorySearch.java

/**
 * calculate baseUrl without the context and base Archiva Url
 *
 * @param artifactInfo//from  w  ww. ja  va  2  s .c  o  m
 * @return
 */
protected String getBaseUrl(ArtifactInfo artifactInfo, List<String> selectedRepos)
        throws RepositoryAdminException {
    StringBuilder sb = new StringBuilder();
    if (StringUtils.startsWith(artifactInfo.getContext(), "remote-")) {
        // it's a remote index result we search a managed which proxying this remote and on which
        // current user has read karma
        String managedRepoId = getManagedRepoId(
                StringUtils.substringAfter(artifactInfo.getContext(), "remote-"), selectedRepos);
        if (managedRepoId != null) {
            sb.append('/').append(managedRepoId);
            artifactInfo.setContext(managedRepoId);
        }
    } else {
        sb.append('/').append(artifactInfo.getContext());
    }

    sb.append('/').append(StringUtils.replaceChars(artifactInfo.getGroupId(), '.', '/'));
    sb.append('/').append(artifactInfo.getArtifactId());
    sb.append('/').append(artifactInfo.getVersion());
    sb.append('/').append(artifactInfo.getArtifactId());
    sb.append('-').append(artifactInfo.getVersion());
    if (StringUtils.isNotBlank(artifactInfo.getClassifier())) {
        sb.append('-').append(artifactInfo.getClassifier());
    }
    // maven-plugin packaging is a jar
    if (StringUtils.equals("maven-plugin", artifactInfo.getPackaging())) {
        sb.append("jar");
    } else {
        sb.append('.').append(artifactInfo.getPackaging());
    }

    return sb.toString();
}

From source file:org.apache.archiva.indexer.search.MavenRepositorySearch.java

/**
 * calculate baseUrl without the context and base Archiva Url
 *
 * @param artifactInfo/* w  w w .  j a  va 2 s.  co m*/
 * @return
 */
protected String getBaseUrl(ArtifactInfo artifactInfo, List<String> selectedRepos)
        throws RepositoryAdminException {
    StringBuilder sb = new StringBuilder();
    if (StringUtils.startsWith(artifactInfo.context, "remote-")) {
        // it's a remote index result we search a managed which proxying this remote and on which
        // current user has read karma
        String managedRepoId = getManagedRepoId(StringUtils.substringAfter(artifactInfo.context, "remote-"),
                selectedRepos);
        if (managedRepoId != null) {
            sb.append('/').append(managedRepoId);
            artifactInfo.context = managedRepoId;
        }
    } else {
        sb.append('/').append(artifactInfo.context);
    }

    sb.append('/').append(StringUtils.replaceChars(artifactInfo.groupId, '.', '/'));
    sb.append('/').append(artifactInfo.artifactId);
    sb.append('/').append(artifactInfo.version);
    sb.append('/').append(artifactInfo.artifactId);
    sb.append('-').append(artifactInfo.version);
    if (StringUtils.isNotBlank(artifactInfo.classifier)) {
        sb.append('-').append(artifactInfo.classifier);
    }
    // maven-plugin packaging is a jar
    if (StringUtils.equals("maven-plugin", artifactInfo.packaging)) {
        sb.append("jar");
    } else {
        sb.append('.').append(artifactInfo.packaging);
    }

    return sb.toString();
}

From source file:org.apache.archiva.metadata.repository.cassandra.CassandraMetadataRepository.java

@Override
public Collection<String> getNamespaces(final String repoId, final String namespaceId)
        throws MetadataResolutionException {

    QueryResult<OrderedRows<String, String, String>> result = HFactory //
            .createRangeSlicesQuery(keyspace, ss, ss, ss) //
            .setColumnFamily(cassandraArchivaManager.getNamespaceFamilyName()) //
            .setColumnNames(NAME.toString()) //
            .addEqualsExpression(REPOSITORY_NAME.toString(), repoId) //
            .execute();//from w  w  w  .  j  av a 2 s  .  co  m

    List<String> namespaces = new ArrayList<>(result.get().getCount());

    for (Row<String, String, String> row : result.get()) {
        String currentNamespace = getStringValue(row.getColumnSlice(), NAME.toString());
        if (StringUtils.startsWith(currentNamespace, namespaceId) //
                && (StringUtils.length(currentNamespace) > StringUtils.length(namespaceId))) {
            // store after namespaceId '.' but before next '.'
            // call org namespace org.apache.maven.shared -> stored apache

            String calledNamespace = StringUtils.endsWith(namespaceId, ".") ? namespaceId : namespaceId + ".";
            String storedNamespace = StringUtils.substringAfter(currentNamespace, calledNamespace);

            storedNamespace = StringUtils.substringBefore(storedNamespace, ".");

            namespaces.add(storedNamespace);
        }
    }

    return namespaces;

}

From source file:org.apache.archiva.redback.common.ldap.role.DefaultLdapRoleMapper.java

public List<String> getAllGroups(DirContext context) throws MappingException {

    NamingEnumeration<SearchResult> namingEnumeration = null;
    try {/*from w w  w. jav a2s  .com*/

        SearchControls searchControls = new SearchControls();

        searchControls.setDerefLinkFlag(true);
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);

        String filter = "objectClass=" + getLdapGroupClass();

        if (!StringUtils.isEmpty(this.groupFilter)) {
            filter = "(&(" + filter + ")(" + this.groupFilter + "))";
        }

        namingEnumeration = context.search(getGroupsDn(), filter, searchControls);

        List<String> allGroups = new ArrayList<String>();

        while (namingEnumeration.hasMore()) {
            SearchResult searchResult = namingEnumeration.next();

            String groupName = searchResult.getName();
            // cn=blabla we only want bla bla
            groupName = StringUtils.substringAfter(groupName, "=");

            log.debug("found groupName: '{}", groupName);

            allGroups.add(groupName);

        }

        return allGroups;
    } catch (LdapException e) {
        throw new MappingException(e.getMessage(), e);
    } catch (NamingException e) {
        throw new MappingException(e.getMessage(), e);
    }

    finally {
        close(namingEnumeration);
    }
}

From source file:org.apache.archiva.redback.common.ldap.role.DefaultLdapRoleMapper.java

public List<String> getGroupsMember(String group, DirContext context) throws MappingException {

    NamingEnumeration<SearchResult> namingEnumeration = null;
    try {//from  w w w  .j av  a  2 s.c om

        SearchControls searchControls = new SearchControls();

        searchControls.setDerefLinkFlag(true);
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);

        String filter = "objectClass=" + getLdapGroupClass();

        namingEnumeration = context.search("cn=" + group + "," + getGroupsDn(), filter, searchControls);

        List<String> allMembers = new ArrayList<String>();

        while (namingEnumeration.hasMore()) {
            SearchResult searchResult = namingEnumeration.next();

            Attribute uniqueMemberAttr = searchResult.getAttributes().get(getLdapGroupMember());

            if (uniqueMemberAttr != null) {
                NamingEnumeration<String> allMembersEnum = (NamingEnumeration<String>) uniqueMemberAttr
                        .getAll();
                while (allMembersEnum.hasMore()) {
                    String userName = allMembersEnum.next();
                    // uid=blabla we only want bla bla
                    userName = StringUtils.substringAfter(userName, "=");
                    userName = StringUtils.substringBefore(userName, ",");
                    log.debug("found userName for group {}: '{}", group, userName);

                    allMembers.add(userName);
                }
                close(allMembersEnum);
            }

        }

        return allMembers;
    } catch (LdapException e) {
        throw new MappingException(e.getMessage(), e);
    } catch (NamingException e) {
        throw new MappingException(e.getMessage(), e);
    }

    finally {
        close(namingEnumeration);
    }
}

From source file:org.apache.archiva.redback.common.ldap.role.DefaultLdapRoleMapper.java

public List<String> getGroups(String username, DirContext context) throws MappingException {

    List<String> userGroups = new ArrayList<String>();

    NamingEnumeration<SearchResult> namingEnumeration = null;
    try {/*from ww w  .j a v a 2 s . c  o  m*/

        SearchControls searchControls = new SearchControls();

        searchControls.setDerefLinkFlag(true);
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
        String groupEntry = null;
        try {
            //try to look the user up
            User user = userManager.findUser(username);
            if (user instanceof LdapUser) {
                LdapUser ldapUser = LdapUser.class.cast(user);
                Attribute dnAttribute = ldapUser.getOriginalAttributes().get(getLdapDnAttribute());
                if (dnAttribute != null) {
                    groupEntry = String.class.cast(dnAttribute.get());
                }

            }
        } catch (UserNotFoundException e) {
            log.warn("Failed to look up user {}. Computing distinguished name manually", username, e);
        } catch (UserManagerException e) {
            log.warn("Failed to look up user {}. Computing distinguished name manually", username, e);
        }
        if (groupEntry == null) {
            //failed to look up the user's groupEntry directly
            StringBuilder builder = new StringBuilder();
            String posixGroup = "posixGroup";
            if (posixGroup.equals(getLdapGroupClass())) {
                builder.append(username);
            } else {
                builder.append(this.userIdAttribute).append("=").append(username).append(",")
                        .append(getBaseDn());
            }
            groupEntry = builder.toString();
        }

        String filter = new StringBuilder().append("(&").append("(objectClass=" + getLdapGroupClass() + ")")
                .append("(").append(getLdapGroupMember()).append("=").append(Rdn.escapeValue(groupEntry))
                .append(")").append(")").toString();

        log.debug("filter: {}", filter);

        namingEnumeration = context.search(getGroupsDn(), filter, searchControls);

        while (namingEnumeration.hasMore()) {
            SearchResult searchResult = namingEnumeration.next();

            List<String> allMembers = new ArrayList<String>();

            Attribute uniqueMemberAttr = searchResult.getAttributes().get(getLdapGroupMember());

            if (uniqueMemberAttr != null) {
                NamingEnumeration<String> allMembersEnum = (NamingEnumeration<String>) uniqueMemberAttr
                        .getAll();
                while (allMembersEnum.hasMore()) {

                    String userName = allMembersEnum.next();
                    //the original dn
                    allMembers.add(userName);
                    // uid=blabla we only want bla bla
                    userName = StringUtils.substringAfter(userName, "=");
                    userName = StringUtils.substringBefore(userName, ",");
                    allMembers.add(userName);
                }
                close(allMembersEnum);
            }

            if (allMembers.contains(username)) {
                String groupName = searchResult.getName();
                // cn=blabla we only want bla bla
                groupName = StringUtils.substringAfter(groupName, "=");
                userGroups.add(groupName);

            } else if (allMembers.contains(groupEntry)) {
                String groupName = searchResult.getName();
                // cn=blabla we only want bla bla
                groupName = StringUtils.substringAfter(groupName, "=");
                userGroups.add(groupName);
            }

        }

        return userGroups;
    } catch (LdapException e) {
        throw new MappingException(e.getMessage(), e);
    } catch (NamingException e) {
        throw new MappingException(e.getMessage(), e);
    } finally {
        close(namingEnumeration);
    }
}

From source file:org.apache.archiva.redback.common.ldap.role.DefaultLdapRoleMapperConfiguration.java

public Map<String, Collection<String>> getLdapGroupMappings() {
    Multimap<String, String> map = ArrayListMultimap.create();

    Collection<String> keys = userConf.getKeys();

    for (String key : keys) {
        if (key.startsWith(UserConfigurationKeys.LDAP_GROUPS_ROLE_START_KEY)) {
            String val = userConf.getString(key);
            String[] roles = StringUtils.split(val, ',');
            for (String role : roles) {
                map.put(StringUtils.substringAfter(key, UserConfigurationKeys.LDAP_GROUPS_ROLE_START_KEY),
                        role);//from  ww  w.  jav  a  2 s .co m
            }
        }
    }

    for (Map.Entry<String, List<String>> entry : this.ldapMappings.entrySet()) {
        map.putAll(entry.getKey(), entry.getValue());
    }

    Map<String, Collection<String>> mappings = map.asMap();
    return mappings;
}

From source file:org.apache.archiva.redback.users.ldap.ctl.DefaultLdapController.java

public Map<String, Collection<String>> findUsersWithRoles(DirContext dirContext)
        throws LdapControllerException {
    Map<String, Collection<String>> usersWithRoles = new HashMap<String, Collection<String>>();

    NamingEnumeration<SearchResult> namingEnumeration = null;
    try {//  w w w  .j  a  v a  2  s .  c om

        SearchControls searchControls = new SearchControls();

        searchControls.setDerefLinkFlag(true);
        searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE);

        String filter = "objectClass=" + getLdapGroupClass();

        namingEnumeration = dirContext.search(getGroupsDn(), filter, searchControls);

        while (namingEnumeration.hasMore()) {
            SearchResult searchResult = namingEnumeration.next();

            String groupName = searchResult.getName();
            // cn=blabla we only want bla bla
            groupName = StringUtils.substringAfter(groupName, "=");

            Attribute uniqueMemberAttr = searchResult.getAttributes().get("uniquemember");

            if (uniqueMemberAttr != null) {
                NamingEnumeration<String> allMembersEnum = (NamingEnumeration<String>) uniqueMemberAttr
                        .getAll();
                while (allMembersEnum.hasMore()) {
                    String userName = allMembersEnum.next();
                    // uid=blabla we only want bla bla
                    userName = StringUtils.substringAfter(userName, "=");
                    userName = StringUtils.substringBefore(userName, ",");
                    Collection<String> roles = usersWithRoles.get(userName);
                    if (roles == null) {
                        roles = new HashSet<String>();
                    }

                    roles.add(groupName);

                    usersWithRoles.put(userName, roles);

                }
            }

            log.debug("found groupName: '{}' with users: {}", groupName);

        }

        return usersWithRoles;
    } catch (NamingException e) {
        throw new LdapControllerException(e.getMessage(), e);
    }

    finally {

        if (namingEnumeration != null) {
            try {
                namingEnumeration.close();
            } catch (NamingException e) {
                log.warn("failed to close search results", e);
            }
        }
    }
}

From source file:org.apache.archiva.rest.services.DefaultRedbackRuntimeConfigurationService.java

@Override
public List<UserManagerImplementationInformation> getUserManagerImplementationInformations()
        throws ArchivaRestServiceException {

    Map<String, UserManager> beans = applicationContext.getBeansOfType(UserManager.class);

    if (beans.isEmpty()) {
        return Collections.emptyList();
    }//from w w w  .j a  va2  s  .c  om

    List<UserManagerImplementationInformation> informations = new ArrayList<>(beans.size());

    for (Map.Entry<String, UserManager> entry : beans.entrySet()) {
        UserManager userManager = applicationContext.getBean(entry.getKey(), UserManager.class);
        if (userManager.isFinalImplementation()) {
            UserManagerImplementationInformation information = new UserManagerImplementationInformation();
            information.setBeanId(StringUtils.substringAfter(entry.getKey(), "#"));
            information.setDescriptionKey(userManager.getDescriptionKey());
            information.setReadOnly(userManager.isReadOnly());
            informations.add(information);
        }
    }

    return informations;
}