private void update() {
      if (inModifyingQueryNameList) {
        return;
      }
      final String queryName = queryNameTextField.getText();
      final DataSetQuery currentQuery = (DataSetQuery) queryNameList.getSelectedValue();
      if (currentQuery == null) {
        return;
      }

      if (queryName.equals(currentQuery.getQueryName())) {
        return;
      }
      if (queries.containsKey(queryName)) {
        return;
      }

      inQueryNameUpdate = true;
      queries.remove(currentQuery.getQueryName());
      currentQuery.setQueryName(queryName);
      queries.put(currentQuery.getQueryName(), currentQuery);
      updateQueryList();
      queryNameList.setSelectedValue(currentQuery, true);
      inQueryNameUpdate = false;
    }
    private void update() {
      final DataSetQuery currentQuery = (DataSetQuery) queryNameList.getSelectedValue();
      if (currentQuery == null) {
        return;
      }

      currentQuery.setQuery(queryTextArea.getText());
    }
 private void setSelectedQuery(final String aQuery) {
   final ListModel theModel = queryNameList.getModel();
   for (int i = 0; i < theModel.getSize(); i++) {
     final DataSetQuery theDataSet = (DataSetQuery) theModel.getElementAt(i);
     if (theDataSet.getQueryName().equals(aQuery)) {
       queryNameList.setSelectedValue(theDataSet, true);
       break;
     }
   }
 }
    public void actionPerformed(final ActionEvent e) {
      final DataSetQuery query = (DataSetQuery) queryNameList.getSelectedValue();
      if (query != null) {
        queries.remove(query.getQueryName());
      }

      inModifyingQueryNameList = true;
      updateQueryList();
      queryNameList.clearSelection();
      inModifyingQueryNameList = false;
      updateComponents();
    }
 public void valueChanged(final ListSelectionEvent e) {
   if (!inQueryNameUpdate) {
     final DataSetQuery query = (DataSetQuery) queryNameList.getSelectedValue();
     if (query != null) {
       queryNameTextField.setText(query.getQueryName());
       queryTextArea.setText(query.getQuery());
       updateComponents();
     } else {
       queryNameTextField.setText("");
       queryTextArea.setText("");
       updateComponents();
     }
   }
 }
    public void actionPerformed(final ActionEvent e) {
      // Find a unique query name
      String queryName = Messages.getString("ScriptableDataSourceEditor.Query");
      for (int i = 1; i < 1000; ++i) {
        final String newQueryName =
            Messages.getString("ScriptableDataSourceEditor.Query") + ' ' + i;
        if (!queries.containsKey(newQueryName)) {
          queryName = newQueryName;
          break;
        }
      }

      final DataSetQuery newQuery = new DataSetQuery(queryName, "");
      queries.put(newQuery.getQueryName(), newQuery);

      inModifyingQueryNameList = true;
      updateQueryList();
      queryNameList.setSelectedValue(newQuery, true);
      inModifyingQueryNameList = false;
      updateComponents();
    }
  private ScriptableDataFactory produceFactory() {
    final ScriptableDataFactory returnDataFactory = new ScriptableDataFactory();
    returnDataFactory.setLanguage((String) languageField.getSelectedValue());
    if (StringUtils.isEmpty(initScriptTextArea.getText())) {
      returnDataFactory.setScript(null);
    } else {
      returnDataFactory.setScript(initScriptTextArea.getText());
    }

    if (StringUtils.isEmpty(shutdownScriptTextArea.getText())) {
      returnDataFactory.setShutdownScript(null);
    } else {
      returnDataFactory.setShutdownScript(shutdownScriptTextArea.getText());
    }

    final DataSetQuery[] queries =
        this.queries.values().toArray(new DataSetQuery[this.queries.size()]);
    for (int i = 0; i < queries.length; i++) {
      final DataSetQuery query = queries[i];
      returnDataFactory.setQuery(query.getQueryName(), query.getQuery());
    }
    return returnDataFactory;
  }