From d56976462ee0ecdd405e45e0154eb5fb48e4488b Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Fri, 27 Nov 2009 23:53:01 +0000
Subject: [PATCH] Consolidate some of the code used to display the equivalent command-line in the control panel.

---
 opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java               |   15 
 opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java                       |   99 +++++++--
 opends/src/guitools/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java               |   22 -
 opends/src/guitools/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java           |   76 +++++++
 opends/src/guitools/org/opends/guitools/controlpanel/ui/StandardAttributePanel.java       |   76 ++-----
 opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteIndexTask.java            |   16 -
 opends/src/guitools/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java                |   18 -
 opends/src/guitools/org/opends/guitools/controlpanel/task/RebuildIndexTask.java           |   44 +---
 opends/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java            |   20 +-
 opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java   |   20 +-
 opends/src/guitools/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java             |   19 -
 opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java |   47 +---
 opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java                 |   22 +-
 opends/src/guitools/org/opends/guitools/controlpanel/ui/IndexPanel.java                   |   13 
 opends/src/guitools/org/opends/guitools/controlpanel/task/CancelTaskTask.java             |   16 -
 opends/src/guitools/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java          |    1 
 opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java        |    4 
 opends/src/guitools/org/opends/guitools/controlpanel/ui/NewIndexPanel.java                |   17 -
 opends/src/guitools/org/opends/guitools/controlpanel/ui/UnsavedChangesDialog.java         |   10 
 opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java            |   16 -
 opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java              |    9 
 21 files changed, 282 insertions(+), 298 deletions(-)

diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/CancelTaskTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/CancelTaskTask.java
index 6ce3a61..62aa5f2 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/CancelTaskTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/CancelTaskTask.java
@@ -40,13 +40,10 @@
 
 import org.opends.guitools.controlpanel.datamodel.BackendDescriptor;
 import org.opends.guitools.controlpanel.datamodel.ControlPanelInfo;
-import org.opends.guitools.controlpanel.ui.ColorAndFontConstants;
 import org.opends.guitools.controlpanel.ui.ProgressDialog;
-import org.opends.guitools.controlpanel.util.Utilities;
 import org.opends.messages.Message;
 import org.opends.server.tools.ManageTasks;
 import org.opends.server.tools.tasks.TaskEntry;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * Task used to cancel tasks in server.
@@ -200,17 +197,10 @@
               getProgressDialog().appendProgressHtml("<br><br>");
             }
             ArrayList<String> args = new ArrayList<String>();
-            args.add(getCommandLinePath("manage-tasks"));
             args.addAll(getObfuscatedCommandLineArguments(arguments));
-            StringBuilder sb = new StringBuilder();
-            for (String arg : args)
-            {
-              sb.append(" "+CommandBuilder.escapeValue(arg));
-            }
-            getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CANCEL_TASK.get(task.getId())+
-                "<br><b>"+sb.toString()+"</b><br><br>",
-                ColorAndFontConstants.progressFont));
+            printEquivalentCommandLine(getCommandLinePath("manage-tasks"),
+                    args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CANCEL_TASK.get(
+                        task.getId()));
           }
         });
 
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java
index 66e7a62..e03d848 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java
@@ -35,6 +35,7 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.SortedSet;
@@ -65,7 +66,6 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DN;
 import org.opends.server.types.OpenDsException;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The task used to delete a set of base DNs or backends.
@@ -286,20 +286,12 @@
           {
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLinePath(baseDNs));
-              Collection<String> args =
+              List<String> args =
                 getObfuscatedCommandLineArguments(
                     getDSConfigCommandLineArguments(baseDNs));
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_BASE_DN.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLinePath(baseDNs),
+                  args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_BASE_DN.get());
             }
           });
         }
@@ -375,20 +367,12 @@
           {
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLinePath(backend));
-              Collection<String> args =
+              List<String> args =
                 getObfuscatedCommandLineArguments(
                     getDSConfigCommandLineArguments(backend));
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_BACKEND.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLinePath(backend),
+                 args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_BACKEND.get());
             }
           });
         }
@@ -763,23 +747,16 @@
           {
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLinePath(baseDN.getBackend()));
-              Collection<String> args =
+              List<String> args =
                 getObfuscatedCommandLineArguments(
                     getCommandLineArgumentsToDisableReplication(domainName[0]));
               args.removeAll(getConfigCommandLineArguments());
               args.add(getNoPropertiesFileArgument());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
