public void actionPerformed(final ActionEvent e) { final KettleQueryEntry kettleQueryEntry = (KettleQueryEntry) queryNameList.getSelectedValue(); final KettleTransFromFileProducer fileProducer = kettleQueryEntry.createProducer(); final KettleDataFactory dataFactory = new KettleDataFactory(); dataFactory.setQuery(kettleQueryEntry.getName(), fileProducer); try { DataFactoryEditorSupport.configureDataFactoryForPreview(dataFactory, designTimeContext); final DataPreviewDialog previewDialog = new DataPreviewDialog(KettleDataSourceDialog.this); final KettlePreviewWorker worker = new KettlePreviewWorker(dataFactory, kettleQueryEntry.getName()); previewDialog.showData(worker); final ReportDataFactoryException factoryException = worker.getException(); if (factoryException != null) { ExceptionDialog.showExceptionDialog( KettleDataSourceDialog.this, Messages.getString("KettleDataSourceDialog.PreviewError.Title"), Messages.getString("KettleDataSourceDialog.PreviewError.Message"), factoryException); } } catch (Exception ex) { ExceptionDialog.showExceptionDialog( KettleDataSourceDialog.this, Messages.getString("KettleDataSourceDialog.PreviewError.Title"), Messages.getString("KettleDataSourceDialog.PreviewError.Message"), ex); } }
public KettleDataFactory performConfiguration( DesignTimeContext context, final KettleDataFactory dataFactory, final String queryName) { loadData(dataFactory, queryName); if ((dataFactory == null) || (!dataFactory.queriesAreHomogeneous())) { // allow caller to render the default dialog... we are done here return super.performConfiguration(context, dataFactory, queryName); } else { try { refreshQueryUIComponents(); if (performEdit() == false) { return null; } } catch (Exception e) { // attempt to fall back to the default dialog... // TODO: LOG SOMETHING USEFUL HERE return super.performConfiguration(context, dataFactory, queryName); } } final KettleDataFactory kettleDataFactory = new KettleDataFactory(); kettleDataFactory.setMetadata(dataFactory.getMetaData()); for (final KettleQueryEntry queryEntry : getQueryEntries()) { final KettleTransformationProducer producer = queryEntry.createProducer(); kettleDataFactory.setQuery(queryEntry.getName(), producer); } return kettleDataFactory; }
public void valueChanged(final ListSelectionEvent e) { final Object value = queryNameList.getSelectedValue(); if (value == null) { nameTextField.setEnabled(false); fileTextField.setEnabled(false); stepsList.setEnabled(false); editParameterAction.setEnabled(false); return; } inUpdateFromList = true; nameTextField.setEnabled(true); fileTextField.setEnabled(true); 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 KettleQueryEntry selectedQuery = (KettleQueryEntry) value; fileTextField.setText(selectedQuery.getFile()); nameTextField.setText(selectedQuery.getName()); 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; } }
public KettleDataFactory performConfiguration( final KettleDataFactory dataFactory, final String queryName) { queryListModel.clear(); loadData(dataFactory, queryName); if (performEdit() == false) { return null; } final KettleDataFactory kettleDataFactory = new KettleDataFactory(); for (int i = 0; i < queryListModel.getSize(); i++) { final KettleQueryEntry queryEntry = (KettleQueryEntry) queryListModel.getElementAt(i); final KettleTransFromFileProducer producer = queryEntry.createProducer(); kettleDataFactory.setQuery(queryEntry.getName(), producer); } return kettleDataFactory; }
public void actionPerformed(final ActionEvent e) { final HashSet<String> names = new HashSet<String>(); for (int i = 0; i < queryListModel.getSize(); i++) { final KettleQueryEntry o = (KettleQueryEntry) queryListModel.getElementAt(i); names.add(o.getName()); } String queryName = Messages.getString("KettleDataSourceDialog.Query"); for (int i = 1; i < 1000; ++i) { final String newQuery = Messages.getString("KettleDataSourceDialog.Query") + " " + i; if (names.contains(newQuery) == false) { queryName = newQuery; break; } } final KettleQueryEntry newQuery = new KettleQueryEntry(queryName); queryListModel.addElement(newQuery); queryNameList.setSelectedValue(newQuery, true); }