You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ta...@apache.org on 2017/06/30 10:19:51 UTC

svn commit: r1800368 - in /ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start: Config.java load-data.properties rmi.properties start.properties test.properties

Author: taher
Date: Fri Jun 30 10:19:50 2017
New Revision: 1800368

URL: http://svn.apache.org/viewvc?rev=1800368&view=rev
Log:
Improved: Refactor Config.java and properties files
(OFBIZ-9435)

Another round of refactoring in the start component with the following changes:

- Change the default adminKey to "NA" since it is only used in the "start"
  context. Other contexts do not require an admin server (test, load-data)
- Simplify and cleanup the locale creation logic in the constructor and move
  things out to the method with a return value
- Simplify the Timezone creation logic by moving it outside the constructor into
  a small method
- Substantially simplify the determineOfbizPropertiesFileName(..) method by
  reversing the order of condition evaluation (first, load-data, then test, then
  anything else is start)
- Change default locale to be 'en' as the system crashes if not provided.
- Remove all comments from properties files except for start.properties and
  refer to it from the other properties files
- Update the properties files accordingly

Thanks: Jacques Le Roux for review and suggestion to remove the comments from
        properties files

Modified:
    ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/Config.java
    ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/load-data.properties
    ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/rmi.properties
    ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/start.properties
    ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/test.properties

