You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by dd...@apache.org on 2008/10/06 16:45:59 UTC
svn commit: r702172 -
/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/impl/SpringLDAPEntityDAO.java
Author: ddam
Date: Mon Oct 6 07:45:59 2008
New Revision: 702172
URL: http://svn.apache.org/viewvc?rev=702172&view=rev
Log:
- fix bug in update method: used Entity fetched from LDAP instead of Entity derived from Principal
- fixed incorrect SecurityException messages
Modified:
portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/impl/SpringLDAPEntityDAO.java
Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/impl/SpringLDAPEntityDAO.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/impl/SpringLDAPEntityDAO.java?rev=702172&r1=702171&r2=702172&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/impl/SpringLDAPEntityDAO.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/mapping/ldap/dao/impl/SpringLDAPEntityDAO.java Mon Oct 6 07:45:59 2008
@@ -218,7 +218,14 @@
private void internalUpdate(Entity entity, UpdateMode umode) throws SecurityException
{
- Name dn = getRelativeDN(entity.getInternalId());
+ String internalId = entity.getInternalId();
+ if (internalId == null){
+ Entity ldapEntity = getEntity(entity.getId());
+ if (ldapEntity == null || ldapEntity.getInternalId() == null) { throw new SecurityException(SecurityException.PRINCIPAL_UPDATE_FAILURE.createScoped(entity.getType(), entity.getId())); }
+ internalId=ldapEntity.getInternalId();
+ }
+
+ Name dn = getRelativeDN(internalId);
DirContextOperations dirCtxOps = null;
ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
try
@@ -330,7 +337,7 @@
public void remove(Entity entity) throws SecurityException
{
- if (!entityExists(entity)) { throw new SecurityException(SecurityException.PRINCIPAL_ALREADY_EXISTS.createScoped(entity.getType(), entity.getId())); }
+ if (!entityExists(entity)) { throw new SecurityException(SecurityException.PRINCIPAL_DOES_NOT_EXIST.createScoped(entity.getType(), entity.getId())); }
String internalIdStr = entity.getInternalId();
if (internalIdStr == null)
{
@@ -359,9 +366,7 @@
public void update(Entity entity) throws SecurityException
{
- Entity ldapEntity = getEntity(entity.getId());
- if (ldapEntity == null) { throw new SecurityException(SecurityException.PRINCIPAL_ALREADY_EXISTS.createScoped(entity.getType(), entity.getId())); }
- internalUpdate(ldapEntity, UpdateMode.MAPPED);
+ internalUpdate(entity, UpdateMode.MAPPED);
}
public void updateInternalAttributes(Entity entity) throws SecurityException
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org