From 2ca2955041a76c5d3f3bf5bd74c3bbcc4010fda1 Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Mon, 31 Oct 2016 14:00:38 +0000
Subject: [PATCH] OPENDJ-2772 Code cleanup

---
 opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/Utils.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/Utils.java b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/Utils.java
index 207a99e..aa3d126 100644
--- a/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/Utils.java
+++ b/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/Utils.java
@@ -18,6 +18,7 @@
 
 import static com.forgerock.opendj.cli.ArgumentConstants.USE_SYSTEM_STREAM_TOKEN;
 import static com.forgerock.opendj.cli.CliConstants.NO_WRAPPING_BY_DEFAULT;
+import static com.forgerock.opendj.cli.Utils.filterExitCode;
 import static com.forgerock.opendj.cli.Utils.readBytesFromFile;
 import static com.forgerock.opendj.cli.Utils.secondsToTimeString;
 import static com.forgerock.opendj.ldap.tools.LDAPToolException.newToolException;
@@ -75,6 +76,7 @@
 import com.forgerock.opendj.cli.ConsoleApplication;
 import com.forgerock.opendj.ldap.controls.AccountUsabilityRequestControl;
 import org.forgerock.opendj.ldap.responses.Result;
+import org.forgerock.util.annotations.VisibleForTesting;
 
 /**
  * This class provides utility functions for all the client side tools.
@@ -458,6 +460,20 @@
         return NO_WRAPPING_BY_DEFAULT;
     }
 
+    static void runToolAndExit(final ToolConsoleApplication tool, final String[] args) {
+        System.exit(filterExitCode(runTool(tool, args)));
+    }
+
+    @VisibleForTesting
+    static int runTool(final ToolConsoleApplication tool, final String... args) {
+        try {
+            return tool.run(args);
+        } catch (final LDAPToolException e) {
+            e.printErrorMessage(tool);
+            return e.getResultCode();
+        }
+    }
+
     /** Prevent instantiation. */
     private Utils() {
         // Do nothing.

--
Gitblit v1.10.0