From 63e7e81eb13576ada7c5fabe36cd0fad25a86f64 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Fri, 02 Mar 2007 21:51:18 +0000
Subject: [PATCH] Make the import-ldif, export-ldif, backup, and restore tools easier to invoke programmatically from within the same JVM as the server. This will make it much easier to call them from unit tests.
---
opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java | 302 ++++++++++++++++++++++++++-----------------------
1 files changed, 159 insertions(+), 143 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java b/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
index 1caaea9..0e7add0 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/tools/ExportLDIF.java
@@ -101,6 +101,20 @@
*/
public static int mainExportLDIF(String[] args)
{
+ return mainExportLDIF(args, true);
+ }
+
+ /**
+ * Processes the command-line arguments and invokes the export process.
+ *
+ * @param args The command-line arguments provided to this
+ * program.
+ * @param initializeServer Indicates whether to initialize the server.
+ *
+ * @return The error code.
+ */
+ public static int mainExportLDIF(String[] args, boolean initializeServer)
+ {
// Define the command-line arguments that may be used with this program.
BooleanArgument appendToLDIF = null;
BooleanArgument compressLDIF = null;
@@ -284,161 +298,163 @@
// Perform the initial bootstrap of the Directory Server and process the
// configuration.
DirectoryServer directoryServer = DirectoryServer.getInstance();
+ if (initializeServer)
+ {
+ try
+ {
+ directoryServer.bootstrapClient();
+ directoryServer.initializeJMX();
+ }
+ catch (Exception e)
+ {
+ int msgID = MSGID_LDIFEXPORT_SERVER_BOOTSTRAP_ERROR;
+ String message = getMessage(msgID, stackTraceToSingleLineString(e));
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
- try
- {
- directoryServer.bootstrapClient();
- directoryServer.initializeJMX();
- }
- catch (Exception e)
- {
- int msgID = MSGID_LDIFEXPORT_SERVER_BOOTSTRAP_ERROR;
- String message = getMessage(msgID, stackTraceToSingleLineString(e));
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
-
- try
- {
- directoryServer.initializeConfiguration(configClass.getValue(),
- configFile.getValue());
- }
- catch (InitializationException ie)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_CONFIG;
- String message = getMessage(msgID, ie.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (Exception e)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_CONFIG;
- String message = getMessage(msgID, stackTraceToSingleLineString(e));
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
+ try
+ {
+ directoryServer.initializeConfiguration(configClass.getValue(),
+ configFile.getValue());
+ }
+ catch (InitializationException ie)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_CONFIG;
+ String message = getMessage(msgID, ie.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (Exception e)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_CONFIG;
+ String message = getMessage(msgID, stackTraceToSingleLineString(e));
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
- // Initialize the Directory Server schema elements.
- try
- {
- directoryServer.initializeSchema();
- }
- catch (ConfigException ce)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_SCHEMA;
- String message = getMessage(msgID, ce.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_SCHEMA;
- String message = getMessage(msgID, ie.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (Exception e)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_SCHEMA;
- String message = getMessage(msgID, stackTraceToSingleLineString(e));
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
+ // Initialize the Directory Server schema elements.
+ try
+ {
+ directoryServer.initializeSchema();
+ }
+ catch (ConfigException ce)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_SCHEMA;
+ String message = getMessage(msgID, ce.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (InitializationException ie)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_SCHEMA;
+ String message = getMessage(msgID, ie.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (Exception e)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_LOAD_SCHEMA;
+ String message = getMessage(msgID, stackTraceToSingleLineString(e));
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
- // Initialize the Directory Server core configuration.
- try
- {
- CoreConfigManager coreConfigManager = new CoreConfigManager();
- coreConfigManager.initializeCoreConfig();
- }
- catch (ConfigException ce)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CORE_CONFIG;
- String message = getMessage(msgID, ce.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CORE_CONFIG;
- String message = getMessage(msgID, ie.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (Exception e)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CORE_CONFIG;
- String message = getMessage(msgID, stackTraceToSingleLineString(e));
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
+ // Initialize the Directory Server core configuration.
+ try
+ {
+ CoreConfigManager coreConfigManager = new CoreConfigManager();
+ coreConfigManager.initializeCoreConfig();
+ }
+ catch (ConfigException ce)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CORE_CONFIG;
+ String message = getMessage(msgID, ce.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (InitializationException ie)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CORE_CONFIG;
+ String message = getMessage(msgID, ie.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (Exception e)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CORE_CONFIG;
+ String message = getMessage(msgID, stackTraceToSingleLineString(e));
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
- // Initialize the Directory Server crypto manager.
- try
- {
- directoryServer.initializeCryptoManager();
- }
- catch (ConfigException ce)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CRYPTO_MANAGER;
- String message = getMessage(msgID, ce.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CRYPTO_MANAGER;
- String message = getMessage(msgID, ie.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (Exception e)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CRYPTO_MANAGER;
- String message = getMessage(msgID, stackTraceToSingleLineString(e));
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
+ // Initialize the Directory Server crypto manager.
+ try
+ {
+ directoryServer.initializeCryptoManager();
+ }
+ catch (ConfigException ce)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CRYPTO_MANAGER;
+ String message = getMessage(msgID, ce.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (InitializationException ie)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CRYPTO_MANAGER;
+ String message = getMessage(msgID, ie.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (Exception e)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_CRYPTO_MANAGER;
+ String message = getMessage(msgID, stackTraceToSingleLineString(e));
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
- // FIXME -- Install a custom logger to capture information about the state
- // of the export.
- StartupErrorLogger startupLogger = new StartupErrorLogger();
- startupLogger.initializeErrorLogger(null);
- addErrorLogger(startupLogger);
+ // FIXME -- Install a custom logger to capture information about the state
+ // of the export.
+ StartupErrorLogger startupLogger = new StartupErrorLogger();
+ startupLogger.initializeErrorLogger(null);
+ addErrorLogger(startupLogger);
- // Make sure that the Directory Server plugin initialization is performed.
- try
- {
- HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
- pluginTypes.add(PluginType.LDIF_EXPORT);
- directoryServer.initializePlugins(pluginTypes);
- }
- catch (ConfigException ce)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_PLUGINS;
- String message = getMessage(msgID, ce.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (InitializationException ie)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_PLUGINS;
- String message = getMessage(msgID, ie.getMessage());
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
- }
- catch (Exception e)
- {
- int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_PLUGINS;
- String message = getMessage(msgID, stackTraceToSingleLineString(e));
- System.err.println(wrapText(message, MAX_LINE_WIDTH));
- return 1;
+ // Make sure that the Directory Server plugin initialization is performed.
+ try
+ {
+ HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
+ pluginTypes.add(PluginType.LDIF_EXPORT);
+ directoryServer.initializePlugins(pluginTypes);
+ }
+ catch (ConfigException ce)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_PLUGINS;
+ String message = getMessage(msgID, ce.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (InitializationException ie)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_PLUGINS;
+ String message = getMessage(msgID, ie.getMessage());
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
+ catch (Exception e)
+ {
+ int msgID = MSGID_LDIFEXPORT_CANNOT_INITIALIZE_PLUGINS;
+ String message = getMessage(msgID, stackTraceToSingleLineString(e));
+ System.err.println(wrapText(message, MAX_LINE_WIDTH));
+ return 1;
+ }
}
--
Gitblit v1.10.0