From 6473d08615fe1f25a4967728a993287b865ee0e0 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 13 Dec 2013 16:33:36 +0000
Subject: [PATCH] OPENDJ-1250 Unexpected error when using encode-password tool 

---
 opends/src/server/org/opends/server/core/DirectoryServer.java |   42 ++++++++++--------------------------------
 1 files changed, 10 insertions(+), 32 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index cfe854e..35ed81b 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -276,7 +276,7 @@
   private CertificateMapperConfigManager certificateMapperConfigManager;
 
   /** The class used to provide the config handler implementation. */
-  private Class configClass;
+  private Class<ConfigHandler> configClass;
 
   /** The configuration handler for the Directory Server. */
   private ConfigHandler configHandler;
@@ -673,7 +673,8 @@
    * The virtual attribute provider configuration manager for the Directory
    * Server.
    */
-  private VirtualAttributeConfigManager virtualAttributeConfigManager;
+  private final VirtualAttributeConfigManager virtualAttributeConfigManager =
+      new VirtualAttributeConfigManager();
 
   /** The work queue that will be used to service client requests. */
   private WorkQueue workQueue;
@@ -1076,7 +1077,7 @@
   public void initializeConfiguration(String configClass, String configFile)
          throws InitializationException
   {
-    Class cfgClass;
+    Class<?> cfgClass;
     try
     {
       cfgClass = Class.forName(configClass);
@@ -1126,10 +1127,10 @@
 
 
     // Load and instantiate the configuration handler class.
-    Class handlerClass = configClass;
+    Class<ConfigHandler> handlerClass = configClass;
     try
     {
-      configHandler = (ConfigHandler) handlerClass.newInstance();
+      configHandler = handlerClass.newInstance();
     }
     catch (Exception e)
     {
@@ -1183,7 +1184,6 @@
                   e.getLocalizedMessage());
       throw new InitializationException(message, e);
     }
-
   }
 
 
@@ -1302,7 +1302,7 @@
 
 
       // Initialize all the virtual attribute handlers.
-      initializeVirtualAttributes();
+      virtualAttributeConfigManager.initializeVirtualAttributes();
 
 
       // Initialize the core Directory Server configuration.
@@ -1377,16 +1377,14 @@
 
       // Now we can initialize both subentry manager and group manager
       // for this backend.
-      subentryManager.performBackendInitializationProcessing(
-              configHandler);
+      subentryManager.performBackendInitializationProcessing(configHandler);
       groupManager.performBackendInitializationProcessing(configHandler);
 
       // Initialize the access control handler.
       AccessControlConfigManager.getInstance().initializeAccessControl();
 
       // Initialize all the backends and their associated suffixes
-      // and initialize the workflows when workflow configuration mode
-      // is auto.
+      // and initialize the workflows when workflow configuration mode is auto.
       initializeBackends();
 
       // When workflow configuration mode is manual, do configure the
@@ -1474,7 +1472,7 @@
      // Notify all the initialization completed listeners.
       for (InitializationCompletedListener initializationCompletedListener :
         directoryServer.initializationCompletedListeners)
-        {
+      {
         try
         {
           initializationCompletedListener.initializationCompleted();
@@ -2604,26 +2602,6 @@
 
 
   /**
-   * Initializes the set of virtual attributes that should be defined in the
-   * Directory Server.
-   *
-   * @throws  ConfigException  If there is a configuration problem with any of
-   *                           the virtual attribute handlers.
-   *
-   * @throws  InitializationException  If a problem occurs while initializing
-   *                                   the virtual attribute handlers that is
-   *                                   not related to the server configuration.
-   */
-  private void initializeVirtualAttributes()
-          throws ConfigException, InitializationException
-  {
-    virtualAttributeConfigManager = new VirtualAttributeConfigManager();
-    virtualAttributeConfigManager.initializeVirtualAttributes();
-  }
-
-
-
-  /**
    * Initializes the set of connection handlers that should be defined in the
    * Directory Server.
    *

--
Gitblit v1.10.0