From 40a3f7e08618d3fd8c82c74ece9fb9ecdd47dd16 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 14 Jan 2015 20:13:37 +0000
Subject: [PATCH] OPENDJ-1708 Persistit: no rebuild-index support

---
 /dev/null                                                                                                |  295 -------------------------------------------------
 opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java                                   |    4 
 opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java |    3 
 opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java                              |    2 
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java                            |    1 
 opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java                    |    3 
 opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java                                  |    4 
 7 files changed, 10 insertions(+), 302 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/RebuildConfig.java b/opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java
similarity index 99%
rename from opendj3-server-dev/src/server/org/opends/server/backends/jeb/RebuildConfig.java
rename to opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java
index ae1a457..32c29b0 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/RebuildConfig.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/RebuildConfig.java
@@ -24,7 +24,7 @@
  *      Copyright 2006-2009 Sun Microsystems, Inc.
  *      Portions Copyright 2011-2015 ForgeRock AS
  */
-package org.opends.server.backends.jeb;
+package org.opends.server.backends;
 
 import java.util.ArrayList;
 
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
index aaa7c66..65ceb23 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -56,6 +56,7 @@
 import org.opends.server.api.Backend;
 import org.opends.server.api.DiskSpaceMonitorHandler;
 import org.opends.server.api.MonitorProvider;
+import org.opends.server.backends.RebuildConfig;
 import org.opends.server.backends.VerifyConfig;
 import org.opends.server.backends.jeb.importLDIF.Importer;
 import org.opends.server.core.*;
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
index 76edc64..5af96cc 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java
@@ -53,8 +53,9 @@
 import org.opends.server.admin.std.server.LocalDBBackendCfg;
 import org.opends.server.admin.std.server.LocalDBIndexCfg;
 import org.opends.server.api.DiskSpaceMonitorHandler;
