From b6f56ad982efe9bdf5fb89bce8c3294435b0af8c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 23 Oct 2014 14:00:36 +0000
Subject: [PATCH] Big code cleanup of ReplicationCliMain

---
 opendj3-server-dev/src/ads/org/opends/admin/ads/TopologyCache.java |   95 ++++++++++++++++++++++++++---------------------
 1 files changed, 52 insertions(+), 43 deletions(-)

diff --git a/opendj3-server-dev/src/ads/org/opends/admin/ads/TopologyCache.java b/opendj3-server-dev/src/ads/org/opends/admin/ads/TopologyCache.java
index e7784c7..b651e40 100644
--- a/opendj3-server-dev/src/ads/org/opends/admin/ads/TopologyCache.java
+++ b/opendj3-server-dev/src/ads/org/opends/admin/ads/TopologyCache.java
@@ -26,11 +26,6 @@
  */
 package org.opends.admin.ads;
 
-import static org.opends.messages.QuickSetupMessages
-    .INFO_ERROR_READING_CONFIG_LDAP_CERTIFICATE_SERVER;
-import static org.opends.messages.QuickSetupMessages
-    .INFO_NOT_GLOBAL_ADMINISTRATOR_PROVIDED;
-
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashMap;
@@ -58,6 +53,8 @@
 import org.opends.admin.ads.util.ServerLoader;
 import org.opends.quicksetup.util.Utils;
 
+import static org.opends.messages.QuickSetupMessages.*;
+
 /**
  * This class allows to read the configuration of the different servers that are
  * registered in a given ADS server. It provides a read only view of the
@@ -219,17 +216,7 @@
    */
   private void readReplicationMonitoring()
   {
-    Set<ReplicaDescriptor> replicasToUpdate = new HashSet<ReplicaDescriptor>();
-    for (ServerDescriptor server : getServers())
-    {
-      for (ReplicaDescriptor replica : server.getReplicas())
-      {
-        if (replica.isReplicated())
-        {
-          replicasToUpdate.add(replica);
-        }
-      }
-    }
+    Set<ReplicaDescriptor> replicasToUpdate = getReplicasToUpdate();
     for (ServerDescriptor server : getServers())
     {
       if (server.isReplicationServer())
@@ -237,26 +224,10 @@
         // If is replication server, then at least we were able to read the
         // configuration, so assume that we might be able to read monitoring
         // (even if an exception occurred before).
-        Set<ReplicaDescriptor> candidateReplicas =
-            new HashSet<ReplicaDescriptor>();
-        // It contains replication information: analyze it.
-        String repServer = server.getReplicationServerHostPort();
-        for (SuffixDescriptor suffix : getSuffixes())
-        {
-          Set<String> repServers = suffix.getReplicationServers();
-          for (String r : repServers)
-          {
-            if (r.equalsIgnoreCase(repServer))
-            {
-              candidateReplicas.addAll(suffix.getReplicas());
-              break;
-            }
-          }
-        }
+        Set<ReplicaDescriptor> candidateReplicas = getCandidateReplicas(server);
         if (!candidateReplicas.isEmpty())
         {
-          Set<ReplicaDescriptor> updatedReplicas =
-              new HashSet<ReplicaDescriptor>();
+          Set<ReplicaDescriptor> updatedReplicas = new HashSet<ReplicaDescriptor>();
           try
           {
             updateReplicas(server, candidateReplicas, updatedReplicas);
@@ -277,6 +248,49 @@
     }
   }
 
+  private Set<ReplicaDescriptor> getReplicasToUpdate()
+  {
+    Set<ReplicaDescriptor> replicasToUpdate = new HashSet<ReplicaDescriptor>();
+    for (ServerDescriptor server : getServers())
+    {
+      for (ReplicaDescriptor replica : server.getReplicas())
+      {
+        if (replica.isReplicated())
+        {
+          replicasToUpdate.add(replica);
+        }
+      }
+    }
+    return replicasToUpdate;
+  }
+
+  private Set<ReplicaDescriptor> getCandidateReplicas(ServerDescriptor server)
+  {
+    Set<ReplicaDescriptor> candidateReplicas = new HashSet<ReplicaDescriptor>();
+    // It contains replication information: analyze it.
+    String repServer = server.getReplicationServerHostPort();
+    for (SuffixDescriptor suffix : getSuffixes())
+    {
+      if (containsIgnoreCase(suffix.getReplicationServers(), repServer))
+      {
+        candidateReplicas.addAll(suffix.getReplicas());
+      }
+    }
+    return candidateReplicas;
+  }
+
+  private boolean containsIgnoreCase(Set<String> col, String toFind)
+  {
+    for (String s : col)
+    {
+      if (s.equalsIgnoreCase(toFind))
+      {
+        return true;
+      }
+    }
+    return false;
+  }
+
   /**
    * Sets the list of LDAP URLs and connection type that are preferred to be
    * used to connect to the servers. When we have a server to which we can
@@ -310,9 +324,7 @@
    */
   public Set<ServerDescriptor> getServers()
   {
-    HashSet<ServerDescriptor> copy = new HashSet<ServerDescriptor>();
-    copy.addAll(servers);
-    return copy;
+    return new HashSet<ServerDescriptor>(servers);
   }
 
   /**
@@ -324,9 +336,7 @@
    */
   public Set<SuffixDescriptor> getSuffixes()
   {
-    HashSet<SuffixDescriptor> copy = new HashSet<SuffixDescriptor>();
-    copy.addAll(suffixes);
-    return copy;
+    return new HashSet<SuffixDescriptor>(suffixes);
   }
 
   /**
@@ -431,8 +441,7 @@
 
           break;
         case GENERIC_CREATING_CONNECTION:
-          if ((e.getCause() != null)
-              && Utils.isCertificateException(e.getCause()))
+          if (Utils.isCertificateException(e.getCause()))
           {
             exceptionMsgs.add(
                 INFO_ERROR_READING_CONFIG_LDAP_CERTIFICATE_SERVER.get(
@@ -532,7 +541,7 @@
             {
               try
               {
-                replica.setMissingChanges(new Integer(s));
+                replica.setMissingChanges(Integer.valueOf(s));
               }
               catch (Throwable t)
               {

--
Gitblit v1.10.0