Open eclipse-ocl-bot opened 2 months ago
By Adolfo Sanchez-Barbudo Herrera on Feb 01, 2013 08:34
Hi Ed,
The QVTo transformation should rather be moved to the OCL project, since it's thought to be used by OCL language extenders. I'll re-work the transformation so that it might be used by OCL itself (and in general any language) as well.
Cheers,\ Adolfo.
By Adolfo Sanchez-Barbudo Herrera on Feb 07, 2013 14:56
I've pushed some stuff to branch asbh/399621
It works for QVTo, so it should be easily copied by QVTd.
Unfortunately, I've not been able to make the automation work for OCL so far. The Pivot EPackage doesn't get transformed by an unknown reason... I've temporarily put the visitor pattern weaver component before doing the Pivot.ecore resource write inside the workflow, to be able to see the result... Once it's working it should be executed afer the resource write component.
Cheers,\ Adolfo.
By Adolfo Sanchez-Barbudo Herrera on Feb 26, 2013 13:44
After some tricky ResourceWrite/Read tasks prior to GenerateModel one, the Pivot.ecore finally gets weaved the accept methods. However, if you delete any current hand-coded accept method, it never gets generated again.
If you manually generate code from the Pivot.merged.genmodel you the accept method generated, among other stuff.
MWE2 workflow needs some study/review/revision.
| --- | --- | | Bugzilla Link | 399621 | | Status | NEW | | Importance | P3 normal | | Reported | Jan 31, 2013 09:07 EDT | | Modified | Feb 26, 2013 13:44 EDT | | Reporter | Ed Willink |
Description
It is currently necessary to add the accept method body to each new *Impl class manually.
A VisitableAcceptGenerator was developed but could not be used because of an EMF template generation bug for eInvoke. This bug has been fixed.
A revised OCLExtenderVisitorsCodeGenerator/OCLExtenderVisitorPatternWeaverComponent is evolving for QVTo automation.
The new OCLExtenderVisitorPatternWeaverComponent is not yet ready; no QVTo trransform in MDT/OCL.
Attempting to use improvements from OCLExtenderVisitorsCodeGenerator was unsuccessful. It seems there may be an adverse interaction between suppressing annotation is in pivot.merged.genmodel and using them for injected bodies. Alternatively there may be an adverse interaction with the OCL code generator that strips redundant annotations.