From 6637153a58af50420660a656d04ef48eedda2a9c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 26 Jan 2015 09:47:26 +0000
Subject: [PATCH] BackendImpl.java, Importer.java: Removed code duplication regarding whether to clear a backend before an import.
---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/BackendImpl.java | 8 +++-----
opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Importer.java | 17 ++++++++++++++---
opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Suffix.java | 9 ++-------
3 files changed, 19 insertions(+), 15 deletions(-)
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 cb77aa2..8184f46 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
@@ -729,10 +729,7 @@
try
{
- final EnvironmentConfig envConfig = getEnvConfigForImport();
-
- if (!importConfig.appendToExistingData()
- && (importConfig.clearBackend() || cfg.getBaseDN().size() <= 1))
+ if (Importer.mustClearBackend(importConfig, cfg))
{
// We have the writer lock on the environment, now delete the
// environment and re-open it. Only do this when we are
@@ -747,7 +744,8 @@
}
}
- Importer importer = new Importer(importConfig, cfg, envConfig);
+ final EnvironmentConfig envConfig = getEnvConfigForImport();
+ final Importer importer = new Importer(importConfig, cfg, envConfig);
rootContainer = initializeRootContainer(envConfig);
return importer.processImport(rootContainer);
}
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 9f6ab84..e3b49b4 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
@@ -297,9 +297,7 @@
// Determine the number of indexes.
this.indexCount = getTotalIndexCount(localDBBackendCfg);
- this.clearedBackend =
- !importConfiguration.appendToExistingData()
- && (importConfiguration.clearBackend() || localDBBackendCfg.getBaseDN().size() <= 1);
+ this.clearedBackend = mustClearBackend(importConfiguration, localDBBackendCfg);
this.scratchFileWriterList =
new ArrayList<ScratchFileWriterTask>(indexCount);
this.scratchFileWriterFutures = new CopyOnWriteArrayList<Future<Void>>();
@@ -326,6 +324,19 @@
}
}
+ /**
+ * Returns whether the backend must be cleared.
+ *
+ * @param importCfg the import configuration object
+ * @param backendCfg the backend configuration object
+ * @return true if the backend must be cleared, false otherwise
+ */
+ public static boolean mustClearBackend(LDIFImportConfig importCfg, LocalDBBackendCfg backendCfg)
+ {
+ return !importCfg.appendToExistingData()
+ && (importCfg.clearBackend() || backendCfg.getBaseDN().size() <= 1);
+ }
+
private File getTempDir(LocalDBBackendCfg localDBBackendCfg, String tmpDirectory)
{
File parentDir;
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Suffix.java b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Suffix.java
index a197938..62a6745 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Suffix.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/jeb/importLDIF/Suffix.java
@@ -253,16 +253,11 @@
logger.error(ERR_JEB_IMPORT_LDIF_PENDING_ERR, e.getMessage());
throw e;
}
- //Check the DN cache.
- boolean parentThere = dnCache.contains(dn);
//If the parent isn't found in the DN cache, then check the dn2id database
//for the DN only if the backend wasn't cleared.
- if(!parentThere
+ boolean parentThere = !dnCache.contains(dn)
&& !clearedBackend
- && getDN2ID().get(null, dn, LockMode.DEFAULT) != null)
- {
- parentThere = true;
- }
+ && getDN2ID().get(null, dn, LockMode.DEFAULT) != null;
//Add the DN to the parent set if needed.
if (parentThere) {
synchronized(synchObject) {
--
Gitblit v1.10.0