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

Jean-Noël Rouvignac
05.19.2016 c3a6c42b47b5ed31e802ea7eed11aa2baf57749d
Code cleanup in uninstaller
5 files modified
672 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java 174 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseGeneralMonitoringPanel.java 244 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java 76 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/UninstallCliHelper.java 152 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/tools/status/StatusCli.java 26 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
@@ -62,6 +62,7 @@
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.quicksetup.util.UIKeyStore;
import org.opends.quicksetup.util.Utils;
import org.opends.server.util.DynamicConstants;
import org.opends.server.util.StaticUtils;
import com.forgerock.opendj.cli.CliConstants;
@@ -73,22 +74,29 @@
 */
public class ControlPanelInfo
{
  private long poolingPeriod = 20000;
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  private ServerDescriptor serverDesc;
  private static boolean mustDeregisterConfig;
  private static ControlPanelInfo instance;
  private Set<Task> tasks = new HashSet<>();
  private ConnectionWrapper connWrapper;
  private InitialLdapContext userDataCtx;
  private final LDAPConnectionPool connectionPool = new LDAPConnectionPool();
  /** Used by the browsers. */
  private final IconPool iconPool = new IconPool();
  private long poolingPeriod = 20000;
  private Thread poolingThread;
  private boolean stopPooling;
  private boolean pooling;
  private ApplicationTrustManager trustManager;
  private int connectTimeout = CliConstants.DEFAULT_LDAP_CONNECT_TIMEOUT;
  private ConnectionProtocolPolicy connectionPolicy =
    ConnectionProtocolPolicy.USE_MOST_SECURE_AVAILABLE;
  private ServerDescriptor serverDesc;
  private String ldapURL;
  private String startTLSURL;
  private String ldapsURL;
@@ -99,22 +107,16 @@
  private String lastRemoteHostName;
  private String lastRemoteAdministrationURL;
  private static boolean mustDeregisterConfig;
  private boolean isLocal = true;
  private Set<AbstractIndexDescriptor> modifiedIndexes = new HashSet<>();
  private LinkedHashSet<ConfigChangeListener> configListeners = new LinkedHashSet<>();
  private LinkedHashSet<BackupCreatedListener> backupListeners = new LinkedHashSet<>();
  private LinkedHashSet<BackendPopulatedListener> backendPopulatedListeners = new LinkedHashSet<>();
  private LinkedHashSet<IndexModifiedListener> indexListeners = new LinkedHashSet<>();
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  private static ControlPanelInfo instance;
  private final Set<AbstractIndexDescriptor> modifiedIndexes = new HashSet<>();
  private final Set<ConfigChangeListener> configListeners = new LinkedHashSet<>();
  private final Set<BackupCreatedListener> backupListeners = new LinkedHashSet<>();
  private final Set<BackendPopulatedListener> backendPopulatedListeners = new LinkedHashSet<>();
  private final Set<IndexModifiedListener> indexListeners = new LinkedHashSet<>();
  /** Default constructor. */
  protected ControlPanelInfo()
  private ControlPanelInfo()
  {
  }
@@ -392,41 +394,11 @@
  }
  /**
   * Returns an empty new server descriptor instance.
   * @return an empty new server descriptor instance.
   */
  protected ServerDescriptor createNewServerDescriptorInstance()
  {
    return new ServerDescriptor();
  }
  /**
   * Returns a reader that will read the configuration from a file.
   * @return a reader that will read the configuration from a file.
   */
  protected ConfigFromFile createNewConfigFromFileReader()
  {
    return new ConfigFromFile();
  }
  /**
   * Returns a reader that will read the configuration from a dir context.
   * @return a reader that will read the configuration from a dir context.
   */
  protected ConfigFromDirContext createNewConfigFromDirContextReader()
  {
    ConfigFromDirContext configFromDirContext = new ConfigFromDirContext();
    configFromDirContext.setIsLocal(isLocal());
    return configFromDirContext;
  }
  /**
   * Updates the contents of the server descriptor with the provider reader.
   * @param reader the configuration reader.
   * @param desc the server descriptor.
   */
  protected void updateServerDescriptor(ConfigReader reader,
      ServerDescriptor desc)
  private void updateServerDescriptor(ConfigReader reader, ServerDescriptor desc)
  {
    desc.setExceptions(reader.getExceptions());
    desc.setAdministrativeUsers(reader.getAdministrativeUsers());
@@ -440,15 +412,11 @@
  /** Regenerates the last found ServerDescriptor object. */
  public synchronized void regenerateDescriptor()
  {
    boolean isLocal = isLocal();
    ServerDescriptor desc = createNewServerDescriptorInstance();
    ServerDescriptor desc = new ServerDescriptor();
    desc.setIsLocal(isLocal);
    ConnectionWrapper connWrapper = getConnection();
    if (isLocal)
    {
      desc.setOpenDSVersion(
        org.opends.server.util.DynamicConstants.FULL_VERSION_STRING);
      desc.setOpenDSVersion(DynamicConstants.FULL_VERSION_STRING);
      String installPath = Utilities.getInstallPathFromClasspath();
      desc.setInstallPath(installPath);
      desc.setInstancePath(Utils.getInstancePathFromInstallPath(installPath));
@@ -458,8 +426,8 @@
    {
      desc.setHostname(lastRemoteHostName);
    }
    ConfigReader reader;
    ConfigReader reader;
    ServerStatus status = getStatus(desc);
    if (status != null)
    {
@@ -467,18 +435,17 @@
      if (status == ServerStatus.STOPPING)
      {
        StaticUtils.close(connWrapper);
        this.connWrapper = null;
        connWrapper = null;
        if (userDataCtx != null)
        {
          unregisterConnection(connectionPool, connWrapper.getLdapContext());
          unregisterConnection(connectionPool, null);
          StaticUtils.close(userDataCtx);
          userDataCtx = null;
        }
      }
      if (isLocal)
      {
        reader = createNewConfigFromFileReader();
        ((ConfigFromFile)reader).readConfiguration();
        reader = newLocalConfigReader();
      }
      else
      {
@@ -515,41 +482,36 @@
        {
          // Ignore: we will ask the user for credentials.
        }
        if (connWrapper != null)
        {
          this.connWrapper = connWrapper;
        }
      }
      if (isLocal && connWrapper == null)
      if (connWrapper == null)
      {
        reader = createNewConfigFromFileReader();
        ((ConfigFromFile)reader).readConfiguration();
      }
      else if (!isLocal && connWrapper == null)
      {
        desc.setStatus(ServerStatus.NOT_CONNECTED_TO_REMOTE);
        reader = null;
        if (isLocal)
        {
          reader = newLocalConfigReader();
        }
        else
        {
          reader = null;
          desc.setStatus(ServerStatus.NOT_CONNECTED_TO_REMOTE);
        }
      }
      else
      {
        Utilities.initializeConfigurationFramework();
        reader = createNewConfigFromDirContextReader();
        ((ConfigFromDirContext) reader).readConfiguration(connWrapper);
        reader = newRemoteConfigReader();
        boolean connectionWorks = checkConnections(connWrapper.getLdapContext(), userDataCtx);
        if (!connectionWorks)
        {
          if (isLocal)
          {
            // Try with off-line info
            reader = createNewConfigFromFileReader();
            ((ConfigFromFile) reader).readConfiguration();
            reader = newLocalConfigReader();
          }
          else
          {
            desc.setStatus(ServerStatus.NOT_CONNECTED_TO_REMOTE);
            reader = null;
            desc.setStatus(ServerStatus.NOT_CONNECTED_TO_REMOTE);
          }
          StaticUtils.close(connWrapper);
          this.connWrapper = null;
@@ -591,8 +553,7 @@
    {
      desc.setStatus(ServerStatus.STOPPED);
      desc.setAuthenticated(false);
      reader = createNewConfigFromFileReader();
      ((ConfigFromFile)reader).readConfiguration();
      reader = newLocalConfigReader();
    }
    if (reader != null)
    {
@@ -609,8 +570,7 @@
      {
        localAdminConnectorURL = adminConnectorURL;
      }
      startTLSURL = getURL(serverDesc,
          ConnectionHandlerDescriptor.Protocol.LDAP_STARTTLS);
      startTLSURL = getURL(serverDesc, ConnectionHandlerDescriptor.Protocol.LDAP_STARTTLS);
      ConfigurationChangeEvent ev = new ConfigurationChangeEvent(this, desc);
      for (ConfigChangeListener listener : configListeners)
      {
@@ -619,6 +579,21 @@
    }
  }
  private ConfigReader newRemoteConfigReader()
  {
    ConfigFromDirContext reader = new ConfigFromDirContext();
    reader.setIsLocal(isLocal);
    reader.readConfiguration(connWrapper);
    return reader;
  }
  private ConfigReader newLocalConfigReader()
  {
    ConfigFromFile reader = new ConfigFromFile();
    reader.readConfiguration();
    return reader;
  }
  private ServerStatus getStatus(ServerDescriptor desc)
  {
    ServerStatus status = null;
@@ -1019,11 +994,7 @@
   */
  public boolean connectUsingStartTLS()
  {
    if (getStartTLSURL() != null)
    {
      return getStartTLSURL().equals(getURLToConnect());
    }
    return false;
    return startTLSURL != null && startTLSURL.equals(getURLToConnect());
  }
  /**
@@ -1033,11 +1004,7 @@
   */
  public boolean connectUsingLDAPS()
  {
    if (getLDAPSURL() != null)
    {
      return getLDAPSURL().equals(getURLToConnect());
    }
    return false;
    return ldapsURL != null && ldapsURL.equals(getURLToConnect());
  }
  /**
@@ -1048,39 +1015,38 @@
   */
  public String getURLToConnect()
  {
    String url;
    switch (getConnectionPolicy())
    {
    case USE_STARTTLS:
      return getStartTLSURL();
      return startTLSURL;
    case USE_LDAP:
      return getLDAPURL();
      return ldapURL;
    case USE_LDAPS:
      return getLDAPSURL();
      return ldapsURL;
    case USE_ADMIN:
      return getAdminConnectorURL();
    case USE_MOST_SECURE_AVAILABLE:
      url = getLDAPSURL();
      if (url == null)
      String url1 = ldapsURL;
      if (url1 == null)
      {
        url = getStartTLSURL();
        url1 = startTLSURL;
      }
      if (url == null)
      if (url1 == null)
      {
        url = getLDAPURL();
        url1 = ldapURL;
      }
      return url;
      return url1;
    case USE_LESS_SECURE_AVAILABLE:
      url = getLDAPURL();
      if (url == null)
      String url2 = ldapURL;
      if (url2 == null)
      {
        url = getStartTLSURL();
        url2 = startTLSURL;
      }
      if (url == null)
      if (url2 == null)
      {
        url = getLDAPSURL();
        url2 = ldapsURL;
      }
      return url;
      return url2;
    default:
      throw new RuntimeException("Unknown policy: "+getConnectionPolicy());
    }
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/BrowseGeneralMonitoringPanel.java
@@ -12,7 +12,7 @@
 * information: "Portions Copyright [year] [name of copyright owner]".
 *
 * Copyright 2009 Sun Microsystems, Inc.
 * Portions Copyright 2014-2015 ForgeRock AS.
 * Portions Copyright 2014-2016 ForgeRock AS.
 */
package org.opends.guitools.controlpanel.ui;
@@ -26,6 +26,7 @@
import java.awt.Insets;
import java.awt.Window;
import java.util.HashMap;
import java.util.Objects;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
@@ -42,7 +43,6 @@
import org.opends.guitools.controlpanel.browser.IconPool;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
import org.opends.guitools.controlpanel.ui.components.TreePanel;
@@ -53,17 +53,12 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageBuilder;
/**
 * The pane that is displayed when the user clicks on 'General Monitoring'.
 *
 */
/** The pane that is displayed when the user clicks on 'General Monitoring'. */
public class BrowseGeneralMonitoringPanel extends StatusGenericPanel
{
  private static final long serialVersionUID = 6462914563746678830L;
  /**
   * The panel containing the tree.
   */
  /** The panel containing the tree. */
  private TreePanel treePane;
  private JScrollPane treeScroll;
@@ -79,10 +74,7 @@
  private LocalizableMessage MULTIPLE_ITEMS_SELECTED =
    INFO_CTRL_PANEL_MULTIPLE_ITEMS_SELECTED_LABEL.get();
  /**
   * The enumeration used to define the different static nodes of the tree.
   *
   */
  /** The enumeration used to define the different static nodes of the tree. */
  protected enum NodeType
  {
    /** Root node. */
@@ -101,43 +93,34 @@
    PDB_DATABASES_INFORMATION
  }
  /**
   * The panel displaying the informations about the selected node.
   */
  /** The panel displaying the informations about the selected node. */
  protected GeneralMonitoringRightPanel entryPane;
  /**
   * Default constructor.
   *
   */
  /** Default constructor. */
  public BrowseGeneralMonitoringPanel()
  {
    super();
    createLayout();
  }
  /** {@inheritDoc} */
  @Override
  public boolean requiresBorder()
  {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean requiresScroll()
  {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean callConfigurationChangedInBackground()
  {
    return true;
  }
  /** {@inheritDoc} */
  @Override
  public void toBeDisplayed(boolean visible)
  {
@@ -152,9 +135,7 @@
    }
  }
  /**
   * 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()
  {
    setBackground(ColorAndFontConstants.greyBackground);
@@ -177,28 +158,24 @@
    add(createSplitPane(), gbc);
  }
  /** {@inheritDoc} */
  @Override
  public LocalizableMessage getTitle()
  {
    return INFO_CTRL_PANEL_GENERAL_MONITORING_TITLE.get();
  }
  /** {@inheritDoc} */
  @Override
  public Component getPreferredFocusComponent()
  {
    return treePane;
  }
  /** {@inheritDoc} */
  @Override
  public void okClicked()
  {
    // No ok button
  }
  /** {@inheritDoc} */
  @Override
  public GenericDialog.ButtonType getButtonType()
  {
@@ -236,7 +213,6 @@
    treePane.getTree().addTreeSelectionListener(new TreeSelectionListener()
    {
      /** {@inheritDoc} */
      public void valueChanged(TreeSelectionEvent ev)
      {
        if (!ignoreSelectionEvents)
@@ -270,7 +246,6 @@
    return pane;
  }
  /** {@inheritDoc} */
  @Override
  public void setInfo(ControlPanelInfo info)
  {
@@ -326,9 +301,7 @@
      if (!server.isAuthenticated())
      {
        LocalizableMessageBuilder mb = new LocalizableMessageBuilder();
        mb.append(
   INFO_CTRL_PANEL_AUTH_REQUIRED_TO_BROWSE_MONITORING_SUMMARY.
   get());
        mb.append(INFO_CTRL_PANEL_AUTH_REQUIRED_TO_BROWSE_MONITORING_SUMMARY.get());
        mb.append("<br><br>").append(getAuthenticateHTML());
        errorDetails = mb.toMessage();
        errorTitle = INFO_CTRL_PANEL_AUTHENTICATION_REQUIRED_SUMMARY.get();
@@ -339,8 +312,7 @@
    else if (status == ServerDescriptor.ServerStatus.NOT_CONNECTED_TO_REMOTE)
    {
      LocalizableMessageBuilder mb = new LocalizableMessageBuilder();
      mb.append(INFO_CTRL_PANEL_CANNOT_CONNECT_TO_REMOTE_DETAILS.get(
          server.getHostname()));
      mb.append(INFO_CTRL_PANEL_CANNOT_CONNECT_TO_REMOTE_DETAILS.get(server.getHostname()));
      mb.append("<br><br>").append(getAuthenticateHTML());
      errorDetails = mb.toMessage();
      errorTitle = INFO_CTRL_PANEL_CANNOT_CONNECT_TO_REMOTE_SUMMARY.get();
@@ -350,9 +322,7 @@
    {
      errorTitle = INFO_CTRL_PANEL_SERVER_NOT_RUNNING_SUMMARY.get();
      LocalizableMessageBuilder mb = new LocalizableMessageBuilder();
      mb.append(
          INFO_CTRL_PANEL_SERVER_MUST_RUN_TO_BROWSE_MONITORING_SUMMARY.
          get());
      mb.append(INFO_CTRL_PANEL_SERVER_MUST_RUN_TO_BROWSE_MONITORING_SUMMARY.get());
      mb.append("<br><br>");
      mb.append(getStartServerHTML());
      errorDetails = mb.toMessage();
@@ -363,7 +333,6 @@
    final LocalizableMessage fErrorDetails = errorDetails;
    SwingUtilities.invokeLater(new Runnable()
    {
      /** {@inheritDoc} */
      public void run()
      {
        errorPane.setVisible(fDisplayErrorPane);
@@ -389,31 +358,24 @@
    ViewPositions pos = Utilities.getViewPositions(treeScroll);
    ServerDescriptor server = null;
    if (getInfo() != null)
    {
      server = getInfo().getServerDescriptor();
    }
    GeneralMonitoringTreeNode root;
    if (server == null)
    {
      root =
        new GeneralMonitoringTreeNode(
            INFO_CTRL_PANEL_GENERAL_MONITORING_ROOT.get().toString(),
            NodeType.ROOT,
            true);
    }
    else
    {
      root =
        new GeneralMonitoringTreeNode(
            getServerName(server),
            NodeType.ROOT,
            true);
    }
    GeneralMonitoringTreeNode root = new GeneralMonitoringTreeNode(getServerName(), NodeType.ROOT, true);
    LocalizableMessage[] messages = getNodeMessages();
    NodeType[] identifiers = getNodeTypes();
    LocalizableMessage[] messages = {
          INFO_CTRL_PANEL_SYSTEM_INFORMATION.get(),
          INFO_CTRL_PANEL_JAVA_INFORMATION.get(),
          INFO_CTRL_PANEL_WORK_QUEUE.get(),
          INFO_CTRL_PANEL_ENTRY_CACHES.get(),
          INFO_CTRL_PANEL_JE_DB_INFO.get(),
          INFO_CTRL_PANEL_PDB_DB_INFO.get()
    };
    NodeType[] identifiers = {
          NodeType.SYSTEM_INFORMATION,
          NodeType.JAVA_INFORMATION,
          NodeType.WORK_QUEUE,
          NodeType.ENTRY_CACHES,
          NodeType.JE_DATABASES_INFORMATION,
          NodeType.PDB_DATABASES_INFORMATION
    };
    for (int i=0; i < messages.length; i++)
    {
      if (isVisible(identifiers[i]))
@@ -422,17 +384,26 @@
      }
    }
    DefaultTreeModel model = new DefaultTreeModel(root);
    tree.setModel(model);
    tree.setModel(new DefaultTreeModel(root));
    Utilities.updateViewPositions(pos);
    ignoreSelectionEvents = false;
  }
  /**
   * Updates the right entry panel.
   *
   */
  private String getServerName() {
    ServerDescriptor server = null;
    if (getInfo() != null)
    {
      server = getInfo().getServerDescriptor();
      if (server != null)
      {
        return getServerName(server);
      }
    }
    return INFO_CTRL_PANEL_GENERAL_MONITORING_ROOT.get().toString();
}
  /** Updates the right entry panel. */
  private void updateEntryPane()
  {
    ViewPositions pos = Utilities.getViewPositions(entryPane);
@@ -499,16 +470,13 @@
          throw new RuntimeException("Unknown node type: "+type);
        }
      }
      else if (paths != null && paths.length > 1)
      {
        entryPane.displayMessage(MULTIPLE_ITEMS_SELECTED);
      }
      else
      {
        if (paths != null && paths.length > 1)
        {
          entryPane.displayMessage(MULTIPLE_ITEMS_SELECTED);
        }
        else
        {
          entryPane.displayMessage(NO_ELEMENT_SELECTED);
        }
        entryPane.displayMessage(NO_ELEMENT_SELECTED);
      }
    }
    Utilities.updateViewPositions(pos);
@@ -521,48 +489,18 @@
  private boolean serverChanged(ServerDescriptor desc)
  {
    boolean changed = false;
    if (lastServer != null)
    if (lastServer == null)
    {
      // Just compare the elements interesting for this panel
      changed =
        !desc.getBackends().equals(lastServer.getBackends());
      if (!changed)
      {
        CustomSearchResult[] monitor1 =
        {
            lastServer.getEntryCachesMonitor(),
            lastServer.getJvmMemoryUsageMonitor(),
            lastServer.getRootMonitor(),
            lastServer.getSystemInformationMonitor(),
            lastServer.getWorkQueueMonitor()
        };
        CustomSearchResult[] monitor2 =
        {
            desc.getEntryCachesMonitor(),
            desc.getJvmMemoryUsageMonitor(),
            desc.getRootMonitor(),
            desc.getSystemInformationMonitor(),
            desc.getWorkQueueMonitor()
        };
        for (int i=0; i<monitor1.length && !changed; i++)
        {
          if (monitor1[i] == null)
          {
            changed = monitor2[i] != null;
          }
          else
          {
            changed = !monitor1[i].equals(monitor2[i]);
          }
        }
      }
      return true;
    }
    else
    {
      changed = true;
    }
    return changed;
    // Just compare the elements interesting for this panel
    return !Objects.equals(desc.getBackends(), lastServer.getBackends())
        && !Objects.equals(lastServer.getEntryCachesMonitor(), desc.getEntryCachesMonitor())
        && !Objects.equals(lastServer.getJvmMemoryUsageMonitor(), desc.getJvmMemoryUsageMonitor())
        && !Objects.equals(lastServer.getRootMonitor(), desc.getRootMonitor())
        && !Objects.equals(lastServer.getSystemInformationMonitor(), desc.getSystemInformationMonitor())
        && !Objects.equals(lastServer.getWorkQueueMonitor(), desc.getWorkQueueMonitor());
  }
  private HashMap<Object, ImageIcon> hmImages = new HashMap<>();
@@ -587,32 +525,29 @@
    };
    for (int i=0; i<identifiers.length; i++)
    {
      hmImages.put(identifiers[i],
          Utilities.createImageIcon(IconPool.IMAGE_PATH+"/"+ocPaths[i],
              getClass().getClassLoader()));
      hmImages.put(identifiers[i], createImageIcon(ocPaths[i]));
    }
  }
  private ImageIcon createImageIcon(LocalizableMessage msg)
  {
    return Utilities.createImageIcon(IconPool.IMAGE_PATH + "/" + msg, getClass().getClassLoader());
  }
  private String getServerName(ServerDescriptor server)
  {
    String serverName = server.getHostname();
    if (server.getAdminConnector() != null)
    {
      serverName +=":"+server.getAdminConnector().getPort();
      return server.getHostname() + ":" + server.getAdminConnector().getPort();
    }
    return serverName;
    return server.getHostname();
  }
  /**
   * Specific class used to render the nodes in the tree.  It uses specific
   * icons for the nodes.
   *
   */
  /** Specific class used to render the nodes in the tree. It uses specific icons for the nodes. */
  protected class GeneralMonitoringTreeCellRenderer extends TreeCellRenderer
  {
    private static final long serialVersionUID = -3390566664259441766L;
    /** {@inheritDoc} */
    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value,
        boolean isSelected, boolean isExpanded, boolean isLeaf, int row,
@@ -626,55 +561,16 @@
    private ImageIcon getIcon(Object value)
    {
      ImageIcon icon = null;
      if (value instanceof GeneralMonitoringTreeNode)
      {
        icon = hmImages.get(
            ((GeneralMonitoringTreeNode)value).getIdentifier());
      }
      else
      if (!(value instanceof GeneralMonitoringTreeNode))
      {
        throw new RuntimeException("Unexpected tree node: "+value);
      }
      return icon;
      return hmImages.get(((GeneralMonitoringTreeNode) value).getIdentifier());
    }
  }
  /**
   * Returns the labels of the nodes to be displayed.
   * @return the labels of the nodes to be displayed.
   */
  protected LocalizableMessage[] getNodeMessages()
  {
    return new LocalizableMessage[] {
      INFO_CTRL_PANEL_SYSTEM_INFORMATION.get(),
      INFO_CTRL_PANEL_JAVA_INFORMATION.get(),
      INFO_CTRL_PANEL_WORK_QUEUE.get(),
      INFO_CTRL_PANEL_ENTRY_CACHES.get(),
      INFO_CTRL_PANEL_JE_DB_INFO.get(),
      INFO_CTRL_PANEL_PDB_DB_INFO.get()
    };
  }
  /**
   * Returns the node types to be displayed.
   * @return the node types to be displayed.
   */
  protected NodeType[] getNodeTypes()
  {
    return new NodeType[] {
        NodeType.SYSTEM_INFORMATION,
        NodeType.JAVA_INFORMATION,
        NodeType.WORK_QUEUE,
        NodeType.ENTRY_CACHES,
        NodeType.JE_DATABASES_INFORMATION,
        NodeType.PDB_DATABASES_INFORMATION
    };
  }
  private boolean isVisible(NodeType nodetype)
  {
    return !(isOEMVersion() && nodetype == NodeType.JE_DATABASES_INFORMATION);
    return !isOEMVersion() || nodetype != NodeType.JE_DATABASES_INFORMATION;
  }
}
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/LocalOrRemotePanel.java
@@ -49,6 +49,7 @@
import org.opends.admin.ads.util.ConnectionWrapper;
import org.opends.guitools.controlpanel.ControlPanelArgumentParser;
import org.opends.guitools.controlpanel.datamodel.ConfigReadException;
import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
import org.opends.guitools.controlpanel.datamodel.CustomSearchResult;
import org.opends.guitools.controlpanel.event.ConfigurationChangeEvent;
import org.opends.guitools.controlpanel.task.OnlineUpdateException;
@@ -74,12 +75,9 @@
import static org.opends.messages.QuickSetupMessages.*;
import static org.opends.server.monitors.VersionMonitorProvider.*;
/**
 * The panel that appears when the user is asked to provide authentication.
 */
/** The panel that appears when the user is asked to provide authentication. */
public class LocalOrRemotePanel extends StatusGenericPanel
{
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  private static final long serialVersionUID = 5051556513294844797L;
@@ -105,14 +103,12 @@
    createLayout();
  }
  /** {@inheritDoc} */
  @Override
  public LocalizableMessage getTitle()
  {
    return INFO_CTRL_PANEL_LOCAL_OR_REMOTE_PANEL_TITLE.get();
  }
  /** {@inheritDoc} */
  @Override
  public GenericDialog.ButtonType getButtonType()
  {
@@ -242,9 +238,7 @@
    return callOKWhenVisible;
  }
  /**
   * 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();
@@ -312,7 +306,6 @@
    gbc.gridx = 0;
    gbc.gridwidth = 1;
    localInstallLabel = Utilities.createPrimaryLabel(
        INFO_CTRL_PANEL_INSTANCE_PATH_LABEL.get());
    gbc.insets.left = 0;
@@ -386,7 +379,6 @@
    addBottomGlue(gbc);
  }
  /** {@inheritDoc} */
  @Override
  public Component getPreferredFocusComponent()
  {
@@ -397,13 +389,11 @@
    return combo;
  }
  /** {@inheritDoc} */
  @Override
  public void configurationChanged(ConfigurationChangeEvent ev)
  {
  }
  /** {@inheritDoc} */
  @Override
  public void toBeDisplayed(boolean visible)
  {
@@ -422,7 +412,6 @@
          return null;
        }
        @Override
        public void backgroundTaskCompleted(Void returnValue,
            Throwable t)
@@ -449,7 +438,6 @@
    }
  }
  /** {@inheritDoc} */
  @Override
  public void okClicked()
  {
@@ -522,11 +510,11 @@
      BackgroundTask<InitialLdapContext> worker =
        new BackgroundTask<InitialLdapContext>()
      {
        /** {@inheritDoc} */
        @Override
        public InitialLdapContext processBackgroundTask() throws Throwable
        {
          getInfo().stopPooling();
          final ControlPanelInfo info = getInfo();
          info.stopPooling();
          if (isLocal)
          {
            // At least load the local information.
@@ -539,12 +527,12 @@
                    INFO_CTRL_PANEL_READING_CONFIGURATION_SUMMARY.get());
              }
            });
            if (getInfo().isLocal() != isLocal)
            if (info.isLocal() != isLocal)
            {
              closeInfoConnections();
            }
            getInfo().setIsLocal(isLocal);
            getInfo().regenerateDescriptor();
            info.setIsLocal(isLocal);
            info.regenerateDescriptor();
            if (!isLocalServerRunning)
            {
              return null;
@@ -555,8 +543,8 @@
          {
            if (isLocal)
            {
              usedUrl = getInfo().getAdminConnectorURL();
              ctx = Utilities.getAdminDirContext(getInfo(), dn.getText(),
              usedUrl = info.getAdminConnectorURL();
              ctx = Utilities.getAdminDirContext(info, dn.getText(),
                  String.valueOf(pwd.getPassword()));
            }
            else
@@ -565,8 +553,8 @@
                  Integer.valueOf(port.getText().trim()), true);
              ctx = createLdapsContext(usedUrl, dn.getText(),
                  String.valueOf(pwd.getPassword()),
                  getInfo().getConnectTimeout(), null,
                  getInfo().getTrustManager(), null);
                  info.getConnectTimeout(), null,
                  info.getTrustManager(), null);
              checkVersion(ctx);
            }
@@ -580,11 +568,11 @@
              }
            });
            closeInfoConnections();
            getInfo().setIsLocal(isLocal);
            getInfo().setConnection(
                new ConnectionWrapper(ctx, getInfo().getConnectTimeout(), getInfo().getTrustManager()));
            getInfo().setUserDataDirContext(null);
            getInfo().regenerateDescriptor();
            info.setIsLocal(isLocal);
            info.setConnection(
                new ConnectionWrapper(ctx, info.getConnectTimeout(), info.getTrustManager()));
            info.setUserDataDirContext(null);
            info.regenerateDescriptor();
            return ctx;
          } catch (Throwable t)
          {
@@ -593,10 +581,8 @@
          }
        }
        /** {@inheritDoc} */
        @Override
        public void backgroundTaskCompleted(InitialLdapContext ctx,
            Throwable throwable)
        public void backgroundTaskCompleted(InitialLdapContext ctx, Throwable throwable)
        {
          boolean handleCertificateException = false;
          boolean localServerErrorConnecting = false;
@@ -605,6 +591,7 @@
          {
            logger.info(LocalizableMessage.raw("Error connecting: " + throwable, throwable));
            final ControlPanelInfo info = getInfo();
            if (isVersionException(throwable))
            {
              errors.add(((OpenDsException)throwable).getMessageObject());
@@ -612,7 +599,7 @@
            else if (isCertificateException(throwable))
            {
              ApplicationTrustManager.Cause cause =
                getInfo().getTrustManager().getLastRefusedCause();
                info.getTrustManager().getLastRefusedCause();
              logger.info(LocalizableMessage.raw("Certificate exception cause: "+cause));
              UserDataCertificateException.Type excType = null;
@@ -620,16 +607,13 @@
              {
                excType = UserDataCertificateException.Type.NOT_TRUSTED;
              }
              else if (cause ==
                ApplicationTrustManager.Cause.HOST_NAME_MISMATCH)
              else if (cause == ApplicationTrustManager.Cause.HOST_NAME_MISMATCH)
              {
                excType = UserDataCertificateException.Type.HOST_NAME_MISMATCH;
              }
              else
              {
                LocalizableMessage msg = getThrowableMsg(
                    INFO_ERROR_CONNECTING_TO_LOCAL.get(), throwable);
                errors.add(msg);
                errors.add(getThrowableMsg(INFO_ERROR_CONNECTING_TO_LOCAL.get(), throwable));
              }
              if (excType != null)
@@ -649,12 +633,13 @@
                  h = INFO_NOT_AVAILABLE_LABEL.get().toString();
                  p = -1;
                }
                ApplicationTrustManager trustMgr = info.getTrustManager();
                UserDataCertificateException udce =
                  new UserDataCertificateException(null,
                      INFO_CERTIFICATE_EXCEPTION.get(h, p),
                      throwable, h, p,
                      getInfo().getTrustManager().getLastRefusedChain(),
                      getInfo().getTrustManager().getLastRefusedAuthType(),
                      trustMgr.getLastRefusedChain(),
                      trustMgr.getLastRefusedAuthType(),
                      excType);
                handleCertificateException(udce);
@@ -667,7 +652,7 @@
              String providedDn = dn.getText();
              if (isLocal)
              {
                Iterator<DN> it = getInfo().getServerDescriptor().
                Iterator<DN> it = info.getServerDescriptor().
                getAdministrativeUsers().iterator();
                while (it.hasNext() && !found)
                {
@@ -771,7 +756,6 @@
    }
  }
  /** {@inheritDoc} */
  @Override
  public void cancelClicked()
  {
@@ -922,10 +906,10 @@
      String hostName = ConnectionUtils.getHostName(ctx);
      String productName = String.valueOf(getFirstValueAsString(csr, ATTR_PRODUCT_NAME));
      String major = String.valueOf(getFirstValueAsString(csr, ATTR_MAJOR_VERSION));
      String point = String.valueOf(getFirstValueAsString(csr, ATTR_POINT_VERSION));
      String minor = String.valueOf(getFirstValueAsString(csr, ATTR_MINOR_VERSION));
      String productName = getFirstValueAsString(csr, ATTR_PRODUCT_NAME);
      String major = getFirstValueAsString(csr, ATTR_MAJOR_VERSION);
      String point = getFirstValueAsString(csr, ATTR_POINT_VERSION);
      String minor = getFirstValueAsString(csr, ATTR_MINOR_VERSION);
      // Be strict, control panel is only compatible with exactly the same version
      if (!productName.equalsIgnoreCase(DynamicConstants.PRODUCT_NAME))
      {
opendj-server-legacy/src/main/java/org/opends/guitools/uninstaller/UninstallCliHelper.java
@@ -70,10 +70,12 @@
import com.forgerock.opendj.cli.ArgumentException;
import com.forgerock.opendj.cli.ClientException;
import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.IntegerArgument;
import com.forgerock.opendj.cli.Menu;
import com.forgerock.opendj.cli.MenuBuilder;
import com.forgerock.opendj.cli.MenuResult;
import com.forgerock.opendj.cli.ReturnCode;
import com.forgerock.opendj.cli.StringArgument;
/**
 * The class used to provide some CLI interface in the uninstall.
@@ -83,10 +85,8 @@
 *
 * Once the user has provided all the required information it calls Uninstaller
 * and launches it.
 *
 */
public class UninstallCliHelper extends ConsoleApplication {
  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
  private UninstallerArgumentParser parser;
@@ -97,9 +97,7 @@
  private boolean useSSL = true;
  private boolean useStartTLS;
  /**
   * Default constructor.
   */
  /** Default constructor. */
  public UninstallCliHelper()
  {
    // Nothing to do.
@@ -135,8 +133,7 @@
      boolean isVerbose;
      boolean isCanceled = false;
      /* Step 1: analyze the arguments.
       */
      /* Step 1: analyze the arguments. */
      isInteractive = args.isInteractive();
@@ -151,9 +148,7 @@
      userData.setConnectTimeout(getConnectTimeout());
      /*
       * Step 2: check that the provided parameters are compatible.
       */
      /* Step 2: check that the provided parameters are compatible. */
      LocalizableMessageBuilder buf = new LocalizableMessageBuilder();
      int v = args.validateGlobalOptions(buf);
      if (v != ReturnCode.SUCCESS.get())
@@ -245,9 +240,7 @@
      info.setConnectTimeout(getConnectTimeout());
      info.regenerateDescriptor();
      info.setConnectionPolicy(ConnectionProtocolPolicy.USE_ADMIN);
      String adminConnectorUrl = info.getAdminConnectorURL();
      if (adminConnectorUrl == null)
      {
        logger.warn(LocalizableMessage.raw(
@@ -268,12 +261,11 @@
      if (!isCanceled)
      {
        isCanceled = checkServerState(userData);
      }
      if (isCanceled && !userData.isForceOnError())
      {
        logger.info(LocalizableMessage.raw("User cancelled uninstall."));
        userData = null;
        if (isCanceled && !userData.isForceOnError())
        {
          logger.info(LocalizableMessage.raw("User cancelled uninstall."));
          userData = null;
        }
      }
      if (userData != null && !args.isQuiet())
@@ -790,44 +782,47 @@
    while (!couldConnect && accepted)
    {
      // This is done because we do not need to ask the user about these parameters.
      // If we force their presence the class LDAPConnectionConsoleInteraction will not prompt the user for them.
      SecureConnectionCliArgs secureArgsList = parser.getSecureArgsList();
      secureArgsList.getHostNameArg().setPresent(true);
      secureArgsList.getPortArg().setPresent(true);
      secureArgsList.getHostNameArg().clearValues();
      secureArgsList.getHostNameArg().addValue(
          secureArgsList.getHostNameArg().getDefaultValue());
      secureArgsList.getPortArg().clearValues();
      secureArgsList.getPortArg().addValue(
          secureArgsList.getPortArg().getDefaultValue());
      secureArgsList.getBindDnArg().clearValues();
      StringArgument hostNameArg = secureArgsList.getHostNameArg();
      hostNameArg.setPresent(true);
      hostNameArg.clearValues();
      hostNameArg.addValue(hostNameArg.getDefaultValue());
      IntegerArgument portArg = secureArgsList.getPortArg();
      portArg.setPresent(true);
      portArg.clearValues();
      portArg.addValue(portArg.getDefaultValue());
      StringArgument bindDnArg = secureArgsList.getBindDnArg();
      bindDnArg.clearValues();
      if (uid != null)
      {
        secureArgsList.getBindDnArg().addValue(ADSContext.getAdministratorDN(uid));
        secureArgsList.getBindDnArg().setPresent(true);
        bindDnArg.addValue(ADSContext.getAdministratorDN(uid));
        bindDnArg.setPresent(true);
      }
      else
      {
        secureArgsList.getBindDnArg().setPresent(false);
        bindDnArg.setPresent(false);
      }
      secureArgsList.getBindPasswordArg().clearValues();
      StringArgument bindPasswordArg = secureArgsList.getBindPasswordArg();
      bindPasswordArg.clearValues();
      if (pwd != null)
      {
        secureArgsList.getBindPasswordArg().addValue(pwd);
        secureArgsList.getBindPasswordArg().setPresent(true);
        bindPasswordArg.addValue(pwd);
        bindPasswordArg.setPresent(true);
      }
      else
      {
        secureArgsList.getBindPasswordArg().setPresent(false);
        bindPasswordArg.setPresent(false);
      }
      if (ci == null)
      {
        ci =
        new LDAPConnectionConsoleInteraction(this, parser.getSecureArgsList());
        ci = new LDAPConnectionConsoleInteraction(this, parser.getSecureArgsList());
        ci.setDisplayLdapIfSecureParameters(true);
      }
@@ -838,21 +833,19 @@
        userData.setAdminPwd(ci.getBindPassword());
        info.setConnectionPolicy(ConnectionProtocolPolicy.USE_ADMIN);
        String adminConnectorUrl = info.getAdminConnectorURL();
        if (adminConnectorUrl == null)
        {
          logger.warn(LocalizableMessage.raw(
         "Error retrieving a valid Administration Connector URL in conf file."));
          logger.warn(LocalizableMessage.raw("Error retrieving a valid Administration Connector URL in conf file."));
          LocalizableMessage msg = ERR_COULD_NOT_FIND_VALID_LDAPURL.get();
            throw new ClientException(ReturnCode.APPLICATION_ERROR, msg);
          throw new ClientException(ReturnCode.APPLICATION_ERROR, msg);
        }
        try
        {
          URI uri = new URI(adminConnectorUrl);
          int port = uri.getPort();
          secureArgsList.getPortArg().clearValues();
          secureArgsList.getPortArg().addValue(String.valueOf(port));
          portArg.clearValues();
          portArg.addValue(String.valueOf(port));
          ci.setPortNumber(port);
        }
        catch (Throwable t)
@@ -862,9 +855,7 @@
        updateTrustManager(userData, ci);
        info.setConnectionPolicy(ConnectionProtocolPolicy.USE_ADMIN);
        adminConnectorUrl = info.getAdminConnectorURL();
        if (adminConnectorUrl == null)
        {
          logger.warn(LocalizableMessage.raw(
@@ -948,13 +939,11 @@
    boolean serverStarted = false;
    Application application = new Application()
    {
      /** {@inheritDoc} */
      @Override
      public String getInstallationPath()
      {
        return Installation.getLocal().getRootDirectory().getAbsolutePath();
      }
      /** {@inheritDoc} */
      @Override
      public String getInstancePath()
      {
@@ -964,75 +953,51 @@
        String instancePathFileName = installPath + File.separator + "lib"
        + File.separator + "resource.loc";
        File f = new File(instancePathFileName);
        if (! f.exists())
        if (!f.exists())
        {
          return installPath;
        }
        BufferedReader reader;
        try
        {
          reader = new BufferedReader(new FileReader(instancePathFileName));
        }
        catch (Exception e)
        {
          return installPath;
        }
        // Read the first line and close the file.
        String line;
        try
        try (BufferedReader reader = new BufferedReader(new FileReader(instancePathFileName)))
        {
          line = reader.readLine();
          String line = reader.readLine();
          return new File(line).getAbsolutePath();
        }
        catch (Exception e)
        {
          return installPath;
        }
        finally
        {
          StaticUtils.close(reader);
        }
      }
      /** {@inheritDoc} */
      @Override
      public ProgressStep getCurrentProgressStep()
      {
        return UninstallProgressStep.NOT_STARTED;
      }
      /** {@inheritDoc} */
      @Override
      public Integer getRatio(ProgressStep step)
      {
        return 0;
      }
      /** {@inheritDoc} */
      @Override
      public LocalizableMessage getSummary(ProgressStep step)
      {
        return null;
      }
      /** {@inheritDoc} */
      @Override
      public boolean isFinished()
      {
        return false;
      }
      /** {@inheritDoc} */
      @Override
      public boolean isCancellable()
      {
        return false;
      }
      /** {@inheritDoc} */
      @Override
      public void cancel()
      {
      }
      /** {@inheritDoc} */
      @Override
      public void run()
      {
@@ -1055,13 +1020,14 @@
        Installation.getLocal());
    try
    {
      if (!suppressOutput)
      if (suppressOutput)
      {
        controller.startServer(true);
      }
      else
      {
        println();
      }
      controller.startServer(suppressOutput);
      if (!suppressOutput)
      {
        controller.startServer(false);
        println();
      }
      serverStarted = Installation.getLocal().getStatus().isServerRunning();
@@ -1192,8 +1158,7 @@
        logger.error(LocalizableMessage.raw("Error parsing url: "+adminConnectorUrl));
      }
      ctx = createAdministrativeContext(host, port, useSSL, useStartTLS, dn,
          pwd, getConnectTimeout(),
          userData.getTrustManager());
          pwd, getConnectTimeout(), userData.getTrustManager());
      ConnectionWrapper connWrapper = new ConnectionWrapper(ctx, getConnectTimeout(), userData.getTrustManager());
      ADSContext adsContext = new ADSContext(connWrapper);
@@ -1233,11 +1198,9 @@
    {
      logger.warn(LocalizableMessage.raw("Error connecting to server: "+te, te));
      exceptionMsg = Utils.getMessage(te);
    } catch (ClientException ce)
    {
      throw ce;
    } catch (Throwable t)
    {
      logger.warn(LocalizableMessage.raw("Error connecting to server: "+t, t));
@@ -1435,47 +1398,31 @@
    return returnValue;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isAdvancedMode() {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isInteractive() {
    return !forceNonInteractive && parser.isInteractive();
  }
  /** {@inheritDoc} */
  @Override
  public boolean isMenuDrivenMode() {
    return true;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isQuiet() {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isScriptFriendly() {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isVerbose() {
    return true;
@@ -1507,12 +1454,7 @@
     userData.setTrustManager(trust);
   }
   /**
    * Forces the initialization of the trust manager in the
    * LDAPConnectionInteraction object.
    */
   /** Forces the initialization of the trust manager in the LDAPConnectionInteraction object. */
   private void forceTrustManagerInitialization()
   {
     forceNonInteractive = true;
opendj-server-legacy/src/main/java/org/opends/server/tools/status/StatusCli.java
@@ -86,7 +86,9 @@
import com.forgerock.opendj.cli.CliConstants;
import com.forgerock.opendj.cli.ClientException;
import com.forgerock.opendj.cli.ConsoleApplication;
import com.forgerock.opendj.cli.IntegerArgument;
import com.forgerock.opendj.cli.ReturnCode;
import com.forgerock.opendj.cli.StringArgument;
import com.forgerock.opendj.cli.TableBuilder;
import com.forgerock.opendj.cli.TextTablePrinter;
@@ -135,7 +137,6 @@
   *
   * @param args The command-line arguments provided to this program.
   */
  public static void main(String[] args)
  {
    int retCode = mainCLI(args, true, System.out, System.err, System.in);
@@ -267,11 +268,9 @@
      // parameters. We force their presence in the
      // LDAPConnectionConsoleInteraction, this done, it will not prompt
      // the user for them.
      final SecureConnectionCliArgs secureArgsList = argParser.getSecureArgsList();
      controlInfo.setConnectionPolicy(ConnectionProtocolPolicy.USE_ADMIN);
      String ldapUrl = controlInfo.getAdminConnectorURL();
      int port = CliConstants.DEFAULT_ADMINISTRATION_CONNECTOR_PORT;
      controlInfo.setConnectionPolicy(ConnectionProtocolPolicy.USE_ADMIN);
      String ldapUrl = controlInfo.getURLToConnect();
      try
      {
        final URI uri = new URI(ldapUrl);
@@ -281,16 +280,19 @@
      {
        logger.error(LocalizableMessage.raw("Error parsing url: " + ldapUrl));
      }
      secureArgsList.getHostNameArg().setPresent(true);
      secureArgsList.getPortArg().setPresent(true);
      secureArgsList.getHostNameArg().addValue(secureArgsList.getHostNameArg().getDefaultValue());
      secureArgsList.getPortArg().addValue(Integer.toString(port));
      final SecureConnectionCliArgs secureArgsList = argParser.getSecureArgsList();
      final StringArgument hostNameArg = secureArgsList.getHostNameArg();
      hostNameArg.setPresent(true);
      hostNameArg.addValue(hostNameArg.getDefaultValue());
      final IntegerArgument portArg = secureArgsList.getPortArg();
      portArg.setPresent(true);
      portArg.addValue(Integer.toString(port));
      // We already know if SSL or StartTLS can be used.  If we cannot
      // use them we will not propose them in the connection parameters
      // and if none of them can be used we will just not ask for the
      // protocol to be used.
      final LDAPConnectionConsoleInteraction ci =
          new LDAPConnectionConsoleInteraction(this, argParser.getSecureArgsList(), ALLOW_ANONYMOUS_IF_NON_INTERACTIVE);
          new LDAPConnectionConsoleInteraction(this, secureArgsList, ALLOW_ANONYMOUS_IF_NON_INTERACTIVE);
      try
      {
        ci.run(false);
@@ -1108,38 +1110,32 @@
    return argParser.getTrustManager();
  }
  /** {@inheritDoc} */
  @Override
  public boolean isAdvancedMode()
  {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isInteractive() {
    return argParser.isInteractive();
  }
  /** {@inheritDoc} */
  @Override
  public boolean isMenuDrivenMode() {
    return true;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isQuiet() {
    return false;
  }
  /** {@inheritDoc} */
  @Override
  public boolean isScriptFriendly() {
    return argParser.isScriptFriendly();
  }
  /** {@inheritDoc} */
  @Override
  public boolean isVerbose() {
    return true;