private void down() {
   int[] selectedRows = table.getSelectedRows();
   if (selectedRows.length != 1) {
     Show.info(I18NSupport.getString("parameter.select"));
     return;
   }
   QueryParameter param = (QueryParameter) model.getObjectForRow(selectedRows[0]);
   ParameterManager.getInstance().moveParameter(param.getName(), false);
   model.moveObjectDown(selectedRows[0]);
 }
  private void cloneParameter() {
    int[] selectedRows = table.getSelectedRows();
    if (selectedRows.length != 1) {
      Show.info(I18NSupport.getString("parameter.select"));
      return;
    }

    QueryParameter oldParam = (QueryParameter) model.getObjectForRow(selectedRows[0]);
    QueryParameter clone = ObjectCloner.silenceDeepCopy(oldParam);
    clone.setName(clone.getName() + "_c");

    ParameterManager.getInstance().addParameter(clone);
    model.addObject(clone);
  }
  private void delete() {
    int[] selectedRows = table.getSelectedRows();
    if (selectedRows.length == 0) {
      Show.info(I18NSupport.getString("parameter.select"));
      return;
    }

    if (JOptionPane.showConfirmDialog(
            Globals.getMainFrame(), I18NSupport.getString("parameter.askDelete"))
        != JOptionPane.OK_OPTION) {
      return;
    }

    for (int i = selectedRows.length - 1; i >= 0; i--) {
      QueryParameter param = (QueryParameter) model.getObjectForRow(selectedRows[i]);
      ParameterManager.getInstance().deleteParameter(param);
      model.deleteObject(selectedRows[i]);
    }
  }
  private void modify() {
    int[] selectedRows = table.getSelectedRows();
    if (selectedRows.length != 1) {
      Show.info(I18NSupport.getString("parameter.select"));
      return;
    }

    QueryParameter oldParam = (QueryParameter) model.getObjectForRow(selectedRows[0]);

    ParameterEditPanel panel = new ParameterEditPanel(oldParam);
    ParameterEditDialog dlg =
        new ParameterEditDialog(panel, I18NSupport.getString("modify.parameter.title"), true);
    dlg.pack();
    Show.centrateComponent(Globals.getMainFrame(), dlg);
    dlg.setVisible(true);

    if (!dlg.okPressed()) {
      return;
    }

    QueryParameter newParam = dlg.getParameter();
    ParameterManager.getInstance().modifyParameter(oldParam, newParam);
    model.updateObject(selectedRows[0], newParam);
  }