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/UUIDOrderingMatchingRule.java | 62 +++++++++++--------------------
1 files changed, 22 insertions(+), 40 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/schema/UUIDOrderingMatchingRule.java b/opendj3-server-dev/src/server/org/opends/server/schema/UUIDOrderingMatchingRule.java
index 44d2c13..182a325 100644
--- a/opendj3-server-dev/src/server/org/opends/server/schema/UUIDOrderingMatchingRule.java
+++ b/opendj3-server-dev/src/server/org/opends/server/schema/UUIDOrderingMatchingRule.java
@@ -35,11 +35,10 @@
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.AbstractMatchingRule;
import org.opends.server.api.OrderingMatchingRule;
import org.opends.server.core.DirectoryServer;
-import org.opends.server.types.DirectoryException;
-import org.forgerock.opendj.ldap.ResultCode;
import org.opends.server.util.StaticUtils;
import static org.opends.messages.SchemaMessages.*;
@@ -138,27 +137,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)
{
- LocalizableMessage message = WARN_ATTR_SYNTAX_UUID_INVALID_LENGTH.get(value, value.length());
- switch (DirectoryServer.getSyntaxEnforcementPolicy())
- {
- case REJECT:
- throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX,
- message);
- case WARN:
- logger.error(message);
- return value.toByteString();
- default:
- return value.toByteString();
- }
+ reportInvalidSyntax(WARN_ATTR_SYNTAX_UUID_INVALID_LENGTH.get(value, value.length()));
+ return value.toByteString();
}
StringBuilder builder = new StringBuilder(36);
@@ -176,18 +165,8 @@
case 23:
if (c != '-')
{
- LocalizableMessage message = WARN_ATTR_SYNTAX_UUID_EXPECTED_DASH.get(value, i, c);
- switch (DirectoryServer.getSyntaxEnforcementPolicy())
- {
- case REJECT:
- throw new DirectoryException(
- ResultCode.INVALID_ATTRIBUTE_SYNTAX, message);
- case WARN:
- logger.error(message);
- return value.toByteString();
- default:
- return value.toByteString();
- }
+ reportInvalidSyntax(WARN_ATTR_SYNTAX_UUID_EXPECTED_DASH.get(value, i, c));
+ return value.toByteString();
}
builder.append(c);
break;
@@ -232,18 +211,8 @@
builder.append('f');
break;
default:
- LocalizableMessage message = WARN_ATTR_SYNTAX_UUID_EXPECTED_HEX.get(value, i, c);
- switch (DirectoryServer.getSyntaxEnforcementPolicy())
- {
- case REJECT:
- throw new DirectoryException(
- ResultCode.INVALID_ATTRIBUTE_SYNTAX, message);
- case WARN:
- logger.error(message);
- return value.toByteString();
- default:
- return value.toByteString();
- }
+ reportInvalidSyntax(WARN_ATTR_SYNTAX_UUID_EXPECTED_HEX.get(value, i, c));
+ return value.toByteString();
}
}
}
@@ -251,6 +220,19 @@
return ByteString.valueOf(builder.toString());
}
+ private void reportInvalidSyntax(LocalizableMessage message)
+ throws DecodeException
+ {
+ switch (DirectoryServer.getSyntaxEnforcementPolicy())
+ {
+ case REJECT:
+ throw DecodeException.error(message);
+ case WARN:
+ logger.error(message);
+ break;
+ }
+ }
+
/**
--
Gitblit v1.10.0