[Yanel-commits] rev 28183 -
public/yanel/trunk/src/core/java/org/wyona/yanel/core/map
michi at wyona.com
michi at wyona.com
Sat Oct 27 00:29:17 CEST 2007
Author: michi
Date: 2007-10-27 00:29:16 +0200 (Sat, 27 Oct 2007)
New Revision: 28183
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java
Log:
allow overwriting the IdentityManagerImpl
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java 2007-10-26 22:26:52 UTC (rev 28182)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java 2007-10-26 22:29:16 UTC (rev 28183)
@@ -127,14 +127,29 @@
}
+ // Set IdentityManager for this realm
+ repoConfigElement = config.getChild("ac-identities", false);
+ if (repoConfigElement != null) {
+ repoConfig = FileUtil.resolve(getConfigFile(), new File(repoConfigElement.getValue()));
+ RepositoryFactory identitiesRepoFactory = yanel.getRepositoryFactory("ACIdentitiesRepositoryFactory");
+ Repository identitiesRepo = identitiesRepoFactory.newRepository(getID(), repoConfig);
+
+ IdentityManagerFactory imFactory = null;
+ try {
+ String customIdentityManagerFactoryImplClassName = repoConfigElement.getAttribute("class");
+ imFactory = (IdentityManagerFactory) Class.forName(customIdentityManagerFactoryImplClassName).newInstance();
+ } catch (ConfigurationException e) {
+ imFactory = (IdentityManagerFactory) yanel.getBeanFactory().getBean("IdentityManagerFactory");
+ log.warn("Default IdentityManager will be used for realm: " + getName());
+ }
+ IdentityManager identityManager = imFactory.newIdentityManager(identitiesRepo);
+ setIdentityManager(identityManager);
+ }
+
-
- IdentityManagerFactory imFactory = (IdentityManagerFactory) yanel.getBeanFactory().getBean("IdentityManagerFactory");
-
RepositoryFactory repoFactory = yanel.getRepositoryFactory("DefaultRepositoryFactory");
RepositoryFactory rtiRepoFactory = yanel.getRepositoryFactory("RTIRepositoryFactory");
- RepositoryFactory identitiesRepoFactory = yanel.getRepositoryFactory("ACIdentitiesRepositoryFactory");
RepositoryFactory extraRepoFactory = yanel.getRepositoryFactory("ExtraRepositoryFactory");
String repoConfigSrc = config.getChild("data", false).getValue();
@@ -146,14 +161,8 @@
setRTIRepository(rtiRepoFactory.newRepository(getID(), repoConfig));
- repoConfigElement = config.getChild("ac-identities", false);
- if (repoConfigElement != null) {
- repoConfig = FileUtil.resolve(getConfigFile(), new File(repoConfigElement.getValue()));
- Repository identitiesRepo = identitiesRepoFactory.newRepository(getID(), repoConfig);
- IdentityManager identityManager = imFactory.newIdentityManager(identitiesRepo);
- setIdentityManager(identityManager);
- }
+
Configuration configElement = config.getChild("default-language", false);
if (configElement != null) {
setDefaultLanguage(configElement.getValue());
More information about the Yanel-commits
mailing list