protected void editData() { final IStructuredSelection selection = (IStructuredSelection) dataTableViewer.getSelection(); if (onlyOneElementSelected(selection)) { final Data selectedData = (Data) selection.getFirstElement(); if (selectedData.eContainer() == null) { final AbstractProcess parentProcess = ModelHelper.getParentProcess(eObject); BonitaStudioLog.error( "Investigation trace for issue BS-11552:\n" + "The context was not initialized.\n " + "Please report the issue with details and attached impacted process.\n" + "data: " + (selectedData != null ? selectedData.getName() : "null data") + "\n" + "From diagram:" + (parentProcess != null ? parentProcess.getName() : "No process found."), DataPlugin.PLUGIN_ID); } final DataWizard wizard = new DataWizard( getEditingDomain(), selectedData, getDataFeature(), getDataFeatureToCheckUniqueID(), getShowAutoGenerateForm()); wizard.setIsPageFlowContext(isPageFlowContext()); wizard.setIsOverviewContext(isOverViewContext()); new CustomWizardDialog( Display.getDefault().getActiveShell(), wizard, IDialogConstants.OK_LABEL) .open(); dataTableViewer.refresh(); } }
private String generateDataName() { return Messages.Data + (ModelHelper.getAllItemsOfType( ModelHelper.getParentProcess(element), SimulationPackage.eINSTANCE.getSimulationData()) .size() + 1); }
/* * (non-Javadoc) * @see org.eclipse.gmf.runtime.diagram.ui.properties.sections. * AbstractModelerPropertySection#getEObject() */ @Override protected EObject getEObject() { final EObject eObject = super.getEObject(); if (eObject instanceof Lane) { return ModelHelper.getParentProcess(eObject); } return eObject; }
private void expressionButtonListener(final EObject context) { final ParameterWizardDialog parameterDialog = new ParameterWizardDialog( Display.getCurrent().getActiveShell(), new AddParameterWizard( ModelHelper.getParentProcess(context), TransactionUtil.getEditingDomain(context))); if (parameterDialog.open() == Dialog.OK) { fillViewerInput(context); } }
/* (non-Javadoc) * @see org.eclipse.jface.viewers.EditingSupport#setValue(java.lang.Object, java.lang.Object) */ @Override protected void setValue(Object element, Object value) { if (element != null && value != null && transactionalEditingDomain != null) { AbstractProcess process = ModelHelper.getParentProcess((EObject) element); if (process != null) { transactionalEditingDomain .getCommandStack() .execute( SetCommand.create( transactionalEditingDomain, element, ProcessPackage.Literals.ELEMENT__DOCUMENTATION, value)); getViewer().refresh(); } } }
/* (non-Javadoc) * @see org.eclipse.jface.wizard.Wizard#performFinish() */ @Override public boolean performFinish() { final TransactionalEditingDomain editingDomain = TransactionUtil.getEditingDomain(container); Data workingCopy = page.getWorkingCopy(); setDatasourceId(workingCopy, dataContainmentFeature); if (editMode) { AbstractProcess process = ModelHelper.getParentProcess(container); CompoundCommand cc = new CompoundCommand(); final RefactorDataOperation op = new RefactorDataOperation(BonitaGroovyRefactoringAction.REFACTOR_OPERATION); op.setCompoundCommand(cc); op.setEditingDomain(editingDomain); op.setContainer(process); op.setNewData(workingCopy); op.setOldData(originalData); op.updateReferencesInScripts(); final boolean switchingDataeClass = !originalData.eClass().equals(workingCopy.eClass()); op.setUpdateDataReferences(switchingDataeClass); if (op.isCanExecute()) { try { getContainer().run(true, false, op); } catch (InvocationTargetException e) { BonitaStudioLog.error(e); } catch (InterruptedException e) { BonitaStudioLog.error(e); } if (switchingDataeClass) { List<?> dataList = (List<?>) container.eGet(dataContainmentFeature); int index = dataList.indexOf(originalData); cc.append( RemoveCommand.create(editingDomain, container, dataContainmentFeature, originalData)); cc.append( AddCommand.create( editingDomain, container, dataContainmentFeature, workingCopy, index)); } else { for (EStructuralFeature feature : originalData.eClass().getEAllStructuralFeatures()) { cc.append( SetCommand.create(editingDomain, originalData, feature, workingCopy.eGet(feature))); } } editingDomain.getCommandStack().execute(cc); } else { cc.dispose(); } } else { editingDomain .getCommandStack() .execute( AddCommand.create(editingDomain, container, dataContainmentFeature, workingCopy)); } try { RepositoryManager.getInstance() .getCurrentRepository() .getProject() .build( IncrementalProjectBuilder.FULL_BUILD, XtextProjectHelper.BUILDER_ID, Collections.EMPTY_MAP, null); } catch (CoreException e) { BonitaStudioLog.error(e, DataPlugin.PLUGIN_ID); } return true; }