From 22094368c2865dcfb6daf8366425212b721a4657 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 05 Feb 2009 17:42:14 +0000
Subject: [PATCH] Merge ASN1 branch to trunk

---
 opends/src/server/org/opends/server/admin/AdministrationDataSync.java |  126 +++++++++++++++++++++++------------------
 1 files changed, 70 insertions(+), 56 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/AdministrationDataSync.java b/opends/src/server/org/opends/server/admin/AdministrationDataSync.java
index 7664712..c2225a3 100644
--- a/opends/src/server/org/opends/server/admin/AdministrationDataSync.java
+++ b/opends/src/server/org/opends/server/admin/AdministrationDataSync.java
@@ -27,12 +27,12 @@
 package org.opends.server.admin;
 
 
+
 import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
 
 import org.opends.server.core.DirectoryServer;
-import org.opends.server.protocols.asn1.ASN1OctetString;
 import org.opends.server.protocols.internal.InternalClientConnection;
 import org.opends.server.protocols.internal.InternalSearchOperation;
 import org.opends.server.protocols.ldap.LDAPFilter;
@@ -40,6 +40,7 @@
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.Attributes;
+import org.opends.server.types.ByteString;
 import org.opends.server.types.DN;
 import org.opends.server.types.DereferencePolicy;
 import org.opends.server.types.DirectoryException;
@@ -52,10 +53,11 @@
 import org.opends.server.types.SearchScope;
 
 
+
 /**
  * Check if information found in "cn=admin data" is coherent with
- * cn=config. If and inconsistancy is detected, we log a warning message
- * and update "cn=admin data"
+ * cn=config. If and inconsistency is detected, we log a warning
+ * message and update "cn=admin data"
  */
 public final class AdministrationDataSync
 {
@@ -66,25 +68,31 @@
   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 syncrhonize configuration and the
+   * admin data.
    *
-   * @param internalConnection The root connection.
+   * @param internalConnection
+   *          The root connection.
    */
   public AdministrationDataSync(InternalClientConnection internalConnection)
   {
-    this.internalConnection = internalConnection ;
+    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 message
-   * and update "cn=admin data"
+   * cn=config. If and inconsistancy is detected, we log a warning
+   * message and update "cn=admin data"
    */
   public void synchronize()
   {
@@ -92,9 +100,11 @@
     checkAdminConnector();
   }
 
+
+
   /**
-   * Check if the admin connector is in sync. The desynchronization could
-   * occurs after the upgrade from 1.0.
+   * Check if the admin connector is in sync. The desynchronization
+   * could occurs after the upgrade from 1.0.
    */
   private void checkAdminConnector()
   {
@@ -107,25 +117,25 @@
     }
 
     // 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 ;
+      return;
     }
 
     LinkedList<Modification> mods = new LinkedList<Modification>();
     // adminport
     String attName = "adminport";
-    AttributeType attrType =
-    DirectoryServer.getAttributeType(attName.toLowerCase());
+    AttributeType attrType = DirectoryServer.getAttributeType(attName
+        .toLowerCase());
     if (attrType == null)
     {
       attrType = DirectoryServer.getDefaultAttributeType(attName.toLowerCase());
     }
-    mods.add(new Modification(ModificationType.REPLACE, Attributes
-        .create(attrType, adminPort)));
+    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(
+        attrType, adminPort)));
 
     // adminEnabled
     attName = "adminEnabled";
@@ -134,16 +144,18 @@
     {
       attrType = DirectoryServer.getDefaultAttributeType(attName.toLowerCase());
     }
-    mods.add(new Modification(ModificationType.REPLACE, Attributes
-        .create(attrType, "true")));
+    mods.add(new Modification(ModificationType.REPLACE, Attributes.create(
+        attrType, "true")));
 
     // Process modification
-    internalConnection.processModify(serverEntryDN,mods);
+    internalConnection.processModify(serverEntryDN, mods);
   }
 
