[Yanel-commits] rev 28434 - public/yanel/trunk/src/core/java/org/wyona/yanel/core/map

michi at wyona.com michi at wyona.com
Sat Nov 3 01:46:02 CET 2007


Author: michi
Date: 2007-11-03 01:46:01 +0100 (Sat, 03 Nov 2007)
New Revision: 28434

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java
Log:
realm config path resolved added

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-11-03 00:23:35 UTC (rev 28433)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java	2007-11-03 00:46:01 UTC (rev 28434)
@@ -116,7 +116,7 @@
             try {
                 String customPolicyManagerFactoryImplClassName = repoConfigElement.getAttribute("class");
                 pmFactory = (PolicyManagerFactory) Class.forName(customPolicyManagerFactoryImplClassName).newInstance();
-                policyManager = pmFactory.newPolicyManager(ConfigurationUtil.getCustomConfiguration(repoConfigElement, "policy-manager-config", "http://www.wyona.org/security/1.0"), null);
+                policyManager = pmFactory.newPolicyManager(ConfigurationUtil.getCustomConfiguration(repoConfigElement, "policy-manager-config", "http://www.wyona.org/security/1.0"), new RealmConfigPathResolver(this));
             } catch (ConfigurationException e) {
                 pmFactory = (PolicyManagerFactory) yanel.getBeanFactory().getBean("PolicyManagerFactory");
                 log.info("Default PolicyManager will be used for realm: " + getName());
@@ -440,3 +440,27 @@
         this.languageHandler = languageHandler;
     }
 }
+
+/**
+ *
+ */
+class RealmConfigPathResolver implements javax.xml.transform.URIResolver {
+
+    private File realmConfigFile;
+
+    /**
+     *
+     */
+    public RealmConfigPathResolver(Realm realm) {
+        realmConfigFile = realm.getConfigFile();
+    }
+
+    /**
+     *
+     */
+    public javax.xml.transform.Source resolve(String href, String base) throws javax.xml.transform.TransformerException {
+        javax.xml.transform.Source source = new javax.xml.transform.stream.StreamSource();
+        source.setSystemId(FileUtil.resolve(realmConfigFile, new File(href)).toString());
+        return source;
+    }
+}



More information about the Yanel-commits mailing list