From 28ba6776b29ea3d6d0dcb45eacf853c6bfb09142 Mon Sep 17 00:00:00 2001
From: coulbeck <coulbeck@localhost>
Date: Wed, 27 Sep 2006 16:11:33 +0000
Subject: [PATCH] Issue 729: import LDIF tool returns successful exit code on failure.

---
 opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java |   11 +++++++++++
 opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java      |   15 ++++++++++-----
 opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java       |    2 ++
 3 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java b/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java
index 0376da1..e9c98a7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/messages/ToolMessages.java
@@ -6603,6 +6603,15 @@
 
 
   /**
+   * The message ID for the message that will be used to indicate that the
+   * LDIF import was unsuccessful.  This does not take any arguments.
+   */
+  public static final int MSGID_INSTALLDS_IMPORT_UNSUCCESSFUL =
+       CATEGORY_MASK_TOOLS | SEVERITY_MASK_SEVERE_ERROR | 672;
+
+
+
+  /**
    * Associates a set of generic messages with the message IDs defined in this
    * class.
    */
@@ -8316,6 +8325,8 @@
                     "database....");
     registerMessage(MSGID_INSTALLDS_IMPORT_SUCCESSFUL,
                     "Import complete.");
+    registerMessage(MSGID_INSTALLDS_IMPORT_UNSUCCESSFUL,
+                    "Import failed.");
     registerMessage(MSGID_INSTALLDS_STATUS_SUCCESS,
                     "The " + SHORT_NAME + " setup process has completed " +
                     "successfully.");
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
index 09926b4..e3eafad 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ImportLDIF.java
@@ -345,8 +345,8 @@
 
     try
     {
-      directoryServer.bootstrapClient();
-      directoryServer.initializeJMX();
+      DirectoryServer.bootstrapClient();
+      DirectoryServer.initializeJMX();
     }
     catch (Exception e)
     {
@@ -914,7 +914,7 @@
                                     String.valueOf(failureReason));
         logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR,
                  message, msgID);
-        return 0;
+        return 1;
       }
     }
     catch (Exception e)
@@ -924,11 +924,12 @@
                                   stackTraceToSingleLineString(e));
       logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR,
                message, msgID);
-      return 0;
+      return 1;
     }
 
 
     // Launch the import.
+    int retCode = 0;
     try
     {
       backend.importLDIF(configEntry, baseDNs, importConfig);
@@ -939,6 +940,7 @@
       String message = getMessage(msgID, de.getErrorMessage());
       logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR, message,
                msgID);
+      retCode = 1;
     }
     catch (Exception e)
     {
@@ -946,6 +948,7 @@
       String message = getMessage(msgID, stackTraceToSingleLineString(e));
       logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR, message,
                msgID);
+      retCode = 1;
     }
 
 
@@ -961,6 +964,7 @@
                                     String.valueOf(failureReason));
         logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_WARNING,
                  message, msgID);
+        retCode = 1;
       }
     }
     catch (Exception e)
@@ -970,12 +974,13 @@
                                   stackTraceToSingleLineString(e));
       logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_WARNING,
                message, msgID);
+      retCode = 1;
     }
 
 
     // Clean up after the import by closing the import config.
     importConfig.close();
-    return 0;
+    return retCode;
   }
 
 
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
index 0367848..b739659 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/InstallDS.java
@@ -743,6 +743,8 @@
       returnValue = ImportLDIF.mainImportLDIF(importLDIFArguments);
       if (returnValue != 0)
       {
+        String message = getMessage(MSGID_INSTALLDS_IMPORT_UNSUCCESSFUL);
+        System.out.println(wrapText(message, MAX_LINE_WIDTH));
         return returnValue;
       }
       else

--
Gitblit v1.10.0