From c18591b0bb075c240849ec5d2520a0442dca330d Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Tue, 05 Apr 2016 10:09:16 +0000
Subject: [PATCH] Refactor initialization in tools for OPENDJ-2616 Support protection of pluggable backend data at rest
---
opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java | 83 +++++------------------------------------
1 files changed, 11 insertions(+), 72 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java
index 5691e62..0a7d8de 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/RebuildIndex.java
@@ -37,7 +37,6 @@
import org.opends.server.api.Backend.BackendOperation;
import org.opends.server.backends.RebuildConfig;
import org.opends.server.backends.RebuildConfig.RebuildMode;
-import org.opends.server.core.CoreConfigManager;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.LockFileManager;
import org.opends.server.loggers.DebugLogger;
@@ -279,17 +278,12 @@
argParser.setUsageArgument(displayUsage);
}
- /** {@inheritDoc} */
@Override
- protected int processLocal(final boolean initializeServer,
- final PrintStream out, final PrintStream err)
+ protected int processLocal(final boolean initializeServer, final PrintStream out, final PrintStream err)
{
- // Performs the initial bootstrap of the Directory Server and processes the
- // configuration.
- final DirectoryServer directoryServer = DirectoryServer.getInstance();
if (initializeServer)
{
- final int init = initializeServer(directoryServer, out, err);
+ final int init = initializeServer(out, err);
if (init != 0)
{
return init;
@@ -372,17 +366,8 @@
}
/**
- * Initializes the directory server.<br />
- * Processes to :
- * - bootstrapClient
- * - initializeJMX
- * - initializeConfiguration
- * - initializeSchema
- * - coreConfigManager.initializeCoreConfig()
- * - initializeCryptoManager
+ * Initializes the directory server.
*
- * @param directoryServer
- * The current instance.
* @param out
* The output stream to use for standard output, or {@code null} if
* standard output is not needed.
@@ -391,65 +376,20 @@
* standard error is not needed.
* @return The result code.
*/
- private int initializeServer(final DirectoryServer directoryServer,
- final PrintStream out, final PrintStream err)
+ private int initializeServer(final PrintStream out, final PrintStream err)
{
try
{
- DirectoryServer.bootstrapClient();
- DirectoryServer.initializeJMX();
+ new DirectoryServer.InitializationBuilder(configFile.getValue())
+ .requireCryptoServices()
+ .initialize();
+ return 0;
}
- catch (Exception e)
+ catch (InitializationException ie)
{
- printWrappedText(err, ERR_SERVER_BOOTSTRAP_ERROR.get(getExceptionMessage(e)));
+ printWrappedText(err, ERR_CANNOT_INITIALIZE_SERVER_COMPONENTS.get(ie.getLocalizedMessage()));
return 1;
}
-
- try
- {
- directoryServer.initializeConfiguration(configFile.getValue());
- }
- catch (Exception ex)
- {
- printWrappedText(err, toErrorMsg(ERR_CANNOT_LOAD_CONFIG, ex));
- return 1;
- }
-
- // Initializes the Directory Server schema elements.
- try
- {
- directoryServer.initializeSchema();
- }
- catch (Exception e)
- {
- printWrappedText(err, toErrorMsg(ERR_CANNOT_LOAD_SCHEMA, e));
- return 1;
- }
-
- // Initializes the Directory Server core configuration.
- try
- {
- final CoreConfigManager coreConfigManager = new CoreConfigManager(directoryServer.getServerContext());
- coreConfigManager.initializeCoreConfig();
- }
- catch (Exception ex)
- {
- printWrappedText(err, toErrorMsg(ERR_CANNOT_INITIALIZE_CORE_CONFIG, ex));
- return 1;
- }
-
- // Initializes the Directory Server crypto manager.
- try
- {
- directoryServer.initializeCryptoManager();
- }
- catch (Exception ex)
- {
- printWrappedText(err, toErrorMsg(ERR_CANNOT_INITIALIZE_CRYPTO_MANAGER, ex));
- return 1;
- }
-
- return 0;
}
private String toErrorMsg(Arg1<Object> errorMsg, Exception ex)
@@ -658,10 +598,9 @@
return 1;
}
- final DirectoryServer directoryServer = DirectoryServer.getInstance();
if (initializeServer)
{
- final int init = initializeServer(directoryServer, out, out);
+ final int init = initializeServer(out, out);
if (init != 0)
{
return init;
--
Gitblit v1.10.0