From 710a84b388a71afbda13a6dbf3f1523af2c5e0cd Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 06 Apr 2016 10:18:08 +0000
Subject: [PATCH] Extract methods to remove duplicated code

---
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java             |   37 +---
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java               |   27 +--
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java                |   32 +--
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java        |   16 +-
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteIndexTask.java            |   24 --
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/Task.java                       |  213 ++++++++++----------------
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java                |   32 +--
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java                   |   36 +---
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java |   37 +--
 9 files changed, 157 insertions(+), 297 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java
index b13ecd8..9e27b44 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java
@@ -35,14 +35,11 @@
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.opendj.config.server.ConfigException;
-import org.opends.admin.ads.util.ConnectionWrapper;
-import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
-import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
-import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
-import org.opends.guitools.controlpanel.ui.ColorAndFontConstants;
-import org.opends.guitools.controlpanel.ui.ProgressDialog;
-import org.opends.guitools.controlpanel.util.ConfigReader;
-import org.opends.guitools.controlpanel.util.Utilities;
+import org.forgerock.opendj.ldap.AttributeDescription;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.Entry;
+import org.forgerock.opendj.ldap.LinkedAttribute;
+import org.forgerock.opendj.ldap.LinkedHashMapEntry;
 import org.forgerock.opendj.ldap.schema.AttributeType;
 import org.forgerock.opendj.ldap.schema.CoreSchema;
 import org.forgerock.opendj.ldap.schema.Schema;
@@ -53,13 +50,15 @@
 import org.forgerock.opendj.server.config.server.ReplicationDomainCfg;
 import org.forgerock.opendj.server.config.server.ReplicationSynchronizationProviderCfg;
 import org.forgerock.opendj.server.config.server.RootCfg;
+import org.opends.admin.ads.util.ConnectionWrapper;
+import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
+import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
+import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
+import org.opends.guitools.controlpanel.ui.ColorAndFontConstants;
+import org.opends.guitools.controlpanel.ui.ProgressDialog;
+import org.opends.guitools.controlpanel.util.Utilities;
 import org.opends.server.core.ConfigurationHandler;
 import org.opends.server.core.DirectoryServer;
-import org.forgerock.opendj.ldap.AttributeDescription;
-import org.forgerock.opendj.ldap.DN;
-import org.forgerock.opendj.ldap.Entry;
-import org.forgerock.opendj.ldap.LinkedAttribute;
-import org.forgerock.opendj.ldap.LinkedHashMapEntry;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.OpenDsException;
 
@@ -225,13 +224,7 @@
       if (!isServerRunning())
       {
         configHandlerUpdated = true;
-        getInfo().stopPooling();
-        if (getInfo().mustDeregisterConfig())
-        {
-          DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-        }
-        DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-        getInfo().setMustDeregisterConfig(true);
+        stopPoolingAndInitializeConfiguration();
       }
       boolean isFirst = true;
       for (final Set<BaseDNDescriptor> baseDNs : baseDNsToDelete.values())
@@ -395,8 +388,7 @@
     {
       if (configHandlerUpdated)
       {
-        DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-        getInfo().startPooling();
+        startPoolingAndInitializeConfiguration();
       }
     }
   }
@@ -729,4 +721,3 @@
     return args;
   }
 }
-
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteIndexTask.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteIndexTask.java
index aa128a0..fca9509 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteIndexTask.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteIndexTask.java
@@ -29,24 +29,21 @@
 import javax.swing.SwingUtilities;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.server.config.client.BackendCfgClient;
+import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
+import org.forgerock.opendj.server.config.client.RootCfgClient;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.guitools.controlpanel.datamodel.AbstractIndexDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
 import org.opends.guitools.controlpanel.datamodel.VLVIndexDescriptor;
 import org.opends.guitools.controlpanel.ui.ColorAndFontConstants;
 import org.opends.guitools.controlpanel.ui.ProgressDialog;
-import org.opends.guitools.controlpanel.util.ConfigReader;
 import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.opendj.server.config.client.BackendCfgClient;
-import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
-import org.forgerock.opendj.server.config.client.RootCfgClient;
 import org.opends.server.core.DirectoryServer;
-import org.forgerock.opendj.ldap.DN;
 import org.opends.server.types.OpenDsException;
 
