From 5203374a1e5dc294088749071cf5350d2f82787d Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Thu, 20 Mar 2014 10:06:11 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1308 Migrate schema support Code Review : CR-3230
---
opendj3-server-dev/src/server/org/opends/server/api/AbstractMatchingRule.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/api/AbstractMatchingRule.java b/opendj3-server-dev/src/server/org/opends/server/api/AbstractMatchingRule.java
index 65ab9fd..5a1605d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/api/AbstractMatchingRule.java
+++ b/opendj3-server-dev/src/server/org/opends/server/api/AbstractMatchingRule.java
@@ -27,6 +27,7 @@
package org.opends.server.api;
import java.util.Collection;
+import java.util.Comparator;
import org.forgerock.opendj.ldap.Assertion;
import org.forgerock.opendj.ldap.ByteSequence;
@@ -35,6 +36,7 @@
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.schema.Schema;
import org.forgerock.opendj.ldap.schema.Syntax;
+import org.forgerock.opendj.ldap.spi.IndexQueryFactory;
/**
* This class provides default implementation of MatchingRule. A
@@ -49,6 +51,24 @@
public abstract class AbstractMatchingRule implements MatchingRule
{
+ private static final Assertion UNDEFINED_ASSERTION = new Assertion()
+ {
+ @Override
+ public ConditionResult matches(final ByteSequence normalizedAttributeValue)
+ {
+ return ConditionResult.UNDEFINED;
+ }
+
+ @Override
+ public <T> T createIndexQuery(IndexQueryFactory<T> factory)
+ throws DecodeException
+ {
+ // Subclassing this class will always work, albeit inefficiently.
+ // This is better than throwing an exception for no good reason.
+ return factory.createMatchAllQuery();
+ }
+ };
+
/**
* {@inheritDoc}
*/
@@ -110,6 +130,24 @@
/** {@inheritDoc} */
@Override
+ public Assertion getGreaterOrEqualAssertion(ByteSequence value)
+ throws DecodeException
+ {
+ return UNDEFINED_ASSERTION;
+ }
+
+
+
+ /** {@inheritDoc} */
+ @Override
+ public Assertion getLessOrEqualAssertion(ByteSequence value)
+ throws DecodeException
+ {
+ return UNDEFINED_ASSERTION;
+ }
+
+ /** {@inheritDoc} */
+ @Override
public boolean isObsolete()
{
return false;
@@ -140,6 +178,23 @@
return ConditionResult.UNDEFINED;
}
+ private static final Comparator<ByteSequence> DEFAULT_COMPARATOR =
+ new Comparator<ByteSequence>()
+ {
+ @Override
+ public int compare(final ByteSequence o1, final ByteSequence o2)
+ {
+ return o1.compareTo(o2);
+ }
+ };
+
+ /** {@inheritDoc} */
+ @Override
+ public Comparator<ByteSequence> comparator()
+ {
+ return DEFAULT_COMPARATOR;
+ }
+
/**
--
Gitblit v1.10.0