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

Jean-Noel Rouvignac
06.04.2013 56bcc2f1b8abbaba6f695f07af3c5bf69dd60173
OPENDJ-892 (CR-1644) Listen address and port for the HTTP connection handler should be displayed in status command output

ConfigFromFile.java, ConfigFromDirContext.java:
Added support for HTTPConnectionHandlerCfg.
Extracted methods addAll().
Used foreach.

ConnectionHandlerDescriptor.java, admin_tool.properties:
Added HTTP and HTTPS.

StatusCli.java:
Removed useless creation of a Set local variable.
5 files modified
224 ■■■■ changed files
opends/src/guitools/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java 13 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java 88 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromFile.java 80 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/admin_tool.properties 2 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/tools/status/StatusCli.java 41 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/datamodel/ConnectionHandlerDescriptor.java
@@ -23,8 +23,8 @@
 *
 *
 *      Copyright 2008-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2013 ForgeRock AS
 */
package org.opends.guitools.controlpanel.datamodel;
import static org.opends.messages.AdminToolMessages.*;
@@ -85,6 +85,14 @@
     */
    LDAPS(INFO_CTRL_PANEL_CONN_HANDLER_LDAPS.get()),
    /**
     * HTTP protocol.
     */
    HTTP(INFO_CTRL_PANEL_CONN_HANDLER_HTTP.get()),
    /**
     * HTTP secure protocol.
     */
    HTTPS(INFO_CTRL_PANEL_CONN_HANDLER_HTTPS.get()),
    /**
     * JMX protocol.
     */
    JMX(INFO_CTRL_PANEL_CONN_HANDLER_JMX.get()),
