|
Re: Problems using Ecore OCL for derived [message #1853816 is a reply to message #1853779] |
Tue, 19 July 2022 06:01 |
Ed Willink Messages: 7635 Registered: July 2009 |
Senior Member |
|
|
Hi
Please ask OCL questions on the OCL forum / Papyrus questions on the Papyrus forum.
What you have presented is impossible since Eclipse OCL makes no use of EMFt and so the cannot modify without a write transaction cannot occur.
However you provide only a PNG rather than a full stack trace, so we cannot see what, presumably Papyrus, is part of the trimmed trace.
If this really is a use case that once worked, my best guess is that either Papyrus or OCL has evolved so that a Papyrus ResourceSet configured for EMFt is now exposed for re-use.
You therefore need to accurately report your use case and the versions that work and those that do not.
(OCL has been evolving and now uses a ThreadLocal rather than a ResourceSet adapter to cache the OCL context for which EMF provides no passing mechanism. It is possible that a sequence of two actions has passed something unhappy between OCL sessions. However that would imply that OCL was being invoked on the main rather than a worker thread, which would be a very bad practice. Looking at the PNG again, it might not be trimmed, it may be a worker thread as expected, so conversely if you are using an older version of Eclipse OCL, you may be demonstrating why I moved from a ResourceSet adapter that could share across threads in embarrassing ways to a Thread Local that cannot.)
Regards
Ed Willink
|
|
|
|
Powered by
FUDForum. Page generated in 0.01846 seconds