From 0647c31d4215dab1df92237753d5fbb5206ac93a Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 19 Aug 2013 14:18:10 +0000
Subject: [PATCH] Code cleanup.
---
opends/src/server/org/opends/server/replication/common/DSInfo.java | 110 ++++++++++-----------
opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java | 81 +++++-----------
opends/src/server/org/opends/server/replication/common/RSInfo.java | 67 ++++++------
3 files changed, 113 insertions(+), 145 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/common/DSInfo.java b/opends/src/server/org/opends/server/replication/common/DSInfo.java
index cf9a760..2340170 100644
--- a/opends/src/server/org/opends/server/replication/common/DSInfo.java
+++ b/opends/src/server/org/opends/server/replication/common/DSInfo.java
@@ -27,46 +27,46 @@
*/
package org.opends.server.replication.common;
-import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* This class holds information about a DS connected to the topology. This
- * information is to be exchanged through the replication protocol in
- * topology messages, to keep every member (RS or DS) of the topology aware of
- * the DS topology.
+ * information is to be exchanged through the replication protocol in topology
+ * messages, to keep every member (RS or DS) of the topology aware of the DS
+ * topology.
+ * <p>
+ * This class is almost immutable, because it does not copy the List and Set
+ * passed into the ctor.
*/
-public class DSInfo
+public final class DSInfo
{
- // DS server id
- private int dsId = -1;
- // DS server url
- private String dsUrl;
- // Server id of the RS the DS is connected to
- private int rsId = -1;
- // DS Generation Id
- private long generationId = -1;
- // DS Status
- private ServerStatus status = ServerStatus.INVALID_STATUS;
- // Assured replication enabled on DS or not
- private boolean assuredFlag = false;
- // DS assured mode (relevant if assured replication enabled)
- private AssuredMode assuredMode = AssuredMode.SAFE_DATA_MODE;
- // DS safe data level (relevant if assured mode is safe data)
- private byte safeDataLevel = (byte) -1;
- // List of referrals URLs exported by the DS
- private List<String> refUrls = new ArrayList<String>(0);
- // Group id
- private byte groupId = (byte) -1;
- // Protocol version
- private short protocolVersion = -1;
+ /** DS server id. */
+ private final int dsId;
+ /** DS server url. */
+ private final String dsUrl;
+ /** Server id of the RS that the DS is connected to. */
+ private final int rsId;
+ /** DS Generation Id. */
+ private final long generationId;
+ /** DS Status. */
+ private final ServerStatus status;
+ /** Assured replication enabled on DS or not. */
+ private final boolean assuredFlag;
+ /** DS assured mode (relevant if assured replication enabled). */
+ private final AssuredMode assuredMode;
+ /** DS safe data level (relevant if assured mode is safe data). */
+ private final byte safeDataLevel;
+ /** List of referrals URLs exported by the DS. */
+ private final List<String> refUrls;
+ /** Group id. */
+ private final byte groupId;
+ /** Protocol version. */
+ private final short protocolVersion;
- private Set<String> eclIncludes = new HashSet<String>();
-
- private Set<String> eclIncludesForDeletes = new HashSet<String>();
+ private final Set<String> eclIncludes;
+ private final Set<String> eclIncludesForDeletes;
@@ -246,34 +246,32 @@
@Override
public boolean equals(Object obj)
{
- if (obj != null)
- {
- if (obj.getClass() != this.getClass())
- {
- return false;
- }
- DSInfo dsInfo = (DSInfo) obj;
- return ((dsId == dsInfo.getDsId()) &&
- (rsId == dsInfo.getRsId()) &&
- (generationId == dsInfo.getGenerationId()) &&
- (status == dsInfo.getStatus()) &&
- (assuredFlag == dsInfo.isAssured()) &&
- (assuredMode == dsInfo.getAssuredMode()) &&
- (safeDataLevel == dsInfo.getSafeDataLevel()) &&
- (groupId == dsInfo.getGroupId()) &&
- (protocolVersion == dsInfo.getProtocolVersion()) &&
- (refUrls.equals(dsInfo.getRefUrls())) &&
- (((eclIncludes == null) && (dsInfo.getEclIncludes() == null)) ||
- ((eclIncludes != null) &&
- (eclIncludes.equals(dsInfo.getEclIncludes())))) &&
- (((eclIncludesForDeletes == null)
- && (dsInfo.getEclIncludesForDeletes() == null)) ||
- ((eclIncludesForDeletes != null) &&
- (eclIncludesForDeletes.equals(dsInfo.getEclIncludesForDeletes())))));
- } else
+ if (obj == null)
{
return false;
}
+ if (obj.getClass() != getClass())
+ {
+ return false;
+ }
+ final DSInfo dsInfo = (DSInfo) obj;
+ return dsId == dsInfo.getDsId()
+ && rsId == dsInfo.getRsId()
+ && generationId == dsInfo.getGenerationId()
+ && status == dsInfo.getStatus()
+ && assuredFlag == dsInfo.isAssured()
+ && assuredMode == dsInfo.getAssuredMode()
+ && safeDataLevel == dsInfo.getSafeDataLevel()
+ && groupId == dsInfo.getGroupId()
+ && protocolVersion == dsInfo.getProtocolVersion()
+ && refUrls.equals(dsInfo.getRefUrls())
+ && equals(eclIncludes, dsInfo.getEclIncludes())
+ && equals(eclIncludesForDeletes, dsInfo.getEclIncludesForDeletes());
+ }
+
+ private boolean equals(Set<String> o1, Set<String> o2)
+ {
+ return (o1 == null && o2 == null) || (o1 != null && o1.equals(o2));
}
/**
diff --git a/opends/src/server/org/opends/server/replication/common/RSInfo.java b/opends/src/server/org/opends/server/replication/common/RSInfo.java
index 0b1980f..43f1979 100644
--- a/opends/src/server/org/opends/server/replication/common/RSInfo.java
+++ b/opends/src/server/org/opends/server/replication/common/RSInfo.java
@@ -23,31 +23,35 @@
*
*
* Copyright 2008-2010 Sun Microsystems, Inc.
- * Portions Copyright 2012 ForgeRock AS
+ * Portions Copyright 2012-2013 ForgeRock AS
*/
package org.opends.server.replication.common;
/**
* This class holds information about a RS connected to the topology. This
- * information is to be exchanged through the replication protocol in
- * topology messages, to keep every member DS of the topology aware of
- * the RS topology.
+ * information is to be exchanged through the replication protocol in topology
+ * messages, to keep every member DS of the topology aware of the RS topology.
+ * <p>
+ * This class is immutable.
*/
-public class RSInfo
+public final class RSInfo
{
- // Server id of the RS
- private int id = -1;
- // Generation Id of the RS
- private long generationId = -1;
- // Group id of the RS
- private byte groupId = (byte) -1;
- // The weight of the RS
- // It is important to keep the default value to 1 so that it is used as
- // default value for a RS using protocol V3: this default value will be used
- // in algorithms that use weight
- private int weight = 1;
- // The server URL of the RS
- private String serverUrl = null;
+ /** Server id of the RS. */
+ private final int id;
+ /** Generation Id of the RS. */
+ private final long generationId;
+ /** Group id of the RS. */
+ private final byte groupId;
+ /**
+ * The weight of the RS.
+ * <p>
+ * It is important to keep the default value to 1 so that it is used as
+ * default value for a RS using protocol V3: this default value will be used
+ * in algorithms that use weight.
+ */
+ private final int weight;
+ /** The server URL of the RS. */
+ private final String serverUrl;
/**
* Creates a new instance of RSInfo with every given info.
@@ -113,24 +117,21 @@
@Override
public boolean equals(Object obj)
{
- if (obj != null)
- {
- if (obj.getClass() != this.getClass())
- {
- return false;
- }
- RSInfo rsInfo = (RSInfo) obj;
- return ((id == rsInfo.getId()) &&
- (generationId == rsInfo.getGenerationId()) &&
- (groupId == rsInfo.getGroupId()) &&
- (weight == rsInfo.getWeight()) &&
- (((serverUrl == null) && (rsInfo.getServerUrl() == null)) ||
- ((serverUrl != null) && (rsInfo.getServerUrl() != null) &&
- (serverUrl.equals(rsInfo.getServerUrl())))));
- } else
+ if (obj == null)
{
return false;
}
+ if (obj.getClass() != getClass())
+ {
+ return false;
+ }
+ final RSInfo rsInfo = (RSInfo) obj;
+ return id == rsInfo.getId()
+ && generationId == rsInfo.getGenerationId()
+ && groupId == rsInfo.getGroupId()
+ && weight == rsInfo.getWeight()
+ && ((serverUrl == null && rsInfo.getServerUrl() == null)
+ || (serverUrl != null && serverUrl.equals(rsInfo.getServerUrl())));
}
/**
diff --git a/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java b/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java
index 815c124..c5a4957 100644
--- a/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/LightweightServerHandler.java
@@ -58,40 +58,19 @@
public class LightweightServerHandler
extends MonitorProvider<MonitorProviderCfg>
{
- // The tracer object for the debug logger.
+ /** The tracer object for the debug logger. */
private static final DebugTracer TRACER = getTracer();
- private ReplicationServerHandler replServerHandler;
- private ReplicationServerDomain rsDomain;
- // The id of the RS this DS is connected to
- private int replicationServerId = -1;
+ private final ReplicationServerHandler replServerHandler;
+ private final ReplicationServerDomain rsDomain;
- // Server id of this DS
- private int serverId = -1;
- // Server URL of this DS
- private String serverUrl = null;
- // Generation id of this DS
- private long generationId = -1;
- // Group id of the DS;
- private byte groupId = (byte) -1;
- // Status of this DS
- private ServerStatus status = ServerStatus.INVALID_STATUS;
- // Referrals URLs this DS is exporting
- private List<String> refUrls = new ArrayList<String>();
- // Assured replication enabled on DS or not
- private boolean assuredFlag = false;
- // DS assured mode (relevant if assured replication enabled)
- private AssuredMode assuredMode = AssuredMode.SAFE_DATA_MODE;
- // DS safe data level (relevant if assured mode is safe data)
- private byte safeDataLevel = (byte) -1;
- // The protocol version
- private short protocolVersion = -1;
-
- private Set<String> eclInclude = new HashSet<String>();
- private Set<String> eclIncludeForDeletes = new HashSet<String>();
+ /** Server id of this DS. */
+ private final int serverId;
+ /** All the information for this DS. */
+ private final DSInfo dsInfo;
/**
- * Creates a new LightweightServerHandler with the provided serverid,
+ * Creates a new LightweightServerHandler with the provided serverId,
* connected to the remote Replication Server represented by
* replServerHandler.
*
@@ -122,23 +101,16 @@
{
this.replServerHandler = replServerHandler;
this.rsDomain = replServerHandler.getDomain();
- this.replicationServerId = replicationServerId;
this.serverId = serverId;
- this.serverUrl = serverUrl;
- this.generationId = generationId;
- this.groupId = groupId;
- this.status = status;
- this.refUrls = refUrls;
- this.assuredFlag = assuredFlag;
- this.assuredMode = assuredMode;
- this.safeDataLevel = safeDataLevel;
- this.eclInclude = eclInclude;
- this.eclIncludeForDeletes = eclIncludeForDeletes;
- this.protocolVersion = protocolVersion;
+
+ this.dsInfo =
+ new DSInfo(serverId, serverUrl, replicationServerId, generationId,
+ status, assuredFlag, assuredMode, safeDataLevel, groupId, refUrls,
+ eclInclude, eclIncludeForDeletes, protocolVersion);
if (debugEnabled())
TRACER.debugInfo("In " + rsDomain.getLocalRSMonitorInstanceName()
- + " LWSH for remote server " + this.serverId + " connected to:"
+ + " LWSH for remote server " + serverId + " connected to:"
+ this.replServerHandler.getMonitorInstanceName() + " ()");
}
@@ -148,9 +120,7 @@
*/
public DSInfo toDSInfo()
{
- return new DSInfo(serverId, serverUrl, replicationServerId, generationId,
- status, assuredFlag, assuredMode, safeDataLevel, groupId, refUrls,
- eclInclude, eclIncludeForDeletes, protocolVersion);
+ return dsInfo;
}
/**
@@ -163,7 +133,7 @@
}
/**
- * Stop this server handler processing.
+ * Start this server handler processing.
*/
public void startHandler()
{
@@ -206,7 +176,8 @@
@Override
public String getMonitorInstanceName()
{
- return "Connected directory server DS(" + serverId + ") " + serverUrl
+ return "Connected directory server DS(" + serverId + ") "
+ + dsInfo.getDsUrl()
+ ",cn=" + replServerHandler.getMonitorInstanceName();
}
@@ -219,14 +190,12 @@
* requested.
*/
@Override
- public ArrayList<Attribute> getMonitorData()
+ public List<Attribute> getMonitorData()
{
- ArrayList<Attribute> attributes = new ArrayList<Attribute>();
+ List<Attribute> attributes = new ArrayList<Attribute>();
- attributes.add(Attributes.create("server-id",
- String.valueOf(serverId)));
- attributes.add(Attributes.create("domain-name",
- rsDomain.getBaseDn()));
+ attributes.add(Attributes.create("server-id", String.valueOf(serverId)));
+ attributes.add(Attributes.create("domain-name", rsDomain.getBaseDn()));
attributes.add(Attributes.create("connected-to",
replServerHandler.getMonitorInstanceName()));
@@ -239,7 +208,7 @@
remoteState = new ServerState();
}
- /* get the Server State */
+ // get the Server State
AttributeBuilder builder = new AttributeBuilder("server-state");
for (String str : remoteState.toStringSet())
{
@@ -252,8 +221,8 @@
attributes.add(builder.toAttribute());
// Oldest missing update
- Long approxFirstMissingDate=md.getApproxFirstMissingDate(serverId);
- if ((approxFirstMissingDate != null) && (approxFirstMissingDate>0))
+ long approxFirstMissingDate = md.getApproxFirstMissingDate(serverId);
+ if (approxFirstMissingDate > 0)
{
Date date = new Date(approxFirstMissingDate);
attributes.add(Attributes.create(
--
Gitblit v1.10.0