+              printEquivalentCommandLine(
+                  getConfigCommandLinePath(baseDN.getBackend()),
+                  args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_DOMAIN.get(
+                      baseDN.getDn().toString()));
               }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_DOMAIN.get(
-                  baseDN.getDn().toString())+"<br><b>"+
-                  sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
-            }
           });
         }
         SwingUtilities.invokeLater(new Runnable()
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
index 8113ba8..50dc82d 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
@@ -63,7 +63,6 @@
 import org.opends.server.types.DN;
 import org.opends.server.types.DirectoryException;
 import org.opends.server.util.ServerConstants;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The task that is launched when an entry must be deleted.
@@ -513,7 +512,6 @@
   private void printEquivalentCommandToDelete(DN dn, boolean usingControl)
   {
     ArrayList<String> args = new ArrayList<String>();
-    args.add(getCommandLinePath("ldapdelete"));
     args.addAll(getObfuscatedCommandLineArguments(
         getConnectionCommandLineArguments(useAdminCtx, true)));
     args.add(getNoPropertiesFileArgument());
@@ -523,16 +521,8 @@
       args.add(ServerConstants.OID_SUBTREE_DELETE_CONTROL);
     }
     args.add(dn.toString());
-    StringBuilder sb = new StringBuilder();
-    for (String arg : args)
-    {
-      sb.append(" "+CommandBuilder.escapeValue(arg));
-    }
-
-    getProgressDialog().appendProgressHtml(Utilities.applyFont(
-        INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_ENTRY.get(dn.toString())+
-        "<br><b>"+
-        sb.toString()+"</b><br><br>",
-        ColorAndFontConstants.progressFont));
+    printEquivalentCommandLine(getCommandLinePath("ldapdelete"),
+        args,
+        INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_ENTRY.get(dn.toString()));
   }
 }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteIndexTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteIndexTask.java
index cd1408d..e4499c0 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteIndexTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteIndexTask.java
@@ -32,6 +32,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 import java.util.TreeSet;
 
@@ -54,7 +55,6 @@
 import org.opends.server.core.DirectoryServer;
 import org.opends.server.types.DN;
 import org.opends.server.types.OpenDsException;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The task that is launched when an index must be deleted.
@@ -187,20 +187,12 @@
           {
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLineName(index));
-              Collection<String> args =
+             List<String> args =
                 getObfuscatedCommandLineArguments(
                     getDSConfigCommandLineArguments(index));
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_INDEX.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLineName(index),
+                  args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_INDEX.get());
             }
           });
         }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
index 2372992..de93f67 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2009 Sun Microsystems, Inc.
  */
 
 package org.opends.guitools.controlpanel.task;
@@ -63,7 +63,6 @@
 import org.opends.server.types.SchemaFileElement;
 import org.opends.server.util.LDIFReader;
 import org.opends.server.util.LDIFWriter;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The task that is launched when a schema element must be deleted.
