Search in sources :

Example 1 with MappingException

use of org.apache.archiva.redback.common.ldap.MappingException in project archiva by apache.

the class ArchivaLdapRoleMapperConfiguration method setLdapGroupMappings.

@Override
public void setLdapGroupMappings(Map<String, List<String>> mappings) throws MappingException {
    try {
        RedbackRuntimeConfiguration redbackRuntimeConfiguration = redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
        List<LdapGroupMapping> ldapGroupMappings = new ArrayList<>(mappings.size());
        for (Map.Entry<String, List<String>> entry : mappings.entrySet()) {
            ldapGroupMappings.add(new LdapGroupMapping(entry.getKey(), entry.getValue()));
        }
        redbackRuntimeConfiguration.setLdapGroupMappings(ldapGroupMappings);
        redbackRuntimeConfigurationAdmin.updateRedbackRuntimeConfiguration(redbackRuntimeConfiguration);
    } catch (RepositoryAdminException e) {
        throw new MappingException(e.getMessage(), e);
    }
}
Also used : LdapGroupMapping(org.apache.archiva.admin.model.beans.LdapGroupMapping) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) RedbackRuntimeConfiguration(org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) HashMap(java.util.HashMap) Map(java.util.Map) MappingException(org.apache.archiva.redback.common.ldap.MappingException)

Example 2 with MappingException

use of org.apache.archiva.redback.common.ldap.MappingException in project archiva by apache.

the class ArchivaLdapRoleMapperConfiguration method getLdapGroupMappings.

@Override
public Map<String, Collection<String>> getLdapGroupMappings() throws MappingException {
    try {
        RedbackRuntimeConfiguration redbackRuntimeConfiguration = redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
        List<LdapGroupMapping> ldapGroupMappings = redbackRuntimeConfiguration.getLdapGroupMappings();
        if (ldapGroupMappings == null) {
            return Collections.emptyMap();
        }
        Map<String, Collection<String>> res = new HashMap<>(ldapGroupMappings.size());
        for (LdapGroupMapping ldapGroupMapping : ldapGroupMappings) {
            res.put(ldapGroupMapping.getGroup(), ldapGroupMapping.getRoleNames());
        }
        return res;
    } catch (RepositoryAdminException e) {
        throw new MappingException(e.getMessage(), e);
    }
}
Also used : LdapGroupMapping(org.apache.archiva.admin.model.beans.LdapGroupMapping) HashMap(java.util.HashMap) Collection(java.util.Collection) RedbackRuntimeConfiguration(org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) MappingException(org.apache.archiva.redback.common.ldap.MappingException)

Example 3 with MappingException

use of org.apache.archiva.redback.common.ldap.MappingException in project archiva by apache.

the class ArchivaLdapRoleMapperConfiguration method updateLdapMapping.

@Override
public void updateLdapMapping(String ldapGroup, List<String> roles) throws MappingException {
    try {
        RedbackRuntimeConfiguration redbackRuntimeConfiguration = redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
        LdapGroupMapping ldapGroupMapping = new LdapGroupMapping(ldapGroup);
        int idx = redbackRuntimeConfiguration.getLdapGroupMappings().indexOf(ldapGroupMapping);
        if (idx > -1) {
            logger.debug("updateLdapMapping ldapGroup: {}, roles: {}", ldapGroup, roles);
            ldapGroupMapping = redbackRuntimeConfiguration.getLdapGroupMappings().get(idx);
            ldapGroupMapping.setRoleNames(roles);
        }
        redbackRuntimeConfigurationAdmin.updateRedbackRuntimeConfiguration(redbackRuntimeConfiguration);
    } catch (RepositoryAdminException e) {
        throw new MappingException(e.getMessage(), e);
    }
}
Also used : LdapGroupMapping(org.apache.archiva.admin.model.beans.LdapGroupMapping) RedbackRuntimeConfiguration(org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) MappingException(org.apache.archiva.redback.common.ldap.MappingException)

Example 4 with MappingException

use of org.apache.archiva.redback.common.ldap.MappingException in project archiva by apache.

the class ArchivaLdapRoleMapperConfiguration method addLdapMapping.

@Override
public void addLdapMapping(String ldapGroup, List<String> roles) throws MappingException {
    logger.debug("addLdapMapping ldapGroup: {}, roles: {}", ldapGroup, roles);
    // TODO check if already exist first
    try {
        RedbackRuntimeConfiguration redbackRuntimeConfiguration = redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
        boolean added = redbackRuntimeConfiguration.getLdapGroupMappings().add(new LdapGroupMapping(ldapGroup, roles));
        logger.debug("addLdapMapping ldapGroup: {}, roles: {}, added: {}", ldapGroup, roles, added);
        redbackRuntimeConfigurationAdmin.updateRedbackRuntimeConfiguration(redbackRuntimeConfiguration);
    } catch (RepositoryAdminException e) {
        throw new MappingException(e.getMessage(), e);
    }
}
Also used : LdapGroupMapping(org.apache.archiva.admin.model.beans.LdapGroupMapping) RedbackRuntimeConfiguration(org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) MappingException(org.apache.archiva.redback.common.ldap.MappingException)

Example 5 with MappingException

use of org.apache.archiva.redback.common.ldap.MappingException in project archiva by apache.

the class ArchivaLdapRoleMapperConfiguration method removeLdapMapping.

@Override
public void removeLdapMapping(String group) throws MappingException {
    try {
        RedbackRuntimeConfiguration redbackRuntimeConfiguration = redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
        boolean removed = redbackRuntimeConfiguration.getLdapGroupMappings().remove(new LdapGroupMapping(group));
        redbackRuntimeConfigurationAdmin.updateRedbackRuntimeConfiguration(redbackRuntimeConfiguration);
        logger.debug("removeLdapMapping ldapGroup: {}, removed: {}", group, removed);
    } catch (RepositoryAdminException e) {
        throw new MappingException(e.getMessage(), e);
    }
}
Also used : LdapGroupMapping(org.apache.archiva.admin.model.beans.LdapGroupMapping) RedbackRuntimeConfiguration(org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration) RepositoryAdminException(org.apache.archiva.admin.model.RepositoryAdminException) MappingException(org.apache.archiva.redback.common.ldap.MappingException)

Aggregations

RepositoryAdminException (org.apache.archiva.admin.model.RepositoryAdminException)5 LdapGroupMapping (org.apache.archiva.admin.model.beans.LdapGroupMapping)5 RedbackRuntimeConfiguration (org.apache.archiva.admin.model.beans.RedbackRuntimeConfiguration)5 MappingException (org.apache.archiva.redback.common.ldap.MappingException)5 HashMap (java.util.HashMap)2 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 List (java.util.List)1 Map (java.util.Map)1