From 96496d387a8987e0669ac8e1d71f80be0f03f3f1 Mon Sep 17 00:00:00 2001
From: Ludovic Poitou <ludovic.poitou@forgerock.com>
Date: Thu, 10 May 2012 22:05:16 +0000
Subject: [PATCH] Fix OPENDJ-493: Error message when parsing Integer attribute with invalid value is incorrect. Fixed error message, added unit tests for IntegerSyntax, fixed typo in comment.
---
opends/src/server/org/opends/server/schema/IntegerSyntax.java | 44 ++++++++++++++++++++++++++------------------
1 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/opends/src/server/org/opends/server/schema/IntegerSyntax.java b/opends/src/server/org/opends/server/schema/IntegerSyntax.java
index ffe0877..462ac49 100644
--- a/opends/src/server/org/opends/server/schema/IntegerSyntax.java
+++ b/opends/src/server/org/opends/server/schema/IntegerSyntax.java
@@ -23,6 +23,7 @@
*
*
* Copyright 2006-2008 Sun Microsystems, Inc.
+ * Portions Copyright 2012 ForgeRock AS
*/
package org.opends.server.schema;
import org.opends.messages.Message;
@@ -76,6 +77,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public Integer decode(AttributeValue value) throws DirectoryException
{
ByteString nvalue = value.getNormalizedValue();
@@ -111,6 +113,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void initializeSyntax(AttributeSyntaxCfg configuration)
throws ConfigException
{
@@ -146,6 +149,7 @@
*
* @return The common name for this attribute syntax.
*/
+ @Override
public String getSyntaxName()
{
return SYNTAX_INTEGER_NAME;
@@ -158,6 +162,7 @@
*
* @return The OID for this attribute syntax.
*/
+ @Override
public String getOID()
{
return SYNTAX_INTEGER_OID;
@@ -170,6 +175,7 @@
*
* @return A description for this attribute syntax.
*/
+ @Override
public String getDescription()
{
return SYNTAX_INTEGER_DESCRIPTION;
@@ -185,6 +191,7 @@
* attributes with this syntax, or <CODE>null</CODE> if equality
* matches will not be allowed for this type by default.
*/
+ @Override
public EqualityMatchingRule getEqualityMatchingRule()
{
return defaultEqualityMatchingRule;
@@ -200,6 +207,7 @@
* attributes with this syntax, or <CODE>null</CODE> if ordering
* matches will not be allowed for this type by default.
*/
+ @Override
public OrderingMatchingRule getOrderingMatchingRule()
{
return defaultOrderingMatchingRule;
@@ -215,6 +223,7 @@
* attributes with this syntax, or <CODE>null</CODE> if substring
* matches will not be allowed for this type by default.
*/
+ @Override
public SubstringMatchingRule getSubstringMatchingRule()
{
return defaultSubstringMatchingRule;
@@ -230,6 +239,7 @@
* attributes with this syntax, or <CODE>null</CODE> if approximate
* matches will not be allowed for this type by default.
*/
+ @Override
public ApproximateMatchingRule getApproximateMatchingRule()
{
// There is no approximate matching rule by default.
@@ -250,6 +260,7 @@
* @return <CODE>true</CODE> if the provided value is acceptable for use with
* this syntax, or <CODE>false</CODE> if not.
*/
+ @Override
public boolean valueIsAcceptable(ByteSequence value,
MessageBuilder invalidReason)
{
@@ -278,13 +289,12 @@
case '9':
return true;
case '-':
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_DASH_NEEDS_VALUE.get(
- valueString));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_DASH_NEEDS_VALUE
+ .get(valueString));
return false;
default:
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER.get(
- valueString,
- valueString.charAt(0), 0));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER
+ .get(valueString, valueString.charAt(0), 0));
return false;
}
}
@@ -295,8 +305,8 @@
switch (valueString.charAt(0))
{
case '0':
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INITIAL_ZERO.get(
- valueString));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INITIAL_ZERO
+ .get(valueString));
return false;
case '1':
case '2':
@@ -314,9 +324,8 @@
negative = true;
break;
default:
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER.get(
- valueString,
- valueString.charAt(0), 0));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER
+ .get(valueString, valueString.charAt(0), 0));
return false;
}
@@ -326,8 +335,8 @@
// This is fine as long as the value isn't negative.
if (negative)
{
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INITIAL_ZERO.get(
- valueString));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INITIAL_ZERO
+ .get(valueString));
return false;
}
break;
@@ -343,9 +352,8 @@
// These are all fine.
break;
default:
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER.get(
- valueString,
- valueString.charAt(0), 0));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER
+ .get(valueString, valueString.charAt(1), 1));
return false;
}
@@ -366,9 +374,8 @@
// These are all fine.
break;
default:
- invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER.get(
- valueString,
- valueString.charAt(0), 0));
+ invalidReason.append(WARN_ATTR_SYNTAX_INTEGER_INVALID_CHARACTER
+ .get(valueString, valueString.charAt(i), i));
return false;
}
}
@@ -382,6 +389,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public boolean isBinary()
{
return false;
--
Gitblit v1.10.0