mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
06.13.2016 710a84b388a71afbda13a6dbf3f1523af2c5e0cd
Extract methods to remove duplicated code
9 files modified
454 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java 37 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/DeleteIndexTask.java 24 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/task/Task.java 213 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/AbstractVLVIndexPanel.java 16 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/IndexPanel.java 36 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java 27 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewIndexPanel.java 32 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java 37 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java 32 ●●●● patch | view | raw | blame | history
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;
  }
}
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();
      }
    }
  }
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;
  /**
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;
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
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();
        }
      }
    }
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();
        }
      }
    }
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
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