@@ -441,24 +440,25 @@
     else
     {
       ArrayList<String> args = new ArrayList<String>();
-      args.add(getCommandLinePath("ldapmodify"));
       args.add("-a");
       args.addAll(getObfuscatedCommandLineArguments(
           getConnectionCommandLineArguments(true, true)));
       args.add(getNoPropertiesFileArgument());
+      String equiv = getEquivalentCommandLine(getCommandLinePath("ldapmodify"),
+          args);
+
       StringBuilder sb = new StringBuilder();
-      for (String arg : args)
-      {
-        sb.append(" "+CommandBuilder.escapeValue(arg));
-      }
+      sb.append(
+          INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_SCHEMA_ELEMENT_ONLINE.get()+
+          "<br><b>");
+      sb.append(equiv);
       sb.append("<br>");
       sb.append("dn: cn=schema<br>");
       sb.append("changetype: modify<br>");
       sb.append("delete: "+attrName+"<br>");
       sb.append(attrName+": "+attrValue);
-      getProgressDialog().appendProgressHtml(Utilities.applyFont(
-          INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DELETE_SCHEMA_ELEMENT_ONLINE.get()+
-          "<br><b>"+sb.toString()+"</b><br><br>",
+      sb.append("</b><br><br>");
+      getProgressDialog().appendProgressHtml(Utilities.applyFont(sb.toString(),
           ColorAndFontConstants.progressFont));
     }
   }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java
index 59a31a1..49d0840 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java
@@ -57,7 +57,6 @@
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.DN;
 import org.opends.server.types.Entry;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The task launched when we must create an entry.
@@ -313,16 +312,15 @@
   private void printEquivalentCommand()
   {
     ArrayList<String> args = new ArrayList<String>();
-    args.add(getCommandLinePath("ldapmodify"));
     args.addAll(getObfuscatedCommandLineArguments(
         getConnectionCommandLineArguments(useAdminCtx, true)));
     args.add(getNoPropertiesFileArgument());
     args.add("--defaultAdd");
+    String equiv = getEquivalentCommandLine(getCommandLinePath("ldapmodify"),
+        args);
     StringBuilder sb = new StringBuilder();
-    for (String arg : args)
-    {
-      sb.append(" "+CommandBuilder.escapeValue(arg));
-    }
+    sb.append(INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_ENTRY.get()+"<br><b>");
+    sb.append(equiv);
     sb.append("<br>");
     String[] lines = ldif.split("\n");
     for (String line : lines)
@@ -330,9 +328,8 @@
       sb.append(obfuscateLDIFLine(line));
       sb.append("<br>");
     }
-    getProgressDialog().appendProgressHtml(Utilities.applyFont(
-        INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_ENTRY.get()+"<br><b>"+
-        sb.toString()+"</b><br><br>",
+    sb.append("</b><br>");
+    getProgressDialog().appendProgressHtml(Utilities.applyFont(sb.toString(),
         ColorAndFontConstants.progressFont));
   }
 
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/RebuildIndexTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/RebuildIndexTask.java
index b654d02..969a9a9 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/RebuildIndexTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/RebuildIndexTask.java
@@ -32,6 +32,7 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
@@ -54,7 +55,6 @@
 import org.opends.server.admin.std.client.RootCfgClient;
 import org.opends.server.tools.RebuildIndex;
 import org.opends.server.types.OpenDsException;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The class that is used when a set of indexes must be rebuilt.
@@ -175,26 +175,17 @@
 
         arguments.toArray(args);
 
-        final StringBuilder sb = new StringBuilder();
-        sb.append(getCommandLinePath("rebuild-index"));
-        Collection<String> displayArgs = getObfuscatedCommandLineArguments(
+        final List<String> displayArgs = getObfuscatedCommandLineArguments(
             getCommandLineArguments(baseDN));
         displayArgs.removeAll(getConfigCommandLineArguments());
-        for (String arg : displayArgs)
-        {
-          sb.append(" "+CommandBuilder.escapeValue(arg));
-        }
-        sb.toString();
-        final ProgressDialog progressDialog = getProgressDialog();
 
         SwingUtilities.invokeLater(new Runnable()
         {
           public void run()
           {
-            progressDialog.appendProgressHtml(Utilities.applyFont(
-                INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_REBUILD_INDEX.get(baseDN)+
-                "<br><b>"+sb.toString()+"</b><br><br>",
-                ColorAndFontConstants.progressFont));
+            printEquivalentCommandLine(getCommandLinePath("rebuild-index"),
+                displayArgs,
+                INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_REBUILD_INDEX.get(baseDN));
           }
         });
 
@@ -309,8 +300,8 @@
    */
   private void setBackendEnable(final String backendName,
       final boolean enable) throws OpenDsException
-      {
-    ArrayList<String> args = new ArrayList<String>();
+  {
+    final ArrayList<String> args = new ArrayList<String>();
     args.add("set-backend-prop");
     args.add("--backend-name");
     args.add(backendName);
@@ -321,13 +312,6 @@
     args.add(getNoPropertiesFileArgument());
     args.add("--no-prompt");
 
-    final StringBuilder sb = new StringBuilder();
-    sb.append(getCommandLinePath("dsconfig"));
-    for (String arg : args)
-    {
-      sb.append(" "+CommandBuilder.escapeValue(arg));
-    }
-
     final ProgressDialog progressDialog = getProgressDialog();
 
     SwingUtilities.invokeLater(new Runnable()
@@ -336,20 +320,18 @@
       {
         if (enable)
         {
-          progressDialog.appendProgressHtml("<br><br>"+Utilities.applyFont(
-              INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ENABLE_BACKEND.get(
-                  backendName)+"<br><b>"+sb.toString()+"</b><br><br>",
-              ColorAndFontConstants.progressFont));
+          printEquivalentCommandLine(getCommandLinePath("dsconfig"),
+              args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ENABLE_BACKEND.get(
+                  backendName));
           progressDialog.appendProgressHtml(Utilities.getProgressWithPoints(
               INFO_CTRL_PANEL_ENABLING_BACKEND.get(backendName),
               ColorAndFontConstants.progressFont));
         }
         else
         {
-          progressDialog.appendProgressHtml(Utilities.applyFont(
-              INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DISABLE_BACKEND.get(
-                  backendName)+"<br><b>"+sb.toString()+"</b><br><br>",
-              ColorAndFontConstants.progressFont));
+          printEquivalentCommandLine(getCommandLinePath("dsconfig"),
+              args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_DISABLE_BACKEND.get(
+                  backendName));
           progressDialog.appendProgressHtml(Utilities.getProgressWithPoints(
               INFO_CTRL_PANEL_DISABLING_BACKEND.get(backendName),
               ColorAndFontConstants.progressFont));
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java
index 9a03fec..67e0fe5 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2009 Sun Microsystems, Inc.
  */
 
 package org.opends.guitools.controlpanel.task;
@@ -46,10 +46,9 @@
 import org.opends.server.types.LDIFImportConfig;
 import org.opends.server.types.OpenDsException;
 import org.opends.server.util.LDIFReader;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
- * An abstract class used to refactor some code between the different tasks
+ * An abstract class used to re-factor some code between the different tasks
  * that update the schema.
  *
  */
@@ -269,26 +268,27 @@
     else
     {
       ArrayList<String> args = new ArrayList<String>();
-      args.add(getCommandLinePath("ldapmodify"));
       args.add("-a");
       args.addAll(getObfuscatedCommandLineArguments(
           getConnectionCommandLineArguments(true, true)));
       args.add(getNoPropertiesFileArgument());
 
+      String equiv = getEquivalentCommandLine(getCommandLinePath("ldapmodify"),
+          args);
+
       StringBuilder sb = new StringBuilder();
-      for (String arg : args)
-      {
-        sb.append(" "+CommandBuilder.escapeValue(arg));
-      }
+      sb.append(
+          INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ADD_SCHEMA_ELEMENT_ONLINE.get()+
+          "<br><b>");
+      sb.append(equiv);
       sb.append("<br>");
       sb.append("dn: cn=schema<br>");
       sb.append("changetype: modify<br>");
       sb.append("add: "+getSchemaFileAttributeName()+"<br>");
       sb.append(getSchemaFileAttributeName()+": "+
           getSchemaFileAttributeValue());
-      getProgressDialog().appendProgressHtml(Utilities.applyFont(
-          INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_ADD_SCHEMA_ELEMENT_ONLINE.get()+
-          "<br><b>"+sb.toString()+"</b><br><br>",
+      sb.append("</b><br><br>");
+      getProgressDialog().appendProgressHtml(Utilities.applyFont(sb.toString(),
           ColorAndFontConstants.progressFont));
     }
   }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java b/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java
index 77e1a72..3c82be1 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java
@@ -795,7 +795,7 @@
       boolean isStartTLS = ConnectionUtils.isStartTLS(ctx);
       String bindDN = ConnectionUtils.getBindDN(ctx);
       String bindPwd = ConnectionUtils.getBindPassword(ctx);
-      args.add("--hostname");
+      args.add("--hostName");
       args.add(hostName);
       args.add("--port");
       args.add(String.valueOf(port));
@@ -838,16 +838,10 @@
     String cmdLineName = getCommandLinePath();
     if (cmdLineName != null)
     {
-      StringBuilder sb = new StringBuilder();
-      sb.append(cmdLineName);
-      Collection<String> args =
+      List<String> args =
         getObfuscatedCommandLineArguments(getCommandLineArguments());
       args.removeAll(getConfigCommandLineArguments());
-      for (String arg : args)
-      {
-        sb.append(" "+CommandBuilder.escapeValue(arg));
-      }
-      return sb.toString();
+      return getEquivalentCommandLine(cmdLineName, args);
     }
     else
     {
@@ -908,15 +902,15 @@
       Collection<ModificationItem> mods, boolean useAdminCtx)
   {
     ArrayList<String> args = new ArrayList<String>();
-    args.add(getCommandLinePath("ldapmodify"));
     args.addAll(getObfuscatedCommandLineArguments(
         getConnectionCommandLineArguments(useAdminCtx, true)));
     args.add(getNoPropertiesFileArgument());
+    String equiv = getEquivalentCommandLine(getCommandLinePath("ldapmodify"),
+        args);
+
     StringBuilder sb = new StringBuilder();
-    for (String arg : args)
-    {
-      sb.append(" "+CommandBuilder.escapeValue(arg));
-    }
+    sb.append(INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_MODIFY.get()+"<br><b>");
+    sb.append(equiv);
     sb.append("<br>");
     sb.append("dn: "+dn);
     boolean firstChangeType = true;
@@ -971,9 +965,66 @@
         }
       }
     }
+    sb.append("</b><br><br>");
+
     getProgressDialog().appendProgressHtml(Utilities.applyFont(
-        INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_MODIFY.get().toString()+"<br><b>"+
-        sb.toString()+"</b><br><br>",
+        sb.toString(), ColorAndFontConstants.progressFont));
+  }
+
+  /**
+   * The separator used to link the lines of the resulting command-lines.
+   */
+  private final static String LINE_SEPARATOR;
+  static
+  {
+    if (SetupUtils.isWindows())
+    {
+      LINE_SEPARATOR = "&nbsp;";
+    }
+    else
+    {
+      LINE_SEPARATOR =
+   "&nbsp;\\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
+    }
+  }
+
+  /**
+   * Returns the equivalent command line in HTML without font properties.
+   * @param cmdName the command name.
+   * @param args the arguments for the command line.
+   * @return the equivalent command-line in HTML.
+   */
+  public static String getEquivalentCommandLine(String cmdName,
+      List<String> args)
+  {
+    StringBuilder sb = new StringBuilder(cmdName);
+    for (int i=0; i<args.size(); i++)
+    {
+      String arg = args.get(i);
+      if (arg.charAt(0) == '-')
+      {
+        sb.append(LINE_SEPARATOR);
+      }
+      else
+      {
+        sb.append(" ");
+      }
+      sb.append(CommandBuilder.escapeValue(arg));
+    }
+    return sb.toString();
+  }
+
+  /**
+   * Prints the equivalent command line.
+   * @param cmdName the command name.
+   * @param args the arguments for the command line.
+   * @param msg the message associated with the command line.
+   */
+  protected void printEquivalentCommandLine(String cmdName, List<String> args,
+      Message msg)
+  {
+    getProgressDialog().appendProgressHtml(Utilities.applyFont(msg+"<br><b>"+
+        getEquivalentCommandLine(cmdName, args)+"</b><br><br>",
         ColorAndFontConstants.progressFont));
   }
 
@@ -1004,25 +1055,23 @@
       boolean useAdminCtx)
   {
     ArrayList<String> args = new ArrayList<String>();
-    args.add(getCommandLinePath("ldapmodify"));
     args.addAll(getObfuscatedCommandLineArguments(
         getConnectionCommandLineArguments(useAdminCtx, true)));
     args.add(getNoPropertiesFileArgument());
+    String equiv = getEquivalentCommandLine(getCommandLinePath("ldapmodify"),
+        args);
     StringBuilder sb = new StringBuilder();
-    for (String arg : args)
-    {
-      sb.append(" "+CommandBuilder.escapeValue(arg));
-    }
+    sb.append(INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_RENAME.get()+"<br><b>");
+    sb.append(equiv);
     sb.append("<br>");
     sb.append("dn: "+oldDN);
     sb.append("<br>");
     sb.append("changetype: moddn<br>");
     sb.append("newrdn: "+newDN.getRDN()+"<br>");
     sb.append("deleteoldrdn: 1");
-
-    getProgressDialog().appendProgressHtml(Utilities.applyFont(
-        INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_RENAME.get().toString()+"<br><b>"+
-        sb.toString()+"</b><br><br>",
+    sb.append("</b><br><br>");
+    getProgressDialog().appendProgressHtml(
+        Utilities.applyFont(sb.toString(),
         ColorAndFontConstants.progressFont));
   }
 
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java
index 7cdff08..313bf69 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java
@@ -258,5 +258,9 @@
    * The font to be used in the progress dialog's 'Details' section.
    */
   public static final Font progressFont = UIManager.getFont("EditorPane.font");
+  /**
+   * Specifies the font for the command-line output in the detail panel.
+   */
+  public static final Font outputFont = Font.decode("Monospaced-PLAIN-12");
 
 }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
index caf520e..3413a3c 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java
@@ -71,7 +71,6 @@
 import org.opends.server.tools.dsreplication.ReplicationCliException;
 import org.opends.server.tools.dsreplication.ReplicationCliMain;
 import org.opends.server.types.DN;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * The panel where the user can import the contents of an LDIF file to the
@@ -1021,9 +1020,7 @@
 
     private String getCommandLineToInitializeAll()
     {
-      StringBuilder sb = new StringBuilder();
       String cmdLineName = getCommandLinePath("dsreplication");
-      sb.append(cmdLineName);
       ArrayList<String> args = new ArrayList<String>();
       args.add(
           ReplicationCliArgumentParser.INITIALIZE_ALL_REPLICATION_SUBCMD_NAME);
@@ -1044,11 +1041,7 @@
       args.add("--trustAll");
       args.add("--no-prompt");
 
-      for (String arg : args)
-      {
-        sb.append(" "+CommandBuilder.escapeValue(arg));
-      }
-      return sb.toString();
+      return Task.getEquivalentCommandLine(cmdLineName, args);
     }
   };
 }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/IndexPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/IndexPanel.java
index 32870ca..982e90e 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/IndexPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/IndexPanel.java
@@ -638,18 +638,13 @@
             {
               StringBuilder sb = new StringBuilder();
               sb.append(getConfigCommandLineName());
-              Collection<String> args =
+              List<String> args =
                 getObfuscatedCommandLineArguments(
                     getDSConfigCommandLineArguments());
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_MODIFY_INDEX.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+
+              printEquivalentCommandLine(getConfigCommandLineName(),
+                  args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_MODIFY_INDEX.get());
             }
           });
         }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java
index c43a8cd..331cfbd 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java
@@ -197,7 +197,8 @@
    */
   public void configurationChanged(ConfigurationChangeEvent ev)
   {
-    ArrayList<AttributeSyntax> newSyntaxes = new ArrayList<AttributeSyntax>();
+    ArrayList<AttributeSyntax<?>> newSyntaxes =
+      new ArrayList<AttributeSyntax<?>>();
 
     final ServerDescriptor desc = ev.getNewDescriptor();
     Schema s = desc.getSchema();
@@ -210,11 +211,11 @@
     {
       schema = s;
 
-     HashMap<String, AttributeSyntax> syntaxNameMap = new HashMap<String,
-     AttributeSyntax>();
+     HashMap<String, AttributeSyntax<?>> syntaxNameMap = new HashMap<String,
+     AttributeSyntax<?>>();
      for (String key : schema.getSyntaxes().keySet())
      {
-       AttributeSyntax syntax = schema.getSyntax(key);
+       AttributeSyntax<?> syntax = schema.getSyntax(key);
        String name = syntax.getSyntaxName();
        if (name == null)
        {
@@ -332,8 +333,8 @@
         {
           for (int i=0; i<syntax.getModel().getSize(); i++)
           {
-            AttributeSyntax syn =
-              (AttributeSyntax)syntax.getModel().getElementAt(i);
+            AttributeSyntax<?> syn =
+              (AttributeSyntax<?>)syntax.getModel().getElementAt(i);
             if ("DirectoryString".equals(syn.getSyntaxName()))
             {
               syntax.setSelectedIndex(i);
@@ -504,7 +505,7 @@
       return INFO_CTRL_PANEL_TYPE_MATCHING_RULE.get();
     }
 
-    for (AttributeSyntax attr : schema.getSyntaxes().values())
+    for (AttributeSyntax<?> attr : schema.getSyntaxes().values())
     {
       String n = attr.getSyntaxName();
       if (n != null)
@@ -647,7 +648,6 @@
         public void stateChanged(ChangeEvent e)
         {
           p.setVisible(expander.isSelected());
-          packParentDialog();
         }
       };
       expander.addChangeListener(changeListener);
@@ -681,7 +681,7 @@
 
   private void updateDefaultMatchingRuleNames()
   {
-    AttributeSyntax syn = (AttributeSyntax)syntax.getSelectedItem();
+    AttributeSyntax<?> syn = (AttributeSyntax<?>)syntax.getSelectedItem();
     if (syn != null)
     {
       MatchingRule[] rules = {syn.getApproximateMatchingRule(),
@@ -840,7 +840,7 @@
         getAllNames(),
         getOID(), description.getText().trim(),
         getSuperior(),
-        (AttributeSyntax)syntax.getSelectedItem(),
+        (AttributeSyntax<?>)syntax.getSelectedItem(),
         getApproximateMatchingRule(),
         getEqualityMatchingRule(),
         getOrderingMatchingRule(),
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
index cc8781d..800e1a8 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java
@@ -878,20 +878,12 @@
              */
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLineFullPath());
-              Collection<String> args =
+              List<String> args =
                 getObfuscatedCommandLineArguments(
                     getDSConfigCommandLineArguments());
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_BASE_DN.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLineFullPath(),
+                  args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_BASE_DN.get());
             }
           });
         }
@@ -1442,12 +1434,8 @@
         StringBuilder sb = new StringBuilder();
         for (List<String> args : argsArray)
         {
-          sb.append(getCommandLinePath("dsconfig"));
-          args = getObfuscatedCommandLineArguments(args);
-          for (String arg : args)
-          {
-            sb.append(" "+CommandBuilder.escapeValue(arg));
-          }
+          sb.append(getEquivalentCommandLine(getCommandLinePath("dsconfig"),
+              getObfuscatedCommandLineArguments(args)));
           sb.append("<br><br>");
         }
         final String cmdLines = sb.toString();
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewIndexPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
index 661702c..1e6a657 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewIndexPanel.java
@@ -495,20 +495,11 @@
              */
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLineName());
-              Collection<String> args =
-                getObfuscatedCommandLineArguments(
-                    getDSConfigCommandLineArguments());
+              List<String> args = getObfuscatedCommandLineArguments(
+                  getDSConfigCommandLineArguments());
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_INDEX.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLineName(),
+                  args, INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_INDEX.get());
             }
           });
         }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java
