From b0a00d248d3f6ae91627490e7a177d9ad5184331 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 16 Feb 2015 15:59:49 +0000
Subject: [PATCH] AutoRefactor: booleans

---
 opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java |   63 ++++++++++++-------------------
 1 files changed, 24 insertions(+), 39 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java b/opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java
index ed7e8a5..3efaf73 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/extensions/StaticGroup.java
@@ -61,7 +61,6 @@
 import org.opends.server.types.MemberList;
 import org.opends.server.types.MembershipException;
 import org.opends.server.types.Modification;
-import org.opends.server.types.ObjectClass;
 import org.opends.server.types.SearchFilter;
 
 import static org.opends.messages.ExtensionMessages.*;
@@ -153,18 +152,18 @@
     // Determine whether it is a groupOfNames, groupOfEntries or
     // groupOfUniqueNames entry.  If not, then that's a problem.
     AttributeType someMemberAttributeType;
-    ObjectClass groupOfEntriesClass = DirectoryConfig.getObjectClass(OC_GROUP_OF_ENTRIES_LC, true);
-    ObjectClass groupOfNamesClass = DirectoryConfig.getObjectClass(OC_GROUP_OF_NAMES_LC, true);
-    ObjectClass groupOfUniqueNamesClass = DirectoryConfig.getObjectClass(OC_GROUP_OF_UNIQUE_NAMES_LC, true);
-    if (groupEntry.hasObjectClass(groupOfEntriesClass))
+    boolean hasGroupOfEntriesClass = hasObjectClass(groupEntry, OC_GROUP_OF_ENTRIES_LC);
+    boolean hasGroupOfNamesClass = hasObjectClass(groupEntry, OC_GROUP_OF_NAMES_LC);
+    boolean hasGroupOfUniqueNamesClass = hasObjectClass(groupEntry, OC_GROUP_OF_UNIQUE_NAMES_LC);
+    if (hasGroupOfEntriesClass)
     {
-      if (groupEntry.hasObjectClass(groupOfNamesClass))
+      if (hasGroupOfNamesClass)
       {
         LocalizableMessage message = ERR_STATICGROUP_INVALID_OC_COMBINATION.get(
             groupEntry.getName(), OC_GROUP_OF_ENTRIES, OC_GROUP_OF_NAMES);
         throw new DirectoryException(ResultCode.OBJECTCLASS_VIOLATION, message);
       }
-      else if (groupEntry.hasObjectClass(groupOfUniqueNamesClass))
+      else if (hasGroupOfUniqueNamesClass)
       {
         LocalizableMessage message = ERR_STATICGROUP_INVALID_OC_COMBINATION.get(
             groupEntry.getName(), OC_GROUP_OF_ENTRIES, OC_GROUP_OF_UNIQUE_NAMES);
@@ -173,9 +172,9 @@
 
       someMemberAttributeType = DirectoryConfig.getAttributeType(ATTR_MEMBER, true);
     }
-    else if (groupEntry.hasObjectClass(groupOfNamesClass))
+    else if (hasGroupOfNamesClass)
     {
-      if (groupEntry.hasObjectClass(groupOfUniqueNamesClass))
+      if (hasGroupOfUniqueNamesClass)
       {
         LocalizableMessage message = ERR_STATICGROUP_INVALID_OC_COMBINATION.get(
             groupEntry.getName(), OC_GROUP_OF_NAMES, OC_GROUP_OF_UNIQUE_NAMES);
@@ -184,7 +183,7 @@
 
       someMemberAttributeType = DirectoryConfig.getAttributeType(ATTR_MEMBER, true);
     }
-    else if (groupEntry.hasObjectClass(groupOfUniqueNamesClass))
+    else if (hasGroupOfUniqueNamesClass)
     {
       someMemberAttributeType = DirectoryConfig.getAttributeType(ATTR_UNIQUE_MEMBER_LC, true);
     }
@@ -247,48 +246,34 @@
     ifNull(entry);
 
     // FIXME -- This needs to exclude enhanced groups once we have support for them.
-    ObjectClass virtualStaticGroupClass =
-         DirectoryConfig.getObjectClass(OC_VIRTUAL_STATIC_GROUP, true);
-    if (entry.hasObjectClass(virtualStaticGroupClass))
+    if (hasObjectClass(entry, OC_VIRTUAL_STATIC_GROUP))
     {
       return false;
     }
 
-    ObjectClass groupOfEntriesClass =
-         DirectoryConfig.getObjectClass(OC_GROUP_OF_ENTRIES_LC, true);
-    ObjectClass groupOfNamesClass =
-         DirectoryConfig.getObjectClass(OC_GROUP_OF_NAMES_LC, true);
-    ObjectClass groupOfUniqueNamesClass =
-         DirectoryConfig.getObjectClass(OC_GROUP_OF_UNIQUE_NAMES_LC, true);
-    if (entry.hasObjectClass(groupOfEntriesClass))
+    boolean hasGroupOfEntriesClass = hasObjectClass(entry, OC_GROUP_OF_ENTRIES_LC);
+    boolean hasGroupOfNamesClass = hasObjectClass(entry, OC_GROUP_OF_NAMES_LC);
+    boolean hasGroupOfUniqueNamesClass = hasObjectClass(entry, OC_GROUP_OF_UNIQUE_NAMES_LC);
+    if (hasGroupOfEntriesClass)
     {
-      if (entry.hasObjectClass(groupOfNamesClass) ||
-          entry.hasObjectClass(groupOfUniqueNamesClass))
-      {
-        return false;
-      }
-
-      return true;
+      return !hasGroupOfNamesClass
+          && !hasGroupOfUniqueNamesClass;
     }
-    else if (entry.hasObjectClass(groupOfNamesClass))
+    else if (hasGroupOfNamesClass)
     {
-      if (entry.hasObjectClass(groupOfUniqueNamesClass))
-      {
-        return false;
-      }
-
-      return true;
-    }
-    else if (entry.hasObjectClass(groupOfUniqueNamesClass))
-    {
-      return true;
+      return !hasGroupOfUniqueNamesClass;
     }
     else
     {
-      return false;
+      return hasGroupOfUniqueNamesClass;
     }
   }
 
+  private boolean hasObjectClass(Entry entry, String ocName)
+  {
+    return entry.hasObjectClass(DirectoryConfig.getObjectClass(ocName, true));
+  }
+
   /** {@inheritDoc} */
   @Override
   public DN getGroupDN()

--
Gitblit v1.10.0