From 6197694d7a07265b2693158cffe91e3afb977b81 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 08 Jun 2016 18:25:47 +0000
Subject: [PATCH] Code cleanup

---
 opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java |  153 +++++++++++++++------------------------------------
 1 files changed, 45 insertions(+), 108 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java
index d30f891..6e64c22 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/LDAPConnection.java
@@ -15,6 +15,7 @@
  * Portions Copyright 2013-2016 ForgeRock AS.
  */
 package org.opends.server.tools;
+
 import java.io.IOException;
 import java.io.PrintStream;
 import java.net.ConnectException;
@@ -26,32 +27,32 @@
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
+import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.controls.AuthorizationIdentityResponseControl;
+import org.opends.server.controls.ControlDecoder;
 import org.opends.server.controls.PasswordExpiringControl;
 import org.opends.server.controls.PasswordPolicyErrorType;
 import org.opends.server.controls.PasswordPolicyResponseControl;
 import org.opends.server.controls.PasswordPolicyWarningType;
 import org.opends.server.loggers.JDKLogging;
-import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.opends.server.protocols.ldap.ExtendedRequestProtocolOp;
 import org.opends.server.protocols.ldap.ExtendedResponseProtocolOp;
 import org.opends.server.protocols.ldap.LDAPControl;
 import org.opends.server.protocols.ldap.LDAPMessage;
 import org.opends.server.protocols.ldap.UnbindRequestProtocolOp;
-import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.types.Control;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.types.LDAPException;
 
 import com.forgerock.opendj.cli.ClientException;
+
 import static org.opends.messages.CoreMessages.*;
 import static org.opends.messages.ToolMessages.*;
 import static org.opends.server.protocols.ldap.LDAPResultCode.*;
 import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
