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

michi at wyona.com michi at wyona.com
Wed Apr 11 15:08:33 CEST 2007


Author: michi
Date: 2007-04-11 15:08:32 +0200 (Wed, 11 Apr 2007)
New Revision: 23650

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java
Log:
get root dir method 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-04-11 13:08:00 UTC (rev 23649)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/map/Realm.java	2007-04-11 13:08:32 UTC (rev 23650)
@@ -23,11 +23,18 @@
 import org.wyona.security.core.api.PolicyManager;
 import org.wyona.yarep.core.Repository;
 
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
+
+import org.apache.log4j.Category;
+
 /**
  *
  */
 public class Realm {
 
+    private Category log = Category.getInstance(Realm.class);
+
     private String name;
     private String id;
     private String mountPoint;
@@ -173,4 +180,24 @@
         this.defaultLanguage = language;
     }
 
+    /**
+     * Please note that the root-dir element is optional
+     */
+    public File getRootDir() {
+        try {
+            Configuration realmConfig = new DefaultConfigurationBuilder().buildFromFile(getConfigFile());
+            Configuration rootDirConfig = realmConfig.getChild("root-dir", false);
+            if (rootDirConfig != null) {
+                File rootDirFile = new File(rootDirConfig.getValue());
+                if (!rootDirFile.isAbsolute()) {
+                    return new File(org.wyona.commons.io.FileUtil.concat(getConfigFile().getParent(), rootDirFile.toString()));
+                } else {
+                    return rootDirFile;
+                }
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
+        return null;
+    }
 }




More information about the Yanel-commits mailing list