index d791df3..a259816 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java
@@ -640,7 +640,6 @@
       public void stateChanged(ChangeEvent e)
       {
         p.setVisible(expander.isSelected());
-        packParentDialog();
       }
     };
     expander.addChangeListener(changeListener);
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java
index 3f9dbf2..a8d5b20 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java
@@ -67,7 +67,6 @@
 import org.opends.server.types.LDIFImportConfig;
 import org.opends.server.types.OpenDsException;
 import org.opends.server.util.LDIFReader;
-import org.opends.server.util.cli.CommandBuilder;
 
 /**
  * Panel that appears when the user defines a new VLV index.
@@ -286,20 +285,12 @@
           {
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLineName());
-              Collection<String> args =
-                getObfuscatedCommandLineArguments(
-                    getDSConfigCommandLineArguments());
+              List<String> args = getObfuscatedCommandLineArguments(
+                  getDSConfigCommandLineArguments());
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_VLV_INDEX.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLineName(),
+                  args,
+                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_CREATE_VLV_INDEX.get());
             }
           });
         }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java
index 1a0699d..a58b2a7 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java
@@ -22,19 +22,24 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2009 Sun Microsystems, Inc.
  */
 
 package org.opends.guitools.controlpanel.ui;
 
 import java.util.HashSet;
