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

jvergara
21.50.2009 de55352efcbef4c90879a15831d19892e7af8145
Fix for issue 3731 (status-panel command-lines should be removed)

Remove the status-panel scripts and also the list of scripts in the java properties panel. The java properties panel has also been modified to display (by default) only the command-lines that are relevant for tuning of the java arguments (start server, offline import, verify index, etc.).
2 files deleted
2 files modified
293 ■■■■ changed files
opends/resource/bin/status-panel 40 ●●●●● patch | view | raw | blame | history
opends/resource/bin/status-panel.bat 70 ●●●●● patch | view | raw | blame | history
opends/src/guitools/org/opends/guitools/controlpanel/ui/JavaPropertiesPanel.java 182 ●●●● patch | view | raw | blame | history
opends/src/messages/messages/admin_tool.properties 1 ●●●● patch | view | raw | blame | history
opends/resource/bin/status-panel
File was deleted
opends/resource/bin/status-panel.bat
File was deleted
opends/src/guitools/org/opends/guitools/controlpanel/ui/JavaPropertiesPanel.java
@@ -32,6 +32,8 @@
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
@@ -48,6 +50,7 @@
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;
@@ -100,8 +103,53 @@
  private JLabel lInitContents;
  private JCheckBox showAll;
  private Set<JavaArgumentsDescriptor> readJavaArguments =
    new HashSet<JavaArgumentsDescriptor>();
  private Set<JavaArgumentsDescriptor> currentJavaArguments =
    new HashSet<JavaArgumentsDescriptor>();
  private Set<String> allScriptNames =
    new HashSet<String>();
  {
    String[] names =
    {
        "start-ds", "import-ldif.offline", "backup.online", "base64",
        "create-rc-script", "dsconfig", "dsreplication", "dsframework",
        "export-ldif.online", "import-ldif.online", "ldapcompare",
        "ldapdelete", "ldapmodify", "ldappasswordmodify", "ldapsearch",
        "list-backends", "manage-account", "manage-tasks", "restore.online",
        "stop-ds", "status", "control-panel", "uninstall", "setup",
        "backup.offline", "encode-password", "export-ldif.offline",
        "ldif-diff", "ldifmodify", "ldifsearch", "make-ldif",
        "rebuild-index", "restore.offline", "upgrade",
        "verify-index", "dbtest"
    };
    for (String name : names)
    {
      allScriptNames.add(name);
    }
  }
  private Set<String> relevantScriptNames =
    new HashSet<String>();
  {
    String[] relevantNames =
    {
        "start-ds", "import-ldif.offline", "backup.offline",
        "export-ldif.offline",
        "ldif-diff", "make-ldif", "rebuild-index", "restore.offline",
        "verify-index", "dbtest"
    };
    for (String name : relevantNames)
    {
      relevantScriptNames.add(name);
    }
  }
  private String readJavaHome;
  private boolean readUseOpenDSJavaHome;
  private boolean readUseOpenDSJavaArgs;
@@ -316,6 +364,23 @@
    gbc.weightx = 1.0;
    gbc.anchor = GridBagConstraints.WEST;
    showAll =
      Utilities.createCheckBox(INFO_CTRL_PANEL_DISPLAY_ALL_COMMAND_LINES.get());
    showAll.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent ev)
      {
        editor.stopCellEditing();
        currentJavaArguments = getCurrentJavaArguments();
        argumentsTableModel.setData(filterJavaArguments(currentJavaArguments));
        Utilities.updateTableSizes(argumentsTable, 7);
      }
    });
    gbc.gridy ++;
    gbc.insets.top = 5;
    p.add(showAll, gbc);
    JLabel inlineHelp = Utilities.createInlineHelpLabel(
        INFO_CTRL_PANEL_ONLINE_COMMAND_HELP.get());
    gbc.insets.top = 3;
