/** Invoked when an action occurs. */ public void actionPerformed(final ActionEvent e) { final ReportRenderContext activeContext = getActiveContext(); if (activeContext == null) { return; } final Object[] selectedElements = getSelectionModel().getSelectedElements(); for (int i = 0; i < selectedElements.length; i++) { final Object element = selectedElements[i]; if (element instanceof ReportQueryNode) { final ReportQueryNode queryNode = (ReportQueryNode) element; try { performEdit(queryNode.getDataFactory(), queryNode.getQueryName()); } catch (ReportDataFactoryException e1) { UncaughtExceptionsModel.getInstance().addException(e1); } break; } else if (element instanceof DataFactory) { try { final AbstractReportDefinition report = activeContext.getReportDefinition(); final DataFactory dataFactory = ((DataFactory) element); performEdit(dataFactory, report.getQuery()); } catch (ReportDataFactoryException e1) { UncaughtExceptionsModel.getInstance().addException(e1); } break; } } }
protected void updateSelection() { final ReportSelectionModel selectionModel1 = getSelectionModel(); if (selectionModel1 == null) { setEnabled(false); editedDataFactory = null; return; } final Object[] selectedObjects = selectionModel1.getSelectedElements(); for (int i = 0; i < selectedObjects.length; i++) { final Object selectedObject = selectedObjects[i]; if (selectedObject instanceof ReportQueryNode == false) { continue; } final ReportQueryNode queryNode = (ReportQueryNode) selectedObject; final DataFactory dataFactory = queryNode.getDataFactory(); final DataFactoryMetaData metadata = dataFactory.getMetaData(); if (metadata.isEditable()) { setEnabled(true); return; } } setEnabled(false); }