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/schema/UUIDEqualityMatchingRule.java |   29 +++++++++++++----------------
 1 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/UUIDEqualityMatchingRule.java b/opendj3-server-dev/src/server/org/opends/server/schema/UUIDEqualityMatchingRule.java
index f48db90..b640335 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/UUIDEqualityMatchingRule.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/UUIDEqualityMatchingRule.java
@@ -35,10 +35,9 @@
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
+import org.forgerock.opendj.ldap.DecodeException;
 import org.opends.server.api.EqualityMatchingRule;
 import org.opends.server.core.DirectoryServer;
-import org.opends.server.types.DirectoryException;
-import org.forgerock.opendj.ldap.ResultCode;
 
 import static org.opends.messages.SchemaMessages.*;
 import static org.opends.server.schema.SchemaConstants.*;
@@ -125,17 +124,17 @@
    *
    * @return  The normalized version of the provided value.
    *
-   * @throws  DirectoryException  If the provided value is invalid according to
+   * @throws  DecodeException  If the provided value is invalid according to
    *                              the associated attribute syntax.
    */
   @Override
   public ByteString normalizeAttributeValue(ByteSequence value)
-         throws DirectoryException
+         throws DecodeException
   {
     if (value.length() != 36)
     {
-      return reportInvalidAttrSyntax(value,
-          WARN_ATTR_SYNTAX_UUID_INVALID_LENGTH.get(value, value.length()));
+      reportInvalidSyntax(WARN_ATTR_SYNTAX_UUID_INVALID_LENGTH.get(value, value.length()));
+      return value.toByteString();
     }
 
     StringBuilder builder = new StringBuilder(36);
@@ -153,8 +152,8 @@
         case 23:
           if (c != '-')
           {
-            return reportInvalidAttrSyntax(value,
-                WARN_ATTR_SYNTAX_UUID_EXPECTED_DASH.get(value, i, c));
+            reportInvalidSyntax(WARN_ATTR_SYNTAX_UUID_EXPECTED_DASH.get(value, i, c));
+            return value.toByteString();
           }
           builder.append(c);
           break;
@@ -199,8 +198,8 @@
               builder.append('f');
               break;
             default:
-            return reportInvalidAttrSyntax(value,
-                WARN_ATTR_SYNTAX_UUID_EXPECTED_HEX.get(value, i, value.byteAt(i)));
+            reportInvalidSyntax(WARN_ATTR_SYNTAX_UUID_EXPECTED_HEX.get(value, i, value.byteAt(i)));
+            return value.toByteString();
           }
       }
     }
@@ -208,18 +207,16 @@
     return ByteString.valueOf(builder.toString());
   }
 
-  private ByteString reportInvalidAttrSyntax(ByteSequence value, LocalizableMessage message)
-      throws DirectoryException
+  private void reportInvalidSyntax(LocalizableMessage message)
+      throws DecodeException
   {
     switch (DirectoryServer.getSyntaxEnforcementPolicy())
     {
       case REJECT:
-        throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, message);
+        throw DecodeException.error(message);
       case WARN:
         logger.error(message);
-        return value.toByteString();
-      default:
-        return value.toByteString();
+        break;
     }
   }
 }

--
Gitblit v1.10.0