You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2017/05/15 08:35:45 UTC
svn commit: r1795149 - in /jackrabbit/oak/trunk/oak-run/src:
main/java/org/apache/jackrabbit/oak/run/cli/Options.java
test/java/org/apache/jackrabbit/oak/run/cli/OptionsTest.java
Author: chetanm
Date: Mon May 15 08:35:45 2017
New Revision: 1795149
URL: http://svn.apache.org/viewvc?rev=1795149&view=rev
Log:
OAK-6210 - Provide a consistent and extensible way to handle oak-run options while creating NodeStore
Provide an option to disable System.exit
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/Options.java
jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/cli/OptionsTest.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/Options.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/Options.java?rev=1795149&r1=1795148&r2=1795149&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/Options.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/run/cli/Options.java Mon May 15 08:35:45 2017
@@ -38,6 +38,7 @@ public class Options {
private final EnumSet<OptionBeans> oakRunOptions;
private final ClassToInstanceMap<OptionsBean> optionBeans = MutableClassToInstanceMap.create();
private OptionSet optionSet;
+ private boolean disableSystemExit;
public Options(){
this.oakRunOptions = EnumSet.allOf(OptionBeans.class);
@@ -104,7 +105,7 @@ public class Options {
if (optionBeans.containsKey(CommonOptions.class)
&& getCommonOpts().isHelpRequested()){
parser.printHelpOn(System.out);
- System.exit(0);
+ systemExit(0);
}
}
@@ -113,8 +114,18 @@ public class Options {
if (optionBeans.containsKey(CommonOptions.class)
&& getCommonOpts().getNonOptions().isEmpty()){
parser.printHelpOn(System.out);
- System.exit(1);
+ systemExit(1);
}
}
+ private void systemExit(int code) {
+ if (!disableSystemExit) {
+ System.exit(code);
+ }
+ }
+
+ Options withDisableSystemExit() {
+ this.disableSystemExit = true;
+ return this;
+ }
}
Modified: jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/cli/OptionsTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/cli/OptionsTest.java?rev=1795149&r1=1795148&r2=1795149&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/cli/OptionsTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/test/java/org/apache/jackrabbit/oak/run/cli/OptionsTest.java Mon May 15 08:35:45 2017
@@ -29,7 +29,7 @@ public class OptionsTest {
@Test
public void noArgs() throws Exception{
OptionParser parser = new OptionParser();
- Options opts = new Options();
+ Options opts = new Options().withDisableSystemExit();
opts.parseAndConfigure(parser, new String[]{});
assertNotNull(opts.getCommonOpts());
}
@@ -37,7 +37,7 @@ public class OptionsTest {
@Test
public void help() throws Exception{
OptionParser parser = new OptionParser();
- Options opts = new Options();
+ Options opts = new Options().withDisableSystemExit();
opts.parseAndConfigure(parser, new String[]{"-h"});
assertTrue(opts.getCommonOpts().isHelpRequested());