+import java.util.LinkedHashSet;
 import java.util.Set;
 
+import javax.swing.JList;
 import javax.swing.border.Border;
 import javax.swing.border.EmptyBorder;
 
 import org.opends.guitools.controlpanel.event.SchemaElementSelectionEvent;
 import org.opends.guitools.controlpanel.event.SchemaElementSelectionListener;
+import org.opends.server.types.AttributeType;
+import org.opends.server.types.ObjectClass;
+import org.opends.server.types.Schema;
 
 /**
  * Abstract class used to refactor some code among the panels that display the
@@ -106,4 +111,73 @@
   {
     return UnsavedChangesDialog.Result.DO_NOT_SAVE;
   }
+
+  /**
+   * Method called when there is an object class selected in a list.
+   * @param list the list.
+   */
+  protected void objectClassSelected(JList list)
+  {
+    String o = (String)list.getSelectedValue();
+    if (o != null)
+    {
+      Schema schema = getInfo().getServerDescriptor().getSchema();
+      if (schema != null)
+      {
+        ObjectClass oc = schema.getObjectClass(o.toLowerCase());
+        if (oc != null)
+        {
+          notifySchemaSelectionListeners(oc);
+        }
+      }
+    }
+  }
+
+  /**
+   * Returns the list of aliases for the provided attribute.
+   * @param attr the attribute.
+   * @return the list of aliases for the provided attribute.
+   */
+  protected Set<String> getAliases(AttributeType attr)
+  {
+    Set<String> aliases = new LinkedHashSet<String>();
+    Iterable<String> ocNames = attr.getNormalizedNames();
+    String primaryName = attr.getPrimaryName();
+    if (primaryName == null)
+    {
+      primaryName = "";
+    }
+    for (String name : ocNames)
+    {
+      if (!name.equalsIgnoreCase(primaryName))
+      {
+        aliases.add(name);
+      }
+    }
+    return aliases;
+  }
+
+  /**
+   * Returns the list of aliases for the provided object class.
+   * @param oc the object class.
+   * @return the list of aliases for the provided object class.
+   */
+  protected Set<String> getAliases(ObjectClass oc)
+  {
+    Set<String> aliases = new LinkedHashSet<String>();
+    Iterable<String> ocNames = oc.getNormalizedNames();
+    String primaryName = oc.getPrimaryName();
+    if (primaryName == null)
+    {
+      primaryName = "";
+    }
+    for (String name : ocNames)
+    {
+      if (!name.equalsIgnoreCase(primaryName))
+      {
+        aliases.add(name);
+      }
+    }
+    return aliases;
+  }
 }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/StandardAttributePanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/StandardAttributePanel.java
