mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

jvergara
28.53.2009 d56976462ee0ecdd405e45e0154eb5fb48e4488b
Consolidate some of the code used to display the equivalent command-line in the control panel.

Be consistent in the way the control panel display the command-lines with the equivalent command-line of dsconfig.
21 files modified
580 ■■■■ changed files
opends/src/guitools/org/opends/guitools/controlpanel/task/CancelTaskTask.java 16 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteBaseDNAndBackendTask.java 47 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java 16 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteIndexTask.java 16 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteSchemaElementsTask.java 20 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/NewEntryTask.java 15 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/RebuildIndexTask.java 44 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/SchemaTask.java 22 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/task/Task.java 99 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/ColorAndFontConstants.java 4 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/ImportLDIFPanel.java 9 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/IndexPanel.java 13 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/NewAttributePanel.java 20 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/NewBaseDNPanel.java 22 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/NewIndexPanel.java 17 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/NewObjectClassPanel.java 1 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/NewVLVIndexPanel.java 19 ●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/SchemaElementPanel.java 76 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/StandardAttributePanel.java 76 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/UnsavedChangesDialog.java 10 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/VLVIndexPanel.java 18 ●●●● patch | view | raw | blame | history
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()));
          }
        });
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()
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()));
  }
}
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());
            }
          });
        }
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));
    }
  }
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));
  }
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));
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));
    }
  }
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));
  }
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");
}
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);
    }
  };
}
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());
            }
          });
        }
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(),
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();
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());
            }
          });
        }
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);
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());
            }
          });
        }
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;
  }
}
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);
        }
      }
    }
  }
}
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;
    }
  }
}
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());
            }
          });
        }