mirror of https://github.com/apache/archiva.git
Adapting to redback LDAP group mapping change
This commit is contained in:
parent
12827812ac
commit
dcf4c111e5
|
@ -36,6 +36,7 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Olivier Lamy
|
* @author Olivier Lamy
|
||||||
|
@ -151,6 +152,34 @@ public class ArchivaLdapRoleMapperConfiguration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Collection<String> getLdapGroupMapping( final String groupName ) throws MappingException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
RedbackRuntimeConfiguration redbackRuntimeConfiguration =
|
||||||
|
redbackRuntimeConfigurationAdmin.getRedbackRuntimeConfiguration();
|
||||||
|
|
||||||
|
List<LdapGroupMapping> ldapGroupMappings = redbackRuntimeConfiguration.getLdapGroupMappings();
|
||||||
|
|
||||||
|
if ( ldapGroupMappings == null )
|
||||||
|
{
|
||||||
|
return Collections.EMPTY_LIST;
|
||||||
|
}
|
||||||
|
|
||||||
|
Optional<LdapGroupMapping> result = ldapGroupMappings.stream( ).filter( mapping -> mapping.getGroup( ).equals( groupName ) ).findFirst( );
|
||||||
|
if (result.isPresent()) {
|
||||||
|
return result.get( ).getRoleNames( );
|
||||||
|
} else {
|
||||||
|
throw new MappingException( "Group " + groupName + " not found" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch ( RepositoryAdminException e )
|
||||||
|
{
|
||||||
|
throw new MappingException( e.getMessage(), e );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setLdapGroupMappings( Map<String, List<String>> mappings )
|
public void setLdapGroupMappings( Map<String, List<String>> mappings )
|
||||||
throws MappingException
|
throws MappingException
|
||||||
|
|
Loading…
Reference in New Issue