index 25b7ca4..14fb2c1 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/StandardAttributePanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/StandardAttributePanel.java
@@ -36,8 +36,8 @@
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
@@ -140,23 +140,6 @@
     requiredBy.setVisibleRowCount(5);
     optionalBy.setVisibleRowCount(9);
 
-    Message[] labels = {
-        INFO_CTRL_PANEL_ATTRIBUTE_NAME_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_PARENT_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_OID_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_ALIASES_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_ORIGIN_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_DESCRIPTION_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_USAGE_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_SYNTAX_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_TYPE_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_APPROXIMATE_MATCHING_RULE_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_EQUALITY_MATCHING_RULE_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_ORDERING_MATCHING_RULE_LABEL.get(),
-        INFO_CTRL_PANEL_ATTRIBUTE_SUBSTRING_MATCHING_RULE_LABEL.get()
-    };
-    JLabel[] values = {name, parent, oid, aliases, origin, description, usage,
-        syntax, type, approximate, equality, ordering, substring};
     gbc.gridy = 0;
     gbc.gridwidth = 2;
     addErrorPane(c, gbc);
@@ -174,6 +157,25 @@
     gbc.gridy ++;
     gbc.gridwidth = 1;
     gbc.fill = GridBagConstraints.HORIZONTAL;
+
+    Message[] labels = {
+        INFO_CTRL_PANEL_ATTRIBUTE_NAME_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_PARENT_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_OID_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_ALIASES_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_ORIGIN_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_DESCRIPTION_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_USAGE_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_SYNTAX_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_TYPE_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_APPROXIMATE_MATCHING_RULE_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_EQUALITY_MATCHING_RULE_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_ORDERING_MATCHING_RULE_LABEL.get(),
+        INFO_CTRL_PANEL_ATTRIBUTE_SUBSTRING_MATCHING_RULE_LABEL.get()
+    };
+    JLabel[] values = {name, parent, oid, aliases, origin, description, usage,
+        syntax, type, approximate, equality, ordering, substring};
+
     for (int i=0; i < labels.length; i++)
     {
       gbc.insets.left = 0;
@@ -294,29 +296,16 @@
       n = attr.getUsage().toString();
     }
     usage.setText(n);
