major change in the start component related to OFBIZ-6783
this is a big commit that achieves the following new features in ofbiz:
- add the commons-cli library
- fix build.xml in start menu to include the commons-cli. It is done
in a way to ensure that the classpath continues to work when ofbiz.jar
is copied to the root folder
- set a default portoffset value of 0 when not selected in build.xml
- fully redefine the commands passed in java -jar ofbiz.jar using the commons-cli
api. The commands are now much more consistent and clean
- remove ofbiz dependency on String[] args across the different components and isolate
them in a new entity class called StartupCommand. This decouples ofbiz from both
String[] args and commons-cli at the same time
- fix all the calls in the master build.xml to comply with the new commands
- fix the Config.java to remove dependecies on the args array
- create a utility class StartupCommandUtil that takes care of all commons-cli
operations and abstracts away the implementation in private methods
- substantially reduce the size of main and init in Start.java by refactoring
them in different places
- create an intermediate function called populateLoaderArgs. This is the first
step in removing the dependecies on args by "adapting" them using this method
- unify the exception model everywhere to StartupException. This makes exception
propagation cleaner and easier
- lots of cleanup of the code related in all these areas
Big thanks to Jacques for the substantial help in testing.
|