From 359c97e13e5eaf3ebb99f0b68f1a4083743255cc Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 10 Jul 2007 20:30:09 +0000
Subject: [PATCH] Update all of the tools provided with OpenDS to ensure that they are easier to invoke programmatically.  This includes:

---
 opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java |   77 ++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 25 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java
index b6df8d7..f909504 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/LDIFSearch.java
@@ -28,6 +28,8 @@
 
 
 
+import java.io.OutputStream;
+import java.io.PrintStream;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.LinkedHashSet;
@@ -42,6 +44,7 @@
 import org.opends.server.types.ExistingFileBehavior;
 import org.opends.server.types.LDIFExportConfig;
 import org.opends.server.types.LDIFImportConfig;
+import org.opends.server.types.NullOutputStream;
 import org.opends.server.types.ObjectClass;
 import org.opends.server.types.SearchFilter;
 import org.opends.server.types.SearchScope;
@@ -116,7 +119,7 @@
    */
   public static void main(String[] args)
   {
-    int exitCode = mainSearch(args, true);
+    int exitCode = mainSearch(args, true, System.out, System.err);
     if (exitCode != 0)
     {
       System.exit(filterExitCode(exitCode));
@@ -129,16 +132,41 @@
    * Parses the provided command line arguments and performs the appropriate
    * search operation.
    *
-   * @param  args  The command line arguments provided to this program.
-   *
-   * @param initializeServer True if server initialization should be done.
+   * @param  args              The command line arguments provided to this
+   *                           program.
+   * @param  initializeServer  True if server initialization should be done.
+   * @param  outStream         The output stream to use for standard output, or
+   *                           {@code null} if standard output is not needed.
+   * @param  errStream         The output stream to use for standard error, or
+   *                           {@code null} if standard error is not needed.
    *
    * @return  The return code for this operation.  A value of zero indicates
    *          that all processing completed successfully.  A nonzero value
    *          indicates that some problem occurred during processing.
    */
-  public static int mainSearch(String[] args, boolean initializeServer)
+  public static int mainSearch(String[] args, boolean initializeServer,
+                               OutputStream outStream, OutputStream errStream)
   {
+    PrintStream out;
+    if (outStream == null)
+    {
+      out = NullOutputStream.printStream();
+    }
+    else
+    {
+      out = new PrintStream(outStream);
+    }
+
+    PrintStream err;
+    if (errStream == null)
+    {
+      err = NullOutputStream.printStream();
+    }
+    else
+    {
+      err = new PrintStream(errStream);
+    }
+
     LinkedHashSet<String> scopeStrings = new LinkedHashSet<String>(4);
     scopeStrings.add(SCOPE_STRING_BASE);
     scopeStrings.add(SCOPE_STRING_ONE);
@@ -240,7 +268,7 @@
     {
       int    msgID   = MSGID_CANNOT_INITIALIZE_ARGS;
       String message = getMessage(msgID, ae.getMessage());
-      System.err.println(message);
+      err.println(message);
       return 1;
     }
 
@@ -255,8 +283,8 @@
       int    msgID   = MSGID_ERROR_PARSING_ARGS;
       String message = getMessage(msgID, ae.getMessage());
 
-      System.err.println(message);
-      System.err.println(argParser.getUsage());
+      err.println(message);
+      err.println(argParser.getUsage());
       return LDAPResultCode.CLIENT_SIDE_PARAM_ERROR;
     }
 
@@ -321,7 +349,7 @@
       {
         int    msgID   = MSGID_LDIFSEARCH_NO_FILTER;
         String message = getMessage(msgID);
-        System.err.println(message);
+        err.println(message);
         return 1;
       }
       else
@@ -400,7 +428,7 @@
         String message = getMessage(msgID,
                                     String.valueOf(configFile.getValue()),
                                     e.getMessage());
-        System.err.println(message);
+        err.println(message);
         return 1;
       }
 
@@ -415,7 +443,7 @@
         String message = getMessage(msgID,
                                     String.valueOf(configFile.getValue()),
                                     e.getMessage());
-        System.err.println(message);
+        err.println(message);
         return 1;
       }
 
