From c8e79a8b6095980c08de380614d438695333c2eb Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 18 Nov 2008 15:36:22 +0000
Subject: [PATCH] Fix for issue 3616 (control panel :missing --useSSL option)
---
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/browser/BrowserController.java | 2
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java | 6 ++-
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java | 2
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ModifyEntryTask.java | 9 +++-
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/AddToGroupTask.java | 2
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java | 4 +
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java | 5 ++
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java | 2
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java | 50 +++++++++++++++++++++---
9 files changed, 64 insertions(+), 18 deletions(-)
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/browser/BrowserController.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/browser/BrowserController.java
index fe98d71..eca6b6d 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/browser/BrowserController.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/browser/BrowserController.java
@@ -1055,7 +1055,7 @@
* @return <CODE>true</CODE> if the node is a configuration node and
* <CODE>false</CODE> otherwise.
*/
- private boolean isConfigurationNode(BasicNode node)
+ public boolean isConfigurationNode(BasicNode node)
{
boolean isConfigurationNode = false;
if (node instanceof SuffixNode)
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/AddToGroupTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/AddToGroupTask.java
index fd3fa91..0da60ad 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/AddToGroupTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/AddToGroupTask.java
@@ -201,7 +201,7 @@
{
public void run()
{
- printEquivalentCommandToModify(groupDn, modifications);
+ printEquivalentCommandToModify(groupDn, modifications, false);
getProgressDialog().appendProgressHtml(
Utilities.getProgressWithPoints(
INFO_CTRL_PANEL_ADDING_TO_GROUP.get(groupDn.toString()),
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
index d14c89d..c6a3436 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
@@ -78,6 +78,7 @@
private long lastProgressTime;
private boolean equivalentCommandWithControlPrinted = false;
private boolean equivalentCommandWithoutControlPrinted = false;
+ private boolean useAdminCtx;
/**
* Constructor of the task.
@@ -237,6 +238,7 @@
{
InitialLdapContext ctx =
controller.findConnectionForDisplayedEntry(node);
+ useAdminCtx = controller.isConfigurationNode(node);
if (node.getNumSubOrdinates() > 0)
{
deleteSubtreeWithControl(ctx, dn, path, toNotify);
@@ -511,7 +513,7 @@
ArrayList<String> args = new ArrayList<String>();
args.add(getCommandLinePath("ldapdelete"));
args.addAll(getObfuscatedCommandLineArguments(
- getConnectionCommandLineArguments()));
+ getConnectionCommandLineArguments(useAdminCtx, true)));
if (usingControl)
{
args.add("-J");
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
index 90d147a..d5490f6 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
@@ -444,7 +444,7 @@
args.add(getCommandLinePath("ldapmodify"));
args.add("-a");
args.addAll(getObfuscatedCommandLineArguments(
- getConnectionCommandLineArguments()));
+ getConnectionCommandLineArguments(true, true)));
StringBuilder sb = new StringBuilder();
for (String arg : args)
{
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ModifyEntryTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ModifyEntryTask.java
index b66fdf3..0b135b2 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ModifyEntryTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ModifyEntryTask.java
@@ -87,6 +87,7 @@
private Entry newEntry;
private BrowserController controller;
private TreePath treePath;
+ private boolean useAdminCtx = false;
/**
* Constructor of the task.
@@ -234,6 +235,7 @@
{
BasicNode node = (BasicNode)treePath.getLastPathComponent();
InitialLdapContext ctx = controller.findConnectionForDisplayedEntry(node);
+ useAdminCtx = controller.isConfigurationNode(node);
if (!mustRename)
{
if (modifications.size() > 0) {
@@ -245,7 +247,8 @@
{
public void run()
{
- printEquivalentCommandToModify(newEntry.getDN(), modifications);
+ printEquivalentCommandToModify(newEntry.getDN(), modifications,
+ useAdminCtx);
getProgressDialog().appendProgressHtml(
Utilities.getProgressWithPoints(
INFO_CTRL_PANEL_MODIFYING_ENTRY.get(oldEntry.getDN()),
@@ -354,7 +357,7 @@
{
public void run()
{
- printEquivalentRenameCommand(oldDN, newEntry.getDN());
+ printEquivalentRenameCommand(oldDN, newEntry.getDN(), useAdminCtx);
getProgressDialog().appendProgressHtml(
Utilities.getProgressWithPoints(
INFO_CTRL_PANEL_RENAMING_ENTRY.get(oldDN.toString(),
@@ -393,7 +396,7 @@
public void run()
{
DN dn = newEntry.getDN();
- printEquivalentCommandToModify(dn, originalMods);
+ printEquivalentCommandToModify(dn, originalMods, useAdminCtx);
getProgressDialog().appendProgressHtml(
Utilities.getProgressWithPoints(
INFO_CTRL_PANEL_MODIFYING_ENTRY.get(dn.toString()),
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java
index 60b3bc8..32ca03f 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java
@@ -71,6 +71,7 @@
private BasicNode parentNode;
private BrowserController controller;
private DN dn;
+ private boolean useAdminCtx = false;
/**
* Constructor of the task.
@@ -196,10 +197,12 @@
if (parentNode != null)
{
ctx = controller.findConnectionForDisplayedEntry(parentNode);
+ useAdminCtx = controller.isConfigurationNode(parentNode);
}
else
{
ctx = getInfo().getDirContext();
+ useAdminCtx = true;
}
BasicAttributes attrs = new BasicAttributes();
BasicAttribute objectclass =
@@ -288,7 +291,7 @@
ArrayList<String> args = new ArrayList<String>();
args.add(getCommandLinePath("ldapmodify"));
args.addAll(getObfuscatedCommandLineArguments(
- getConnectionCommandLineArguments()));
+ getConnectionCommandLineArguments(useAdminCtx, true)));
args.add("--defaultAdd");
StringBuilder sb = new StringBuilder();
for (String arg : args)
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java
index 106f6b4..aa89ad1 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/ResetUserPasswordTask.java
@@ -66,7 +66,8 @@
private BasicNode node;
private char[] newPassword;
private BrowserController controller;
- DN dn;
+ private DN dn;
+ private boolean useAdminCtx;
/**
* Constructor of the task.
@@ -192,6 +193,7 @@
try
{
+ useAdminCtx = controller.isConfigurationNode(node);
InitialLdapContext ctx =
controller.findConnectionForDisplayedEntry(node);
BasicAttribute attr =
@@ -208,7 +210,7 @@
{
public void run()
{
- printEquivalentCommandToModify(dn, modifications);
+ printEquivalentCommandToModify(dn, modifications, useAdminCtx);
getProgressDialog().appendProgressHtml(
Utilities.getProgressWithPoints(
INFO_CTRL_PANEL_RESETTING_USER_PASSWORD.get(node.getDN()),
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java
index db299c8..89b089c 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java
@@ -272,7 +272,7 @@
args.add(getCommandLinePath("ldapmodify"));
args.add("-a");
args.addAll(getObfuscatedCommandLineArguments(
- getConnectionCommandLineArguments()));
+ getConnectionCommandLineArguments(true, true)));
StringBuilder sb = new StringBuilder();
for (String arg : args)
{
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java
index e21e096..ab8ccdf 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java
@@ -681,8 +681,32 @@
*/
protected List<String> getConnectionCommandLineArguments()
{
+ return getConnectionCommandLineArguments(true, false);
+ }
+
+ /**
+ * Returns the list of arguments related to the connection (host, port, bind
+ * DN, etc.).
+ * @param useAdminConnector use the administration connector to generate
+ * the command line.
+ * @param addConnectionTypeParameters add the connection type parameters
+ * (--useSSL or --useStartTLS parameters: for ldapadd, ldapdelete, etc.).
+ * @return the list of arguments related to the connection.
+ */
+ protected List<String> getConnectionCommandLineArguments(
+ boolean useAdminConnector, boolean addConnectionTypeParameters)
+ {
ArrayList<String> args = new ArrayList<String>();
- InitialLdapContext ctx = getInfo().getDirContext();
+ InitialLdapContext ctx;
+
+ if (useAdminConnector)
+ {
+ ctx = getInfo().getDirContext();
+ }
+ else
+ {
+ ctx = getInfo().getUserDataDirContext();
+ }
if (isServerRunning() && (ctx != null))
{
String hostName = ConnectionUtils.getHostName(ctx);
@@ -703,6 +727,14 @@
{
args.add("--trustAll");
}
+ if (isSSL && addConnectionTypeParameters)
+ {
+ args.add("--useSSL");
+ }
+ else if (isStartTLS && addConnectionTypeParameters)
+ {
+ args.add("--useStartTLS");
+ }
}
return args;
}
@@ -769,25 +801,27 @@
* Prints the equivalent modify command line in the progress dialog.
* @param dn the dn of the modified entry.
* @param mods the modifications.
+ * @param useAdminCtx use the administration connector.
*/
protected void printEquivalentCommandToModify(DN dn,
- Collection<ModificationItem> mods)
+ Collection<ModificationItem> mods, boolean useAdminCtx)
{
- printEquivalentCommandToModify(dn.toString(), mods);
+ printEquivalentCommandToModify(dn.toString(), mods, useAdminCtx);
}
/**
* Prints the equivalent modify command line in the progress dialog.
* @param dn the dn of the modified entry.
* @param mods the modifications.
+ * @param useAdminCtx use the administration connector.
*/
protected void printEquivalentCommandToModify(String dn,
- Collection<ModificationItem> mods)
+ Collection<ModificationItem> mods, boolean useAdminCtx)
{
ArrayList<String> args = new ArrayList<String>();
args.add(getCommandLinePath("ldapmodify"));
args.addAll(getObfuscatedCommandLineArguments(
- getConnectionCommandLineArguments()));
+ getConnectionCommandLineArguments(useAdminCtx, true)));
StringBuilder sb = new StringBuilder();
for (String arg : args)
{
@@ -875,13 +909,15 @@
* Prints the equivalent rename command line in the progress dialog.
* @param oldDN the old DN of the entry.
* @param newDN the new DN of the entry.
+ * @param useAdminCtx use the administration connector.
*/
- protected void printEquivalentRenameCommand(DN oldDN, DN newDN)
+ protected void printEquivalentRenameCommand(DN oldDN, DN newDN,
+ boolean useAdminCtx)
{
ArrayList<String> args = new ArrayList<String>();
args.add(getCommandLinePath("ldapmodify"));
args.addAll(getObfuscatedCommandLineArguments(
- getConnectionCommandLineArguments()));
+ getConnectionCommandLineArguments(useAdminCtx, true)));
StringBuilder sb = new StringBuilder();
for (String arg : args)
{
--
Gitblit v1.10.0