From 32c6de9ab11bbfbea1c05401abf73454961418c9 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 30 Oct 2009 22:51:47 +0000
Subject: [PATCH] Fix for issue 4326 (Allow setup of a Server without Data suffix)

---
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
index 9c42752..ba0032c 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/installer/InstallerHelper.java
@@ -63,6 +63,8 @@
 import org.opends.server.admin.std.client.*;
 import org.opends.server.admin.std.meta.*;
 import org.opends.server.backends.task.TaskState;
+import org.opends.server.core.DirectoryServer;
+import org.opends.guitools.controlpanel.util.Utilities;
 import org.opends.messages.CoreMessages;
 import org.opends.messages.JebMessages;
 import org.opends.messages.ReplicationMessages;
@@ -77,6 +79,7 @@
 import org.opends.server.types.Entry;
 import org.opends.server.types.ExistingFileBehavior;
 import org.opends.server.types.LDIFExportConfig;
+import org.opends.server.types.OpenDsException;
 import org.opends.server.util.LDIFException;
 import org.opends.server.util.LDIFWriter;
 import org.opends.server.util.SetupUtils;
@@ -337,6 +340,29 @@
     }
   }
 
+  /**
+   * Deletes a backend on the server.  It assumes the server is stopped.
+   * @param backendName the name of the backend to be deleted.
+   * @throws ApplicationException if something goes wrong.
+   */
+  public void deleteBackend(String backendName)
+  throws ApplicationException
+  {
+    try
+    {
+      // Read the configuration file.
+      String dn = Utilities.getRDNString("ds-cfg-backend-id",
+          backendName)+",cn=Backends,cn=config";
+      Utilities.deleteConfigSubtree(
+          DirectoryServer.getConfigHandler(), DN.decode(dn));
+    }
+    catch (OpenDsException ode)
+    {
+      throw new ApplicationException(
+          ReturnCode.CONFIGURATION_ERROR, ode.getMessageObject(), ode);
+    }
+  }
+
 
   /**
    * Creates a local database backend on the server.

--
Gitblit v1.10.0