r1959 - in trunk/topia-service-security/src/main/java/org/nuiton/topia: security security/entities/authorization security/entities/user security/listener security/util taas taas/jaas
Author: tchemit Date: 2010-05-13 19:16:53 +0200 (Thu, 13 May 2010) New Revision: 1959 Url: http://nuiton.org/repositories/revision/topia/1959 Log: clean code Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityService.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -36,7 +36,7 @@ * l'entité passée en paramètre pour les actions spécifiées. * @param entityClass l'entité pour laquelle on vérifie les droits * @param actions les actions [load, read, write, admin] - * @throws SecurityException + * @throws SecurityException if any security issues */ void checkPermission(Class<?> entityClass, int actions) throws SecurityException; @@ -47,7 +47,7 @@ * @param expression le topiaId de l'entité pour laquelle on vérifie les droits * ou tout autre expression * @param actions les actions [load, read, write, admin] - * @throws SecurityException + * @throws SecurityException if any security issues */ void checkPermission(String expression, int actions) throws SecurityException; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/TopiaSecurityServiceImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -119,7 +119,7 @@ */ @Override public String getServiceName() { - return TopiaSecurityService.SERVICE_NAME; + return SERVICE_NAME; } /* @@ -165,7 +165,7 @@ */ @Override public void beginTransaction(TopiaTransactionEvent event) { - TopiaContext context = event.getTopiaContext(); + TopiaContext context = event.getSource(); context.addTopiaEntityVetoable(entityVetoable); context.addTopiaEntityListener(propertyVetoable); context.addTopiaTransactionVetoable(this); @@ -280,7 +280,7 @@ for (TopiaAuthorization authorization : authorizations) { Set<?> principals = authorization.getPrincipals(); if(principals.contains(principalName) - || (addEmptyPrincipals && principals.isEmpty())) { + || addEmptyPrincipals && principals.isEmpty()) { Permission permission = getAuthorizationCache(authorization); permissions.add(permission); } @@ -296,7 +296,7 @@ * @return permission encapsulation de l'autorisation en permission */ private Permission getAuthorizationCache(TopiaAuthorization authorization) { - String topiaIdAuthorization = authorization.getTopiaId(); + String topiaIdAuthorization = authorization.getId(); Permission permission = authorizationsCache.get(topiaIdAuthorization); if(permission == null) { permission = new TopiaPermission(authorization); @@ -358,11 +358,7 @@ */ public boolean containEntitiesLoadingCache(String topiaId) { Boolean authorized = getEntitiesLoadingCache(topiaId); - if(authorized != null) { - return true; - } else { - return false; - } + return authorized != null; } /** Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAssociationAuthorizationImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -43,8 +43,7 @@ */ //TODO: Gestion d'un identifiant de d�but et de fin d'association typ� public class TopiaAssociationAuthorizationImpl extends - TopiaAssociationAuthorizationAbstract implements - TopiaAssociationAuthorization { + TopiaAssociationAuthorizationAbstract { private static final long serialVersionUID = 1L; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaAuthorizationImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -36,8 +36,7 @@ * @author ruchaud */ //TODO: Inversion des autorisations -public abstract class TopiaAuthorizationImpl extends TopiaAuthorizationAbstract implements - TopiaAuthorization { +public abstract class TopiaAuthorizationImpl extends TopiaAuthorizationAbstract { /** * Compare deux autorisations entres elles. @@ -58,10 +57,10 @@ * @return vrai si thisId implique thatId */ public boolean impliesExpression(String thisExpression, String thatExpression) { - return (thisExpression.equals(thatExpression) || + return thisExpression.equals(thatExpression) || "*".equals(thisExpression) || - (thatExpression.startsWith(thisExpression.substring(0, thisExpression.length()-1)) - && thisExpression.endsWith("*"))); + thatExpression.startsWith(thisExpression.substring(0, thisExpression.length()-1)) + && thisExpression.endsWith("*"); } /** @@ -74,16 +73,16 @@ public boolean impliesActions(int thisActions, int thatActions) { boolean result = true; if ((thatActions & LOAD) == LOAD) { - result &= ((thisActions & LOAD) == LOAD); + result &= (thisActions & LOAD) == LOAD; } if ((thatActions & CREATE) == CREATE) { - result &= ((thisActions & CREATE) == CREATE); + result &= (thisActions & CREATE) == CREATE; } if ((thatActions & UPDATE) == UPDATE) { - result &= ((thisActions & UPDATE) == UPDATE); + result &= (thisActions & UPDATE) == UPDATE; } if ((thatActions & DELETE) == DELETE) { - result &= ((thisActions & DELETE) == DELETE); + result &= (thisActions & DELETE) == DELETE; } return result; } @@ -107,10 +106,10 @@ return true; } - return (thatPrincipals != null // that contient bien le principal + return thatPrincipals != null // that contient bien le principal // nécessaire ! && (thisPrincipals.contains("*") || thatPrincipals - .containsAll(thisPrincipals))); + .containsAll(thisPrincipals)); // (this contient une étoile (accepte tous)) ou (that contient // tout ce que contient this) Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaEntityAuthorizationImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -35,8 +35,7 @@ * @author ruchaud */ //TODO: Rajouter la possibilité de faire des autorisations sur les champs d'une entité -public class TopiaEntityAuthorizationImpl extends - TopiaEntityAuthorizationAbstract implements TopiaEntityAuthorization { +public class TopiaEntityAuthorizationImpl extends TopiaEntityAuthorizationAbstract { private static final long serialVersionUID = 1L; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/authorization/TopiaExpressionLinkImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -41,7 +41,7 @@ * * @author ruchaud */ -public class TopiaExpressionLinkImpl extends TopiaExpressionLinkAbstract implements TopiaExpressionLink { +public class TopiaExpressionLinkImpl extends TopiaExpressionLinkAbstract { private static final long serialVersionUID = 1L; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaGroupImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -28,14 +28,12 @@ import java.util.ArrayList; import java.util.List; -import org.nuiton.topia.security.listener.NoSecurityLoad; - /** * Classe permettant la gestion de groupes d'utilisateurs. * @author ruchaud * */ -public class TopiaGroupImpl extends TopiaGroupAbstract implements TopiaGroup, NoSecurityLoad { +public class TopiaGroupImpl extends TopiaGroupAbstract { private static final long serialVersionUID = 1L; Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/entities/user/TopiaUserImpl.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -30,13 +30,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.security.listener.NoSecurityLoad; /** * Classe permettant la gestion des utilisateurs. * @author ruchaud */ -public class TopiaUserImpl extends TopiaUserAbstract implements TopiaUser, NoSecurityLoad { +public class TopiaUserImpl extends TopiaUserAbstract { /** to use log facility, just put in your code: log.info(\"...\"); */ static private Log log = LogFactory.getLog(TopiaUserImpl.class); Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/EntityVetoable.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -65,13 +65,10 @@ this.securityManager = securityManager; } - /* (non-Javadoc) - * @see org.nuiton.topia.event.TopiaVetoableEntityListener#createEntity(org.nuiton.topia.event.TopiaVetoableEntityEvent) - */ @Override public void create(TopiaEntityEvent event) { TopiaEntity entity = event.getEntity(); - String topiaId = entity.getTopiaId(); + String topiaId = entity.getId(); Class<? extends TopiaEntity> clazz; try { clazz = TopiaId.getClassName(topiaId); @@ -86,27 +83,20 @@ securityManager.checkPermission(clazz, CREATE); } - /* (non-Javadoc) - * @see org.nuiton.topia.event.TopiaVetoableEntityListener#deleteEntity(org.nuiton.topia.event.TopiaVetoableEntityEvent) - */ @Override public void delete(TopiaEntityEvent event) { - String topiaId = event.getEntity().getTopiaId(); + String topiaId = event.getEntity().getId(); if (log.isDebugEnabled()) { log.debug("[Security] delete entity : " + topiaId); } securityManager.checkPermission(topiaId, DELETE); } - /* - * (non-Javadoc) - * @see org.nuiton.topia.event.TopiaVetoableEntityLoadListener#loadEntity(org.nuiton.topia.event.TopiaVetoableEntityLoadEvent) - */ @Override public void load(TopiaEntityEvent event) { boolean authorized = true; TopiaEntity entity = event.getEntity(); - String topiaId = entity.getTopiaId(); + String topiaId = entity.getId(); if (log.isDebugEnabled()) { log.debug("[Security] load entity : " + topiaId); @@ -128,9 +118,6 @@ } } - /* (non-Javadoc) - * @see org.nuiton.topia.event.TopiaVetoableEntityListener#updateEntity(org.nuiton.topia.event.TopiaVetoableEntityEvent) - */ @Override public void update(TopiaEntityEvent event) { } Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyReadListener.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -52,29 +52,25 @@ this.securityManager = securityManager; } - /* - * (non-Javadoc) - * @see java.beans.VetoableChangeListener#vetoableChange(java.beans.PropertyChangeEvent) - */ @Override public void vetoableChange(PropertyChangeEvent event) throws PropertyVetoException { Object source = event.getSource(); TopiaEntityAbstract entity = (TopiaEntityAbstract) source; /* Vérification dans le cache */ - Boolean authorized = securityManager.getEntitiesLoadingCache(entity.getTopiaId()); + Boolean authorized = securityManager.getEntitiesLoadingCache(entity.getId()); if(authorized != null) { if(!authorized) { - throw new SecurityException("Access denied to Read entity " + entity.getTopiaId() + " on " + event.getPropertyName()); + throw new SecurityException("Access denied to Read entity " + entity.getId() + " on " + event.getPropertyName()); } } else { // Sinon try { - securityManager.checkPermission(entity.getTopiaId(), LOAD); + securityManager.checkPermission(entity.getId(), LOAD); } catch (SecurityException te) { if (log.isWarnEnabled()) { - log.warn("[Security] Read denied to : " + entity.getTopiaId(), te); + log.warn("[Security] Read denied to : " + entity.getId(), te); } - throw new SecurityException("Access denied to Read entity " + entity.getTopiaId() + " on " + event.getPropertyName(), te); + throw new SecurityException("Access denied to Read entity " + entity.getId() + " on " + event.getPropertyName(), te); } } Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/listener/PropertyWriteListener.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -51,21 +51,17 @@ this.securityManager = securityManager; } - /* - * (non-Javadoc) - * @see java.beans.VetoableChangeListener#vetoableChange(java.beans.PropertyChangeEvent) - */ @Override public void vetoableChange(PropertyChangeEvent event) throws PropertyVetoException { Object source = event.getSource(); TopiaEntityAbstract entity = (TopiaEntityAbstract) source; try { - securityManager.checkPermission(entity.getTopiaId(), UPDATE); + securityManager.checkPermission(entity.getId(), UPDATE); } catch (SecurityException te) { if (log.isWarnEnabled()) { - log.warn("[Security] Write denied to : " + entity.getTopiaId(), te); + log.warn("[Security] Write denied to : " + entity.getId(), te); } - throw new SecurityException("Access denied to Write entity " + entity.getTopiaId() + " on " + event.getPropertyName(), te); + throw new SecurityException("Access denied to Write entity " + entity.getId() + " on " + event.getPropertyName(), te); } } Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/security/util/TopiaSecurityUtil.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -87,7 +87,7 @@ public static final String TOPIA_LOGIN_MODULE = TopiaLoginModule.class.getName(); - public static final Class [] TOPIA_SECURITY_PERSISTENCE_CLASSES = new Class [] { + public static final Class<?>[] TOPIA_SECURITY_PERSISTENCE_CLASSES = new Class [] { TopiaUserImpl.class, TopiaEntityAuthorizationImpl.class, TopiaGroupImpl.class, Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -181,7 +181,7 @@ @Override public void beginTransaction(TopiaTransactionEvent event) { - TopiaContext context = event.getTopiaContext(); + TopiaContext context = event.getSource(); initSecurity(context); } @@ -384,7 +384,7 @@ */ public List<Permission> getRequestPermission(TopiaEntity entity, int actions) { String topiaId = entity.getId(); - Class<? extends TopiaEntity> klass = null; + Class<? extends TopiaEntity> klass; try { klass = TopiaId.getClassName(topiaId); @@ -392,7 +392,7 @@ throw new SecurityException("Invalid topiaId", e); } - List<Permission> permissions = null; + List<Permission> permissions; try { TopiaContextImplementor transaction = (TopiaContextImplementor) entity.getTopiaContext(); TopiaDAO<?> dao = transaction.getDAO(klass); Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java =================================================================== --- trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java 2010-05-13 12:47:00 UTC (rev 1958) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/jaas/TaasPermission.java 2010-05-13 17:16:53 UTC (rev 1959) @@ -172,16 +172,16 @@ public boolean impliesActions(int thisActions, int thatActions) { boolean result = true; if ((thatActions & LOAD) == LOAD) { - result &= ((thisActions & LOAD) == LOAD); + result &= (thisActions & LOAD) == LOAD; } if ((thatActions & CREATE) == CREATE) { - result &= ((thisActions & CREATE) == CREATE); + result &= (thisActions & CREATE) == CREATE; } if ((thatActions & UPDATE) == UPDATE) { - result &= ((thisActions & UPDATE) == UPDATE); + result &= (thisActions & UPDATE) == UPDATE; } if ((thatActions & DELETE) == DELETE) { - result &= ((thisActions & DELETE) == DELETE); + result &= (thisActions & DELETE) == DELETE; } return result; }
participants (1)
-
tchemit@users.nuiton.org