You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2016/05/28 08:03:12 UTC
svn commit: r1745846 -
/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/entry/Value.java
Author: elecharny
Date: Sat May 28 08:03:11 2016
New Revision: 1745846
URL: http://svn.apache.org/viewvc?rev=1745846&view=rev
Log:
o Added a default Comparator for when we don't have an Equality MathcingRule
o Added a test for a potential NPE
Modified:
directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/entry/Value.java
Modified: directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/entry/Value.java
URL: http://svn.apache.org/viewvc/directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/entry/Value.java?rev=1745846&r1=1745845&r2=1745846&view=diff
==============================================================================
--- directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/entry/Value.java (original)
+++ directory/shared/branches/shared-value/ldap/model/src/main/java/org/apache/directory/api/ldap/model/entry/Value.java Sat May 28 08:03:11 2016
@@ -35,6 +35,7 @@ import org.apache.directory.api.ldap.mod
import org.apache.directory.api.ldap.model.schema.MatchingRule;
import org.apache.directory.api.ldap.model.schema.Normalizer;
import org.apache.directory.api.ldap.model.schema.SyntaxChecker;
+import org.apache.directory.api.ldap.model.schema.comparators.StringComparator;
import org.apache.directory.api.ldap.model.schema.normalizers.NoOpNormalizer;
import org.apache.directory.api.util.Serialize;
import org.apache.directory.api.util.Strings;
@@ -94,6 +95,9 @@ public class Value implements Cloneable,
/** Two flags used to tell if the value is HR or not in serialization */
private boolean isHR = true;
+ /** A default comparator if we don't have an EQUALITY MR */
+ private static StringComparator stringComparator = new StringComparator( null );
+
// -----------------------------------------------------------------------
// Constructors
// -----------------------------------------------------------------------
@@ -167,7 +171,7 @@ public class Value implements Cloneable,
this.attributeType = attributeType;
- if ( !attributeType.isRelaxed() )
+ if ( ( attributeType != null ) && !attributeType.isRelaxed() )
{
// Check the value
SyntaxChecker syntaxChecker = attributeType.getSyntax().getSyntaxChecker();
@@ -1335,7 +1339,8 @@ public class Value implements Cloneable,
if ( other.attributeType.getEquality() == null )
{
- return false;
+ // No equality ? Default to comparing using a String comparator
+ return stringComparator.compare( normValue, other.normValue ) == 0;
}
Normalizer normalizer = other.attributeType.getEquality().getNormalizer();