[Yanel-commits] rev 40218 - public/yanel/trunk/src/build/java/org/wyona/yanel/ant

michi at wyona.com michi at wyona.com
Tue Dec 2 13:44:33 CET 2008


Author: michi
Date: 2008-12-02 13:44:33 +0100 (Tue, 02 Dec 2008)
New Revision: 40218

Added:
   public/yanel/trunk/src/build/java/org/wyona/yanel/ant/MergeResourceTypesConfigsTask.java
Log:
Merge resources types configs ant ask added

Added: public/yanel/trunk/src/build/java/org/wyona/yanel/ant/MergeResourceTypesConfigsTask.java
===================================================================
--- public/yanel/trunk/src/build/java/org/wyona/yanel/ant/MergeResourceTypesConfigsTask.java	                        (rev 0)
+++ public/yanel/trunk/src/build/java/org/wyona/yanel/ant/MergeResourceTypesConfigsTask.java	2008-12-02 12:44:33 UTC (rev 40218)
@@ -0,0 +1,69 @@
+/*
+ * ALSO SEE: build/lenya/src-tools/org/apache/lenya/cms/ant/CopyJavaSourcesTask.java
+ */
+package org.wyona.yanel.ant;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.types.Path;
+
+import java.io.File;
+
+import org.wyona.yanel.core.map.Realm;
+import org.wyona.yanel.core.map.RealmManager;
+
+/**
+ * Merge resource-types.xml config files of the various realms and core
+ */
+public class MergeResourceTypesConfigsTask extends Task {
+
+    private Path defaultRealmsConfigDir;
+    private Path localRealmsConfigDir;
+
+    /**
+     *
+     */
+    public void execute() throws BuildException {
+        log("INFO: Default realms config directory: " + defaultRealmsConfigDir);
+        log("INFO: Local realms config directory: " + localRealmsConfigDir);
+        File defaultRealmsConfig = new File(defaultRealmsConfigDir.toString(), "realms.xml");
+        File localRealmsConfig = new File(localRealmsConfigDir.toString(), "local.realms.xml");
+        RealmManager realmManager;
+        try {
+            if (localRealmsConfig.isFile()) {
+                log("INFO: Local realms config exists: " + localRealmsConfig.getAbsolutePath());
+                realmManager = new RealmManager("yanel.xml");
+                //realmManager = new RealmManager("local.realms.xml");
+                //realmManager = new RealmManager(localRealmsConfig.getAbsolutePath());
+            } else {
+                log("WARN: No local realms config '" + localRealmsConfig.getAbsolutePath() + "' exists, hence use default one '" + defaultRealmsConfig.getAbsolutePath() + "'");
+                realmManager = new RealmManager("yanel.xml");
+                //realmManager = new RealmManager(defaultRealmsConfig.getAbsolutePath());
+            }
+        } catch (Exception e) {
+            log("ERROR: " + e.getMessage());
+            throw new BuildException(e.getMessage(), e);
+        }
+
+        Realm[] realms = realmManager.getRealms();
+        log("Number of realms: " + realms.length);
+        for (int i = 0; i < realms.length; i++) {
+            log("Realm config: " + realms[i].getConfigFile());
+        }
+        log("HUGO");
+    }
+
+    /**
+     *
+     */
+    public void setDefaultRealmsConfigDir(Path defaultRealmsConfigDir) {
+        this.defaultRealmsConfigDir = defaultRealmsConfigDir;
+    }
+
+    /**
+     *
+     */
+    public void setLocalRealmsConfigDir(Path localRealmsConfigDir) {
+        this.localRealmsConfigDir = localRealmsConfigDir;
+    }
+}



More information about the Yanel-commits mailing list