Index: topia-service/src/java/org/codelutin/topia/taas/TaasService.java diff -u topia-service/src/java/org/codelutin/topia/taas/TaasService.java:1.4 topia-service/src/java/org/codelutin/topia/taas/TaasService.java:1.5 --- topia-service/src/java/org/codelutin/topia/taas/TaasService.java:1.4 Fri Dec 7 08:30:08 2007 +++ topia-service/src/java/org/codelutin/topia/taas/TaasService.java Fri Dec 7 16:24:37 2007 @@ -24,13 +24,15 @@ * Created: 10 févr. 2006 * * @author Arnaud Thimel -* @version $Revision: 1.4 $ +* @version $Revision: 1.5 $ * -* Mise a jour: $Date: 2007-12-07 08:30:08 $ +* Mise a jour: $Date: 2007-12-07 16:24:37 $ * par : $Author: ruchaud $ */ package org.codelutin.topia.taas; +import java.util.List; + import javax.security.auth.login.Configuration; import org.apache.commons.logging.Log; @@ -45,6 +47,7 @@ import org.codelutin.topia.taas.entities.TaasPrincipalImpl; import org.codelutin.topia.taas.entities.TaasUserImpl; import org.codelutin.topia.taas.event.TaasEntityVetoable; +import org.codelutin.topia.taas.event.TaasEntityVetoableNoLoad; import org.codelutin.topia.taas.jaas.TaasConfiguration; import org.codelutin.topia.taas.jaas.TaasLoginModule; import org.codelutin.topia.taas.jaas.TaasPolicy; @@ -54,12 +57,14 @@ static private Log log = LogFactory.getLog(TaasService.class); - public static final String CONF_KEY = "taas.service"; + public static final String CONF_KEY = "taas"; public static final String CONF_LOGIN_MODULE = TaasLoginModule.class.getName(); private TaasEntityVetoable entityVetoable = new TaasEntityVetoable(this); + private TaasEntityVetoableNoLoad entityVetoableNoLoad = new TaasEntityVetoableNoLoad(this); + private TaasPolicy policy = new TaasPolicy(this); - private TopiaContext rootContext; + private TopiaContextImplementor rootContext; public Class[] getPersistenceClasses() { return new Class [] { @@ -73,7 +78,7 @@ } public String getServiceName() { - return "taas"; + return CONF_KEY; } public boolean postInit(TopiaContextImplementor context) { @@ -81,7 +86,7 @@ initSecurity(rootContext); policy.installPolicy(); - Configuration.setConfiguration(new TaasConfiguration("taas", this)); + Configuration.setConfiguration(new TaasConfiguration(CONF_KEY, this)); return true; } @@ -92,7 +97,16 @@ } private void initSecurity(TopiaContext context) { - context.addTopiaEntityVetoable(entityVetoable); + List entitiesClasses = rootContext.getPersistenceClasses(); + for (Class clazz : entitiesClasses) { + context.addTopiaEntityVetoable(clazz, entityVetoable); + } + + Class[] noLoadClasses = getPersistenceClasses(); + for (Class clazz : noLoadClasses) { + context.addTopiaEntityVetoable(clazz, entityVetoableNoLoad); + } + context.addTopiaTransactionVetoable(this); }