[exo-jcr-commits] exo-jcr SVN: r1940 - in kernel/trunk/exo.kernel.container/src: test/java/org/exoplatform/container/monitor/jvm and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Feb 22 15:08:35 EST 2010


Author: nfilotto
Date: 2010-02-22 15:08:35 -0500 (Mon, 22 Feb 2010)
New Revision: 1940

Modified:
   kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java
   kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/monitor/jvm/TestJ2EEServerInfo.java
Log:
EXOJCR-536: The name of the configuration folder that is by default "exo-conf", can be changed thanks to the System property exo.conf.dir.name.

Modified: kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java	2010-02-22 20:08:23 UTC (rev 1939)
+++ kernel/trunk/exo.kernel.container/src/main/java/org/exoplatform/container/monitor/jvm/J2EEServerInfo.java	2010-02-22 20:08:35 UTC (rev 1940)
@@ -32,9 +32,19 @@
  */
 public class J2EEServerInfo
 {
-
+   
+   /**
+    * The name of the JVM parameter that allows us to change the location of the
+    * configuration directory
+    */
    public static final String EXO_CONF_PARAM = "exo.conf.dir";
-
+   
+   /**
+    * The name of the JVM parameter that allows us to change the default name
+    * of the configuration directory which is "exo-conf"
+    */
+   public static final String EXO_CONF_DIR_NAME_PARAM = "exo.conf.dir.name";
+   
    private String serverName_;
 
    private String serverHome_;
@@ -58,11 +68,13 @@
       String catalinaHome = System.getProperty("catalina.home");
       String testHome = System.getProperty("maven.exoplatform.dir");
 
+      // The name of the configuration directory
+      final String confDirName = System.getProperty(EXO_CONF_DIR_NAME_PARAM, "exo-conf");
       if (jonasHome != null)
       {
          serverName_ = "jonas";
          serverHome_ = jonasHome;
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
       }
       else if (jbossHome != null)
       {
@@ -76,16 +88,16 @@
          {
             try
             {
-               exoConfDir_ = new File(new URL(jbossConfigUrl).getFile() + "/exo-conf").getAbsolutePath();
+               exoConfDir_ = new File(new URL(jbossConfigUrl).getFile() + "/" + confDirName).getAbsolutePath();
             }
             catch (Throwable e)
             {
                // don't care about it
-               exoConfDir_ = serverHome_ + "/exo-conf";
+               exoConfDir_ = serverHome_ + "/" + confDirName;
             }
          }
          else
-            exoConfDir_ = serverHome_ + "/exo-conf";
+            exoConfDir_ = serverHome_ + "/" + confDirName;
 
          //
          try
@@ -104,39 +116,39 @@
       {
          serverName_ = "jetty";
          serverHome_ = jettyHome;
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
       }
       else if (websphereHome != null)
       {
          serverName_ = "websphere";
          serverHome_ = websphereHome;
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
       }
       else if (weblogicHome != null)
       {
          serverName_ = "weblogic";
          serverHome_ = weblogicHome;
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
          // Catalina has to be processed at the end as other servers may embed it
       }
       else if (catalinaHome != null)
       {
          serverName_ = "tomcat";
          serverHome_ = catalinaHome;
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
       }
       else if (testHome != null)
       {
          serverName_ = "test";
          serverHome_ = testHome;
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
       }
       else
       {
          // throw new UnsupportedOperationException("unknown server platform") ;
          serverName_ = "standalone";
          serverHome_ = System.getProperty("user.dir");
-         exoConfDir_ = serverHome_ + "/exo-conf";
+         exoConfDir_ = serverHome_ + "/" + confDirName;
          mbeanServer = MBeanServerFactory.createMBeanServer();
       }
 

Modified: kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/monitor/jvm/TestJ2EEServerInfo.java
===================================================================
--- kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/monitor/jvm/TestJ2EEServerInfo.java	2010-02-22 20:08:23 UTC (rev 1939)
+++ kernel/trunk/exo.kernel.container/src/test/java/org/exoplatform/container/monitor/jvm/TestJ2EEServerInfo.java	2010-02-22 20:08:35 UTC (rev 1940)
@@ -60,6 +60,61 @@
       }
    }
 
+   public void testConfigDirName()
+   {
+      testConfigDirName(null,"jonas.base");
+      testConfigDirName(null,"jboss.home.dir");
+      testConfigDirName(null,"jboss.home.dir", "jboss.server.config.url");
+      testConfigDirName(null,"jetty.home");
+      testConfigDirName(null,"was.install.root");
+      testConfigDirName(null,"wls.home");
+      testConfigDirName(null,"catalina.home");
+      testConfigDirName(null,"maven.exoplatform.dir");
+      testConfigDirName(null);
+      testConfigDirName("foo","jonas.base");
+      testConfigDirName("foo","jboss.home.dir");
+      testConfigDirName("foo","jboss.home.dir", "jboss.server.config.url");
+      testConfigDirName("foo","jetty.home");
+      testConfigDirName("foo","was.install.root");
+      testConfigDirName("foo","wls.home");
+      testConfigDirName("foo","catalina.home");
+      testConfigDirName("foo","maven.exoplatform.dir");
+      testConfigDirName("foo");
+   }
+   
+   private void testConfigDirName(String confDirName, String... asVMParams)
+   {
+      if (confDirName != null)
+      {
+         System.setProperty(J2EEServerInfo.EXO_CONF_DIR_NAME_PARAM, confDirName);
+      }
+      if (asVMParams != null)
+      {
+         for (String asVMParam : asVMParams)
+         {
+            System.setProperty(asVMParam, confDir);
+         }
+      } 
+      try
+      {
+         assertTrue((new J2EEServerInfo().getExoConfigurationDirectory()).contains(confDirName == null ? "exo-conf" : confDirName));
+      }
+      finally
+      {
+         if (confDirName != null)
+         {
+            System.getProperties().remove(J2EEServerInfo.EXO_CONF_DIR_NAME_PARAM);
+         }         
+         if (asVMParams != null)
+         {
+            for (String asVMParam : asVMParams)
+            {
+               System.getProperties().remove(asVMParam);
+            }
+         } 
+      }
+   }
+   
    public void testServerDirs() throws Exception
    {
       try



More information about the exo-jcr-commits mailing list