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());