From a632fbfad0ddbe8b343c6abe8e28dc41e3df9b7e Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 10 Jul 2015 10:16:25 +0000
Subject: [PATCH] Code cleanup

---
 opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java |  171 +++++++++++++++++++++-----------------------------------
 1 files changed, 64 insertions(+), 107 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java b/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
index f7ba80d..d4d405c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/admin/AdministrationDataSync.java
@@ -26,9 +26,11 @@
  */
 package org.opends.server.admin;
 
+import java.net.InetAddress;
 import java.util.LinkedList;
 import java.util.List;
 
+import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.ldap.ModificationType;
 import org.forgerock.opendj.ldap.ResultCode;
 import org.forgerock.opendj.ldap.SearchScope;
@@ -55,23 +57,16 @@
  */
 public final class AdministrationDataSync
 {
+  private static final LocalizedLogger logger = LocalizedLogger.getLoggerForThisClass();
 
-  /**
-   * The root connection.
-   */
+  /** The root connection. */
   private InternalClientConnection internalConnection;
 
-  /**
-   * The attribute name used to store the port. TODO Use the default
-   * one.
-   */
+  /** The attribute name used to store the port. TODO Use the default one. */
   private static final String LDAP_PORT = "ds-cfg-listen-port";
 
-
-
   /**
-   * Create an object that will syncrhonize configuration and the
-   * admin data.
+   * Create an object that will synchronize configuration and the admin data.
    *
    * @param internalConnection
    *          The root connection.
@@ -81,11 +76,9 @@
     this.internalConnection = internalConnection;
   }
 
-
-
   /**
    * Check if information found in "cn=admin data" is coherent with
-   * cn=config. If and inconsistancy is detected, we log a warning
+   * cn=config. If and inconsistency is detected, we log a warning
    * message and update "cn=admin data"
    */
   public void synchronize()
@@ -94,8 +87,6 @@
     checkAdminConnector();
   }
 