@@ -226,6 +234,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public int hashCode()
  {
    return hashCode;
@@ -234,6 +243,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public String toString()
  {
    return toString;
@@ -242,6 +252,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public boolean equals(Object o)
  {
    boolean equals = false;
opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
@@ -288,15 +288,13 @@
      {
        ex.add(oe);
      }
      String[] connectionHandlers = root.listConnectionHandlers();
      for (int i=0; i<connectionHandlers.length; i++)
      for (String connHandler : root.listConnectionHandlers())
      {
        try
        {
          ConnectionHandlerCfgClient connectionHandler =
            root.getConnectionHandler(connectionHandlers[i]);
          ls.add(getConnectionHandler(connectionHandler,
              connectionHandlers[i]));
              root.getConnectionHandler(connHandler);
          ls.add(getConnectionHandler(connectionHandler, connHandler));
        }
        catch (OpenDsException oe)
        {
@@ -305,12 +303,11 @@
      }
      isSchemaEnabled = root.getGlobalConfiguration().isCheckSchema();
      String[] backendNames = root.listBackends();
      for (int i=0; i<backendNames.length; i++)
      for (String backendName : root.listBackends())
      {
        try
        {
          BackendCfgClient backend = root.getBackend(backendNames[i]);
          BackendCfgClient backend = root.getBackend(backendName);
          Set<BaseDNDescriptor> baseDNs = new HashSet<BaseDNDescriptor>();
          for (DN dn : backend.getBaseDN())
          {
@@ -327,12 +324,11 @@
          {
            type = BackendDescriptor.Type.LOCAL_DB;
            LocalDBBackendCfgClient db = (LocalDBBackendCfgClient)backend;
            String[] indexNames = db.listLocalDBIndexes();
            try
            {
              for (int j=0; j<indexNames.length; j++)
              for (String indexName : db.listLocalDBIndexes())
              {
                LocalDBIndexCfgClient index = db.getLocalDBIndex(indexNames[j]);
                LocalDBIndexCfgClient index = db.getLocalDBIndex(indexName);
                indexes.add(new IndexDescriptor(
                    index.getAttribute().getNameOrOID(), index.getAttribute(),
                    null, index.getIndexType(), index.getIndexEntryLimit()));
@@ -342,23 +338,19 @@
            {
              ex.add(oe);
            }
            indexes.add(
                new IndexDescriptor("dn2id", null, null,
            indexes.add(new IndexDescriptor("dn2id", null, null,
                    new TreeSet<IndexType>(), -1));
            indexes.add(
                new IndexDescriptor("id2children", null, null,
            indexes.add(new IndexDescriptor("id2children", null, null,
                    new TreeSet<IndexType>(), -1));
            indexes.add(
                new IndexDescriptor("id2subtree", null, null,
            indexes.add(new IndexDescriptor("id2subtree", null, null,
                    new TreeSet<IndexType>(), -1));
            String[] vlvIndexNames = db.listLocalDBVLVIndexes();
            try
            {
              for (int j=0; j<vlvIndexNames.length; j++)
              for (String vlvIndexName : db.listLocalDBVLVIndexes())
              {
                LocalDBVLVIndexCfgClient index =
                  db.getLocalDBVLVIndex(vlvIndexNames[j]);
                  db.getLocalDBVLVIndex(vlvIndexName);
                String s = index.getSortOrder();
                List<VLVSortOrder> sortOrder = getVLVSortOrder(s);
                vlvIndexes.add(new VLVIndexDescriptor(index.getName(), null,
@@ -470,10 +462,10 @@
          String[] domains = sync.listReplicationDomains();
          if (domains != null)
          {
            for (int i=0; i<domains.length; i++)
            for (String domain2 : domains)
            {
              ReplicationDomainCfgClient domain =
                sync.getReplicationDomain(domains[i]);
                sync.getReplicationDomain(domain2);
              DN dn = domain.getBaseDN();
              for (BackendDescriptor backend : bs)
              {
@@ -504,9 +496,9 @@
        String[] rootUsers = rootDN.listRootDNUsers();
        if (rootUsers != null)
        {
          for (int i=0; i < rootUsers.length; i++)
          for (String rootUser2 : rootUsers)
          {
            RootDNUserCfgClient rootUser = rootDN.getRootDNUser(rootUsers[i]);
            RootDNUserCfgClient rootUser = rootDN.getRootDNUser(rootUser2);
            as.addAll(rootUser.getAlternateBindDN());
          }
        }
@@ -929,13 +921,24 @@
      {
        protocol = ConnectionHandlerDescriptor.Protocol.LDAP;
      }
      SortedSet<InetAddress> v = ldap.getListenAddress();
      if (v != null)
      {
        addresses.addAll(v);
      }
      addAll(addresses, ldap.getListenAddress());
      port = ldap.getListenPort();
    }
    else if (connHandler instanceof HTTPConnectionHandlerCfgClient)
    {
      HTTPConnectionHandlerCfgClient http =
          (HTTPConnectionHandlerCfgClient) connHandler;
      if (http.isUseSSL())
      {
        protocol = ConnectionHandlerDescriptor.Protocol.HTTPS;
      }
      else
      {
        protocol = ConnectionHandlerDescriptor.Protocol.HTTP;
      }
      addAll(addresses, http.getListenAddress());
      port = http.getListenPort();
    }
    else if (connHandler instanceof JMXConnectionHandlerCfgClient)
    {
      JMXConnectionHandlerCfgClient jmx =
@@ -948,11 +951,7 @@
      {
        protocol = ConnectionHandlerDescriptor.Protocol.JMX;
      }
      SortedSet<InetAddress> v = jmx.getListenAddress();
      if (v != null)
      {
        addresses.addAll(v);
      }
      addAll(addresses, jmx.getListenAddress());
      port = jmx.getListenPort();
    }
    else if (connHandler instanceof LDIFConnectionHandlerCfgClient)
@@ -965,11 +964,7 @@
      protocol = ConnectionHandlerDescriptor.Protocol.SNMP;
      SNMPConnectionHandlerCfgClient snmp =
        (SNMPConnectionHandlerCfgClient)connHandler;
      SortedSet<InetAddress> v = snmp.getListenAddress();
      if (v != null)
      {
        addresses.addAll(v);
      }
      addAll(addresses, snmp.getListenAddress());
      port = snmp.getListenPort();
    }
    else
@@ -982,6 +977,14 @@
        name, emptySet);
  }
  private <T> void addAll(Collection<T> target, Collection<T> source)
  {
    if (source != null)
    {
      target.addAll(source);
    }
  }
  private ConnectionHandlerDescriptor getConnectionHandler(
      AdministrationConnectorCfgClient adminConnector) throws OpenDsException
  {
@@ -994,12 +997,7 @@
    ConnectionHandlerDescriptor.State state =
      ConnectionHandlerDescriptor.State.ENABLED;
    SortedSet<InetAddress> v = adminConnector.getListenAddress();
    if (v != null)
    {
      addresses.addAll(v);
    }
    addAll(addresses, adminConnector.getListenAddress());
    int port = adminConnector.getListenPort();
    Set<CustomSearchResult> emptySet = Collections.emptySet();
opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromFile.java
@@ -32,6 +32,7 @@
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
@@ -57,6 +58,7 @@
import org.opends.server.admin.std.server.BackupBackendCfg;
import org.opends.server.admin.std.server.ConnectionHandlerCfg;
import org.opends.server.admin.std.server.CryptoManagerCfg;
import org.opends.server.admin.std.server.HTTPConnectionHandlerCfg;
import org.opends.server.admin.std.server.JMXConnectionHandlerCfg;
import org.opends.server.admin.std.server.LDAPConnectionHandlerCfg;
import org.opends.server.admin.std.server.LDIFBackendCfg;
@@ -143,15 +145,13 @@
      {
        ex.add(ce);
      }
      String[] connectionHandlers = root.listConnectionHandlers();
      for (int i=0; i<connectionHandlers.length; i++)
      for (String connHandler : root.listConnectionHandlers())
      {
        try
        {
          ConnectionHandlerCfg connectionHandler =
            root.getConnectionHandler(connectionHandlers[i]);
          ls.add(getConnectionHandler(connectionHandler,
              connectionHandlers[i]));
              root.getConnectionHandler(connHandler);
          ls.add(getConnectionHandler(connectionHandler, connHandler));
        }
        catch (OpenDsException oe)
        {
@@ -160,12 +160,11 @@
      }
      isSchemaEnabled = root.getGlobalConfiguration().isCheckSchema();
      String[] backendNames = root.listBackends();
      for (int i=0; i<backendNames.length; i++)
      for (String backendName : root.listBackends())
      {
        try
        {
          BackendCfg backend = root.getBackend(backendNames[i]);
          BackendCfg backend = root.getBackend(backendName);
          Set<BaseDNDescriptor> baseDNs = new HashSet<BaseDNDescriptor>();
          for (DN dn : backend.getBaseDN())
          {
@@ -182,12 +181,11 @@
          {
            type = BackendDescriptor.Type.LOCAL_DB;
            LocalDBBackendCfg db = (LocalDBBackendCfg)backend;
            String[] indexNames = db.listLocalDBIndexes();
            try
            {
              for (int j=0; j<indexNames.length; j++)
              for (String indexName : db.listLocalDBIndexes())
              {
                LocalDBIndexCfg index = db.getLocalDBIndex(indexNames[j]);
                LocalDBIndexCfg index = db.getLocalDBIndex(indexName);
                indexes.add(new IndexDescriptor(
                    index.getAttribute().getNameOrOID(), index.getAttribute(),
                    null, index.getIndexType(), index.getIndexEntryLimit()));
@@ -204,13 +202,12 @@
            indexes.add(new IndexDescriptor("id2subtree", null, null,
                new TreeSet<IndexType>(), -1));
            String[] vlvIndexNames = db.listLocalDBVLVIndexes();
            try
            {
              for (int j=0; j<vlvIndexNames.length; j++)
              for (String vlvIndexName : db.listLocalDBVLVIndexes())
              {
                LocalDBVLVIndexCfg index =
                  db.getLocalDBVLVIndex(vlvIndexNames[j]);
                  db.getLocalDBVLVIndex(vlvIndexName);
                String s = index.getSortOrder();
                List<VLVSortOrder> sortOrder = getVLVSortOrder(s);
                vlvIndexes.add(new VLVIndexDescriptor(index.getName(), null,
@@ -320,10 +317,10 @@
          String[] domains = sync.listReplicationDomains();
          if (domains != null)
          {
            for (int i=0; i<domains.length; i++)
            for (String domain2 : domains)
            {
              ReplicationDomainCfg domain =
                sync.getReplicationDomain(domains[i]);
                sync.getReplicationDomain(domain2);
              DN dn = domain.getBaseDN();
              for (BackendDescriptor backend : bs)
              {
@@ -355,9 +352,9 @@
        as.clear();
        if (rootUsers != null)
        {
          for (int i=0; i < rootUsers.length; i++)
          for (String rootUser2 : rootUsers)
          {
            RootDNUserCfg rootUser = rootDN.getRootDNUser(rootUsers[i]);
            RootDNUserCfg rootUser = rootDN.getRootDNUser(rootUser2);
            as.addAll(rootUser.getAlternateBindDN());
          }
        }
@@ -425,13 +422,23 @@
      {
        protocol = ConnectionHandlerDescriptor.Protocol.LDAP;
      }
      SortedSet<InetAddress> v = ldap.getListenAddress();
      if (v != null)
      {
        addresses.addAll(v);
      }
      addAll(addresses, ldap.getListenAddress());
      port = ldap.getListenPort();
    }
    else if (connHandler instanceof HTTPConnectionHandlerCfg)
    {
      HTTPConnectionHandlerCfg http = (HTTPConnectionHandlerCfg) connHandler;
      if (http.isUseSSL())
      {
        protocol = ConnectionHandlerDescriptor.Protocol.HTTPS;
      }
      else
      {
        protocol = ConnectionHandlerDescriptor.Protocol.HTTP;
      }
      addAll(addresses, http.getListenAddress());
      port = http.getListenPort();
    }
    else if (connHandler instanceof JMXConnectionHandlerCfg)
    {
      JMXConnectionHandlerCfg jmx = (JMXConnectionHandlerCfg)connHandler;
@@ -443,11 +450,7 @@
      {
        protocol = ConnectionHandlerDescriptor.Protocol.JMX;
      }
      SortedSet<InetAddress> v = jmx.getListenAddress();
      if (v != null)
      {
        addresses.addAll(v);
      }
      addAll(addresses, jmx.getListenAddress());
      port = jmx.getListenPort();
    }
    else if (connHandler instanceof LDIFConnectionHandlerCfg)
@@ -459,11 +462,7 @@
    {
      protocol = ConnectionHandlerDescriptor.Protocol.SNMP;
      SNMPConnectionHandlerCfg snmp = (SNMPConnectionHandlerCfg)connHandler;
      SortedSet<InetAddress> v = snmp.getListenAddress();
      if (v != null)
      {
        addresses.addAll(v);
      }
      addAll(addresses, snmp.getListenAddress());
      port = snmp.getListenPort();
    }
    else
@@ -476,6 +475,14 @@
        name, emptySet);
  }
  private <T> void addAll(Collection<T> target, Collection<T> source)
  {
    if (source != null)
    {
      target.addAll(source);
    }
  }
  private ConnectionHandlerDescriptor getConnectionHandler(
      AdministrationConnectorCfg adminConnector) throws OpenDsException
  {
@@ -488,12 +495,7 @@
    ConnectionHandlerDescriptor.State state =
      ConnectionHandlerDescriptor.State.ENABLED;
    SortedSet<InetAddress> v = adminConnector.getListenAddress();
    if (v != null)
    {
      addresses.addAll(v);
    }
    addAll(addresses, adminConnector.getListenAddress());
    int port = adminConnector.getListenPort();
    Set<CustomSearchResult> emptySet = Collections.emptySet();
    return new ConnectionHandlerDescriptor(addresses, port, protocol, state,
opends/src/messages/messages/admin_tool.properties
@@ -1006,6 +1006,8 @@
INFO_CTRL_PANEL_CONN_HANDLER_LDAP=LDAP
INFO_CTRL_PANEL_CONN_HANDLER_LDAPS=LDAPS
INFO_CTRL_PANEL_CONN_HANDLER_LDAP_STARTTLS=LDAP (allows StartTLS)
INFO_CTRL_PANEL_CONN_HANDLER_HTTP=HTTP
INFO_CTRL_PANEL_CONN_HANDLER_HTTPS=HTTPS
INFO_CTRL_PANEL_CONN_HANDLER_JMX=JMX
INFO_CTRL_PANEL_CONN_HANDLER_JMXS=JMX (secure)
INFO_CTRL_PANEL_CONN_HANDLER_LDIF=LDIF
opends/src/server/org/opends/server/tools/status/StatusCli.java
@@ -28,6 +28,11 @@
package org.opends.server.tools.status;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.messages.QuickSetupMessages.*;
import static org.opends.messages.ToolMessages.*;
import static org.opends.quicksetup.util.Utils.*;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
@@ -35,7 +40,6 @@
import java.net.URI;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.TreeSet;
import java.util.logging.Level;
@@ -56,21 +60,13 @@
import org.opends.guitools.controlpanel.datamodel.ServerDescriptor;
import org.opends.guitools.controlpanel.util.ControlPanelLog;
import org.opends.guitools.controlpanel.util.Utilities;
import static org.opends.quicksetup.util.Utils.*;
import org.opends.messages.Message;
import org.opends.messages.MessageBuilder;
import org.opends.server.admin.AdministrationConnector;
import org.opends.server.admin.client.ManagementContext;
import org.opends.server.admin.client.cli.DsFrameworkCliReturnCode;
import org.opends.server.admin.client.cli.SecureConnectionCliArgs;
import org.opends.server.config.ConfigException;
import org.opends.messages.Message;
import org.opends.messages.MessageBuilder;
import org.opends.server.admin.AdministrationConnector;
import static org.opends.messages.ToolMessages.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.messages.QuickSetupMessages.*;
import org.opends.server.tools.ClientException;
import org.opends.server.tools.ToolConstants;
import org.opends.server.tools.dsconfig.LDAPManagementContextFactory;
@@ -504,9 +500,9 @@
    Message title = INFO_SERVER_STATUS_TITLE.get();
    if (!isScriptFriendly())
    {
      for (int i=0; i<labels.length; i++)
      for (Message label : labels)
      {
        labelWidth = Math.max(labelWidth, labels[i].length());
        labelWidth = Math.max(labelWidth, label.length());
      }
      getOutputStream().println();
      getOutputStream().println(centerTitle(title));
@@ -829,15 +825,7 @@
    }
    Set<ConnectionHandlerDescriptor> allHandlers = desc.getConnectionHandlers();
    Set<ConnectionHandlerDescriptor> connectionHandlers =
      new LinkedHashSet<ConnectionHandlerDescriptor>();
    for (ConnectionHandlerDescriptor listener: allHandlers)
    {
      connectionHandlers.add(listener);
    }
    if (connectionHandlers.size() == 0)
    if (allHandlers.size() == 0)
    {
      if (desc.getStatus() == ServerDescriptor.ServerStatus.STARTED)
      {
@@ -861,7 +849,7 @@
    {
      ConnectionHandlerTableModel connHandlersTableModel =
        new ConnectionHandlerTableModel(false);
      connHandlersTableModel.setData(connectionHandlers);
      connHandlersTableModel.setData(allHandlers);
      writeConnectionHandlersTableModel(connHandlersTableModel, desc);
    }
  }
@@ -1273,6 +1261,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public boolean isAdvancedMode() {
    return false;
  }
@@ -1282,6 +1271,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public boolean isInteractive() {
    return argParser.isInteractive();
  }
@@ -1301,6 +1291,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public boolean isQuiet() {
    return false;
  }
@@ -1310,6 +1301,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public boolean isScriptFriendly() {
    return argParser.isScriptFriendly();
  }
@@ -1319,6 +1311,7 @@
  /**
   * {@inheritDoc}
   */
  @Override
  public boolean isVerbose() {
    return true;
  }