-/**
- * The task that is launched when an index must be deleted.
- */
+/** The task that is launched when an index must be deleted. */
 public class DeleteIndexTask extends Task
 {
   private final Set<String> backendSet;
@@ -135,13 +132,7 @@
       if (!isServerRunning())
       {
         configHandlerUpdated = true;
-        getInfo().stopPooling();
-        if (getInfo().mustDeregisterConfig())
-        {
-          DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-        }
-        DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-        getInfo().setMustDeregisterConfig(true);
+        stopPoolingAndInitializeConfiguration();
       }
       boolean isFirst = true;
       for (final AbstractIndexDescriptor index : indexesToDelete)
@@ -218,8 +209,7 @@
     {
       if (configHandlerUpdated)
       {
-        DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-        getInfo().startPooling();
+        startPoolingAndInitializeConfiguration();
       }
     }
   }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/Task.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/Task.java
index d2e7a4f..51a64f0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/Task.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/Task.java
@@ -18,6 +18,7 @@
 
 import static com.forgerock.opendj.cli.Utils.*;
 import static com.forgerock.opendj.util.OperatingSystem.*;
+
 import static org.opends.messages.AdminToolMessages.*;
 
 import java.io.File;
@@ -37,6 +38,7 @@
 
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.DN;
 import org.opends.admin.ads.util.ConnectionUtils;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
 import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
@@ -51,8 +53,10 @@
 import org.opends.guitools.controlpanel.util.Utilities;
 import org.opends.quicksetup.Installation;
 import org.opends.quicksetup.UserData;
-import org.forgerock.opendj.ldap.DN;
+import org.opends.server.core.DirectoryServer;
+import org.opends.server.types.DirectoryException;
 import org.opends.server.types.HostPort;
+import org.opends.server.types.InitializationException;
 import org.opends.server.types.Schema;
 import org.opends.server.util.Base64;
 import org.opends.server.util.SetupUtils;
