| Summary: | resolveoneIn(...) fails for override mappings | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] QVTo | Reporter: | Adrian Price <adrianp.quatinus> | ||||||||||||||
| Component: | Engine | Assignee: | Project Inbox <mmt-qvt.operational-inbox> | ||||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||||||||||
| Severity: | normal | ||||||||||||||||
| Priority: | P3 | CC: | ed, kutter, serg.boyko2011 | ||||||||||||||
| Version: | 2.0 | ||||||||||||||||
| Target Milestone: | --- | ||||||||||||||||
| Hardware: | PC | ||||||||||||||||
| OS: | Windows 7 | ||||||||||||||||
| Whiteboard: | |||||||||||||||||
| Bug Depends on: | |||||||||||||||||
| Bug Blocks: | 398009 | ||||||||||||||||
| Attachments: |
|
||||||||||||||||
|
Description
Adrian Price
Doh, premature submit. Here's the rest of the description: If one transform extends a base transform, and the base transform calls resolveoneIn(mapping, type), where mapping has been overridden in the extension transform, resolveonIn does not yield the correct result. I noticed this when experimenting with extension mappings for the Simpleuml_To_Rdb.qvto example. I have attached my extension transform, in which the override UML::Class::persistentClass2table() : RDB::Table mapping is identical to the base version. If you compare the results you will see that those produced by the extension lack the includedColumns attribute. Created attachment 203893 [details]
Extension transformation
Created attachment 203894 [details]
Extension transformation launch configuration
Created attachment 222626 [details]
JUnit test patch
Created attachment 222627 [details]
Patch for resolveIn on overridden mappings
The problem was that on execution of resolve operations, the overriding mapping is simply not considered. Fixed by the proposed patch.
Created attachment 223669 [details]
JUnit test patch
Updated for javaless mode
Created attachment 223670 [details]
JUnit test patch
Updated for javaless mode
+1 Trivial comment (no action required, just for the future): - when doing (overridingOper instanceof MappingOperation) the previous overridingOpen != null is not required. The following has been committed and pushed to master for M6: - Bug fix patch with trivial change commented above. Resolving as fixed. See also Bug 403440. What is missing to put this to verified? See my response on https://bugs.eclipse.org/bugs/show_bug.cgi?id=309762#c20. Please do not waste our time by spamming Bugzillas. We have a developers mailing list (https://dev.eclipse.org/mailman/listinfo/qvto-dev) that is much more suitable for philosophiocal and project discussions. |