private void loadData(final KettleDataFactory dataFactory, final String selectedQueryName) { if (dataFactory == null) { return; } KettleQueryEntry selectedDataSet = null; final String[] queryNames = dataFactory.getQueryNames(); for (int i = 0; i < queryNames.length; i++) { final String queryName = queryNames[i]; final KettleTransFromFileProducer producer = (KettleTransFromFileProducer) dataFactory.getQuery(queryName); final KettleQueryEntry dataSet = new KettleQueryEntry(queryName); dataSet.setFile(producer.getTransformationFile()); dataSet.setSelectedStep(producer.getStepName()); dataSet.setArguments(producer.getDefinedArgumentNames()); dataSet.setParameters(producer.getDefinedVariableNames()); queryListModel.addElement(dataSet); if (ObjectUtilities.equal(selectedQueryName, queryName)) { selectedDataSet = dataSet; } } queryNameList.setSelectedValue(selectedDataSet, true); }
/** Invoked when an action occurs. */ public void actionPerformed(final ActionEvent e) { final KettleQueryEntry queryEntry = (KettleQueryEntry) queryNameList.getSelectedValue(); if (queryEntry == null) { return; } final AbstractReportDefinition report = designTimeContext.getReport(); final MasterReport masterReport = DesignTimeUtil.getMasterReport(report); final ResourceKey contentBase; if (masterReport == null) { contentBase = null; } else { contentBase = masterReport.getContentBase(); } try { final ParameterEditorDialog dialog = new ParameterEditorDialog(KettleDataSourceDialog.this); final String[] reportFields = designTimeContext.getDataSchemaModel().getColumnNames(); final ParameterEditorDialog.EditResult editResult = dialog.performEdit( queryEntry.getArguments(), queryEntry.getParameters(), reportFields, queryEntry.getDeclaredParameters(report.getResourceManager(), contentBase)); if (editResult == null) { return; } queryEntry.setArguments(editResult.getArgumentNames()); queryEntry.setParameters(editResult.getParameterMappings()); } catch (Exception e1) { designTimeContext.error(e1); } catch (Throwable t1) { designTimeContext.error(new StackableRuntimeException("Fatal error", t1)); } }