|
|
|
Re: [OCLInEcore] Problem with OCL expressions containing type references from imported packages [message #815310 is a reply to message #815259] |
Wed, 07 March 2012 13:47 |
Ed Willink Messages: 7669 Registered: July 2009 |
Senior Member |
|
|
Hi
Sorry replied too quickly. This is a problem fixed in Juno for the Pivot
model only.
The problem is that OCL, as specified, provides no way of binding the
'a' alias to 'A.ecore'. For Juno, I've introduced an extension so that
package names can be URIs and so the OCL saved in Ecore is
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot">
<details key="derivation"
value="type.oclContainer().oclAsType(_'A.ecore'::a::System)"/>
</eAnnotations>
which is loadable by a compliant parser.
You will also need a compliant library to support the oclContainer()
function too.
So, your next question, how does this work in Acceleo? It doesn't.
This is an example of many corner case problems in the legacy code.
These are very hard to fix, hence the new pivot binding. It is very
unlikely that Acceleo will use the pivot model in Juno, so use of these
OCL fixes may have to wait for Kepler.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=373518 raised to
investigate solutions.
Regards
Ed Willink
On 07/03/2012 12:37, Filip Krikava wrote:
> That is what I hoped, but I use: 3.1.2.v20120206-0606 and I think it
> is a different issue - my problem is not the model structure but the
> OCL expressions themselves.
|
|
|
|
Powered by
FUDForum. Page generated in 0.04019 seconds