-
-
   /**
    * Check if the admin connector is in sync. The desynchronization
    * could occurs after the upgrade from 1.0.
@@ -111,42 +102,24 @@
     }
 
     // Get the admin port
-    String adminPort = getAttr("cn=Administration Connector,cn=config",
-        LDAP_PORT);
+    String adminPort = getAttr("cn=Administration Connector,cn=config", LDAP_PORT);
     if (adminPort == null)
     {
       // best effort.
       return;
     }
 
-    LinkedList<Modification> mods = new LinkedList<>();
-    // adminport
-    String attName = "adminport";
-    AttributeType attrType = DirectoryServer.getAttributeType(attName
-        .toLowerCase());
-    if (attrType == null)
-    {
-      attrType = DirectoryServer.getDefaultAttributeType(attName.toLowerCase());
-    }
-    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(
-        attrType, adminPort)));
+    AttributeType attrType1 = DirectoryServer.getAttributeType("adminport".toLowerCase(), true);
+    AttributeType attrType2 = DirectoryServer.getAttributeType("adminEnabled".toLowerCase(), true);
 
-    // adminEnabled
-    attName = "adminEnabled";
-    attrType = DirectoryServer.getAttributeType(attName.toLowerCase());
-    if (attrType == null)
-    {
-      attrType = DirectoryServer.getDefaultAttributeType(attName.toLowerCase());
-    }
-    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(
-        attrType, "true")));
+    LinkedList<Modification> mods = new LinkedList<>();
+    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(attrType1, adminPort)));
+    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(attrType2, "true")));
 
     // Process modification
     internalConnection.processModify(serverEntryDN, mods);
   }
 
-
-
   /**
    * Look for the DN of the local register server. Assumption: default
    * Connection Handler naming is used.
@@ -158,21 +131,15 @@
     DN returnDN = null;
 
     // Get the LDAP and LDAPS port
-    String ldapPort = getAttr(
-        "cn=LDAP Connection Handler,cn=Connection Handlers,cn=config",
-        LDAP_PORT);
-    String ldapsPort = getAttr(
-        "cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config",
-        LDAP_PORT);
+    String ldapPort = getAttr("cn=LDAP Connection Handler,cn=Connection Handlers,cn=config", LDAP_PORT);
+    String ldapsPort = getAttr("cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config", LDAP_PORT);
     boolean ldapsPortEnable = false;
-    String val = getAttr(
-        "cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config",
-        "ds-cfg-enabled");
+    String val = getAttr("cn=LDAPS Connection Handler,cn=Connection Handlers,cn=config", "ds-cfg-enabled");
     if (val != null)
     {
-      ldapsPortEnable = val.toLowerCase().equals("true");
+      ldapsPortEnable = "true".equals(val.toLowerCase());
     }
-    if ((ldapPort == null) && (ldapsPort == null))
+    if (ldapPort == null && ldapsPort == null)
     {
       // best effort (see assumption)
       return null;
@@ -182,7 +149,7 @@
     String hostName;
     try
     {
-      hostName = java.net.InetAddress.getLocalHost().getCanonicalHostName();
+      hostName = InetAddress.getLocalHost().getCanonicalHostName();
     }
     catch (Throwable t)
     {
@@ -197,50 +164,12 @@
       InternalSearchOperation op = internalConnection.processSearch(request);
       if (op.getResultCode() == ResultCode.SUCCESS)
       {
-        Entry entry = null;
-        for (Entry currentEntry : op.getSearchEntries())
-        {
-          String currentHostname =
-              currentEntry.parseAttribute("hostname").asString();
-          try
-          {
-            String currentIPAddress = java.net.InetAddress.getByName(
-                currentHostname).getCanonicalHostName();
-            if (currentIPAddress.equals(hostName))
-            {
-              // Check if one of the port match
-              String currentport =
-                  currentEntry.parseAttribute("ldapport").asString();
-              if (currentport.equals(ldapPort))
-              {
-                entry = currentEntry;
-                break;
-              }
-              if (ldapsPortEnable)
-              {
-                currentport =
-                    currentEntry.parseAttribute("ldapsport").asString();
-                if (currentport.equals(ldapsPort))
-                {
-                  entry = currentEntry;
-                  break;
-                }
-              }
-            }
-          }
-          catch (Exception e)
-          {
-            // best effort.
-            continue;
-          }
-        }
-
+        Entry entry = findSameHostAndPort(op.getSearchEntries(), hostName, ldapPort, ldapsPortEnable, ldapsPort);
         if (entry != null)
         {
           returnDN = entry.getName();
         }
       }
-
     }
     catch (DirectoryException e)
     {
@@ -250,7 +179,41 @@
     return returnDN;
   }
 
-
+  private Entry findSameHostAndPort(LinkedList<SearchResultEntry> searchResultEntries,
+      String hostName, String ldapPort, boolean ldapsPortEnable, String ldapsPort)
+  {
+    for (Entry currentEntry : searchResultEntries)
+    {
+      String currentHostname = currentEntry.parseAttribute("hostname").asString();
+      try
+      {
+        String currentIPAddress = InetAddress.getByName(currentHostname).getCanonicalHostName();
+        if (currentIPAddress.equals(hostName))
+        {
+          // Check if one of the port match
+          String currentport = currentEntry.parseAttribute("ldapport").asString();
+          if (currentport.equals(ldapPort))
+          {
+            return currentEntry;
+          }
+          if (ldapsPortEnable)
+          {
+            currentport = currentEntry.parseAttribute("ldapsport").asString();
+            if (currentport.equals(ldapsPort))
+            {
+              return currentEntry;
+            }
+          }
+        }
+      }
+      catch (Exception e)
+      {
+        // best effort.
+        continue;
+      }
+    }
+    return null;
+  }
 
   /**
    * Gets an attribute value from an entry.
@@ -282,7 +245,7 @@
     {
       // can not happen
       // best effort.
-      // TODO Log an Error.
+      logger.traceException(e);
       return null;
     }
 
@@ -294,23 +257,17 @@
       adminConnectorEntry = result.getFirst();
     }
 
-    AttributeType attrType = DirectoryServer.getAttributeType(attrName);
-    if (attrType == null)
-    {
-      attrType = DirectoryServer.getDefaultAttributeType(attrName);
-    }
-
+    AttributeType attrType = DirectoryServer.getAttributeType(attrName, true);
     List<Attribute> attrs = adminConnectorEntry.getAttribute(attrType);
-    if (attrs == null)
+    if (attrs != null)
     {
-      // can not happen
-      // best effort.
-      // TODO Log an Error.
-      return null;
+      // Get the attribute value
+      return attrs.get(0).iterator().next().toString();
     }
 
-    // Get the attribute value
-    return attrs.get(0).iterator().next().toString();
+    // can not happen
+    // best effort.
+    // TODO Log an Error.
+    return null;
   }
-
 }

--
Gitblit v1.10.0