-
-
 /**
  * This class provides a tool that can be used to issue search requests to the
  * Directory Server.
@@ -121,7 +122,7 @@
   public void connectToHost(String bindDN, String bindPassword)
          throws LDAPConnectionException
   {
-    connectToHost(bindDN, bindPassword, new AtomicInteger(1));
+    connectToHost(bindDN, bindPassword, new AtomicInteger(1), 0);
   }
 
   /**
@@ -180,7 +181,6 @@
       JDKLogging.disableLogging();
     }
 
-
     if(connectionOptions.useStartTLS())
     {
       try
@@ -208,18 +208,17 @@
       try
       {
         ldapWriter.writeMessage(msg);
-
-        // Read the response from the server.
         msg = ldapReader.readMessage();
-      }catch (LDAPException ex1)
+      }
+      catch (LDAPException e)
       {
-        logger.traceException(ex1);
-        throw new LDAPConnectionException(LocalizableMessage.raw(ex1.getMessage()), ex1
-            .getResultCode(), null, ex1);
-      } catch (Exception ex1)
+        logger.traceException(e);
+        throw new LDAPConnectionException(e.getMessageObject(), e.getResultCode(), null, e);
+      }
+      catch (Exception e)
       {
-        logger.traceException(ex1);
-        throw new LDAPConnectionException(LocalizableMessage.raw(ex1.getMessage()), ex1);
+        logger.traceException(e);
+        throw new LDAPConnectionException(LocalizableMessage.raw(e.getMessage()), e);
       }
       ExtendedResponseProtocolOp res = msg.getExtendedResponseProtocolOp();
       resultCode = res.getResultCode();
@@ -271,7 +270,6 @@
     {
       requestControls.add(new LDAPControl(OID_AUTHZID_REQUEST));
     }
-
     if (connectionOptions.usePasswordPolicyControl())
     {
       requestControls.add(new LDAPControl(OID_PASSWORD_POLICY_CONTROL));
@@ -281,25 +279,8 @@
          ldapReader, ldapWriter, hostName, nextMessageID);
     try
     {
-      ByteString bindDNBytes;
-      if(bindDN == null)
-      {
-        bindDNBytes = ByteString.empty();
-      }
-      else
-      {
-        bindDNBytes = ByteString.valueOfUtf8(bindDN);
-      }
-
-      ByteString bindPW;
-      if (bindPassword == null)
-      {
-        bindPW =  null;
-      }
-      else
-      {
-        bindPW = ByteString.valueOfUtf8(bindPassword);
-      }
+      ByteString bindDNBytes = bindDN != null ? ByteString.valueOfUtf8(bindDN) : ByteString.empty();
+      ByteString bindPW = bindPassword != null ? ByteString.valueOfUtf8(bindPassword) : null;
 
       String result = null;
       if (connectionOptions.useSASLExternal())
@@ -310,15 +291,16 @@
       }
       else if (connectionOptions.getSASLMechanism() != null)
       {
-            result = handler.doSASLBind(bindDNBytes, bindPW,
-            connectionOptions.getSASLMechanism(),
-            connectionOptions.getSASLProperties(),
-            requestControls, responseControls);
+        result = handler.doSASLBind(bindDNBytes,
+                                    bindPW,
+                                    connectionOptions.getSASLMechanism(),
+                                    connectionOptions.getSASLProperties(),
+                                    requestControls, responseControls);
       }
       else if(bindDN != null)
       {
-              result = handler.doSimpleBind(versionNumber, bindDNBytes, bindPW,
-              requestControls, responseControls);
+        result = handler.doSimpleBind(versionNumber, bindDNBytes, bindPW,
+                                      requestControls, responseControls);
       }
       if(result != null)
       {
@@ -329,63 +311,22 @@
       {
         if (c.getOID().equals(OID_AUTHZID_RESPONSE))
         {
-          AuthorizationIdentityResponseControl control;
-          if (c instanceof LDAPControl)
-          {
-            // We have to decode this control.
-            control = AuthorizationIdentityResponseControl.DECODER.decode(c
-                .isCritical(), ((LDAPControl) c).getValue());
-          }
-          else
-          {
-            // Control should already have been decoded.
-            control = (AuthorizationIdentityResponseControl)c;
-          }
-
-          LocalizableMessage message =
-              INFO_BIND_AUTHZID_RETURNED.get(
-                  control.getAuthorizationID());
-          out.println(message);
+          AuthorizationIdentityResponseControl control = decode(c, AuthorizationIdentityResponseControl.DECODER);
+          out.println(INFO_BIND_AUTHZID_RETURNED.get(control.getAuthorizationID()));
         }
         else if (c.getOID().equals(OID_NS_PASSWORD_EXPIRED))
         {
-          LocalizableMessage message = INFO_BIND_PASSWORD_EXPIRED.get();
-          out.println(message);
+          out.println(INFO_BIND_PASSWORD_EXPIRED.get());
         }
         else if (c.getOID().equals(OID_NS_PASSWORD_EXPIRING))
         {
-          PasswordExpiringControl control;
-          if(c instanceof LDAPControl)
-          {
-            // We have to decode this control.
-            control = PasswordExpiringControl.DECODER.decode(c.isCritical(),
-                ((LDAPControl) c).getValue());
-          }
-          else
-          {
-            // Control should already have been decoded.
-            control = (PasswordExpiringControl)c;
-          }
-          LocalizableMessage timeString =
-               secondsToTimeString(control.getSecondsUntilExpiration());
-
-
-          LocalizableMessage message = INFO_BIND_PASSWORD_EXPIRING.get(timeString);
-          out.println(message);
+          PasswordExpiringControl control = decode(c, PasswordExpiringControl.DECODER);
+          LocalizableMessage timeString = secondsToTimeString(control.getSecondsUntilExpiration());
+          out.println(INFO_BIND_PASSWORD_EXPIRING.get(timeString));
         }
         else if (c.getOID().equals(OID_PASSWORD_POLICY_CONTROL))
         {
-          PasswordPolicyResponseControl pwPolicyControl;
-          if(c instanceof LDAPControl)
-          {
-            pwPolicyControl = PasswordPolicyResponseControl.DECODER.decode(c
-                .isCritical(), ((LDAPControl) c).getValue());
-          }
-          else
-          {
-            pwPolicyControl = (PasswordPolicyResponseControl)c;
-          }
-
+          PasswordPolicyResponseControl pwPolicyControl = decode(c, PasswordPolicyResponseControl.DECODER);
 
           PasswordPolicyErrorType errorType = pwPolicyControl.getErrorType();
           if (errorType != null)
@@ -393,19 +334,13 @@
             switch (errorType)
             {
               case PASSWORD_EXPIRED:
-
-                LocalizableMessage message = INFO_BIND_PASSWORD_EXPIRED.get();
-                out.println(message);
+                out.println(INFO_BIND_PASSWORD_EXPIRED.get());
                 break;
               case ACCOUNT_LOCKED:
-
-                message = INFO_BIND_ACCOUNT_LOCKED.get();
-                out.println(message);
+                out.println(INFO_BIND_ACCOUNT_LOCKED.get());
                 break;
               case CHANGE_AFTER_RESET:
-
-                message = INFO_BIND_MUST_CHANGE_PASSWORD.get();
-                out.println(message);
+                out.println(INFO_BIND_MUST_CHANGE_PASSWORD.get());
                 break;
             }
           }
@@ -419,16 +354,10 @@
               case TIME_BEFORE_EXPIRATION:
                 LocalizableMessage timeString =
                      secondsToTimeString(pwPolicyControl.getWarningValue());
-
-
-                LocalizableMessage message = INFO_BIND_PASSWORD_EXPIRING.get(timeString);
-                out.println(message);
+                out.println(INFO_BIND_PASSWORD_EXPIRING.get(timeString));
                 break;
               case GRACE_LOGINS_REMAINING:
-
-                message = INFO_BIND_GRACE_LOGINS_REMAINING.get(
-                        pwPolicyControl.getWarningValue());
-                out.println(message);
+                out.println(INFO_BIND_GRACE_LOGINS_REMAINING.get(pwPolicyControl.getWarningValue()));
                 break;
             }
           }
@@ -470,7 +399,17 @@
         }
       }
     }
+  }
 
+  private <T extends Control> T decode(Control c, ControlDecoder<T> decoder) throws DirectoryException
+  {
+    if (c instanceof LDAPControl)
+    {
+      // We have to decode this control.
+      return decoder.decode(c.isCritical(), ((LDAPControl) c).getValue());
+    }
+    // Control should already have been decoded.
+    return (T) c;
   }
 
   /**
@@ -680,6 +619,4 @@
   {
     return ldapReader;
   }
-
 }
-

--
Gitblit v1.10.0