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]