+import org.opends.server.backends.RebuildConfig;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
 import org.opends.server.backends.jeb.*;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
 import org.opends.server.backends.jeb.RootContainer;
 import org.opends.server.backends.jeb.VLVIndex;
 import org.opends.server.core.DirectoryServer;
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/RebuildConfig.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/RebuildConfig.java
deleted file mode 100644
index 4b08862..0000000
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/RebuildConfig.java
+++ /dev/null
@@ -1,295 +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 2006-2009 Sun Microsystems, Inc.
- *      Portions Copyright 2011-2014 ForgeRock AS
- */
-package org.opends.server.backends.pluggable;
-
-import org.opends.server.types.DN;
-
-import java.util.ArrayList;
-
-/**
- * Configuration for the indexType rebuild process.
- */
-public class RebuildConfig
-{
-  /**
-   * Identifies how indexes will be selected for rebuild.
-   */
-  public static enum RebuildMode
-  {
-    /**
-     * Rebuild all indexes, including system indexes.
-     */
-    ALL,
-
-    /**
-     * Rebuild all degraded indexes, including system indexes.
-     */
-    DEGRADED,
-
-    /**
-     * Rebuild used defined list of indexes.
-     */
-    USER_DEFINED;
-  }
-
-  /**
-   * The base DN to rebuild.
-   */
-  private DN baseDN;
-
-  /**
-   * The names of indexes to rebuild.
-   */
-  private ArrayList<String> rebuildList;
-
-  private RebuildMode rebuildMode = RebuildMode.USER_DEFINED;
-
-  private String tmpDirectory;
-
-  private boolean isClearDegradedState;
-
-  /**
-   * Create a new rebuild configuration.
-   */
-  public RebuildConfig()
-  {
-    rebuildList = new ArrayList<String>();
-  }
-
-  /**
-   * Get the base DN to rebuild.
-   *
-   * @return The base DN to rebuild.
-   */
-  public DN getBaseDN()
-  {
-    return baseDN;
-  }
-
-  /**
-   * Set the base DN to rebuild.
-   *
-   * @param baseDN
-   *          The base DN to rebuild.
-   */
-  public void setBaseDN(DN baseDN)
-  {
-    this.baseDN = baseDN;
-  }
-
-  /**
-   * Get the list of indexes to rebuild in this configuration.
-   *
-   * @return The list of indexes to rebuild.
-   */
-  public ArrayList<String> getRebuildList()
-  {
-    return rebuildList;
-  }
-
-  /**
-   * Add an index to be rebuilt into the configuration. Duplicate index names
-   * will be ignored. Adding an index that causes a mix of complete and partial
-   * rebuild for the same attribute index in the configuration will remove the
-   * partial and just keep the complete attribute index name. (ie. uid and
-   * uid.presence).
-   *
-   * @param index
-   *          The index to add.
-   */
-  public void addRebuildIndex(String index)
-  {
-    String[] newIndexParts = index.split("\\.");
-
-    for (String s : new ArrayList<String>(rebuildList))
-    {
-      String[] existingIndexParts = s.split("\\.");
-      if (existingIndexParts[0].equalsIgnoreCase(newIndexParts[0]))
-      {
-        if (newIndexParts.length == 1 && existingIndexParts.length == 1)
-        {
-          return;
-        }
-        else if (newIndexParts.length > 1 && existingIndexParts.length == 1)
-        {
-          return;
-        }
-        else if (newIndexParts.length == 1 && existingIndexParts.length > 1)
-        {
-          rebuildList.remove(s);
-        }
-        else if (newIndexParts[1].equalsIgnoreCase(existingIndexParts[1]))
-        {
-          return;
-        }
-      }
-    }
-
-    this.rebuildList.add(index);
-  }
-
-  /**
-   * Check the given config for conflicts with this config. A conflict is
-   * detected if both configs specify the same indexType/database to be rebuilt.
-   *
-   * @param config
-   *          The rebuild config to check against.
-   * @return the name of the indexType causing the conflict or null if no
-   *         conflict is detected.
-   */
-  public String checkConflicts(RebuildConfig config)
-  {
-    //If they specify different base DNs, no conflicts can occur.
-    if (this.baseDN.equals(config.baseDN))
-    {
-      for (String thisIndex : this.rebuildList)
-      {
-        for (String thatIndex : config.rebuildList)
-        {
-          String[] existingIndexParts = thisIndex.split("\\.");
-          String[] newIndexParts = thatIndex.split("\\.");
-          if (existingIndexParts[0].equalsIgnoreCase(newIndexParts[0]))
-          {
-            if (newIndexParts.length == 1 && existingIndexParts.length == 1)
-            {
-              return thatIndex;
-            }
-            else if (newIndexParts.length > 1 && existingIndexParts.length == 1)
-            {
-              return thatIndex;
-            }
-            else if (newIndexParts.length == 1 && existingIndexParts.length > 1)
-            {
-              return thatIndex;
-            }
-            else if (newIndexParts[1].equalsIgnoreCase(existingIndexParts[1]))
-            {
-              return thatIndex;
-            }
-          }
-        }
-      }
-    }
-
-    return null;
-  }
-
-  /**
-   * Test if this rebuild config includes any system indexes to rebuild.
-   *
-   * @return True if rebuilding of system indexes are included. False otherwise.
-   * @throws InitializationException
-   */
-  public boolean includesSystemIndex()
-  {
-    for (String index : rebuildList)
-    {
-      // Removed because the id2entry is not A system indexes is THE
-      // primary system index. It cannot be rebuilt.
-      /*if (index.equalsIgnoreCase("id2entry"))
-      {
-        return true;
-      }*/
-      if (index.equalsIgnoreCase("dn2id"))
-      {
-        return true;
-      }
-      if (index.equalsIgnoreCase("dn2uri"))
-      {
-        return true;
-      }
-    }
-
-    return false;
-  }
-
-  /**
-   * Set the temporary directory to the specified path.
-   *
-   * @param path
-   *          The path to set the temporary directory to.
-   */
-  public void setTmpDirectory(String path)
-  {
-    tmpDirectory = path;
-  }
-
-  /**
-   * Return the temporary directory path.
-   *
-   * @return The temporary directory string.
-   */
-  public String getTmpDirectory()
-  {
-    return tmpDirectory;
-  }
-
-  /**
-   * Sets the rebuild mode.
-   *
-   * @param mode
-   *          The new rebuild mode.
-   */
-  public void setRebuildMode(RebuildMode mode)
-  {
-    rebuildMode = mode;
-  }
-
-  /**
-   * Returns the rebuild mode.
-   *
-   * @return The rebuild mode.
-   */
-  public RebuildMode getRebuildMode()
-  {
-    return rebuildMode;
-  }
-
-  /**
-   * Returns {@code true} if indexes should be forcefully marked as valid even
-   * if they are currently degraded.
-   *
-   * @return {@code true} if index should be forcefully marked as valid.
-   */
-  public boolean isClearDegradedState()
-  {
-    return isClearDegradedState;
-  }
-
-  /**
-   * Sets the 'clear degraded index' status.
-   *
-   * @param isClearDegradedState
-   *          {@code true} if indexes should be forcefully marked as valid even
-   *          if they are currently degraded.
-   */
-  public void isClearDegradedState(boolean isClearDegradedState)
-  {
-    this.isClearDegradedState = isClearDegradedState;
-  }
-
-}
diff --git a/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java b/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java
index eeec27d..ed15fd3 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tasks/RebuildTask.java
@@ -29,11 +29,11 @@
 import org.forgerock.i18n.LocalizableMessage;
 import org.opends.messages.TaskMessages;
 
+import org.opends.server.backends.RebuildConfig;
 import org.opends.server.backends.task.Task;
 import org.opends.server.backends.task.TaskState;
-import org.opends.server.backends.jeb.RebuildConfig;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
 import org.opends.server.backends.jeb.BackendImpl;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.DN;
diff --git a/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java b/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
index 30b0839..79df295 100644
--- a/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
+++ b/opendj3-server-dev/src/server/org/opends/server/tools/RebuildIndex.java
@@ -62,9 +62,9 @@
 import org.opends.server.types.*;
 import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.api.Backend;
+import org.opends.server.backends.RebuildConfig;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
 import org.opends.server.backends.jeb.BackendImpl;
-import org.opends.server.backends.jeb.RebuildConfig;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
 import org.opends.server.admin.std.server.BackendCfg;
 
 import java.io.OutputStream;
diff --git a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java
index ce3c1a0..4f8208f 100644
--- a/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java
+++ b/opendj3-server-dev/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestRebuildJob.java
@@ -29,8 +29,9 @@
 import static org.testng.Assert.*;
 
 import org.opends.server.TestCaseUtils;
+import org.opends.server.backends.RebuildConfig;
 import org.opends.server.backends.VerifyConfig;
-import org.opends.server.backends.jeb.RebuildConfig.RebuildMode;
+import org.opends.server.backends.RebuildConfig.RebuildMode;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.tasks.TaskUtils;
 import org.opends.server.types.DN;

--
Gitblit v1.10.0