@@ -67,141 +71,76 @@
 {
   private static String localHostName = UserData.getDefaultHostName();
   private String binDir;
-  /**
-   * The different task types.
-   */
+
+  /** The different task types. */
   public enum Type
   {
-    /**
-     * New Base DN creation.
-     */
+    /** New Base DN creation. */
     NEW_BASEDN,
-    /**
-     * New index creation.
-     */
+    /** New index creation. */
     NEW_INDEX,
-    /**
-     * Modification of indexes.
-     */
+    /** Modification of indexes. */
     MODIFY_INDEX,
-    /**
-     * Deletion of indexes.
-     */
+    /** Deletion of indexes. */
     DELETE_INDEX,
-    /**
-     * Creation of VLV indexes.
-     */
+    /** Creation of VLV indexes. */
     NEW_VLV_INDEX,
-    /**
-     * Modification of VLV indexes.
-     */
+    /** Modification of VLV indexes. */
     MODIFY_VLV_INDEX,
-    /**
-     * Deletion of VLV indexes.
-     */
+    /** Deletion of VLV indexes. */
     DELETE_VLV_INDEX,
-    /**
-     * Import of an LDIF file.
-     */
+    /** Import of an LDIF file. */
     IMPORT_LDIF,
-    /**
-     * Export of an LDIF file.
-     */
+    /** Export of an LDIF file. */
     EXPORT_LDIF,
-    /**
-     * Backup.
-     */
+    /** Backup. */
     BACKUP,
-    /**
-     * Restore.
-     */
+    /** Restore. */
     RESTORE,
-    /**
-     * Verification of indexes.
-     */
+    /** Verification of indexes. */
     VERIFY_INDEXES,
-    /**
-     * Rebuild of indexes.
-     */
+    /** Rebuild of indexes. */
     REBUILD_INDEXES,
-    /**
-     * Enabling of Windows Service.
-     */
+    /** Enabling of Windows Service. */
     ENABLE_WINDOWS_SERVICE,
-    /**
-     * Disabling of Windows Service.
-     */
+    /** Disabling of Windows Service. */
     DISABLE_WINDOWS_SERVICE,
-    /**
-     * Starting the server.
-     */
+    /** Starting the server. */
     START_SERVER,
-    /**
-     * Stopping the server.
-     */
+    /** Stopping the server. */
     STOP_SERVER,
-    /**
-     * Updating the java settings for the different command-lines.
-     */
+    /** Updating the java settings for the different command-lines. */
     JAVA_SETTINGS_UPDATE,
-    /**
-     * Creating a new element in the schema.
-     */
+    /** Creating a new element in the schema. */
     NEW_SCHEMA_ELEMENT,
-    /**
-     * Deleting an schema element.
-     */
+    /** Deleting an schema element. */
     DELETE_SCHEMA_ELEMENT,
-    /**
-     * Modify an schema element.
-     */
+    /** Modify an schema element. */
     MODIFY_SCHEMA_ELEMENT,
-    /**
-     * Modifying an entry.
-     */
+    /** Modifying an entry. */
     MODIFY_ENTRY,
-    /**
-     * Creating an entry.
-     */
+    /** Creating an entry. */
     NEW_ENTRY,
-    /**
-     * Deleting an entry.
-     */
+    /** Deleting an entry. */
     DELETE_ENTRY,
-    /**
-     * Deleting a base DN.
-     */
+    /** Deleting a base DN. */
     DELETE_BASEDN,
-    /**
-     * Deleting a backend.
-     */
+    /** Deleting a backend. */
     DELETE_BACKEND,
-    /**
-     * Other task.
-     */
+    /** Other task. */
     OTHER
   }
 
-  /**
-   * The state on which the task can be.
-   */
+  /** The state on which the task can be. */
   public enum State
   {
-    /**
-     * The task is not started.
-     */
+    /** The task is not started. */
     NOT_STARTED,
-    /**
-     * The task is running.
-     */
+    /** The task is running. */
     RUNNING,
-    /**
-     * The task finished successfully.
-     */
+    /** The task finished successfully. */
     FINISHED_SUCCESSFULLY,
-    /**
-     * The task finished with error.
-     */
+    /** The task finished with error. */
     FINISHED_WITH_ERROR
   }
 
@@ -211,17 +150,11 @@
    */
   public abstract Set<String> getBackends();
 
-  /**
-   * The current state of the task.
-   */
+  /** The current state of the task. */
   protected State state = State.NOT_STARTED;
-  /**
-   * The return code of the task.
-   */
+  /** The return code of the task. */
   protected Integer returnCode;
-  /**
-   * The last exception encountered during the task execution.
-   */
+  /** The last exception encountered during the task execution. */
   protected Throwable lastException;
   /**
    * The progress logs of the task.  Note that the user of StringBuffer is not
@@ -229,22 +162,14 @@
    * StringBuffer instead of StringBuilder is required.
    */
   protected StringBuffer logs = new StringBuffer();
-  /**
-   * The error logs of the task.
-   */
+  /** The error logs of the task. */
   protected StringBuilder errorLogs = new StringBuilder();
-  /**
-   * The standard output logs of the task.
-   */
+  /** The standard output logs of the task. */
   protected StringBuilder outputLogs = new StringBuilder();
-  /**
-   * The print stream for the error logs.
-   */
+  /** The print stream for the error logs. */
   protected ApplicationPrintStream errorPrintStream =
     new ApplicationPrintStream();
-  /**
-   * The print stream for the standard output logs.
-   */
+  /** The print stream for the standard output logs. */
   protected ApplicationPrintStream outPrintStream =
     new ApplicationPrintStream();
 
@@ -313,6 +238,37 @@
   }
 
   /**
+   * Stops the pooling and initializes the configuration.
+   *
+   * @throws DirectoryException
+   *           if the configuration cannot be deregistered
+   * @throws InitializationException
+   *           if a problem occurs during configuration initialization
+   */
+  protected void stopPoolingAndInitializeConfiguration() throws DirectoryException, InitializationException
+  {
+    getInfo().stopPooling();
+    if (getInfo().mustDeregisterConfig())
+    {
+      DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
+    }
+    DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
+    getInfo().setMustDeregisterConfig(true);
+  }
+
+  /**
+   * Initializes the configuration and starts the pooling.
+   *
+   * @throws InitializationException
+   *           if a problem occurs during configuration initialization
+   */
+  protected void startPoolingAndInitializeConfiguration() throws InitializationException
+  {
+    DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
+    getInfo().startPooling();
+  }
+
+  /**
    * Returns the logs of the task.
    * @return the logs of the task.
    */
