From a90890af51b755a0a6862a32306b1a979d5a9612 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 11 Mar 2014 13:42:19 +0000
Subject: [PATCH] OPENDJ-1368 (CR-3157) Remove AttributeValue
---
opendj3-server-dev/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java b/opendj3-server-dev/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java
index d39a25b..79cbd59 100644
--- a/opendj3-server-dev/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java
+++ b/opendj3-server-dev/src/server/org/opends/server/extensions/EntryUUIDVirtualAttributeProvider.java
@@ -35,11 +35,15 @@
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ConditionResult;
+import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.admin.std.server.EntryUUIDVirtualAttributeCfg;
+import org.opends.server.api.MatchingRule;
import org.opends.server.api.VirtualAttributeProvider;
import org.opends.server.core.SearchOperation;
-import org.opends.server.types.*;
-import org.forgerock.opendj.ldap.ResultCode;
+import org.opends.server.types.AttributeValue;
+import org.opends.server.types.AttributeValues;
+import org.opends.server.types.Entry;
+import org.opends.server.types.VirtualAttributeRule;
import static org.opends.messages.ExtensionMessages.*;
import static org.opends.server.util.StaticUtils.*;
@@ -102,19 +106,20 @@
public boolean hasValue(Entry entry, VirtualAttributeRule rule,
AttributeValue value)
{
+ MatchingRule matchingRule =
+ rule.getAttributeType().getEqualityMatchingRule();
try
{
String normalizedDN = entry.getName().toNormalizedString();
String uuidString =
UUID.nameUUIDFromBytes(getBytes(normalizedDN)).toString();
- String normalizedValue = value.getNormalizedValue().toString();
- return uuidString.equals(normalizedValue);
+ ByteString normValue = matchingRule.normalizeAttributeValue(value.getValue());
+ return uuidString.equals(normValue.toString());
}
catch (Exception e)
{
logger.traceException(e);
-
return false;
}
}
--
Gitblit v1.10.0