From 124e87adb785e30d686400d256699d121cc4e4e6 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 23 Sep 2013 08:17:27 +0000
Subject: [PATCH] OPENDJ-1134 (CR-2338) Introduce a class in replication for encapsulating host+port combinations
---
opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 42 ++++++++++++++++--------------------------
1 files changed, 16 insertions(+), 26 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index 51fcde8..be985b3 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -440,9 +440,6 @@
*/
private void connect(String remoteServerURL, DN baseDN)
{
- int separator = remoteServerURL.lastIndexOf(':');
- String port = remoteServerURL.substring(separator + 1);
- String hostname = remoteServerURL.substring(0, separator);
boolean sslEncryption =replSessionSecurity.isSslEncryption(remoteServerURL);
if (debugEnabled())
@@ -453,11 +450,12 @@
Session session = null;
try
{
- InetSocketAddress ServerAddr = new InetSocketAddress(
- InetAddress.getByName(hostname), Integer.parseInt(port));
+ final HostPort hp = HostPort.valueOf(remoteServerURL);
+ final InetSocketAddress serverAddr = new InetSocketAddress(
+ InetAddress.getByName(hp.getHost()), hp.getPort());
socket.setTcpNoDelay(true);
int timeoutMS = MultimasterReplication.getConnectionTimeoutMS();
- socket.connect(ServerAddr, timeoutMS);
+ socket.connect(serverAddr, timeoutMS);
session = replSessionSecurity.createClientSession(socket, timeoutMS);
ReplicationServerHandler rsHandler = new ReplicationServerHandler(
@@ -1001,11 +999,8 @@
* No need validate the string format because the admin framework has
* already done it.
*/
- final int index = rsUrl.lastIndexOf(":");
- final String hostname = rsUrl.substring(0, index);
- final int port = Integer.parseInt(rsUrl.substring(index + 1));
-
- if (port == replicationPort && isLocalAddress(hostname))
+ final HostPort hp = HostPort.valueOf(rsUrl);
+ if (hp.getPort() == replicationPort && hp.isLocalAddress())
{
serverURL = rsUrl;
return;
@@ -1352,9 +1347,10 @@
try
{
// translate the server name into IP address and keep the port number
- String[] host = rsUrl.split(":");
- serversToDisconnect.add(
- InetAddress.getByName(host[0]).getHostAddress() + ":" + host[1]);
+ final HostPort hp = HostPort.valueOf(rsUrl);
+ final String hostAddress =
+ InetAddress.getByName(hp.getHost()).getHostAddress();
+ serversToDisconnect.add(hostAddress + ":" + hp.getPort());
}
catch (IOException e)
{
@@ -1423,11 +1419,7 @@
*/
public static void onlyForTestsAddlocalReplicationServer(String server)
{
- int separator = server.lastIndexOf(':');
- if (separator == -1)
- return ;
- int port = Integer.parseInt(server.substring(separator + 1));
- localPorts.add(port);
+ localPorts.add(HostPort.valueOf(server).getPort());
}
/**
@@ -1762,23 +1754,21 @@
*/
private String normalizeServerURL(final String url)
{
- final int separator = url.lastIndexOf(':');
- final String portString = url.substring(separator + 1);
- final String hostname = url.substring(0, separator);
+ final HostPort hp = HostPort.valueOf(url);
try
{
- InetAddress inetAddress = InetAddress.getByName(hostname);
- if (isLocalAddress(inetAddress))
+ InetAddress inetAddress = InetAddress.getByName(hp.getHost());
+ if (HostPort.isLocalAddress(inetAddress))
{
inetAddress = getLocalAddress();
}
- return inetAddress.getHostAddress() + ":" + portString;
+ return inetAddress.getHostAddress() + ":" + hp.getPort();
}
catch (UnknownHostException e)
{
// This should not happen, but if it does then just default to the
// original URL.
- Message message = ERR_COULD_NOT_SOLVE_HOSTNAME.get(hostname);
+ Message message = ERR_COULD_NOT_SOLVE_HOSTNAME.get(hp.getHost());
logError(message);
return url;
}
--
Gitblit v1.10.0