-    ArrayList<String> otherNames = new ArrayList<String>();
-    Iterable<String> ocNames = attr.getNormalizedNames();
-    String primaryName = attr.getPrimaryName();
-    if (primaryName == null)
+    Set<String> aliases = getAliases(attr);
+    if (!aliases.isEmpty())
     {
-      primaryName = "";
-    }
-    for (String name : ocNames)
-    {
-      if (!name.equalsIgnoreCase(primaryName))
-      {
-        otherNames.add(name);
-      }
-    }
-    if (otherNames.size() > 0)
-    {
-      n = Utilities.getStringFromCollection(otherNames, ", ");
+      n = Utilities.getStringFromCollection(aliases, ", ");
     }
     else
     {
       n = NOT_APPLICABLE.toString();
     }
-    aliases.setText(n);
+    this.aliases.setText(n);
     syntax.setText(Utilities.getSyntaxText(attr.getSyntax()));
     JLabel[] labels = {approximate, equality, ordering, substring};
     MatchingRule[] rules = {attr.getApproximateMatchingRule(),
@@ -407,21 +396,4 @@
     }
     return mb.toMessage();
   }
-
-  private void objectClassSelected(JList list)
-  {
-    String o = (String)list.getSelectedValue();
-    if (o != null)
-    {
-      Schema schema = getInfo().getServerDescriptor().getSchema();
-      if (schema != null)
-      {
-        ObjectClass oc = schema.getObjectClass(o.toLowerCase());
-        if (oc != null)
-        {
-          notifySchemaSelectionListeners(oc);
-        }
-      }
-    }
-  }
 }
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/UnsavedChangesDialog.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/UnsavedChangesDialog.java
index b58f356..6481259 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/UnsavedChangesDialog.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/UnsavedChangesDialog.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2009 Sun Microsystems, Inc.
  */
 
 package org.opends.guitools.controlpanel.ui;
