mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
06.54.2014 36711c35e961d11d2006960f87c511ce14bf4fbb
OPENDJ-1308 (CR-3138) Migrate schema support


Added the index query factory support code.
This copies little piece of code from OpenDJ server code base, namely JE backend and makes it more abstract so it can be reused.

Ensured file history is kept.



Assertion.java:
Added createIndexQuery(IndexQueryFactory).

IndexQueryFactory.java, Indexer.java, IndexingOptions.java: ADDED


MatchingRuleImpl.java:
Added getIndexer() and isIndexingSupported().

MatchingRule.java:
Added getIndexer().

AbstractMatchingRuleImpl.java:
Added inner class DefaultIndexer.
Implemented createIndexQuery() for inner classes DefaultAssertion, and anonymous inner class UNDEFINED_ASSERTION.
Implemented isIndexingSupported().

AbstractApproximateMatchingRuleImpl.java, AbstractEqualityMatchingRuleImpl.java:
Implemented getIndexer().

AbstractOrderingMatchingRuleImpl.java:
Implemented getIndexer().
Implemented createIndexQuery() for anonymous inner classes.

AbstractSubstringMatchingRuleImpl.java:
Implemented getIndexer().
Implemented createIndexQuery() for inner class DefaultSubstringAssertion.
Added SubstringIndexer inner class.
Added javadocs.


CertificateExactMatchingRuleImpl.java:
Now extends AbstractEqualityMatchingRuleImpl.

EqualLengthApproximateMatchingRuleImpl.java:
Implemented createIndexQuery() for anonymous inner class.

KeywordEqualityMatchingRuleImpl.java
Implemented createIndexQuery() for anonymous inner class.
Implemented getIndexer().


clirr-ignored-api-changes.xml:
Ignored changes due to methods added to interfaces.
4 files modified
10 ■■■■ changed files
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificateExactMatchingRuleImpl.java 1 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java 7 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/Indexer.java 1 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/IndexingOptions.java 1 ●●●● patch | view | raw | blame | history
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/CertificateExactMatchingRuleImpl.java
@@ -23,6 +23,7 @@
 *
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 *      Portions Copyright 2013-2014 Manuel Gaupp
 *      Copyright 2014 ForgeRock AS
 */
package org.forgerock.opendj.ldap.schema;
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/schema/MatchingRule.java
@@ -22,13 +22,11 @@
 *
 *
 *      Copyright 2009-2010 Sun Microsystems, Inc.
 *      Portions copyright 2013 ForgeRock AS.
 *      Portions copyright 2013-2014 ForgeRock AS.
 */
package org.forgerock.opendj.ldap.schema;
import static com.forgerock.opendj.ldap.CoreMessages.ERR_ATTR_SYNTAX_MR_UNKNOWN_SYNTAX1;
import static com.forgerock.opendj.ldap.CoreMessages.WARN_MATCHING_RULE_NOT_IMPLEMENTED1;
import static com.forgerock.opendj.ldap.CoreMessages.*;
import java.util.Arrays;
import java.util.Collection;
@@ -45,7 +43,6 @@
import org.forgerock.opendj.ldap.DecodeException;
import org.forgerock.opendj.ldap.spi.Indexer;
/**
 * This class defines a data structure for storing and interacting with matching
 * rules, which are used by servers to compare attribute values against
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/Indexer.java
@@ -22,6 +22,7 @@
 *
 *
 *      Copyright 2009 Sun Microsystems, Inc.
 *      Portions copyright 2014 ForgeRock AS
 */
package org.forgerock.opendj.ldap.spi;
opendj-sdk/opendj-core/src/main/java/org/forgerock/opendj/ldap/spi/IndexingOptions.java
@@ -38,4 +38,5 @@
     */
    int substringKeySize();
}