@@ -408,6 +364,7 @@
    */
   public void postOperation()
   {
+    // no-op
   }
 
   /**
@@ -587,10 +544,7 @@
   public abstract boolean canLaunch(Task taskToBeLaunched,
       Collection<LocalizableMessage> incompatibilityReasons);
 
-  /**
-   * Execute the task.  This method is synchronous.
-   *
-   */
+  /** Execute the task. This method is synchronous. */
   public abstract void runTask();
 
   /**
@@ -599,7 +553,6 @@
    */
   public abstract Type getType();
 
-
   /**
    * Returns the binary/script directory.
    * @return the binary/script directory.
@@ -691,8 +644,6 @@
    */
   protected abstract List<String> getCommandLineArguments();
 
-
-
   /**
    * Returns the list of obfuscated command-line arguments.  This is called
    * basically to display the equivalent command-line to the user.
@@ -840,7 +791,6 @@
   }
 
   /**
-   *
    * Returns the print stream for the error logs.
    * @return the print stream for the error logs.
    */
@@ -850,7 +800,6 @@
   }
 
   /**
-  *
   * Returns the print stream for the output logs.
   * @return the print stream for the output logs.
   */
@@ -948,9 +897,7 @@
         sb.toString(), ColorAndFontConstants.progressFont));
   }
 
-  /**
-   * The separator used to link the lines of the resulting command-lines.
-   */
+  /** The separator used to link the lines of the resulting command-lines. */
   private static final String LINE_SEPARATOR = CommandBuilder.HTML_LINE_SEPARATOR;
 
   /**
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java
index 390900a..1bb1fa8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java
@@ -60,6 +60,7 @@
 import org.forgerock.opendj.config.client.ldap.LDAPManagementContext;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.SearchScope;
+import org.forgerock.opendj.ldap.schema.AttributeType;
 import org.forgerock.opendj.server.config.client.BackendVLVIndexCfgClient;
 import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
 import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
@@ -80,7 +81,6 @@
 import org.opends.quicksetup.Installation;
 import org.opends.server.config.ConfigException;
 import org.opends.server.protocols.ldap.LDAPFilter;
-import org.forgerock.opendj.ldap.schema.AttributeType;
 import org.opends.server.schema.SomeSchemaElement;
 import org.opends.server.types.FilterType;
 import org.opends.server.types.LDAPException;
@@ -156,7 +156,7 @@
   private final JComboBox ascendingOrder = Utilities.createComboBox();
 
   /** Combo box containing the sort order. */
-  protected DefaultListModel sortOrderModel;
+  protected DefaultListModel<VLVSortOrder> sortOrderModel;
 
   /** The list of labels. */
   private final JLabel[] labels = { lName, lBaseDN, lSearchScope, lFilter, lSortOrder, lBackend, lMaxBlockSize };
@@ -254,7 +254,7 @@
     List<VLVSortOrder> sortOrder = new ArrayList<>();
     for (int i = 0; i < sortOrderModel.getSize(); i++)
     {
-      sortOrder.add((VLVSortOrder) sortOrderModel.get(i));
+      sortOrder.add(sortOrderModel.get(i));
     }
     return sortOrder;
   }
