From 7498fb6c84105230f0ec3d52956e4f740004abde Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 06 Nov 2014 16:20:35 +0000
Subject: [PATCH] OPENDJ-1591 Switch to SDK matching rules

---
 /dev/null                                                                            |   57 -------------------
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java     |    5 -
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/OrderingIndexer.java    |   15 +---
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/ApproximateIndexer.java |   15 +---
 opendj3-server-dev/src/server/org/opends/server/api/ExtensibleMatchingRule.java      |    5 -
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java   |   15 +---
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/EqualityIndexer.java    |   15 +---
 7 files changed, 20 insertions(+), 107 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleIndexer.java b/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleIndexer.java
deleted file mode 100644
index aeabefc..0000000
--- a/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleIndexer.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
- *
- * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
- * or http://forgerock.org/license/CDDLv1.0.html.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at legal-notices/CDDLv1_0.txt.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information:
- *      Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- *
- *
- *      Copyright 2009 Sun Microsystems, Inc.
- *      Portions Copyright 2014 ForgeRock AS
- */
-package org.opends.server.api;
-
-import org.forgerock.opendj.ldap.spi.Indexer;
-
-/**
- * This class is registered with a Backend and it provides call- backs
- * for indexing attribute values. An index implementation will use
- * this interface to create the keys for an attribute value.
- */
-@org.opends.server.types.PublicAPI(
-    stability = org.opends.server.types.StabilityLevel.VOLATILE,
-    mayInstantiate = false,
-    mayExtend = true,
-    mayInvoke = false)
-public abstract class ExtensibleIndexer implements Indexer
-{
-
-  /**
-   * Returns an index identifier associated with this indexer. An
-   * identifier should be selected based on the matching rule type. A
-   * unique identifier will map to a unique index database in the
-   * backend implementation. If multiple matching rules need to share
-   * the index database, the corresponding indexers should always use
-   * the same identifier.
-   *
-   * @return index ID A String containing the ID associated with this
-   *         indexer.
-   */
-  public abstract String getExtensibleIndexID();
-
-}
\ No newline at end of file
diff --git a/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleMatchingRule.java b/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleMatchingRule.java
index 881553c..c273c34 100644
--- a/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleMatchingRule.java
+++ b/opendj3-server-dev/src/server/org/opends/server/api/ExtensibleMatchingRule.java
@@ -31,6 +31,7 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.DecodeException;
 import org.forgerock.opendj.ldap.spi.IndexQueryFactory;
+import org.forgerock.opendj.ldap.spi.Indexer;
 
 /**
  * This interface defines the set of methods that must be
@@ -51,9 +52,7 @@
    * @return The collection of extensible indexers associated with this matching
    *         rule.
    */
-  Collection<ExtensibleIndexer> getIndexers();
-
-
+  Collection<Indexer> getIndexers();
 
   /**
    * Returns an index query appropriate for the provided attribute
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/ApproximateIndexer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/ApproximateIndexer.java
index 3ff0c74..290f353 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/ApproximateIndexer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/ApproximateIndexer.java
@@ -31,16 +31,16 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DecodeException;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.spi.IndexingOptions;
-import org.opends.server.api.ExtensibleIndexer;
 import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.opendj.ldap.schema.Schema;
+import org.forgerock.opendj.ldap.spi.Indexer;
+import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.types.AttributeType;
 
 /**
  * An implementation of an Indexer for attribute approximate matching.
  */
