NullPointerExceptions in ControlledResourceTracker while rolling back transactions [message #1770237] |
Wed, 09 August 2017 05:59  |
Eclipse User |
|
|
|
Hi all,
I have encountered an unexpected behavior of a Papyrus component (ControlledResourceTracker) while rolling back a transaction that executed a transformation. The transformation produced a UML PSM from a UML PIM that is contained in the very same ResourceSet as the PIM.
When an exception occurs during the execution of the transactional command (there are more steps than just creating the PSM, so happens that the PSM is correctly generated and even executed, but another steps in the transaction may cause the transaction to rollback) the transaction framework tries to rollback the transaction.
So far, so good. Unfortunately, the rollback aborts with a NullPointerException thrown by the ControlledResourceTracker. You can find the exception below. Does anyone else encountered this situation with the ControlledResourceTracker?
java.lang.reflect.InvocationTargetException
at de.fraunhofer.fokus.utest.papyrus.ui.handler.testdesign.ExecuteTestDesignDirective$1.run(ExecuteTestDesignDirective.java:122)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: java.lang.NullPointerException
at org.eclipse.papyrus.infra.emf.readonly.ControlledResourceTracker.handleRemove(ControlledResourceTracker.java:228)
at org.eclipse.papyrus.infra.emf.readonly.ControlledResourceTracker.notifyChanged(ControlledResourceTracker.java:303)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.dispatchNotification(NotifyingListImpl.java:261)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.remove(NotifyingListImpl.java:713)
at org.eclipse.emf.common.util.ECollections.setEList(ECollections.java:238)
at org.eclipse.emf.ecore.change.impl.ResourceChangeImpl.process(ResourceChangeImpl.java:305)
at org.eclipse.emf.ecore.change.impl.ResourceChangeImpl.apply(ResourceChangeImpl.java:282)
at org.eclipse.emf.ecore.change.impl.ResourceChangeImpl.apply(ResourceChangeImpl.java:267)
at org.eclipse.emf.ecore.change.impl.ChangeDescriptionImpl.apply(ChangeDescriptionImpl.java:306)
at org.eclipse.emf.transaction.util.CompositeChangeDescription.apply(CompositeChangeDescription.java:135)
at org.eclipse.emf.transaction.impl.TransactionImpl.doRollback(TransactionImpl.java:570)
at org.eclipse.emf.transaction.impl.TransactionImpl.rollback(TransactionImpl.java:547)
at org.eclipse.emf.workspace.AbstractEMFOperation.rollback(AbstractEMFOperation.java:630)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:187)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516)
at de.fraunhofer.fokus.utest.papyrus.ui.handler.testdesign.ExecuteTestDesignDirective$1.run(ExecuteTestDesignDirective.java:106)
... 1 more
Best regards,
Marc-Florian
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.08919 seconds