@@ -370,6 +435,30 @@
  }
  /**
   * Returns the names of all the command-line that can be displayed by this
   * panel.
   * @return the names of all the command-line that can be displayed by this
   * panel.
   */
  protected Set<String> getAllCommandLineNames()
  {
    return allScriptNames;
  }
  /**
   * Returns the names of the most important command-line to be displayed by
   * this panel.
   * @return the names of the most important command-line to be displayed by
   * this panel.
   */
  protected Set<String> getRelevantCommandLineNames()
  {
    return relevantScriptNames;
  }
  /**
   * Returns <CODE>true</CODE> if the user updated the contents and
   * <CODE>false</CODE> otherwise.
   * @return <CODE>true</CODE> if the user updated the contents and
@@ -380,26 +469,81 @@
    boolean updatedByUser = !javaHome.getText().equals(readJavaHome) ||
    useOpenDSJavaHome.isSelected() != readUseOpenDSJavaHome ||
    useOpenDSJavaArgs.isSelected() != readUseOpenDSJavaArgs ||
    !readJavaArguments.equals(getJavaArguments());
    !readJavaArguments.equals(getCurrentJavaArguments());
    return updatedByUser;
  }
  /**
   * Returns the java arguments specified in the table.
   * @return the java arguments specified in the table.
   * Returns the java arguments specified by the user.
   * @return the java arguments specified by the user.
   */
  private Set<JavaArgumentsDescriptor> getJavaArguments()
  private Set<JavaArgumentsDescriptor> getCurrentJavaArguments()
  {
    HashSet<JavaArgumentsDescriptor> args =
      new HashSet<JavaArgumentsDescriptor>(currentJavaArguments);
    HashSet<JavaArgumentsDescriptor> tableArgs =
      new HashSet<JavaArgumentsDescriptor>();
    for (int i=0; i<argumentsTableModel.getRowCount(); i++)
    {
      args.add(argumentsTableModel.getJavaArguments(i));
      tableArgs.add(argumentsTableModel.getJavaArguments(i));
    }
    for (JavaArgumentsDescriptor arg : tableArgs)
    {
      JavaArgumentsDescriptor foundJavaArgument = null;
      for (JavaArgumentsDescriptor arg1 : args)
      {
        if (arg1.getCommandName().equals(arg.getCommandName()))
        {
          foundJavaArgument = arg1;
          break;
        }
      }
      if (foundJavaArgument != null)
      {
        args.remove(foundJavaArgument);
      }
      args.add(arg);
    }
    return args;
  }
  /**
   * Filters the provided list of java arguments depending on the showing
   * options (basically whether the 'Show All Command-lines' is selected or
   * not).
   * @param args the list of java arguments.
   * @return a list of filtered java arguments (the ones that must be displayed
   * in the table).
   */
  private Set<JavaArgumentsDescriptor> filterJavaArguments(
      Set<JavaArgumentsDescriptor> args)
  {
    if (showAll.isSelected())
    {
      return args;
    }
    else
    {
      Set<JavaArgumentsDescriptor> filteredArgs =
        new HashSet<JavaArgumentsDescriptor>();
      for (String relevantName : getRelevantCommandLineNames())
      {
        for (JavaArgumentsDescriptor arg : args)
        {
          if (arg.getCommandName().equals(relevantName))
          {
            filteredArgs.add(arg);
            break;
          }
        }
      }
      return filteredArgs;
    }
  }
  /**
   * Inits the contents of the table in the background.
   *
@@ -440,19 +584,6 @@
          }
        }
        String[] scripts =
        {
            "start-ds", "import-ldif.offline", "backup.online", "base64",
            "create-rc-script", "dsconfig", "dsreplication", "dsframework",
            "export-ldif.online", "import-ldif.online", "ldapcompare",
            "ldapdelete", "ldapmodify", "ldappasswordmodify", "ldapsearch",
            "list-backends", "manage-account", "manage-tasks", "restore.online",
            "stop-ds", "status", "status-panel", "uninstall", "setup",
            "backup.offline", "encode-password", "export-ldif.offline",
            "ldif-diff", "ldifmodify", "ldifsearch", "make-ldif",
            "rebuild-index", "restore.offline", "upgrade",
            "verify-index", "dbtest"
        };
        String v = properties.getProperty("overwrite-env-java-home");
        readUseOpenDSJavaHome =
          (v == null) || ("false".equalsIgnoreCase(v.trim()));
@@ -463,7 +594,7 @@
        readJavaHome = properties.getProperty("default.java-home");
        if (readJavaHome == null)
        {
          for (String script : scripts)
          for (String script : getAllCommandLineNames())
          {
            readJavaHome = properties.getProperty(script+".java-home");
            if (readJavaHome != null)
@@ -474,7 +605,7 @@
        }
        readJavaArguments.clear();
        for (String script : scripts)
        for (String script : getAllCommandLineNames())
        {
          v = properties.getProperty(script+".java-args");
          if (v != null)
@@ -502,7 +633,10 @@
          useSpecifiedJavaHome.setSelected(!readUseOpenDSJavaHome);
          useOpenDSJavaArgs.setSelected(readUseOpenDSJavaArgs);
          useSpecifiedJavaArgs.setSelected(!readUseOpenDSJavaArgs);
          argumentsTableModel.setData(readJavaArguments);
          currentJavaArguments.clear();
          currentJavaArguments.addAll(readJavaArguments);
          argumentsTableModel.setData(
              filterJavaArguments(currentJavaArguments));
          Utilities.updateTableSizes(argumentsTable, 7);
        }
        else
@@ -597,7 +731,7 @@
    if (errors.size() == 0)
    {
      final Set<String> providedArguments = new HashSet<String>();
      for (JavaArgumentsDescriptor cmd : getJavaArguments())
      for (JavaArgumentsDescriptor cmd : getCurrentJavaArguments())
      {
        String args = cmd.getJavaArguments().trim();
        if (args.length() > 0)
@@ -749,7 +883,7 @@
      readJavaHome = javaHome.getText();
      readUseOpenDSJavaHome = useOpenDSJavaHome.isSelected();
      readUseOpenDSJavaArgs = useOpenDSJavaArgs.isSelected();
      readJavaArguments = getJavaArguments();
      readJavaArguments = getCurrentJavaArguments();
    }
    else
    {
@@ -1108,7 +1242,7 @@
      defaultJavaHome = javaHome.getText().trim();
      overwriteOpenDSJavaHome = useSpecifiedJavaHome.isSelected();
      overwriteOpenDSJavaArgs = useSpecifiedJavaArgs.isSelected();
      arguments = getJavaArguments();
      arguments = getCurrentJavaArguments();
    }
    /**
opends/src/messages/messages/admin_tool.properties
@@ -2314,3 +2314,4 @@
INFO_CTRL_PANEL_PROGRESS_DONE=Done
INFO_CTRL_PANEL_VLV_INDEX_CELL=%s - VLV Index
INFO_CTRL_PANEL_DISPLAY_ALL_COMMAND_LINES=Display All Command-lines