From 7c30dbb5403772b323df3ad907d9ed15d23b5aee Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Thu, 29 Apr 2010 20:35:40 +0000
Subject: [PATCH] Last batch of changes for this week. This adds support for the IETF based Password Policy for LDAP as SubEntry. Also resolves the following issues : - 4544 :  initializeBackend() should not set JE env config params directly. - 4478 : ECL in draft compat mode / search lastchangenumber can be very long - 4538 : Virtual attributes not retrieved when entry cache configured - 4547 : Search Filter Matching differ for cn=Directory Manager and plain user. - 4514 : Logs shows unexpected message with replication monitoring data missing (Partial fix) - 4534 : Replication using security does not work after server restart - 4516 : SEVERE_ERROR: servers (...) have the same ServerId In addition, they also improve reliability and performance in various areas including CollectiveAttributes, Virtual Attributes and Subentries management, Schema loading, Replication...

---
 opends/src/server/org/opends/server/tools/ImportLDIF.java |  123 ++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 31 deletions(-)

diff --git a/opends/src/server/org/opends/server/tools/ImportLDIF.java b/opends/src/server/org/opends/server/tools/ImportLDIF.java
index 20753de..4773555 100644
--- a/opends/src/server/org/opends/server/tools/ImportLDIF.java
+++ b/opends/src/server/org/opends/server/tools/ImportLDIF.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2009 Sun Microsystems, Inc.
+ *      Copyright 2006-2010 Sun Microsystems, Inc.
  */
 package org.opends.server.tools;
 
@@ -53,6 +53,7 @@
 import org.opends.server.core.CoreConfigManager;
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.core.LockFileManager;
+import org.opends.server.core.PluginConfigManager;
 import org.opends.server.extensions.ConfigFileHandler;
 import org.opends.server.loggers.ErrorLogger;
 import org.opends.server.loggers.TextErrorLogPublisher;
@@ -881,6 +882,66 @@
         }
       }
 
+      // Initialize the root DNs.
+      try
+      {
+        directoryServer.initializeRootDNConfigManager();
+      }
+      catch (ConfigException ce)
+      {
+        Message message = ERR_CANNOT_INITIALIZE_ROOTDN_MANAGER.get(
+                ce.getMessage());
+        err.println(wrapText(message, MAX_LINE_WIDTH));
+        return 1;
+      }
+      catch (InitializationException ie)
+      {
+        Message message = ERR_CANNOT_INITIALIZE_ROOTDN_MANAGER.get(
+                ie.getMessage());
+        err.println(wrapText(message, MAX_LINE_WIDTH));
+        return 1;
+      }
+
+      // Initialize the plugin manager.
+      try
+      {
+        HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
+        directoryServer.initializePlugins(pluginTypes);
+      }
+      catch (ConfigException ce)
+      {
+        Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
+                ce.getMessage());
+        err.println(wrapText(message, MAX_LINE_WIDTH));
+        return 1;
+      }
+      catch (InitializationException ie)
+      {
+        Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
+                ie.getMessage());
+        err.println(wrapText(message, MAX_LINE_WIDTH));
+        return 1;
+      }
+      catch (Exception e)
+      {
+        Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
+                getExceptionMessage(e));
+        err.println(wrapText(message, MAX_LINE_WIDTH));
+        return 1;
+      }
+
+      // Initialize the subentry manager.
+      try
+      {
+        directoryServer.initializeSubentryManager();
+      }
+      catch (InitializationException ie)
+      {
+        Message message = ERR_CANNOT_INITIALIZE_SUBENTRY_MANAGER.get(
+                ie.getMessage());
+        err.println(wrapText(message, MAX_LINE_WIDTH));
+        return 1;
+      }
 
       // Initialize all the password policy information.
       try
@@ -908,38 +969,38 @@
         err.println(wrapText(message, MAX_LINE_WIDTH));
         return 1;
       }
-
-
-      // Make sure that the Directory Server plugin initialization is performed.
-      try
-      {
-        HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
-        pluginTypes.add(PluginType.LDIF_IMPORT);
-        directoryServer.initializePlugins(pluginTypes);
-      }
-      catch (ConfigException ce)
-      {
-        Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
-                ce.getMessage());
-        err.println(wrapText(message, MAX_LINE_WIDTH));
-        return 1;
-      }
-      catch (InitializationException ie)
-      {
-        Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
-                ie.getMessage());
-        err.println(wrapText(message, MAX_LINE_WIDTH));
-        return 1;
-      }
-      catch (Exception e)
-      {
-        Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
-                getExceptionMessage(e));
-        err.println(wrapText(message, MAX_LINE_WIDTH));
-        return 1;
-      }
     }
 
+    // Make sure that the plugin initialization is performed.
+    try
+    {
+      HashSet<PluginType> pluginTypes = new HashSet<PluginType>(1);
+      pluginTypes.add(PluginType.LDIF_IMPORT);
+      PluginConfigManager pluginConfigManager =
+              DirectoryServer.getPluginConfigManager();
+      pluginConfigManager.initializeUserPlugins(pluginTypes);
+    }
+    catch (ConfigException ce)
+    {
+      Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
+              ce.getMessage());
+      err.println(wrapText(message, MAX_LINE_WIDTH));
+      return 1;
+    }
+    catch (InitializationException ie)
+    {
+      Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
+              ie.getMessage());
+      err.println(wrapText(message, MAX_LINE_WIDTH));
+      return 1;
+    }
+    catch (Exception e)
+    {
+      Message message = ERR_LDIFIMPORT_CANNOT_INITIALIZE_PLUGINS.get(
+              getExceptionMessage(e));
+      err.println(wrapText(message, MAX_LINE_WIDTH));
+      return 1;
+    }
 
     // See if there were any user-defined sets of include/exclude attributes or
     // filters.  If so, then process them.

--
Gitblit v1.10.0