+
+
   /**
-   * Look for the DN of the local register server.
-   * Assumption: default Connection Handler naming is used.
+   * Look for the DN of the local register server. Assumption: default
+   * Connection Handler naming is used.
    *
    * @return The DN of the local register server or null.
    */
@@ -152,16 +164,16 @@
     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");
@@ -169,7 +181,7 @@
     if ((ldapPort == null) && (ldapsPort == null))
     {
       // best effort (see assumption)
-      return null ;
+      return null;
     }
 
     // Get the IP address of the local host.
@@ -180,7 +192,7 @@
     }
     catch (Throwable t)
     {
-     // best effort.
+      // best effort.
       return null;
     }
 
@@ -198,7 +210,7 @@
           SearchScope.SINGLE_LEVEL, "objectclass=*");
       if (op.getResultCode() == ResultCode.SUCCESS)
       {
-        Entry entry =  null;
+        Entry entry = null;
         for (Entry currentEntry : op.getSearchEntries())
         {
           String currentHostname = currentEntry.getAttributeValue(hostnameType,
@@ -211,8 +223,8 @@
             {
               // Check if one of the port match
               attrName = "ldapport";
-              AttributeType portType =
-                DirectoryServer.getAttributeType(attrName);
+              AttributeType portType = DirectoryServer
+                  .getAttributeType(attrName);
               if (portType == null)
               {
                 portType = DirectoryServer.getDefaultAttributeType(attrName);
@@ -221,8 +233,8 @@
                   DirectoryStringSyntax.DECODER);
               if (currentport.equals(ldapPort))
               {
-                entry = currentEntry ;
-                break ;
+                entry = currentEntry;
+                break;
               }
               if (ldapsPortEnable)
               {
@@ -242,7 +254,7 @@
               }
             }
           }
-          catch(Exception e)
+          catch (Exception e)
           {
             // best effort.
             continue;
@@ -255,7 +267,8 @@
         }
       }
 
-    } catch (DirectoryException e)
+    }
+    catch (DirectoryException e)
     {
       // never happens because the filter is always valid.
       return null;
@@ -263,17 +276,21 @@
     return returnDN;
   }
 
+
+
   /**
-   * get an attribute from and entry.
-   * @param DN the DN of the entry.
-   * @param attrName the attribute name.
-   * @return The Administration connector port.
+   * Gets an attribute value from an entry.
+   *
+   * @param DN
+   *          The DN of the entry.
+   * @param attrName
+   *          The attribute name.
+   * @return The attribute value or {@code null} if the value could
+   *         not be retrieved.
    */
   private String getAttr(String baseDN, String attrName)
   {
-    String value = null  ;
-    //
-    // prepare the ldap search
+    // Prepare the ldap search
     LDAPFilter filter;
     try
     {
@@ -287,14 +304,11 @@
       return null;
     }
 
-    ASN1OctetString asn1BaseDn = new ASN1OctetString(baseDN);
     LinkedHashSet<String> attributes = new LinkedHashSet<String>(1);
     attributes.add(attrName);
     InternalSearchOperation search = internalConnection.processSearch(
-        asn1BaseDn,
-        SearchScope.BASE_OBJECT,
-        DereferencePolicy.DEREF_ALWAYS, 0, 0, false,
-        filter,attributes);
+        ByteString.valueOf(baseDN), SearchScope.BASE_OBJECT,
+        DereferencePolicy.DEREF_ALWAYS, 0, 0, false, filter, attributes);
 
     if ((search.getResultCode() != ResultCode.SUCCESS))
     {
@@ -305,6 +319,7 @@
     }
 
     SearchResultEntry adminConnectorEntry = null;
+
     /*
      * Read the port from the PORT attribute
      */
@@ -331,8 +346,7 @@
     }
 
     // Get the attribute value
-    value = attrs.get(0).iterator().next().getStringValue();
-    return value;
+    return attrs.get(0).iterator().next().toString();
   }
 
 }

--
Gitblit v1.10.0