From ca669ae54f86dbeea277280690584d9f591c7571 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 18 Feb 2015 07:26:26 +0000
Subject: [PATCH] AutoRefactor: collapse if statements

---
 opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java |   87 +++++++++++++++++--------------------------
 1 files changed, 35 insertions(+), 52 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
index d00b9a7..a04f4e7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/authorization/dseecompat/TargetAttr.java
@@ -26,12 +26,13 @@
  */
 package org.opends.server.authorization.dseecompat;
 
-import org.forgerock.i18n.LocalizableMessage;
-
 import static org.opends.messages.AccessControlMessages.*;
 import static org.opends.server.authorization.dseecompat.Aci.*;
+
 import java.util.HashSet;
 import java.util.regex.Pattern;
+
+import org.forgerock.i18n.LocalizableMessage;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.AttributeType;
 
@@ -85,34 +86,24 @@
     throws AciException {
         this.operator = operator;
         if (attrString != null) {
-            if (Pattern.matches(ALL_USER_ATTRS_WILD_CARD, attrString) )
+            if (Pattern.matches(ALL_USER_ATTRS_WILD_CARD, attrString)) {
                 allUserAttributes = true ;
-            else  if (Pattern.matches(ALL_OP_ATTRS_WILD_CARD, attrString) )
+            } else if (Pattern.matches(ALL_OP_ATTRS_WILD_CARD, attrString)) {
                 allOpAttributes = true ;
-            else {
-                if (Pattern.matches(ZERO_OR_MORE_WHITESPACE, attrString)){
-                    allUserAttributes = false;
-                    allOpAttributes=false;
-                } else {
-                    if (Pattern.matches(attrListRegex, attrString)) {
-                        // Remove the spaces in the attr string and
-                        // split the list.
-                        Pattern separatorPattern =
-                            Pattern.compile(LOGICAL_OR);
-                        attrString=
-                         attrString.replaceAll(ZERO_OR_MORE_WHITESPACE, "");
-                        String[] attributeArray=
-                             separatorPattern.split(attrString);
-                        //Add each element of array to appropriate HashSet
-                        //after conversion to AttributeType.
-                        arrayToAttributeTypes(attributeArray, attrString);
-                    } else {
-                      LocalizableMessage message =
-                          WARN_ACI_SYNTAX_INVALID_TARGETATTRKEYWORD_EXPRESSION.
-                            get(attrString);
-                      throw new AciException(message);
-                    }
-                }
+            } else if (Pattern.matches(ZERO_OR_MORE_WHITESPACE, attrString)) {
+                allUserAttributes = false;
+                allOpAttributes = false;
+            } else if (Pattern.matches(attrListRegex, attrString)) {
+                // Remove the spaces in the attr string and
+                // split the list.
+                Pattern separatorPattern = Pattern.compile(LOGICAL_OR);
+                attrString = attrString.replaceAll(ZERO_OR_MORE_WHITESPACE, "");
+                String[] attributeArray = separatorPattern.split(attrString);
+                // Add each element of array to appropriate HashSet
+                // after conversion to AttributeType.
+                arrayToAttributeTypes(attributeArray, attrString);
+            } else {
+                throw new AciException(WARN_ACI_SYNTAX_INVALID_TARGETATTRKEYWORD_EXPRESSION.get(attrString));
             }
         }
     }
@@ -131,8 +122,8 @@
      */
     private void arrayToAttributeTypes(String[] attributeArray, String attrStr)
             throws AciException {
-        for (int i=0, n=attributeArray.length; i < n; i++) {
-            String attribute=attributeArray[i].toLowerCase();
+        for (String attr : attributeArray) {
+            String attribute = attr.toLowerCase();
             if(attribute.equals("*")) {
                 if(!allUserAttributes)
                     allUserAttributes=true;
@@ -266,30 +257,22 @@
      * @param targetAttr The targetAttr to apply to the attribute type.
      * @return True if the attribute type is applicable to the targetAttr.
      */
-      private static
-      boolean evalAttrType(AttributeType a, TargetAttr targetAttr) {
-        boolean ret=false;
+    private static boolean evalAttrType(AttributeType a, TargetAttr targetAttr) {
+        final EnumTargetOperator op = targetAttr.getOperator();
         if(a.isOperational()) {
-          if(targetAttr.isAllOpAttributes() ||
-                  targetAttr.opAttributes.contains(a))
-            ret=true;
-          if(targetAttr.isAllOpAttributes() ||
-             !targetAttr.opAttributes.isEmpty()) {
-            if(targetAttr.getOperator().
-                    equals(EnumTargetOperator.NOT_EQUALITY))
-              ret=!ret;
-          }
+            return evalAttrType(a, targetAttr.isAllOpAttributes(), targetAttr.opAttributes, op);
         } else {
-          if(targetAttr.isAllUserAttributes() ||
-                  targetAttr.attributes.contains(a))
-            ret=true;
-          if(targetAttr.isAllUserAttributes() ||
-                  !targetAttr.attributes.isEmpty()) {
-            if(targetAttr.getOperator().
-                    equals(EnumTargetOperator.NOT_EQUALITY))
-              ret=!ret;
-          }
+            return evalAttrType(a, targetAttr.isAllUserAttributes(), targetAttr.attributes, op);
         }
-      return ret;
       }
+
+    private static boolean evalAttrType(AttributeType attrType, boolean allAttrs,
+            HashSet<AttributeType> attrs, EnumTargetOperator op) {
+        boolean ret = allAttrs || attrs.contains(attrType);
+        if (op.equals(EnumTargetOperator.NOT_EQUALITY))
+        {
+          return !ret;
+        }
+        return ret;
+    }
   }

--
Gitblit v1.10.0