@@ -305,6 +305,14 @@
     {
       return GenericDialog.ButtonType.NO_BUTTON;
     }
+
+    /**
+     * {@inheritDoc}
+     */
+    public boolean isDisposeOnClose()
+    {
+      return true;
+    }
   }
 }
 
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java
index a03deab..8a7069e 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java
@@ -716,20 +716,12 @@
           {
             public void run()
             {
-              StringBuilder sb = new StringBuilder();
-              sb.append(getConfigCommandLineName());
-              Collection<String> args =
-                getObfuscatedCommandLineArguments(
-                    getDSConfigCommandLineArguments());
+              List<String> args = getObfuscatedCommandLineArguments(
+                  getDSConfigCommandLineArguments());
               args.removeAll(getConfigCommandLineArguments());
-              for (String arg : args)
-              {
-                sb.append(" "+CommandBuilder.escapeValue(arg));
-              }
-              getProgressDialog().appendProgressHtml(Utilities.applyFont(
-                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_MODIFY_VLV_INDEX.get()+
-                  "<br><b>"+sb.toString()+"</b><br><br>",
-                  ColorAndFontConstants.progressFont));
+              printEquivalentCommandLine(getConfigCommandLineName(),
+                  args,
+                  INFO_CTRL_PANEL_EQUIVALENT_CMD_TO_MODIFY_VLV_INDEX.get());
             }
           });
         }

--
Gitblit v1.10.0