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); }
public void run() { final String fileName = fileTextField.getText(); final KettleQueryEntry selectedQuery = (KettleQueryEntry) queryNameList.getSelectedValue(); selectedQuery.setFile(fileName); final AbstractReportDefinition report = designTimeContext.getReport(); final MasterReport masterReport = DesignTimeUtil.getMasterReport(report); final ResourceKey contentBase; if (masterReport == null) { contentBase = null; } else { contentBase = masterReport.getContentBase(); } try { inUpdateFromList = true; stepsList.setListData(selectedQuery.getSteps(report.getResourceManager(), contentBase)); final StepMeta[] data = selectedQuery.getSteps(report.getResourceManager(), contentBase); stepsList.setListData(data); final String selectedStepName = selectedQuery.getSelectedStep(); if (selectedStepName != null) { for (int i = 0; i < data.length; i++) { final StepMeta stepMeta = data[i]; if (selectedStepName.equals(stepMeta.getName())) { stepsList.setSelectedValue(stepMeta, true); break; } } } stepsList.setEnabled(true); editParameterAction.setEnabled(true); } catch (ReportDataFactoryException rdfe) { logger.warn("Non-critical failure while executing the query", rdfe); stepsList.setEnabled(false); editParameterAction.setEnabled(false); } catch (Exception e1) { designTimeContext.error(e1); stepsList.setEnabled(false); editParameterAction.setEnabled(false); } catch (Throwable t1) { designTimeContext.error(new StackableRuntimeException("Fatal error", t1)); stepsList.setEnabled(false); editParameterAction.setEnabled(false); } finally { inUpdateFromList = false; armed = false; } }
public void actionPerformed(final ActionEvent e) { final FileFilter[] fileFilters = new FileFilter[] { new FilesystemFilter( new String[] {".ktr"}, Messages.getString("KettleDataSourceDialog.KtrFileDescription") + " (*.ktr)", true) }; final File reportContextFile = DesignTimeUtil.getContextAsFile(designTimeContext.getReport()); final CommonFileChooser fileChooser = FileChooserService.getInstance().getFileChooser("kettle"); final String fileText = fileTextField.getText(); if (StringUtils.isEmpty(fileText) == false) { if (reportContextFile != null) { fileChooser.setSelectedFile( new File(reportContextFile.getParentFile(), fileTextField.getText())); } else { fileChooser.setSelectedFile(new File(fileTextField.getText())); } } fileChooser.setFilters(fileFilters); if (fileChooser.showDialog(KettleDataSourceDialog.this, JFileChooser.OPEN_DIALOG) == false) { return; } final File file = fileChooser.getSelectedFile(); if (file == null) { return; } final String path; if (reportContextFile != null) { path = IOUtils.getInstance() .createRelativePath(file.getPath(), reportContextFile.getAbsolutePath()); } else { path = file.getPath(); } final KettleQueryEntry queryEntry = (KettleQueryEntry) queryNameList.getSelectedValue(); queryEntry.setFile(path); fileTextField.setText(path); }