@@ -429,7 +457,7 @@
         String message = getMessage(msgID,
                                     String.valueOf(configFile.getValue()),
                                     e.getMessage());
-        System.err.println(message);
+        err.println(message);
         return 1;
       }
     }
@@ -475,7 +503,7 @@
       {
         int    msgID   = MSGID_LDIFSEARCH_CANNOT_PARSE_FILTER;
         String message = getMessage(msgID, filterString, e.getMessage());
-        System.err.println(message);
+        err.println(message);
         return 1;
       }
     }
@@ -542,7 +570,7 @@
         {
           int    msgID   = MSGID_LDIFSEARCH_CANNOT_PARSE_BASE_DN;
           String message = getMessage(msgID, dnString, e.getMessage());
-          System.err.println(message);
+          err.println(message);
           return 1;
         }
       }
@@ -570,7 +598,7 @@
     {
       int    msgID   = MSGID_LDIFSEARCH_CANNOT_PARSE_TIME_LIMIT;
       String message = getMessage(msgID, String.valueOf(e));
-      System.err.println(message);
+      err.println(message);
       return 1;
     }
 
@@ -592,7 +620,7 @@
     {
       int    msgID   = MSGID_LDIFSEARCH_CANNOT_PARSE_SIZE_LIMIT;
       String message = getMessage(msgID, String.valueOf(e));
-      System.err.println(message);
+      err.println(message);
       return 1;
     }
 
@@ -628,7 +656,7 @@
     }
     else
     {
-      exportConfig = new LDIFExportConfig(System.out);
+      exportConfig = new LDIFExportConfig(out);
     }
 
     exportConfig.setIncludeObjectClasses(includeObjectclassAttrs);
@@ -653,7 +681,7 @@
     {
       int    msgID   = MSGID_LDIFSEARCH_CANNOT_CREATE_READER;
       String message = getMessage(msgID, String.valueOf(e));
-      System.err.println(message);
+      err.println(message);
       return 1;
     }
 
@@ -670,7 +698,7 @@
 
       int    msgID   = MSGID_LDIFSEARCH_CANNOT_CREATE_WRITER;
       String message = getMessage(msgID, String.valueOf(e));
-      System.err.println(message);
+      err.println(message);
       return 1;
     }
 
@@ -689,7 +717,7 @@
 
         int    msgID   = MSGID_LDIFSEARCH_TIME_LIMIT_EXCEEDED;
         String message = getMessage(msgID);
-        System.err.println(message);
+        err.println(message);
         break;
       }
 
@@ -777,7 +805,7 @@
 
           int    msgID   = MSGID_LDIFSEARCH_SIZE_LIMIT_EXCEEDED;
           String message = getMessage(msgID);
-          System.err.println(message);
+          err.println(message);
           break;
         }
       }
@@ -787,13 +815,13 @@
         {
           int    msgID   = MSGID_LDIFSEARCH_CANNOT_READ_ENTRY_RECOVERABLE;
           String message = getMessage(msgID, le.getMessage());
-          System.err.println(message);
+          err.println(message);
         }
         else
         {
           int    msgID   = MSGID_LDIFSEARCH_CANNOT_READ_ENTRY_FATAL;
           String message = getMessage(msgID, le.getMessage());
-          System.err.println(message);
+          err.println(message);
           resultCode = LDAPResultCode.CLIENT_SIDE_LOCAL_ERROR;
           break;
         }
@@ -802,7 +830,7 @@
       {
         int    msgID   = MSGID_LDIFSEARCH_ERROR_DURING_PROCESSING;
         String message = getMessage(msgID, String.valueOf(e));
-        System.err.println(message);
+        err.println(message);
         resultCode = LDAPResultCode.CLIENT_SIDE_LOCAL_ERROR;
         break;
       }
@@ -825,4 +853,3 @@
   }
 }
 
-

--
Gitblit v1.10.0