Modified: ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/Config.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/Config.java?rev=1800368&r1=1800367&r2=1800368&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/Config.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/Config.java Fri Jun 30 10:19:50 2017
@@ -54,9 +54,9 @@ public final class Config {
         // set this class fields
         ofbizHome = getOfbizHome(getProperty(props, "ofbiz.home", "."));
         adminAddress = getAdminAddress(getProperty(props, "ofbiz.admin.host", "127.0.0.1"));
-        adminKey = getProperty(props, "ofbiz.admin.key", "so3du5kasd5dn");
+        adminKey = getProperty(props, "ofbiz.admin.key", "NA");
         portOffset = getPortOffsetValue(ofbizCommands, "0");
-        adminPort = getAdminPort(props, 0, portOffset); // see INFRA-6790
+        adminPort = getAdminPort(props, 0, portOffset);
         containerConfig = getAbsolutePath(props, "ofbiz.container.config",
                 "framework/base/config/ofbiz-containers.xml", ofbizHome);
         loaders = Arrays.asList(getProperty(props, "ofbiz.start.loaders", "").split(","));
@@ -71,12 +71,9 @@ public final class Config {
         System.setProperty("java.awt.headless", getProperty(props, "java.awt.headless", "true"));
         System.setProperty("derby.system.home", getProperty(props, "derby.system.home", "runtime/data/derby"));
 
-        // set the default locale
-        setDefaultLocale(getProperty(props, "ofbiz.locale.default", ""));
-
-        // set the default timezone
-        String tzString = props.getProperty("ofbiz.timeZone.default", TimeZone.getDefault().getID());
-        TimeZone.setDefault(TimeZone.getTimeZone(tzString));
+        // set default locale and timezone
+        Locale.setDefault(getDefaultLocale(props, "en"));
+        TimeZone.setDefault(getDefaultTimeZone(props));
     }
 
     private String getProperty(Properties props, String key, String defaultValue) {
@@ -88,8 +85,8 @@ public final class Config {
         return homeProp.equals(".") ? System.getProperty("user.dir").replace('\\', '/') : homeProp;
     }
 
-    private String getAbsolutePath(Properties props, String key, String def, String ofbizHome) {
-        return getProperty(props, key, ofbizHome + "/" + props.getProperty(key, def));
+    private String getAbsolutePath(Properties props, String key, String defaultValue, String ofbizHome) {
+        return getProperty(props, key, ofbizHome + "/" + props.getProperty(key, defaultValue));
     }
 
     private Properties getPropertiesFile(List<StartupCommand> ofbizCommands) throws StartupException {
@@ -108,23 +105,15 @@ public final class Config {
     }
 
     private String determineOfbizPropertiesFileName(List<StartupCommand> ofbizCommands) {
-        String fileName = null;
-        if (ofbizCommands.stream().anyMatch(command ->
-                command.getName().equals(StartupCommandUtil.StartupOption.START.getName())
-                || command.getName().equals(StartupCommandUtil.StartupOption.SHUTDOWN.getName())
-                || command.getName().equals(StartupCommandUtil.StartupOption.STATUS.getName()))
-            || ofbizCommands.isEmpty()
-            || ofbizCommands.stream().allMatch(command -> 
-                command.getName().equals(StartupCommandUtil.StartupOption.PORTOFFSET.getName()))) {
-            fileName = "start.properties";
-        } else if(ofbizCommands.stream().anyMatch(
+        if(ofbizCommands.stream().anyMatch(
                 option -> option.getName().equals(StartupCommandUtil.StartupOption.LOAD_DATA.getName()))) {
-            fileName = "load-data.properties";
+            return "load-data.properties";
         } else if(ofbizCommands.stream().anyMatch(
                 option -> option.getName().equals(StartupCommandUtil.StartupOption.TEST.getName()))) {
-            fileName = "test.properties";
+            return "test.properties";
+        } else {
+            return "start.properties";
         }
-        return fileName;
     }
 
     private int getPortOffsetValue(List<StartupCommand> ofbizCommands, String defaultOffset) throws StartupException {
@@ -158,18 +147,27 @@ public final class Config {
         }
     }
 
-    private void setDefaultLocale(String localeString) {
+    private Locale getDefaultLocale(Properties props, String defaultLocale) {
+        String localeString = getProperty(props, "ofbiz.locale.default", defaultLocale);
         String locales[] = localeString.split("_");
+        Locale locale = null;
         switch (locales.length) {
         case 1:
-            Locale.setDefault(new Locale(locales[0]));
+            locale = new Locale(locales[0]);
             break;
         case 2:
-            Locale.setDefault(new Locale(locales[0], locales[1]));
+            locale = new Locale(locales[0], locales[1]);
             break;
         case 3:
-            Locale.setDefault(new Locale(locales[0], locales[1], locales[2]));
+            locale = new Locale(locales[0], locales[1], locales[2]);
+            break;
         }
         System.setProperty("user.language", localeString);
+        return locale;
+    }
+
+    private TimeZone getDefaultTimeZone(Properties props) {
+        String defaultTimezone = getProperty(props, "ofbiz.timeZone.default", TimeZone.getDefault().getID());
+        return TimeZone.getTimeZone(defaultTimezone);
     }
 }

Modified: ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/load-data.properties
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/load-data.properties?rev=1800368&r1=1800367&r2=1800368&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/load-data.properties (original)
+++ ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/load-data.properties Fri Jun 30 10:19:50 2017
@@ -17,46 +17,11 @@
 # under the License.
 ###############################################################################
 
-####################################
+#######################################################################
 # OFBiz Startup Application Settings
-####################################
+# For more information about available properties view start.properties
+#######################################################################
 
-# --- OFBiz startup loaders (comma separated)
 ofbiz.start.loaders=load-data
-
-# --- OFBiz home directory. Default is current directory
-#ofbiz.home=
-
-# --- logs directory relative to ofbiz.home. Default is runtime/logs
-#ofbiz.log.dir=
-
-# --- Derby directory relative to ofbiz.home. Default is runtime/data/derby
-#derby.system.home=
-
-# --- Container config file relative to ofbiz.home.
-#     Default is framework/base/config/ofbiz-containers.xml
-#ofbiz.container.config=
-
-# --- Network host, port and key used by the AdminClient to communicate
-#     with AdminServer for shutting down OFBiz or inquiring on status
-#     Default ofbiz.admin.host 127.0.0.1
-#     Default ofbiz.admin.port 0
-#     Default ofbiz.admin.key so3du5kasd5dn
-#ofbiz.admin.host=
-#ofbiz.admin.port=
-#ofbiz.admin.key=
-
-# -- Enable the JVM shutdown hook. Default is true
 ofbiz.enable.hook=false
-
-# -- Auto-Shutdown after load. Default is false
 ofbiz.auto.shutdown=true
-
-# --- Tells AWT not not require a head (X11). Default is true
-#java.awt.headless=false
-
-# -- The locale for this OFBiz instance. Default depends on JVM environment
-ofbiz.locale.default=en
-
-# -- The time zone for this OFBiz instance. Default depends on JVM environment
-#ofbiz.timeZone.default=GMT

Modified: ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/rmi.properties
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/rmi.properties?rev=1800368&r1=1800367&r2=1800368&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/rmi.properties (original)
+++ ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/rmi.properties Fri Jun 30 10:19:50 2017
@@ -17,46 +17,9 @@
 # under the License.
 ###############################################################################
 
-####################################
+#######################################################################
 # OFBiz Startup Application Settings
-####################################
+# For more information about available properties view start.properties
+#######################################################################
 
-# --- OFBiz startup loaders (comma separated)
 ofbiz.start.loaders=rmi
-
-# --- OFBiz home directory. Default is current directory
-#ofbiz.home=
-
-# --- logs directory relative to ofbiz.home. Default is runtime/logs
-#ofbiz.log.dir=
-
-# --- Derby directory relative to ofbiz.home. Default is runtime/data/derby
-#derby.system.home=
-
-# --- Container config file relative to ofbiz.home.
-#     Default is framework/base/config/ofbiz-containers.xml
-#ofbiz.container.config=
-
-# --- Network host, port and key used by the AdminClient to communicate
-#     with AdminServer for shutting down OFBiz or inquiring on status
-#     Default ofbiz.admin.host 127.0.0.1
-#     Default ofbiz.admin.port 0
-#     Default ofbiz.admin.key so3du5kasd5dn
-#ofbiz.admin.host=
-#ofbiz.admin.port=
-#ofbiz.admin.key=
-
-# -- Enable the JVM shutdown hook. Default is true
-#ofbiz.enable.hook=false
-
-# -- Auto-Shutdown after load. Default is false
-#ofbiz.auto.shutdown=true
-
-# --- Tells AWT not not require a head (X11). Default is true
-#java.awt.headless=false
-
-# -- The locale for this OFBiz instance. Default depends on JVM environment
-#ofbiz.locale.default=en
-
-# -- The time zone for this OFBiz instance. Default depends on JVM environment
-#ofbiz.timeZone.default=GMT

Modified: ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/start.properties
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/start.properties?rev=1800368&r1=1800367&r2=1800368&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/start.properties (original)
+++ ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/start.properties Fri Jun 30 10:19:50 2017
@@ -21,7 +21,7 @@
 # OFBiz Startup Application Settings
 ####################################
 
-# --- OFBiz startup loaders (comma separated)
+# --- OFBiz startup loaders comma separated
 ofbiz.start.loaders=main
 
 # --- OFBiz home directory. Default is current directory
@@ -41,10 +41,10 @@ ofbiz.start.loaders=main
 #     with AdminServer for shutting down OFBiz or inquiring on status
 #     Default ofbiz.admin.host 127.0.0.1
 #     Default ofbiz.admin.port 0
-#     Default ofbiz.admin.key so3du5kasd5dn
+#     Default ofbiz.admin.key NA
 #ofbiz.admin.host=
 ofbiz.admin.port=10523
-#ofbiz.admin.key=
+ofbiz.admin.key=so3du5kasd5dn
 
 # -- Enable the JVM shutdown hook. Default is true
 #ofbiz.enable.hook=false
@@ -52,11 +52,11 @@ ofbiz.admin.port=10523
 # -- Auto-Shutdown after load. Default is false
 #ofbiz.auto.shutdown=true
 
-# --- Tells AWT not not require a head (X11). Default is true
+# --- Tells AWT to not require a head (X11). Default is true
 #java.awt.headless=false
 
-# -- The locale for this OFBiz instance. Default depends on JVM environment
-ofbiz.locale.default=en
+# -- The locale for this OFBiz instance. Default is en
+#ofbiz.locale.default=en_US
 
 # -- The time zone for this OFBiz instance. Default depends on JVM environment
 #ofbiz.timeZone.default=GMT

Modified: ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/test.properties
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/test.properties?rev=1800368&r1=1800367&r2=1800368&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/test.properties (original)
+++ ofbiz/ofbiz-framework/trunk/framework/start/src/main/java/org/apache/ofbiz/base/start/test.properties Fri Jun 30 10:19:50 2017
@@ -17,46 +17,11 @@
 # under the License.
 ###############################################################################
 
-####################################
+#######################################################################
 # OFBiz Startup Application Settings
-####################################
+# For more information about available properties view start.properties
+#######################################################################
 
-# --- OFBiz startup loaders (comma separated)
 ofbiz.start.loaders=test
-
-# --- OFBiz home directory. Default is current directory
-#ofbiz.home=
-
-# --- logs directory relative to ofbiz.home. Default is runtime/logs
-#ofbiz.log.dir=
-
-# --- Derby directory relative to ofbiz.home. Default is runtime/data/derby
-#derby.system.home=
-
-# --- Container config file relative to ofbiz.home.
-#     Default is framework/base/config/ofbiz-containers.xml
-#ofbiz.container.config=
-
-# --- Network host, port and key used by the AdminClient to communicate
-#     with AdminServer for shutting down OFBiz or inquiring on status
-#     Default ofbiz.admin.host 127.0.0.1
-#     Default ofbiz.admin.port 0
-#     Default ofbiz.admin.key so3du5kasd5dn
-#ofbiz.admin.host=
-#ofbiz.admin.port=
-#ofbiz.admin.key=
-
-# -- Enable the JVM shutdown hook. Default is true
 ofbiz.enable.hook=false
-
-# -- Auto-Shutdown after load. Default is false
 ofbiz.auto.shutdown=true
-
-# --- Tells AWT not not require a head (X11). Default is true
-#java.awt.headless=false
-
-# -- The locale for this OFBiz instance. Default depends on JVM environment
-ofbiz.locale.default=en
-
-# -- The time zone for this OFBiz instance. Default depends on JVM environment
-#ofbiz.timeZone.default=GMT