From c8a1bec908f144ebacb97ba6c591eaf0f47779f6 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 08 Aug 2016 07:26:19 +0000
Subject: [PATCH] Replase use of String ldapUrl by HostPort

---
 opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java   |    6 +-
 opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java                  |    6 +-
 opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java                           |    7 +-
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java |    6 +-
 opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java                  |   69 +++++++----------------
 opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java                      |   29 ++++-----
 6 files changed, 47 insertions(+), 76 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
index 4f3a630..f214db2 100644
--- a/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
@@ -264,32 +264,31 @@
   }
 
   /**
-   * Returns the URL to access this server using LDAP.
-   * @return the URL to access this server using LDAP,
+   * Returns the HostPort to access this server using LDAP.
+   * @return the HostPort to access this server using LDAP,
    *         {@code null} if the server is not configured to listen on an LDAP port.
    */
-  public String getLDAPURL()
+  public HostPort getLdapHostPort()
   {
-    return getLDAPUrl0(ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT, false);
+    return getHostPort0(ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT, false);
   }
 
   /**
-   * Returns the URL to access this server using LDAPS.
-   * @return the URL to access this server using LDAP,
+   * Returns the HostPort to access this server using LDAPS.
+   * @return the HostPort to access this server using LDAPS,
    *         {@code null} if the server is not configured to listen on an LDAPS port.
    */
-  public String getLDAPsURL()
+  public HostPort getLdapsHostPort()
   {
-    return getLDAPUrl0(ServerProperty.LDAPS_ENABLED, ServerProperty.LDAPS_PORT, true);
+    return getHostPort0(ServerProperty.LDAPS_ENABLED, ServerProperty.LDAPS_PORT, true);
   }
 
-  private String getLDAPUrl0(ServerProperty enabledProp, ServerProperty portProp, boolean useSSL)
+  private HostPort getHostPort0(ServerProperty enabledProp, ServerProperty portProp, boolean useSSL)
   {
     int port = getPort(enabledProp, portProp);
     if (port != -1)
     {
-      String host = getHostName();
-      return getLDAPUrl(host, port, useSSL);
+      return new HostPort(getHostName(), port);
     }
     return null;
   }
@@ -304,13 +303,13 @@
   }
 
   /**
-   * Returns the URL to access this server using the administration connector.
-   * @return the URL to access this server using the administration connector,
+   * Returns the HostPort to access this server using the administration connector.
+   * @return the HostPort to access this server using the administration connector,
    *         {@code null} if the server cannot get the administration connector.
    */
-  public String getAdminConnectorURL()
+  public HostPort getAdminConnectorHostPort()
   {
-    return getLDAPUrl0(ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT, true);
+    return getHostPort0(ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT, true);
   }
 
   /**
diff --git a/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java b/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java
index 2326c9f..b8a9e63 100644
--- a/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java
@@ -19,12 +19,9 @@
 import java.util.Collections;
 import java.util.Set;
 
+import org.forgerock.opendj.ldap.Attribute;
 import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.Entry;
-import org.forgerock.opendj.ldap.responses.SearchResultEntry;
-import org.opends.server.types.HostPort;
-
-import com.forgerock.opendj.cli.Utils;
 
 /**
  * Class providing some utilities to create LDAP connections using JNDI and
@@ -38,41 +35,17 @@
   }
 
   /**
-   * Returns the LDAP URL for the provided parameters.
-   * @param hostPort the host name and LDAP port.
-   * @param useLdaps whether to use LDAPS.
-   * @return the LDAP URL for the provided parameters.
-   */
-  public static String getLDAPUrl(HostPort hostPort, boolean useLdaps)
-  {
-    return getLDAPUrl(hostPort.getHost(), hostPort.getPort(), useLdaps);
-  }
-
-  /**
-   * Returns the LDAP URL for the provided parameters.
-   * @param host the host name.
-   * @param port the LDAP port.
-   * @param useLdaps whether to use LDAPS.
-   * @return the LDAP URL for the provided parameters.
-   */
-  public static String getLDAPUrl(String host, int port, boolean useLdaps)
-  {
-    host = Utils.getHostNameForLdapUrl(host);
-    return (useLdaps ? "ldaps" : "ldap") + "://" + host + ":" + port;
-  }
-
-  /**
    * Returns the first attribute value in this attribute decoded as a UTF-8 string.
    *
-   * @param sr
-   *          the search result entry
+   * @param entry
+   *          the entry
    * @param attrDesc
    *          the attribute description
    * @return The first attribute value in this attribute decoded as a UTF-8 string.
    */
