From 570a8fc9d5996cd19861e23363d2adb2b59dfbfd Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 03 Jun 2016 11:52:19 +0000
Subject: [PATCH] OPENDJ-3037 Remove Schema.getSubTypes()
---
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java | 52 +++++++++++++++++++---------------------------------
1 files changed, 19 insertions(+), 33 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
index c2bd410..cac8f8a 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
@@ -45,6 +45,9 @@
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.config.server.ConfigChangeResult;
import org.forgerock.opendj.config.server.ConfigException;
+import org.forgerock.opendj.config.server.ConfigurationAddListener;
+import org.forgerock.opendj.config.server.ConfigurationChangeListener;
+import org.forgerock.opendj.config.server.ConfigurationDeleteListener;
import org.forgerock.opendj.ldap.ByteSequence;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ByteStringBuilder;
@@ -53,14 +56,11 @@
import org.forgerock.opendj.ldap.SearchScope;
import org.forgerock.opendj.ldap.SortKey;
import org.forgerock.opendj.ldap.schema.AttributeType;
-import org.forgerock.util.Pair;
-import org.opends.messages.CoreMessages;
-import org.forgerock.opendj.config.server.ConfigurationAddListener;
-import org.forgerock.opendj.config.server.ConfigurationChangeListener;
-import org.forgerock.opendj.config.server.ConfigurationDeleteListener;
import org.forgerock.opendj.server.config.server.BackendIndexCfg;
import org.forgerock.opendj.server.config.server.BackendVLVIndexCfg;
import org.forgerock.opendj.server.config.server.PluggableBackendCfg;
+import org.forgerock.util.Pair;
+import org.opends.messages.CoreMessages;
import org.opends.server.api.ClientConnection;
import org.opends.server.api.EntryCache;
import org.opends.server.api.VirtualAttributeProvider;
@@ -89,11 +89,11 @@
import org.opends.server.core.ModifyOperation;
import org.opends.server.core.SearchOperation;
import org.opends.server.core.ServerContext;
+import org.opends.server.crypto.CryptoSuite;
import org.opends.server.types.Attribute;
import org.opends.server.types.Attributes;
import org.opends.server.types.CanceledOperationException;
import org.opends.server.types.Control;
-import org.opends.server.crypto.CryptoSuite;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.Entry;
import org.opends.server.types.Modification;
@@ -2229,8 +2229,7 @@
// Process in index configuration order.
for (AttributeIndex index : attrIndexMap.values())
{
- // Check whether any modifications apply to this indexed attribute.
- if (isAttributeModified(index, mods))
+ if (isAttributeModified(index.getAttributeType(), mods))
{
index.modifyEntry(buffer, entryID, oldEntry, newEntry);
}
@@ -2486,31 +2485,6 @@
return null;
}
- /**
- * Checks if any modifications apply to this indexed attribute.
- * @param index the indexed attributes.
- * @param mods the modifications to check for.
- * @return true if any apply, false otherwise.
- */
- private static boolean isAttributeModified(AttributeIndex index, List<Modification> mods)
- {
- AttributeType indexAttributeType = index.getAttributeType();
- List<AttributeType> subTypes =
- DirectoryServer.getSchema().getSubTypes(indexAttributeType);
-
- for (Modification mod : mods)
- {
- Attribute modAttr = mod.getAttribute();
- AttributeType modAttrType = modAttr.getAttributeDescription().getAttributeType();
- if (modAttrType.equals(indexAttributeType)
- || subTypes.contains(modAttrType))
- {
- return true;
- }
- }
- return false;
- }
-
boolean isConfidentialityEnabled()
{
return config.isConfidentialityEnabled();
@@ -2740,4 +2714,16 @@
public String toString() {
return treePrefix;
}
+
+ static boolean isAttributeModified(AttributeType attrType, List<Modification> mods)
+ {
+ for (Modification mod : mods)
+ {
+ if (attrType.isSuperTypeOf(mod.getAttribute().getAttributeDescription().getAttributeType()))
+ {
+ return true;
+ }
+ }
+ return false;
+ }
}
--
Gitblit v1.10.0