Author: ate
Date: Sat Apr  3 18:13:08 2010
New Revision: 930554

URL: http://svn.apache.org/viewvc?rev=930554&view=rev
Log:
JS2-1136: Cleanup and strengthening the Security Entity/LDAP mapping
- fixing some obvious bugs causing potential NPEs during sychronization
NB: validation and verification of the LDAP sychronizer not yet completed

Modified:
    
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/DefaultLDAPEntityManager.java
    
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/DefaultJetspeedSecuritySynchronizer.java

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/DefaultLDAPEntityManager.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/DefaultLDAPEntityManager.java?rev=930554&r1=930553&r2=930554&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/DefaultLDAPEntityManager.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/DefaultLDAPEntityManager.java
 Sat Apr  3 18:13:08 2010
@@ -16,6 +16,7 @@
  */
 package org.apache.jetspeed.security.mapping.ldap.dao;
 
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -46,6 +47,7 @@ public class DefaultLDAPEntityManager im
         for (EntityDAO entityDAO: entityDAOs)
         {
             this.entityDAOs.put(entityDAO.getEntityType(), entityDAO);
+            this.entityRelationTypes.put(entityDAO.getEntityType(), new 
HashSet<SecurityEntityRelationType>());
         }
         if (entityRelationDAOs != null)
         {
@@ -59,25 +61,10 @@ public class DefaultLDAPEntityManager im
                 }
                 this.entityRelationDAOs.put(new 
SecurityEntityRelationTypeImpl(relationType.getRelationType(), 
relationType.getFromEntityType(), relationType.getToEntityType()), 
                                             entityRelationDAO);
+                
this.entityRelationTypes.get(relationType.getFromEntityType()).add(relationType);
+                
this.entityRelationTypes.get(relationType.getToEntityType()).add(relationType);
             }
         }
-        for (SecurityEntityRelationType relationType : 
this.entityRelationDAOs.keySet())
-        {
-            Set<SecurityEntityRelationType> relationTypes = 
entityRelationTypes.get(relationType.getFromEntityType());
-            if (relationTypes == null)
-            {
-                relationTypes = new HashSet<SecurityEntityRelationType>();
-                entityRelationTypes.put(relationType.getFromEntityType(), 
relationTypes);
-            }
-            relationTypes.add(relationType);
-            relationTypes = 
entityRelationTypes.get(relationType.getToEntityType());
-            if (relationTypes == null)
-            {
-                relationTypes = new HashSet<SecurityEntityRelationType>();
-                entityRelationTypes.put(relationType.getFromEntityType(), 
relationTypes);
-            }
-            relationTypes.add(relationType);
-        }
     }
     
     public SecurityEntityRelationType getSupportedEntityRelationType(String 
relationType, String fromEntityType, String toEntityType)

Modified: 
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/DefaultJetspeedSecuritySynchronizer.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/DefaultJetspeedSecuritySynchronizer.java?rev=930554&r1=930553&r2=930554&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/DefaultJetspeedSecuritySynchronizer.java
 (original)
+++ 
portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/spi/impl/DefaultJetspeedSecuritySynchronizer.java
 Sat Apr  3 18:13:08 2010
@@ -55,7 +55,6 @@ public class DefaultJetspeedSecuritySync
     JetspeedPrincipalManagerProvider principalManagerProvider;
     SecurityEntityManager securityEntityManager;
     Collection<String> supportedExternalEntityTypes = Collections.emptyList();
-    Collection<SecurityEntityRelationType> 
supportedExternalEntityRelationTypes = Collections.emptyList();
     Map<String, Collection<SecurityEntityRelationType>> entityToRelationTypes 
= Collections.emptyMap();
 
     /**
@@ -192,6 +191,7 @@ public class DefaultJetspeedSecuritySync
        throws SecurityException
     {
         if (entityToRelationTypes.values().size() != 0)
+        {
             // loop through all relation types for this entity type
             for (SecurityEntityRelationType relationTypeForThisEntity : 
entityToRelationTypes.get(entity.getType()))
             {
@@ -218,6 +218,7 @@ public class DefaultJetspeedSecuritySync
                     }
                 }
             }
+        }
         return principal;
     }
 
@@ -544,7 +545,6 @@ public class DefaultJetspeedSecuritySync
     private void createRelations()
     {
         supportedExternalEntityTypes = 
securityEntityManager.getSupportedEntityTypes();
-        supportedExternalEntityRelationTypes = 
securityEntityManager.getSupportedEntityRelationTypes();
         entityToRelationTypes = new HashMap<String, 
Collection<SecurityEntityRelationType>>();
         for (String entityType : supportedExternalEntityTypes)
         {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to