From 14f94c13789b8ace4eae258b5f1d64494518f9c3 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 21 Dec 2015 14:04:12 +0000
Subject: [PATCH] Remove null checks on returned values of Entry.get*Attribute*() methods.

---
 opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java |  115 +++++++++++++++++++++++++++------------------------------
 1 files changed, 55 insertions(+), 60 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java b/opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java
index f370b8a..5bab56f 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/api/AuthenticationPolicy.java
@@ -75,69 +75,64 @@
     // First check to see if the ds-pwp-password-policy-dn is present.
     String userDNString = userEntry.getName().toString();
     AttributeType type = DirectoryServer.getAttributeTypeOrDefault(OP_ATTR_PWPOLICY_POLICY_DN);
-    List<Attribute> attrList = userEntry.getAttribute(type);
-
-    if (attrList != null)
+    for (Attribute a : userEntry.getAttribute(type))
     {
-      for (Attribute a : attrList)
+      if (a.isEmpty())
       {
-        if (a.isEmpty())
-        {
-          continue;
-        }
-
-        ByteString v = a.iterator().next();
-        DN subentryDN;
-        try
-        {
-          subentryDN = DN.decode(v);
-        }
-        catch (Exception e)
-        {
-          logger.traceException(e);
-
-          logger.trace("Could not parse password policy subentry DN %s for user %s",
-              v, userDNString, e);
-
-          if (useDefaultOnError)
-          {
-            logger.error(ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN,
-                v, userDNString, e.getMessage());
-            return DirectoryServer.getDefaultPasswordPolicy();
-          }
-          else
-          {
-            LocalizableMessage message = ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN
-                .get(v, userDNString, e.getMessage());
-            throw new DirectoryException(ResultCode.INVALID_DN_SYNTAX, message, e);
-          }
-        }
-
-        AuthenticationPolicy policy = DirectoryServer
-            .getAuthenticationPolicy(subentryDN);
-        if (policy == null)
-        {
-          logger.trace("Password policy subentry %s for user %s is not defined in the Directory Server.",
-                  subentryDN, userDNString);
-
-          LocalizableMessage message = ERR_PWPSTATE_NO_SUCH_POLICY.get(userDNString, subentryDN);
-          if (useDefaultOnError)
-          {
-            logger.error(message);
-            return DirectoryServer.getDefaultPasswordPolicy();
-          }
-          else
-          {
-            throw new DirectoryException(
-                DirectoryServer.getServerErrorResultCode(), message);
-          }
-        }
-
-        logger.trace("Using password policy subentry %s for user %s.",
-              subentryDN, userDNString);
-
-        return policy;
+        continue;
       }
+
+      ByteString v = a.iterator().next();
+      DN subentryDN;
+      try
+      {
+        subentryDN = DN.decode(v);
+      }
+      catch (Exception e)
+      {
+        logger.traceException(e);
+
+        logger.trace("Could not parse password policy subentry DN %s for user %s",
+            v, userDNString, e);
+
+        if (useDefaultOnError)
+        {
+          logger.error(ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN,
+              v, userDNString, e.getMessage());
+          return DirectoryServer.getDefaultPasswordPolicy();
+        }
+        else
+        {
+          LocalizableMessage message = ERR_PWPSTATE_CANNOT_DECODE_SUBENTRY_VALUE_AS_DN
+              .get(v, userDNString, e.getMessage());
+          throw new DirectoryException(ResultCode.INVALID_DN_SYNTAX, message, e);
+        }
+      }
+
+      AuthenticationPolicy policy = DirectoryServer
+          .getAuthenticationPolicy(subentryDN);
+      if (policy == null)
+      {
+        logger.trace("Password policy subentry %s for user %s is not defined in the Directory Server.",
+                subentryDN, userDNString);
+
+        LocalizableMessage message = ERR_PWPSTATE_NO_SUCH_POLICY.get(userDNString, subentryDN);
+        if (useDefaultOnError)
+        {
+          logger.error(message);
+          return DirectoryServer.getDefaultPasswordPolicy();
+        }
+        else
+        {
+          throw new DirectoryException(
+              DirectoryServer.getServerErrorResultCode(), message);
+        }
+      }
+
+      logger.trace("Using password policy subentry %s for user %s.",
+            subentryDN, userDNString);
+
+      return policy;
     }
 
     // The ds-pwp-password-policy-dn attribute was not present, so instead

--
Gitblit v1.10.0