-  public static String firstValueAsString(Entry sr, String attrDesc)
+  public static String firstValueAsString(Entry entry, String attrDesc)
   {
-    org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
+    Attribute attr = entry.getAttribute(attrDesc);
     return (attr != null && !attr.isEmpty()) ? attr.firstValueAsString() : null;
   }
 
@@ -80,15 +53,15 @@
    * Returns the first value decoded as an Integer, or {@code null} if the attribute does not
    * contain any values.
    *
-   * @param sr
-   *          the search result entry
+   * @param entry
+   *          the entry
    * @param attrDesc
    *          the attribute description
    * @return The first value decoded as an Integer.
    */
-  public static Integer asInteger(SearchResultEntry sr, String attrDesc)
+  public static Integer asInteger(Entry entry, String attrDesc)
   {
-    org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
+    Attribute attr = entry.getAttribute(attrDesc);
     return attr != null ? attr.parse().asInteger() : null;
   }
 
@@ -96,47 +69,47 @@
    * Returns the first value decoded as a Boolean, or {@code null} if the attribute does not contain
    * any values.
    *
-   * @param sr
-   *          the search result entry
+   * @param entry
+   *          the entry
    * @param attrDesc
    *          the attribute description
    * @return The first value decoded as an Boolean.
    */
-  public static Boolean asBoolean(SearchResultEntry sr, String attrDesc)
+  public static Boolean asBoolean(Entry entry, String attrDesc)
   {
-    org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
+    Attribute attr = entry.getAttribute(attrDesc);
     return attr != null ? attr.parse().asBoolean() : null;
   }
 
   /**
    * Returns the values decoded as a set of Strings.
    *
-   * @param sr
-   *          the search result entry
+   * @param entry
+   *          the entry
    * @param attrDesc
    *          the attribute description
    * @return The values decoded as a set of Strings. Never {@code null} and never contains
    *         {@code null} values.
    */
-  public static Set<String> asSetOfString(SearchResultEntry sr, String attrDesc)
+  public static Set<String> asSetOfString(Entry entry, String attrDesc)
   {
-    org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
+    Attribute attr = entry.getAttribute(attrDesc);
     return attr != null ? attr.parse().asSetOfString() : Collections.<String> emptySet();
   }
 
   /**
    * Returns the values decoded as a set of DNs.
    *
-   * @param sr
-   *          the search result entry
+   * @param entry
+   *          the entry
    * @param attrDesc
    *          the attribute description
    * @return The values decoded as a set of DNs. Never {@code null} and never contains {@code null}
    *         values.
    */
-  public static Set<DN> asSetOfDN(SearchResultEntry sr, String attrDesc)
+  public static Set<DN> asSetOfDN(Entry entry, String attrDesc)
   {
-    org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
+    Attribute attr = entry.getAttribute(attrDesc);
     return attr != null ? attr.parse().asSetOfDN() : Collections.<DN> emptySet();
   }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java
index 8c816cc..6c755e8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromConnection.java
@@ -18,6 +18,7 @@
 
 import static org.forgerock.opendj.ldap.SearchScope.*;
 import static org.forgerock.opendj.ldap.requests.Requests.*;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
 import static org.opends.messages.AdminToolMessages.*;
 import static org.opends.server.backends.pluggable.SuffixContainer.*;
 import static org.opends.server.config.ConfigConstants.*;
