Page 1 of 1

Chaining transforms - transform destination cannot be source

PostPosted: Thu Jan 24, 2019 4:36 pm
by jalbers@fastpilot.com
We use an AnyToAny to reverse-engineer a platform-specific model to a platform-independent model. We run the Any to Any transform with a typemap, then run scripts to modify the stereotype tagged value properties. Then plan to use UML to XML schema transform to produce an XSD version of the message model.

When we try to run a UML to XML schema transform, we get the error message: "This package has been selected as transform destination and cannot be selected as transform source."

Since the reverse engineering step is a one-time operation, it would be OK to remove/disconnect the first transform. However we have not found the way to remove the metadata/properties that mark the package as a 'transform destination'. We tried:

1. removing the 'Any to Any' transform map subpackage,
2. removing the transform source package, and
3 looked through the package and element specifications for properties related to the original transform.

No luck so far. So, two questions:

1. How can we 'disconnect' a transform destination from a transform, so we can use it as a transform source, and
2. There are cases where it would be useful for us to chain transforms as we incrementally realize specific target models. What is the reason for disallowing transform chaining, and is there a workaround? (For example if we resort to QVTO transforms will Cameo/NoMagic prevent transform chaining?)

Thanks!

Re: Chaining transforms - transform destination cannot be source

PostPosted: Thu Jan 24, 2019 6:16 pm
by jalbers@fastpilot.com
Resolved.

We incorrectly interpreted the error message to mean: "This package has been selected as transform destination (in another transform) and cannot be selected as transform source (in this transform)."

When you launch the Transformation Wizard, it remembers the destination package from the most recent transform. If you are chaining transforms and you select the previous destination package (or a subpackage) as the new transform source package it conflicts with the stale/cached destination from the previous transform.

So, the process goes like this:

1. If you get the error message, close the error dialog. The Transformation Wizard will now show that no source package is selected.
2. Select the new, desired destination package.
3. Now go back and set the source package again to the desired package. This time there is no error and you can proceed.