@@ -936,8 +936,8 @@
         int[] indexes = sortOrder.getSelectedIndices();
         for (int i = 0; i < indexes.length; i++)
         {
-          Object o1 = sortOrderModel.elementAt(indexes[i] - 1);
-          Object o2 = sortOrderModel.elementAt(indexes[i]);
+          VLVSortOrder o1 = sortOrderModel.elementAt(indexes[i] - 1);
+          VLVSortOrder o2 = sortOrderModel.elementAt(indexes[i]);
           sortOrderModel.set(indexes[i] - 1, o2);
           sortOrderModel.set(indexes[i], o1);
 
@@ -955,8 +955,8 @@
         int[] indexes = sortOrder.getSelectedIndices();
         for (int i = 0; i < indexes.length; i++)
         {
-          Object o1 = sortOrderModel.elementAt(indexes[i] + 1);
-          Object o2 = sortOrderModel.elementAt(indexes[i]);
+          VLVSortOrder o1 = sortOrderModel.elementAt(indexes[i] + 1);
+          VLVSortOrder o2 = sortOrderModel.elementAt(indexes[i]);
           sortOrderModel.set(indexes[i] + 1, o2);
           sortOrderModel.set(indexes[i], o1);
 
@@ -978,7 +978,7 @@
           DefaultComboBoxModel model = (DefaultComboBoxModel) attributes.getModel();
           for (int index : indexes)
           {
-            VLVSortOrder sortOrder = (VLVSortOrder) sortOrderModel.getElementAt(index);
+            VLVSortOrder sortOrder = sortOrderModel.getElementAt(index);
             String attrName = sortOrder.getAttributeName();
             boolean isCustom = customAttrNames.contains(attrName);
             boolean dealingWithCustom = true;
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java
index 38878e8..0b52a59 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java
@@ -44,6 +44,11 @@
 import javax.swing.event.DocumentListener;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.server.config.client.BackendCfgClient;
+import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
+import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
+import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.guitools.controlpanel.datamodel.AbstractIndexDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
@@ -53,15 +58,7 @@
 import org.opends.guitools.controlpanel.event.ScrollPaneBorderListener;
 import org.opends.guitools.controlpanel.task.DeleteIndexTask;
 import org.opends.guitools.controlpanel.task.Task;
-import org.opends.guitools.controlpanel.util.ConfigReader;
 import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.opendj.server.config.client.BackendCfgClient;
-import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
-import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
-import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
-import org.opends.server.core.DirectoryServer;
-import org.forgerock.opendj.ldap.schema.AttributeType;
-import org.forgerock.opendj.ldap.DN;
 
 /**
  * The panel that displays an existing index (it appears on the right of the
@@ -85,9 +82,7 @@
     createLayout();
   }
 
-  /**
-   * Creates the layout of the panel (but the contents are not populated here).
-   */
+  /** Creates the layout of the panel (but the contents are not populated here). */
   private void createLayout()
   {
     GridBagConstraints gbc = new GridBagConstraints();
@@ -466,9 +461,7 @@
     !String.valueOf(index.getEntryLimit()).equals(entryLimit.getText());
   }
 
-  /**
-   * The task in charge of modifying the index.
-   */
+  /** The task in charge of modifying the index. */
   protected class ModifyIndexTask extends Task
   {
     private Set<String> backendSet;
@@ -542,7 +535,7 @@
     /**
      * Updates the configuration of the modified index.
      *
-     * @throws OpenDsException
+     * @throws Exception
      *           if there is an error updating the configuration.
      */
     private void updateConfiguration() throws Exception
@@ -553,13 +546,7 @@
         if (!isServerRunning())
         {
           configHandlerUpdated = true;
-          getInfo().stopPooling();
-          if (getInfo().mustDeregisterConfig())
-          {
-            DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-          }
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().setMustDeregisterConfig(true);
+          stopPoolingAndInitializeConfiguration();
         }
         else
         {
@@ -614,8 +601,7 @@
       {
         if (configHandlerUpdated)
         {
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().startPooling();
+          startPoolingAndInitializeConfiguration();
         }
       }
     }
@@ -625,7 +611,7 @@
      *
      * @param connWrapper
      *          the connection to be used to update the index configuration.
-     * @throws OpenDsException
+     * @throws Exception
      *           if there is an error updating the server.
      */
     private void modifyIndexOnline(final ConnectionWrapper connWrapper) throws Exception
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
index 927f12b..8f221ab 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
@@ -61,6 +61,13 @@
 import org.forgerock.opendj.config.client.ManagementContext;
 import org.forgerock.opendj.config.client.ldap.LDAPManagementContext;
 import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.LdapException;
+import org.forgerock.opendj.server.config.client.BackendCfgClient;
+import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
+import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
+import org.forgerock.opendj.server.config.client.RootCfgClient;
+import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn;
+import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
 import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
 import org.opends.guitools.controlpanel.datamodel.BaseDNDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
@@ -71,19 +78,10 @@
 import org.opends.guitools.controlpanel.task.OnlineUpdateException;
 import org.opends.guitools.controlpanel.task.Task;
 import org.opends.guitools.controlpanel.ui.renderer.CustomListCellRenderer;
-import org.opends.guitools.controlpanel.util.ConfigReader;
 import org.opends.guitools.controlpanel.util.Utilities;
 import org.opends.quicksetup.Installation;
 import org.opends.quicksetup.installer.InstallerHelper;
 import org.opends.quicksetup.util.Utils;
-import org.forgerock.opendj.ldap.LdapException;
-import org.forgerock.opendj.server.config.client.BackendCfgClient;
-import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
-import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
-import org.forgerock.opendj.server.config.client.RootCfgClient;
-import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn;
-import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
-import org.opends.server.core.DirectoryServer;
 import org.opends.server.tools.BackendCreationHelper;
 import org.opends.server.tools.BackendCreationHelper.DefaultIndex;
 import org.opends.server.tools.BackendTypeHelper;
@@ -875,13 +873,7 @@
       boolean configHandlerUpdated = false;
       try
       {
-        getInfo().stopPooling();
-        if (getInfo().mustDeregisterConfig())
-        {
-          DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-        }
-        DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-        getInfo().setMustDeregisterConfig(true);
+        stopPoolingAndInitializeConfiguration();
         configHandlerUpdated = true;
 
         performTask();
@@ -892,8 +884,7 @@
       {
         if (configHandlerUpdated)
         {
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().startPooling();
+          startPoolingAndInitializeConfiguration();
         }
       }
     }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
index 0ca6d8b..0a75a72 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
@@ -36,6 +36,13 @@
 import javax.swing.SwingUtilities;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.config.PropertyException;
+import org.forgerock.opendj.ldap.schema.AttributeType;
+import org.forgerock.opendj.server.config.client.BackendCfgClient;
+import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
+import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
+import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn;
+import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
 import org.opends.guitools.controlpanel.datamodel.CategorizedComboBoxElement;
@@ -44,23 +51,11 @@
 import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
 import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
 import org.opends.guitools.controlpanel.task.Task;
-import org.opends.guitools.controlpanel.util.ConfigReader;
 import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.opendj.config.PropertyException;
-import org.forgerock.opendj.server.config.client.BackendCfgClient;
-import org.forgerock.opendj.server.config.client.BackendIndexCfgClient;
-import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
-import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn;
-import org.forgerock.opendj.server.config.meta.BackendIndexCfgDefn.IndexType;
-import org.opends.server.core.DirectoryServer;
-import org.forgerock.opendj.ldap.schema.AttributeType;
 import org.opends.server.schema.SomeSchemaElement;
-import org.forgerock.opendj.ldap.DN;
 import org.opends.server.types.Schema;
 
-/**
- * Panel that appears when the user defines a new index.
- */
+/** Panel that appears when the user defines a new index. */
 public class NewIndexPanel extends AbstractIndexPanel
 {
   private static final long serialVersionUID = -3516011638125862137L;
@@ -399,13 +394,7 @@
         if (!isServerRunning())
         {
           configHandlerUpdated = true;
-          getInfo().stopPooling();
-          if (getInfo().mustDeregisterConfig())
-          {
-            DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-          }
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().setMustDeregisterConfig(true);
+          stopPoolingAndInitializeConfiguration();
         }
         else
         {
@@ -452,8 +441,7 @@
       {
         if (configHandlerUpdated)
         {
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().startPooling();
+          startPoolingAndInitializeConfiguration();
         }
       }
     }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java
index 2d09c59..9058288 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java
@@ -31,8 +31,13 @@
 import javax.swing.SwingUtilities;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.opendj.config.PropertyException;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.SearchScope;
+import org.forgerock.opendj.server.config.client.BackendCfgClient;
+import org.forgerock.opendj.server.config.client.BackendVLVIndexCfgClient;
+import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
+import org.forgerock.opendj.server.config.meta.BackendVLVIndexCfgDefn;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
@@ -41,18 +46,9 @@
 import org.opends.guitools.controlpanel.datamodel.VLVSortOrder;
 import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
 import org.opends.guitools.controlpanel.task.Task;
-import org.opends.guitools.controlpanel.util.ConfigReader;
 import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.opendj.config.PropertyException;
-import org.forgerock.opendj.server.config.client.BackendCfgClient;
-import org.forgerock.opendj.server.config.client.BackendVLVIndexCfgClient;
-import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
-import org.forgerock.opendj.server.config.meta.BackendVLVIndexCfgDefn;
-import org.opends.server.core.DirectoryServer;
 
-/**
- * Panel that appears when the user defines a new VLV index.
- */
+/** Panel that appears when the user defines a new VLV index. */
 class NewVLVIndexPanel extends AbstractVLVIndexPanel
 {
   private static final long serialVersionUID = 1554866540747530939L;
@@ -108,7 +104,6 @@
     backendName.setText(backend.getBackendID());
   }
 
-  /** {@inheritDoc} */
   @Override
   public void okClicked()
   {
@@ -221,13 +216,7 @@
         if (!isServerRunning())
         {
           configHandlerUpdated = true;
-          getInfo().stopPooling();
-          if (getInfo().mustDeregisterConfig())
-          {
-            DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-          }
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().setMustDeregisterConfig(true);
+          stopPoolingAndInitializeConfiguration();
         }
         else
         {
@@ -275,8 +264,7 @@
       {
         if (configHandlerUpdated)
         {
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().startPooling();
+          startPoolingAndInitializeConfiguration();
         }
       }
     }
@@ -315,14 +303,7 @@
 
     private String getConfigCommandLineName()
     {
-      if (isServerRunning())
-      {
-        return getCommandLinePath("dsconfig");
-      }
-      else
-      {
-        return null;
-      }
+      return isServerRunning() ? getCommandLinePath("dsconfig") : null;
     }
 
     @Override
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java
index aa52427..2afbf3c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java
@@ -50,6 +50,9 @@
 import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.SearchScope;
+import org.forgerock.opendj.server.config.client.BackendVLVIndexCfgClient;
+import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
+import org.forgerock.opendj.server.config.client.RootCfgClient;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.guitools.controlpanel.datamodel.AbstractIndexDescriptor;
 import org.opends.guitools.controlpanel.datamodel.CategorizedComboBoxElement;
@@ -61,12 +64,7 @@
 import org.opends.guitools.controlpanel.event.ScrollPaneBorderListener;
 import org.opends.guitools.controlpanel.task.DeleteIndexTask;
 import org.opends.guitools.controlpanel.task.Task;
-import org.opends.guitools.controlpanel.util.ConfigReader;
 import org.opends.guitools.controlpanel.util.Utilities;
-import org.forgerock.opendj.server.config.client.BackendVLVIndexCfgClient;
-import org.forgerock.opendj.server.config.client.PluggableBackendCfgClient;
-import org.forgerock.opendj.server.config.client.RootCfgClient;
-import org.opends.server.core.DirectoryServer;
 
 /**
  * The panel that displays an existing VLV index (it appears on the right of the
@@ -132,6 +130,7 @@
   @Override
   public void okClicked()
   {
+    // no-op
   }
 
   /**
@@ -185,16 +184,13 @@
     }
   }
 
-  /** {@inheritDoc} */
   @Override
   public GenericDialog.ButtonType getButtonType()
   {
     return GenericDialog.ButtonType.NO_BUTTON;
   }
 
-  /**
-   * Creates the layout of the panel (but the contents are not populated here).
-   */
+  /** Creates the layout of the panel (but the contents are not populated here). */
   private void createLayout()
   {
     GridBagConstraints gbc = new GridBagConstraints();
@@ -521,9 +517,7 @@
     }
   }
 
-  /**
-   * The task in charge of modifying the VLV index.
-   */
+  /** The task in charge of modifying the VLV index. */
   protected class ModifyVLVIndexTask extends Task
   {
     private final Set<String> backendSet;
@@ -606,13 +600,7 @@
         if (!isServerRunning())
         {
           configHandlerUpdated = true;
-          getInfo().stopPooling();
-          if (getInfo().mustDeregisterConfig())
-          {
-            DirectoryServer.deregisterBaseDN(DN.valueOf("cn=config"));
-          }
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().setMustDeregisterConfig(true);
+          stopPoolingAndInitializeConfiguration();
         }
         else
         {
@@ -650,7 +638,6 @@
         }
         SwingUtilities.invokeLater(new Runnable()
         {
-          /** {@inheritDoc} */
           @Override
           public void run()
           {
@@ -662,8 +649,7 @@
       {
         if (configHandlerUpdated)
         {
-          DirectoryServer.getInstance().initializeConfiguration(ConfigReader.configFile);
-          getInfo().startPooling();
+          startPoolingAndInitializeConfiguration();
         }
       }
     }
@@ -673,7 +659,7 @@
      *
      * @param ctx
      *          the connection to be used to update the index configuration.
-     * @throws OpenDsException
+     * @throws Exception
      *           if there is an error updating the server.
      */
     private void modifyVLVIndexOnline(ConnectionWrapper connWrapper) throws Exception

--
Gitblit v1.10.0