From 0d9383e9bdcfc20e808968f4b7fe6c1ac0f48fa6 Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Mon, 17 Aug 2009 00:23:12 +0000
Subject: [PATCH] These changes allow import-ldif to support multiple suffixes and fix some problems with the include/exclude options.
---
opends/src/server/org/opends/server/backends/jeb/BackendImpl.java | 50 ++++++++++----------------------------------------
1 files changed, 10 insertions(+), 40 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
index 7f8e84c..5fc9578 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -68,13 +68,10 @@
import static org.opends.server.util.ServerConstants.*;
import org.opends.server.admin.std.server.LocalDBBackendCfg;
-import org.opends.server.admin.std.server.LocalDBIndexCfg;
import org.opends.server.admin.Configuration;
import org.opends.server.admin.server.ConfigurationChangeListener;
-import org.opends.server.api.ExtensibleIndexer;
import org.opends.server.types.DN;
-import org.opends.server.api.ExtensibleMatchingRule;
/**
* This is an implementation of a Directory Server Backend which stores entries
* locally in a Berkeley DB JE database.
@@ -1133,46 +1130,9 @@
envConfig.setTxnNoSync(false);
envConfig.setConfigParam("je.env.isLocking", "true");
envConfig.setConfigParam("je.env.runCheckpointer", "false");
- //Loop through local indexes and see if any are substring.
- boolean hasSubIndex = false;
- int indexCount = cfg.listLocalDBIndexes().length;
-subIndex:
- for (String idx : cfg.listLocalDBIndexes()) {
- final LocalDBIndexCfg indexCfg = cfg.getLocalDBIndex(idx);
- Set<org.opends.server.admin.std.meta.LocalDBIndexCfgDefn.IndexType>
- indexType = indexCfg.getIndexType();
- if(indexType.contains(org.opends.server.admin.std.
- meta.LocalDBIndexCfgDefn.IndexType.SUBSTRING)) {
- hasSubIndex = true;
- break;
- }
- Set<String> matchingRules =
- indexCfg.getIndexExtensibleMatchingRule();
- for(String ruleName: matchingRules)
- {
- ExtensibleMatchingRule rule =
- DirectoryServer.getExtensibleMatchingRule(ruleName);
- if(rule == null)
- {
- continue;
- }
- for(ExtensibleIndexer indexer: rule.getIndexers(null))
- {
- String indexID = indexer.getExtensibleIndexID();
- if(indexID.equals(EXTENSIBLE_INDEXER_ID_SUBSTRING))
- {
- //The ExtensibelMatchingRule is of substring type.
- hasSubIndex = true;
- break subIndex;
- }
- }
- }
- }
-
Importer importer = new Importer(importConfig, cfg);
importer.init(envConfig);
rootContainer = initializeRootContainer(envConfig);
-
return importer.processImport(rootContainer);
}
catch (ExecutionException execEx)
@@ -1214,6 +1174,16 @@
throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
je.getMessageObject());
}
+ catch (DatabaseException ex)
+ {
+ if (debugEnabled())
+ {
+ TRACER.debugCaught(DebugLogLevel.ERROR, ex);
+ }
+ Message message = ERR_DATABASE_ERROR.get(ex.getMessage());
+ throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
+ message);
+ }
catch (InitializationException ie)
{
if (debugEnabled())
--
Gitblit v1.10.0