-public class ApproximateIndexer extends ExtensibleIndexer
+public class ApproximateIndexer implements Indexer
 {
 
   /**
@@ -68,13 +68,6 @@
 
   /** {@inheritDoc} */
   @Override
-  public String getExtensibleIndexID()
-  {
-    throw new RuntimeException("Code is not implemented");
-  }
-
-  /** {@inheritDoc} */
-  @Override
   public void createKeys(Schema schema, ByteSequence value,
       IndexingOptions options, Collection<ByteString> keys)
       throws DecodeException
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java
index efa2663..978f519 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/AttributeIndex.java
@@ -44,7 +44,6 @@
 import org.opends.server.admin.server.ConfigurationChangeListener;
 import org.opends.server.admin.std.meta.LocalDBIndexCfgDefn.IndexType;
 import org.opends.server.admin.std.server.LocalDBIndexCfg;
-import org.opends.server.api.ExtensibleIndexer;
 import org.forgerock.opendj.ldap.schema.MatchingRule;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.monitors.DatabaseEnvironmentMonitor;
@@ -1094,7 +1093,7 @@
   }
 
   private void applyChangeToIndex(LocalDBIndexCfg cfg, AttributeType attrType,
-      String name, IndexType indexType, ExtensibleIndexer indexer,
+      String name, IndexType indexType, org.forgerock.opendj.ldap.spi.Indexer indexer,
       AtomicBoolean adminActionRequired, ArrayList<LocalizableMessage> messages)
   {
     final int indexEntryLimit = cfg.getIndexEntryLimit();
@@ -1142,7 +1141,7 @@
   }
 
   private Index openNewIndex(String name, AttributeType attrType,
-      int indexEntryLimit, ExtensibleIndexer indexer,
+      int indexEntryLimit, org.forgerock.opendj.ldap.spi.Indexer indexer,
       AtomicBoolean adminActionRequired, ArrayList<LocalizableMessage> messages)
   {
     final String indexName = name + "." + indexer.getIndexID();
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EqualityIndexer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EqualityIndexer.java
index 47e35b4..42923aa 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EqualityIndexer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/EqualityIndexer.java
@@ -31,16 +31,16 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DecodeException;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.spi.IndexingOptions;
-import org.opends.server.api.ExtensibleIndexer;
 import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.opendj.ldap.schema.Schema;
+import org.forgerock.opendj.ldap.spi.Indexer;
+import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.types.AttributeType;
 
 /**
  * An implementation of an Indexer for attribute equality.
  */
-public class EqualityIndexer extends ExtensibleIndexer
+public class EqualityIndexer implements Indexer
 {
 
   /**
@@ -68,13 +68,6 @@
 
   /** {@inheritDoc} */
   @Override
-  public String getExtensibleIndexID()
-  {
-    throw new RuntimeException("Code is not implemented");
-  }
-
-  /** {@inheritDoc} */
-  @Override
   public void createKeys(Schema schema, ByteSequence value,
       IndexingOptions options, Collection<ByteString> keys)
       throws DecodeException
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/OrderingIndexer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/OrderingIndexer.java
index 6924963..1545729 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/OrderingIndexer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/OrderingIndexer.java
@@ -31,16 +31,16 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DecodeException;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.spi.IndexingOptions;
-import org.opends.server.api.ExtensibleIndexer;
 import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.opendj.ldap.schema.Schema;
+import org.forgerock.opendj.ldap.spi.Indexer;
+import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.types.AttributeType;
 
 /**
  * An implementation of an Indexer for attribute ordering.
  */
-public class OrderingIndexer extends ExtensibleIndexer
+public class OrderingIndexer implements Indexer
 {
 
   /**
@@ -69,13 +69,6 @@
 
   /** {@inheritDoc} */
   @Override
-  public String getExtensibleIndexID()
-  {
-    throw new RuntimeException("Code is not implemented");
-  }
-
-  /** {@inheritDoc} */
-  @Override
   public void createKeys(Schema schema, ByteSequence value,
       IndexingOptions options, Collection<ByteString> keys)
       throws DecodeException
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java
index 4a73674..99b119d 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/SubstringIndexer.java
@@ -31,16 +31,16 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DecodeException;
-import org.forgerock.opendj.ldap.schema.Schema;
-import org.forgerock.opendj.ldap.spi.IndexingOptions;
-import org.opends.server.api.ExtensibleIndexer;
 import org.forgerock.opendj.ldap.schema.MatchingRule;
+import org.forgerock.opendj.ldap.schema.Schema;
+import org.forgerock.opendj.ldap.spi.Indexer;
+import org.forgerock.opendj.ldap.spi.IndexingOptions;
 import org.opends.server.types.AttributeType;
 
 /**
  * An implementation of an Indexer for attribute substrings.
  */
-public class SubstringIndexer extends ExtensibleIndexer
+public class SubstringIndexer implements Indexer
 {
 
   private final MatchingRule substringRule;
@@ -65,13 +65,6 @@
 
   /** {@inheritDoc} */
   @Override
-  public String getExtensibleIndexID()
-  {
-    throw new RuntimeException("Code is not implemented");
-  }
-
-  /** {@inheritDoc} */
-  @Override
   public void createKeys(Schema schema, ByteSequence value,
       IndexingOptions options, Collection<ByteString> keys)
       throws DecodeException

--
Gitblit v1.10.0