From 2d7aad2c25507ea427980b54848c26594c607ae2 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 20 Feb 2014 11:20:22 +0000
Subject: [PATCH] OPENDJ-1308 Migrate schema support
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java | 24 ++++++++++++++++++++----
1 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
index a8d1b8b..74fa3e3 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/VerifyJob.java
@@ -32,7 +32,10 @@
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ConditionResult;
+import org.forgerock.opendj.ldap.DecodeException;
+import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.api.ApproximateMatchingRule;
+import org.opends.server.api.MatchingRule;
import org.opends.server.api.OrderingMatchingRule;
import org.opends.server.core.DirectoryServer;
import org.opends.server.types.*;
@@ -1767,8 +1770,7 @@
OrderingMatchingRule orderingRule =
attr.getAttributeType().getOrderingMatchingRule();
- normalizedBytes =
- orderingRule.normalizeAttributeValue(value.getValue()).toByteArray();
+ normalizedBytes = normalizeAttributeValue(orderingRule, value);
DatabaseEntry key = new DatabaseEntry(normalizedBytes);
try
@@ -1810,8 +1812,7 @@
ApproximateMatchingRule approximateRule =
attr.getAttributeType().getApproximateMatchingRule();
- normalizedBytes =
- approximateRule.normalizeAttributeValue(value.getValue()).toByteArray();
+ normalizedBytes = normalizeAttributeValue(approximateRule, value);
DatabaseEntry key = new DatabaseEntry(normalizedBytes);
try
@@ -1851,6 +1852,21 @@
}
}
+ private byte[] normalizeAttributeValue(MatchingRule matchingRule,
+ AttributeValue value) throws DirectoryException
+ {
+ try
+ {
+ return matchingRule.normalizeAttributeValue(value.getValue())
+ .toByteArray();
+ }
+ catch (DecodeException e)
+ {
+ throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX,
+ e.getMessageObject(), e);
+ }
+ }
+
/**
* Get the parent DN of a given DN.
*
--
Gitblit v1.10.0