From d6b296f5b3549079495ff902803d629dbbcb85b5 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 19 Aug 2016 13:36:19 +0000
Subject: [PATCH] installer, dsreplication, uninstaller: use HostPort
---
opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java | 81 +++++++++++++++-------------------------
1 files changed, 30 insertions(+), 51 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 f214db2..7246116 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
@@ -200,7 +200,7 @@
* on the information we have ("hostname":"replication port") and
* {@code null} if this is not a replication server.
*/
- public String getReplicationServerHostPort()
+ public HostPort getReplicationServerHostPort()
{
return isReplicationServer() ? getReplicationServer(getHostName(), getReplicationServerPort()) : null;
}
@@ -270,7 +270,7 @@
*/
public HostPort getLdapHostPort()
{
- return getHostPort0(ServerProperty.LDAP_ENABLED, ServerProperty.LDAP_PORT, false);
+ return getHostPort(getLdapPort(-1));
}
/**
@@ -280,26 +280,7 @@
*/
public HostPort getLdapsHostPort()
{
- return getHostPort0(ServerProperty.LDAPS_ENABLED, ServerProperty.LDAPS_PORT, true);
- }
-
- private HostPort getHostPort0(ServerProperty enabledProp, ServerProperty portProp, boolean useSSL)
- {
- int port = getPort(enabledProp, portProp);
- if (port != -1)
- {
- return new HostPort(getHostName(), port);
- }
- return null;
- }
-
- private int getPort(ServerProperty enabledProp, ServerProperty portProp)
- {
- if (!serverProperties.isEmpty())
- {
- return getPort(enabledProp, portProp, -1);
- }
- return -1;
+ return getHostPort(getLdapsPort(-1));
}
/**
@@ -309,7 +290,12 @@
*/
public HostPort getAdminConnectorHostPort()
{
- return getHostPort0(ServerProperty.ADMIN_ENABLED, ServerProperty.ADMIN_PORT, true);
+ return getHostPort(getAdminPort(-1));
+ }
+
+ private HostPort getHostPort(final int port)
+ {
+ return port != -1 ? new HostPort(getHostName(), port) : null;
}
/**
@@ -854,16 +840,17 @@
private static void updateReplication(ServerDescriptor desc, ConnectionWrapper conn, TopologyCacheFilter cacheFilter)
throws IOException
{
+ final Map<ServerProperty, Object> serverProps = desc.serverProperties;
+
SearchRequest request = newSearchRequest(
"cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config",
WHOLE_SUBTREE,
"(objectclass=ds-cfg-synchronization-provider)",
"ds-cfg-enabled");
SearchResultEntry sre = conn.getConnection().searchSingleEntry(request);
- Boolean replicationEnabled = asBoolean(sre, "ds-cfg-enabled");
- desc.serverProperties.put(ServerProperty.IS_REPLICATION_ENABLED, replicationEnabled);
+ serverProps.put(ServerProperty.IS_REPLICATION_ENABLED, asBoolean(sre, "ds-cfg-enabled"));
- Set<String> allReplicationServers = new LinkedHashSet<>();
+ Set<HostPort> allReplicationServers = new LinkedHashSet<>();
if (cacheFilter.searchBaseDNInformation())
{
@@ -882,7 +869,7 @@
SearchResultEntry sr = entryReader.readEntry();
int id = asInteger(sr, "ds-cfg-server-id");
- Set<String> replicationServers = asSetOfString(sr, "ds-cfg-replication-server");
+ Set<HostPort> replicationServers = toHostPorts(asSetOfString(sr, "ds-cfg-replication-server"));
Set<DN> dns = asSetOfDN(sr, "ds-cfg-base-dn");
for (DN dn : dns)
{
@@ -891,9 +878,8 @@
if (replica.getSuffix().getDN().equals(dn))
{
replica.setReplicationId(id);
- LinkedHashSet<String> repServers = toLowercase(replicationServers);
- replica.setReplicationServers(repServers);
- allReplicationServers.addAll(repServers);
+ replica.setReplicationServers(replicationServers);
+ allReplicationServers.addAll(replicationServers);
}
}
}
@@ -901,7 +887,7 @@
}
}
- desc.serverProperties.put(ServerProperty.IS_REPLICATION_SERVER, Boolean.FALSE);
+ serverProps.put(ServerProperty.IS_REPLICATION_SERVER, Boolean.FALSE);
request = newSearchRequest(
"cn=Multimaster Synchronization,cn=Synchronization Providers,cn=config",
@@ -917,32 +903,25 @@
{
SearchResultEntry sr = entryReader.readEntry();
- desc.serverProperties.put(ServerProperty.IS_REPLICATION_SERVER, Boolean.TRUE);
- Integer port = asInteger(sr, "ds-cfg-replication-port");
- desc.serverProperties.put(ServerProperty.REPLICATION_SERVER_PORT, port);
- Integer serverId = asInteger(sr, "ds-cfg-replication-server-id");
- desc.serverProperties.put(ServerProperty.REPLICATION_SERVER_ID, serverId);
- LinkedHashSet<String> repServers = toLowercase(asSetOfString(sr, "ds-cfg-replication-server"));
- allReplicationServers.addAll(repServers);
- desc.serverProperties.put(ServerProperty.EXTERNAL_REPLICATION_SERVERS, allReplicationServers);
+ serverProps.put(ServerProperty.IS_REPLICATION_SERVER, Boolean.TRUE);
+ serverProps.put(ServerProperty.REPLICATION_SERVER_PORT, asInteger(sr, "ds-cfg-replication-port"));
+ serverProps.put(ServerProperty.REPLICATION_SERVER_ID, asInteger(sr, "ds-cfg-replication-server-id"));
+ allReplicationServers.addAll(toHostPorts(asSetOfString(sr, "ds-cfg-replication-server")));
+ serverProps.put(ServerProperty.EXTERNAL_REPLICATION_SERVERS, allReplicationServers);
}
}
- Boolean replicationSecure = isReplicationSecure(conn, replicationEnabled);
- desc.serverProperties.put(ServerProperty.IS_REPLICATION_SECURE, replicationSecure);
+ serverProps.put(ServerProperty.IS_REPLICATION_SECURE, isReplicationSecure(conn, asBoolean(sre, "ds-cfg-enabled")));
}
- /**
- * Keep the values of the replication servers in lower case to make use of Sets as String simpler.
- */
- private static LinkedHashSet<String> toLowercase(Set<String> values)
+ private static Set<HostPort> toHostPorts(Set<String> hostPorts)
{
- LinkedHashSet<String> repServers = new LinkedHashSet<>();
- for (String s: values)
+ final LinkedHashSet<HostPort> results = new LinkedHashSet<>();
+ for (String hostPort : hostPorts)
{
- repServers.add(s.toLowerCase());
+ results.add(HostPort.valueOf(hostPort));
}
- return repServers;
+ return results;
}
private static boolean isReplicationSecure(ConnectionWrapper conn, boolean replicationEnabled) throws IOException
@@ -1142,9 +1121,9 @@
* @return the replication server normalized String for a given host name
* and replication port.
*/
- public static String getReplicationServer(String hostName, int replicationPort)
+ public static HostPort getReplicationServer(String hostName, int replicationPort)
{
- return HostPort.toString(hostName, replicationPort);
+ return new HostPort(hostName, replicationPort);
}
/**
--
Gitblit v1.10.0