Author: sletellier Date: 2010-09-09 18:14:12 +0200 (Thu, 09 Sep 2010) New Revision: 2114 Url: http://nuiton.org/repositories/revision/topia/2114 Log: - Move prInit to fix npe on statup Modified: trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java 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-09-09 16:12:51 UTC (rev 2113) +++ trunk/topia-service-security/src/main/java/org/nuiton/topia/taas/TaasService.java 2010-09-09 16:14:12 UTC (rev 2114) @@ -38,6 +38,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.i18n.I18n; +import org.nuiton.i18n.init.ClassPathI18nInitializer; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaContextFactory; import org.nuiton.topia.TopiaException; @@ -60,6 +62,8 @@ import javax.security.auth.Subject; import javax.security.auth.login.Configuration; import java.lang.reflect.Constructor; +import java.net.URL; +import java.net.URLClassLoader; import java.security.AccessController; import java.security.Permission; import java.util.*; @@ -136,8 +140,8 @@ @Override public boolean preInit(TopiaContextImplementor context) { + rootContext = context; - initSecurity(rootContext); try { org.hibernate.cfg.Configuration configuration = rootContext.getHibernateConfiguration(); @@ -177,13 +181,18 @@ throw new SecurityException("Init security error", e); } + // Do it after accessEntity instantiation + initSecurity(rootContext); + return true; } @Override public void beginTransaction(TopiaTransactionEvent event) { TopiaContext context = event.getSource(); - initSecurity(context); + if (subjectFinder != null) { + initSecurity(context); + } } /**