From 2811274062184e78e27d610a38b4edb84f15b837 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.
---
opends/src/server/org/opends/server/tools/BackUpDB.java | 248 ++++++++++++++++++++++++++-----------------------
1 files changed, 132 insertions(+), 116 deletions(-)
diff --git a/opends/src/server/org/opends/server/tools/BackUpDB.java b/opends/src/server/org/opends/server/tools/BackUpDB.java
index 3ab90fc..b1a2f53 100644
--- a/opends/src/server/org/opends/server/tools/BackUpDB.java
+++ b/opends/src/server/org/opends/server/tools/BackUpDB.java
@@ -103,6 +103,20 @@
*/
public static int mainBackUpDB(String[] args)
{
+ return mainBackUpDB(args, true);
+ }
+
+ /**
+ * Processes the command-line arguments and invokes the backup 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 mainBackUpDB(String[] args, boolean initializeServer)
+ {
// Define the command-line arguments that may be used with this program.
BooleanArgument backUpAll = null;
BooleanArgument compress = null;
@@ -339,132 +353,134 @@
// 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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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_BACKUPDB_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);
+ }
// Get information about the backends defined in the server, and determine
--
Gitblit v1.10.0