Mercurial > dive4elements > framework
diff artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java @ 130:147610c43863
The UserFactory got a setup() method that is called while bootstrap.
artifacts/trunk@1354 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 02 Mar 2011 07:36:00 +0000 |
parents | 0245a87df368 |
children | f797093c60bd |
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java Wed Mar 02 07:28:20 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java Wed Mar 02 07:36:00 2011 +0000 @@ -18,6 +18,7 @@ import org.apache.log4j.Logger; import org.w3c.dom.Document; +import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** @@ -62,7 +63,7 @@ * configuration. */ public static final String USER_FACTORY = - "/artfifact-database/factories/user-factory/text()"; + "/artfifact-database/factories/user-factory"; /** * The name of the default user factory. @@ -263,12 +264,16 @@ protected void loadUserFactory() { logger.info("loading user factory"); + Node factory = Config.getNodeXPath(USER_FACTORY); + String className = Config.getStringXPath( - USER_FACTORY, DEFAULT_USER_FACTORY); + factory, "text()", DEFAULT_USER_FACTORY); try { Class clazz = Class.forName(className); userFactory = (UserFactory) clazz.newInstance(); + + userFactory.setup(Config.getConfig(), factory); } catch (ClassNotFoundException cnfe) { logger.error(cnfe.getLocalizedMessage(), cnfe);