@@ -722,11 +723,10 @@
     {
       Attribute backendIdAttr = sr.getAttribute("ds-backend-id");
       Attribute entryCount = sr.getAttribute("ds-backend-entry-count");
-      Attribute baseDnEntriesAttr = sr.getAttribute("ds-base-dn-entry-count");
-      if (backendIdAttr != null && (entryCount != null || !baseDnEntriesAttr.isEmpty()))
+      Set<String> baseDnEntries = asSetOfString(sr, "ds-base-dn-entry-count");
+      if (backendIdAttr != null && (entryCount != null || !baseDnEntries.isEmpty()))
       {
         String backendID = backendIdAttr.firstValueAsString();
-        Set<String> baseDnEntries = baseDnEntriesAttr.parse().asSetOfString();
         for (BackendDescriptor backend : backends)
         {
           if (backend.getBackendID().equalsIgnoreCase(backendID))
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
index 89884e6..d45b86e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/installer/Installer.java
@@ -4545,12 +4545,12 @@
 
     for (PreferredConnection connection : getPreferredConnections())
     {
-      String url = connection.getLDAPURL();
-      if (url.equals(server.getLDAPURL()))
+      HostPort hp = connection.getHostPort();
+      if (hp.equals(server.getLdapHostPort()))
       {
         hostPort = server.getHostPort(false);
       }
-      else if (url.equals(server.getLDAPsURL()))
+      else if (hp.equals(server.getLdapsHostPort()))
       {
         hostPort = server.getHostPort(true);
       }
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
index ad34cf4..d242585 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/util/Utils.java
@@ -72,7 +72,6 @@
 import org.opends.admin.ads.ServerDescriptor;
 import org.opends.admin.ads.SuffixDescriptor;
 import org.opends.admin.ads.TopologyCacheException;
-import org.opends.admin.ads.util.ConnectionUtils;
 import org.opends.admin.ads.util.ConnectionWrapper;
 import org.opends.quicksetup.Constants;
 import org.opends.quicksetup.Installation;
@@ -1586,7 +1585,7 @@
     }
     for (ServerDescriptor s : userData.getRemoteWithNoReplicationPort().keySet())
     {
-      if (s.getAdminConnectorURL().equals(server.getAdminConnectorURL()))
+      if (s.getAdminConnectorHostPort().equals(server.getAdminConnectorHostPort()))
       {
         AuthenticationData remoteRepl = userData.getRemoteWithNoReplicationPort().get(server);
 
@@ -1760,14 +1759,14 @@
 
     Set<SuffixDescriptor> suffixes = userData.getSuffixesToReplicateOptions().getSuffixes();
     AuthenticationData authData = userData.getReplicationOptions().getAuthenticationData();
-    String ldapURL = ConnectionUtils.getLDAPUrl(authData.getHostPort(), authData.useSecureConnection());
+    HostPort hostPort = authData.getHostPort();
 
     suffixLoop:
     for (SuffixDescriptor suffix : suffixes)
     {
       for (ReplicaDescriptor replica : suffix.getReplicas())
       {
-        if (ldapURL.equalsIgnoreCase(replica.getServer().getAdminConnectorURL()))
+        if (hostPort.equals(replica.getServer().getAdminConnectorHostPort()))
         {
           // This is the server we're configuring
           Set<DN> baseDNs = hm.get(replica.getServer());
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
index fcc8542..07063dd 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/dsreplication/ReplicationCliMain.java
@@ -7698,12 +7698,12 @@
     HostPort hostPort = null;
     for (PreferredConnection connection : cnx)
     {
-      String url = connection.getLDAPURL();
-      if (url.equals(server.getLDAPURL()))
+      HostPort hp = connection.getHostPort();
+      if (hp.equals(server.getLdapHostPort()))
       {
         hostPort = server.getHostPort(false);
       }
-      else if (url.equals(server.getLDAPsURL()))
+      else if (hp.equals(server.getLdapsHostPort()))
       {
         hostPort = server.getHostPort(true);
       }

--
Gitblit v1.10.0