Vereinzelte BPMN Diagramme werden nicht validiert

Beschreibung

Meistens bei grösseren importieren Diagrammen, wird das Diagramm nicht validiert. Die Ursache liegt darin, dass während der Validierung Elemente "korrigiert" werden (z.B. ein fehlendes Datenelement hinzugefügt). Da die Validierung nicht in einer Transaction ablaufen darf (da sonst jede Validierung zur Undo/Redo History hinzugefügt wird), wird folgender Fehler geworfen:

java.lang.IllegalStateException: Cannot modify resource set without a write transaction
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.assertWriting(TransactionChangeRecorder.java:348)
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.appendNotification(TransactionChangeRecorder.java:302)
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.processObjectNotification(TransactionChangeRecorder.java:284)
at org.eclipse.emf.transaction.impl.TransactionChangeRecorder.notifyChanged(TransactionChangeRecorder.java:240)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.emf.common.notify.impl.NotificationImpl.dispatch(NotificationImpl.java:1027)
at org.eclipse.bpmn2.impl.CatchEventImpl.setOutputSet(CatchEventImpl.java:215)
at org.eclipse.bpmn2.modeler.core.utils.EventDefinitionsUtil.getIOParameter(EventDefinitionsUtil.java:138)
at org.eclipse.bpmn2.modeler.core.validation.validators.EventDefinitionValidator.validate(EventDefinitionValidator.java:120)
at org.eclipse.bpmn2.modeler.core.validation.validators.EventDefinitionValidator.validate(EventDefinitionValidator.java:1)
at org.eclipse.bpmn2.modeler.core.validation.validators.AbstractBpmn2ElementValidator.validate(AbstractBpmn2ElementValidator.java:1)
at org.eclipse.bpmn2.modeler.core.validation.BPMN2ValidationConstraints.validate(BPMN2ValidationConstraints.java:81)
at org.eclipse.emf.validation.internal.util.JavaConstraintParser$ConstraintAdapter.validate(JavaConstraintParser.java:80)
at org.eclipse.emf.validation.internal.service.AbstractValidator.evaluateConstraints(AbstractValidator.java:241)
at org.eclipse.emf.validation.internal.service.BatchValidator.validate(BatchValidator.java:264)
at org.eclipse.emf.validation.internal.service.BatchValidator.validate(BatchValidator.java:211)
at org.eclipse.emf.validation.internal.service.BatchValidator.doValidate(BatchValidator.java:149)
at org.eclipse.emf.validation.internal.service.AbstractValidator.validate(AbstractValidator.java:147)
at org.eclipse.emf.validation.internal.service.BatchValidator.validate(BatchValidator.java:130)
at ch.scodi.document.bpmn.ui.editors.BPMNModelPartPage.validate(BPMNModelPartPage.java:391)
at ch.scodi.document.bpmn.ui.editors.BPMNModelPartPage.initializeGraphicalViewer(BPMNModelPartPage.java:256)
at org.eclipse.graphiti.ui.editor.DiagramBehavior.createGraphicalViewer(DiagramBehavior.java:497)
at org.eclipse.graphiti.ui.editor.DiagramEditor.createGraphicalViewer(DiagramEditor.java:335)
at org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(GraphicalEditor.java:171)
at org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette.createPartControl(GraphicalEditorWithFlyoutPalette.java:74)
at org.eclipse.graphiti.ui.editor.DiagramEditor.createPartControl(DiagramEditor.java:320)
at org.eclipse.bpmn2.modeler.ui.editor.DefaultBPMN2Editor.createPartControl(DefaultBPMN2Editor.java:561)
at ch.scodi.document.bpmn.ui.editors.BPMNModelPartPage.createFormContent(BPMNModelPartPage.java:189)
at ch.scodi.document.bpmn.ui.editors.BPMNModelPartPage$5.run(BPMNModelPartPage.java:673)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at ch.scodi.document.bpmn.ui.editors.BPMNModelPartPage.createPartControl(BPMNModelPartPage.java:670)
at org.eclipse.ui.forms.editor.FormEditor.pageChange(FormEditor.java:480)
at com.softmodeler.ui.editors.UIObjectEditor.pageChange(UIObjectEditor.java:179)
at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1102)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:614)
at org.eclipse.ui.forms.editor.SharedHeaderFormEditor.setActivePage(SharedHeaderFormEditor.java:115)
at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:518)
at ch.scodi.document.bpmn.ui.editors.BPMNModelPartPage$4.run(BPMNModelPartPage.java:483)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:182)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4203)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3819)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1121)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1022)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:687)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:604)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
at com.softmodeler.ui.rcp.RCPApplication.start(RCPApplication.java:157)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
at org.eclipse.equinox.launcher.Main.main(Main.java:1492)

Umgebung

None

Zugewiesene Person

Flavio Donzé

Autor

Flavio Donzé

Label

None

Komponenten

Lösungsversionen

Betrifft Versionen

Priorität

Normal
Configure