You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2013/01/29 00:54:54 UTC

svn commit: r1439700 - in /archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role: DefaultLdapRoleMapper.java LdapRoleMapper.java

Author: olamy
Date: Mon Jan 28 23:54:54 2013
New Revision: 1439700

URL: http://svn.apache.org/viewvc?rev=1439700&view=rev
Log:
extract to a component to ease override with Archiva

Modified:
    archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/DefaultLdapRoleMapper.java
    archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/LdapRoleMapper.java

Modified: archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/DefaultLdapRoleMapper.java
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/DefaultLdapRoleMapper.java?rev=1439700&r1=1439699&r2=1439700&view=diff
==============================================================================
--- archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/DefaultLdapRoleMapper.java (original)
+++ archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/DefaultLdapRoleMapper.java Mon Jan 28 23:54:54 2013
@@ -71,6 +71,10 @@ public class DefaultLdapRoleMapper
     @Named( value = "userConfiguration#default" )
     private UserConfiguration userConf;
 
+    @Inject
+    @Named( value = "ldapRoleMapperConfiguration#default" )
+    private LdapRoleMapperConfiguration ldapRoleMapperConfiguration;
+
     //---------------------------
     // fields
     //---------------------------
@@ -243,7 +247,7 @@ public class DefaultLdapRoleMapper
 
         Set<String> roles = new HashSet<String>( groups.size() );
 
-        Map<String, Collection<String>> mapping = getLdapGroupMappings();
+        Map<String, Collection<String>> mapping = ldapRoleMapperConfiguration.getLdapGroupMappings();
 
         for ( String group : groups )
         {
@@ -400,7 +404,7 @@ public class DefaultLdapRoleMapper
     {
         List<String> groups = getGroups( username, context );
 
-        Map<String, Collection<String>> rolesMapping = getLdapGroupMappings();
+        Map<String, Collection<String>> rolesMapping = ldapRoleMapperConfiguration.getLdapGroupMappings();
 
         Set<String> roles = new HashSet<String>( groups.size() );
 
@@ -448,44 +452,6 @@ public class DefaultLdapRoleMapper
         return this.ldapGroupClass;
     }
 
-    public void addLdapMapping( String role, String ldapGroup )
-    {
-        log.warn( "addLdapMapping not implemented" );
-    }
-
-    public void removeLdapMapping( String role )
-    {
-        log.warn( "removeLdapMapping not implemented" );
-    }
-
-    public void setLdapGroupMappings( Map<String, Collection<String>> mappings )
-        throws MappingException
-    {
-        log.warn( "setLdapGroupMappings not implemented" );
-    }
-
-    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 );
-                }
-            }
-        }
-
-        return map.asMap();
-    }
 
     public boolean saveRole( String roleName, DirContext context )
         throws MappingException
@@ -697,7 +663,7 @@ public class DefaultLdapRoleMapper
         throws MappingException
     {
         //all mapped roles
-        Collection<String> groups = getLdapGroupMappings().keySet();
+        Collection<String> groups = ldapRoleMapperConfiguration.getLdapGroupMappings().keySet();
 
         try
         {
@@ -750,6 +716,10 @@ public class DefaultLdapRoleMapper
         }
     }
 
+    //------------------------------------
+    // Mapping part
+    //------------------------------------
+
     //---------------------------------
     // setters for unit tests
     //---------------------------------
@@ -790,8 +760,9 @@ public class DefaultLdapRoleMapper
     //-------------------
 
     protected String findGroupName( String role )
+        throws MappingException
     {
-        Map<String, Collection<String>> mapping = getLdapGroupMappings();
+        Map<String, Collection<String>> mapping = ldapRoleMapperConfiguration.getLdapGroupMappings();
 
         for ( Map.Entry<String, Collection<String>> entry : mapping.entrySet() )
         {

Modified: archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/LdapRoleMapper.java
URL: http://svn.apache.org/viewvc/archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/LdapRoleMapper.java?rev=1439700&r1=1439699&r2=1439700&view=diff
==============================================================================
--- archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/LdapRoleMapper.java (original)
+++ archiva/redback/redback-core/trunk/redback-common/redback-common-ldap/src/main/java/org/apache/archiva/redback/common/ldap/role/LdapRoleMapper.java Mon Jan 28 23:54:54 2013
@@ -89,31 +89,7 @@ public interface LdapRoleMapper
     List<String> getRoles( String username, DirContext context, Collection<String> realRoles )
         throws MappingException;
 
-    /**
-     * add mapping redback role <-> ldap group
-     *
-     * @param role      redback role
-     * @param ldapGroup ldap group
-     */
-    void addLdapMapping( String role, String ldapGroup )
-        throws MappingException;
-
-    /**
-     * remove a mapping
-     *
-     * @param role redback role
-     */
-    void removeLdapMapping( String role )
-        throws MappingException;
 
-    /**
-     * @return Map of corresponding LDAP group (key) and Redback roles (value)
-     */
-    Map<String, Collection<String>> getLdapGroupMappings()
-        throws MappingException;
-
-    void setLdapGroupMappings( Map<String, Collection<String>> mappings )
-        throws MappingException;
 
     /**
      * will save a ldap group corresponding to the mapping.