Where did my matches go? [message #531249] |
Tue, 04 May 2010 10:25 |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi,
I have an Ant workflow that compares two models using ECL returning the
resulting matchTrace object. The Ant workflow then runs a transformation
via ETL using the matchTrace structure, however the number of matches
reported in the 'post' section of the ECL script and the number reported
in the 'pre' section of the ETL script differ somewhat. Why is this?
<target name="A">
<epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
<model ref="${LeftModel}" as="Left"/>
<model ref="${RightModel}" as="Right"/>
</epsilon.ecl>
</target>
<target name="B">
<epsilon.loadModel name="${Document}" type="EMF">
<parameter name="modelFile" file="${DocModel}"/>
<parameter name="metamodelUri" value="${DocModelUri}"/>
<parameter name="readOnLoad" value="false"/>
<parameter name="storeOnDisposal" value="true"/>
</epsilon.loadModel>
<epsilon.etl src="${EtlFile}">
<model ref="${LeftModel}" as="MyModel"/>
<model ref="${Document}" as="Document"/>
<uses ref="matchTrace"/>
</epsilon.etl>
</target>
From ECL script:
<snip>
post {
'Match trace'.println();
('There are: ' + matchTrace.getMatches().size() + ' elements').println();
}
</snip>
Returns ==>
[epsilon.ecl - MyEclScript.ecl] Match trace
[epsilon.ecl - MyEclScript.ecl] There are: 372 elements
From ETL script:
<snip>
pre {
'Match Trace structure:'.println();
('There are: ' + matchTrace.getMatches().size() + ' elements').println();
</snip>
Returns ==>
[epsilon.etl - MyEtlScript.etl] Match Trace structure:
[epsilon.etl - MyEtlScript.etl] There are: 177 elements
What happened to the other 195 matches? Am I interfacing ECL and ETL
correctly?
Regards
Chris
|
|
|
|
Re: Where did my matches go? [message #531255 is a reply to message #531254] |
Tue, 04 May 2010 10:37 |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi Dimitris,
Yes, I think I might. How do I do this?
Best Wishes
Chris
Dimitris Kolovos wrote:
> Hi Chris,
>
> This happens because before the ECL task exports the match trace, it
> removes matches with matching=false. Do you need to access these in the
> ETL transformation?
>
> Cheers,
> Dimitris
>
> Chris Holmes wrote:
>> Hi,
>> I have an Ant workflow that compares two models using ECL returning
>> the resulting matchTrace object. The Ant workflow then runs a
>> transformation via ETL using the matchTrace structure, however the
>> number of matches reported in the 'post' section of the ECL script and
>> the number reported in the 'pre' section of the ETL script differ
>> somewhat. Why is this?
>>
>> <target name="A">
>> <epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
>> <model ref="${LeftModel}" as="Left"/>
>> <model ref="${RightModel}" as="Right"/>
>> </epsilon.ecl>
>> </target>
>>
>> <target name="B">
>> <epsilon.loadModel name="${Document}" type="EMF">
>> <parameter name="modelFile" file="${DocModel}"/>
>> <parameter name="metamodelUri" value="${DocModelUri}"/>
>> <parameter name="readOnLoad" value="false"/>
>> <parameter name="storeOnDisposal" value="true"/>
>> </epsilon.loadModel>
>> <epsilon.etl src="${EtlFile}">
>> <model ref="${LeftModel}" as="MyModel"/>
>> <model ref="${Document}" as="Document"/>
>> <uses ref="matchTrace"/>
>> </epsilon.etl>
>> </target>
>>
>>
>> From ECL script:
>> <snip>
>> post {
>> 'Match trace'.println();
>> ('There are: ' + matchTrace.getMatches().size() + '
>> elements').println();
>> }
>> </snip>
>> Returns ==>
>> [epsilon.ecl - MyEclScript.ecl] Match trace
>> [epsilon.ecl - MyEclScript.ecl] There are: 372 elements
>>
>> From ETL script:
>> <snip>
>> pre {
>> 'Match Trace structure:'.println();
>> ('There are: ' + matchTrace.getMatches().size() + '
>> elements').println();
>> </snip>
>> Returns ==>
>> [epsilon.etl - MyEtlScript.etl] Match Trace structure:
>> [epsilon.etl - MyEtlScript.etl] There are: 177 elements
>>
>> What happened to the other 195 matches? Am I interfacing ECL and ETL
>> correctly?
>>
>> Regards
>> Chris
>
>
|
|
|
Re: Where did my matches go? [message #531256 is a reply to message #531255] |
Tue, 04 May 2010 10:41 |
Dimitrios Kolovos Messages: 1776 Registered: July 2009 |
Senior Member |
|
|
Hi Chris,
Off the top of my head this should be possible if you replace
exportmatchtrace="matchTrace" with a nested <exports ref="matchTrace"/>
element inside <epsilon.ecl ...>. Please let me know if this doesn't
work and I'll have a closer look at this.
Cheers,
Dimitris
Chris Holmes wrote:
> Hi Dimitris,
> Yes, I think I might. How do I do this?
>
> Best Wishes
> Chris
>
> Dimitris Kolovos wrote:
>> Hi Chris,
>>
>> This happens because before the ECL task exports the match trace, it
>> removes matches with matching=false. Do you need to access these in
>> the ETL transformation?
>>
>> Cheers,
>> Dimitris
>>
>> Chris Holmes wrote:
>>> Hi,
>>> I have an Ant workflow that compares two models using ECL returning
>>> the resulting matchTrace object. The Ant workflow then runs a
>>> transformation via ETL using the matchTrace structure, however the
>>> number of matches reported in the 'post' section of the ECL script
>>> and the number reported in the 'pre' section of the ETL script differ
>>> somewhat. Why is this?
>>>
>>> <target name="A">
>>> <epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
>>> <model ref="${LeftModel}" as="Left"/>
>>> <model ref="${RightModel}" as="Right"/>
>>> </epsilon.ecl>
>>> </target>
>>>
>>> <target name="B">
>>> <epsilon.loadModel name="${Document}" type="EMF">
>>> <parameter name="modelFile" file="${DocModel}"/>
>>> <parameter name="metamodelUri" value="${DocModelUri}"/>
>>> <parameter name="readOnLoad" value="false"/>
>>> <parameter name="storeOnDisposal" value="true"/>
>>> </epsilon.loadModel>
>>> <epsilon.etl src="${EtlFile}">
>>> <model ref="${LeftModel}" as="MyModel"/>
>>> <model ref="${Document}" as="Document"/>
>>> <uses ref="matchTrace"/>
>>> </epsilon.etl>
>>> </target>
>>>
>>>
>>> From ECL script:
>>> <snip>
>>> post {
>>> 'Match trace'.println();
>>> ('There are: ' + matchTrace.getMatches().size() + '
>>> elements').println();
>>> }
>>> </snip>
>>> Returns ==>
>>> [epsilon.ecl - MyEclScript.ecl] Match trace
>>> [epsilon.ecl - MyEclScript.ecl] There are: 372 elements
>>>
>>> From ETL script:
>>> <snip>
>>> pre {
>>> 'Match Trace structure:'.println();
>>> ('There are: ' + matchTrace.getMatches().size() + '
>>> elements').println();
>>> </snip>
>>> Returns ==>
>>> [epsilon.etl - MyEtlScript.etl] Match Trace structure:
>>> [epsilon.etl - MyEtlScript.etl] There are: 177 elements
>>>
>>> What happened to the other 195 matches? Am I interfacing ECL and ETL
>>> correctly?
>>>
>>> Regards
>>> Chris
>>
>>
--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
|
|
|
Re: Where did my matches go? [message #531260 is a reply to message #531256] |
Tue, 04 May 2010 10:53 |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi Dimitris,
Your recollection is correct, it works :)
Many thanks for your assistance.
Best Wishes
Chris
Dimitris Kolovos wrote:
> Hi Chris,
>
> Off the top of my head this should be possible if you replace
> exportmatchtrace="matchTrace" with a nested <exports ref="matchTrace"/>
> element inside <epsilon.ecl ...>. Please let me know if this doesn't
> work and I'll have a closer look at this.
>
> Cheers,
> Dimitris
>
> Chris Holmes wrote:
>> Hi Dimitris,
>> Yes, I think I might. How do I do this?
>>
>> Best Wishes
>> Chris
>>
>> Dimitris Kolovos wrote:
>>> Hi Chris,
>>>
>>> This happens because before the ECL task exports the match trace, it
>>> removes matches with matching=false. Do you need to access these in
>>> the ETL transformation?
>>>
>>> Cheers,
>>> Dimitris
>>>
>>> Chris Holmes wrote:
>>>> Hi,
>>>> I have an Ant workflow that compares two models using ECL returning
>>>> the resulting matchTrace object. The Ant workflow then runs a
>>>> transformation via ETL using the matchTrace structure, however the
>>>> number of matches reported in the 'post' section of the ECL script
>>>> and the number reported in the 'pre' section of the ETL script
>>>> differ somewhat. Why is this?
>>>>
>>>> <target name="A">
>>>> <epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
>>>> <model ref="${LeftModel}" as="Left"/>
>>>> <model ref="${RightModel}" as="Right"/>
>>>> </epsilon.ecl>
>>>> </target>
>>>>
>>>> <target name="B">
>>>> <epsilon.loadModel name="${Document}" type="EMF">
>>>> <parameter name="modelFile" file="${DocModel}"/>
>>>> <parameter name="metamodelUri" value="${DocModelUri}"/>
>>>> <parameter name="readOnLoad" value="false"/>
>>>> <parameter name="storeOnDisposal" value="true"/>
>>>> </epsilon.loadModel>
>>>> <epsilon.etl src="${EtlFile}">
>>>> <model ref="${LeftModel}" as="MyModel"/>
>>>> <model ref="${Document}" as="Document"/>
>>>> <uses ref="matchTrace"/>
>>>> </epsilon.etl>
>>>> </target>
>>>>
>>>>
>>>> From ECL script:
>>>> <snip>
>>>> post {
>>>> 'Match trace'.println();
>>>> ('There are: ' + matchTrace.getMatches().size() + '
>>>> elements').println();
>>>> }
>>>> </snip>
>>>> Returns ==>
>>>> [epsilon.ecl - MyEclScript.ecl] Match trace
>>>> [epsilon.ecl - MyEclScript.ecl] There are: 372 elements
>>>>
>>>> From ETL script:
>>>> <snip>
>>>> pre {
>>>> 'Match Trace structure:'.println();
>>>> ('There are: ' + matchTrace.getMatches().size() + '
>>>> elements').println();
>>>> </snip>
>>>> Returns ==>
>>>> [epsilon.etl - MyEtlScript.etl] Match Trace structure:
>>>> [epsilon.etl - MyEtlScript.etl] There are: 177 elements
>>>>
>>>> What happened to the other 195 matches? Am I interfacing ECL and ETL
>>>> correctly?
>>>>
>>>> Regards
>>>> Chris
>>>
>>>
>
>
|
|
|
|
Re: Where did my matches go? [message #588772 is a reply to message #531254] |
Tue, 04 May 2010 10:37 |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi Dimitris,
Yes, I think I might. How do I do this?
Best Wishes
Chris
Dimitris Kolovos wrote:
> Hi Chris,
>
> This happens because before the ECL task exports the match trace, it
> removes matches with matching=false. Do you need to access these in the
> ETL transformation?
>
> Cheers,
> Dimitris
>
> Chris Holmes wrote:
>> Hi,
>> I have an Ant workflow that compares two models using ECL returning
>> the resulting matchTrace object. The Ant workflow then runs a
>> transformation via ETL using the matchTrace structure, however the
>> number of matches reported in the 'post' section of the ECL script and
>> the number reported in the 'pre' section of the ETL script differ
>> somewhat. Why is this?
>>
>> <target name="A">
>> <epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
>> <model ref="${LeftModel}" as="Left"/>
>> <model ref="${RightModel}" as="Right"/>
>> </epsilon.ecl>
>> </target>
>>
>> <target name="B">
>> <epsilon.loadModel name="${Document}" type="EMF">
>> <parameter name="modelFile" file="${DocModel}"/>
>> <parameter name="metamodelUri" value="${DocModelUri}"/>
>> <parameter name="readOnLoad" value="false"/>
>> <parameter name="storeOnDisposal" value="true"/>
>> </epsilon.loadModel>
>> <epsilon.etl src="${EtlFile}">
>> <model ref="${LeftModel}" as="MyModel"/>
>> <model ref="${Document}" as="Document"/>
>> <uses ref="matchTrace"/>
>> </epsilon.etl>
>> </target>
>>
>>
>> From ECL script:
>> <snip>
>> post {
>> 'Match trace'.println();
>> ('There are: ' + matchTrace.getMatches().size() + '
>> elements').println();
>> }
>> </snip>
>> Returns ==>
>> [epsilon.ecl - MyEclScript.ecl] Match trace
>> [epsilon.ecl - MyEclScript.ecl] There are: 372 elements
>>
>> From ETL script:
>> <snip>
>> pre {
>> 'Match Trace structure:'.println();
>> ('There are: ' + matchTrace.getMatches().size() + '
>> elements').println();
>> </snip>
>> Returns ==>
>> [epsilon.etl - MyEtlScript.etl] Match Trace structure:
>> [epsilon.etl - MyEtlScript.etl] There are: 177 elements
>>
>> What happened to the other 195 matches? Am I interfacing ECL and ETL
>> correctly?
>>
>> Regards
>> Chris
>
>
|
|
|
Re: Where did my matches go? [message #588781 is a reply to message #531255] |
Tue, 04 May 2010 10:41 |
Dimitrios Kolovos Messages: 1776 Registered: July 2009 |
Senior Member |
|
|
Hi Chris,
Off the top of my head this should be possible if you replace
exportmatchtrace="matchTrace" with a nested <exports ref="matchTrace"/>
element inside <epsilon.ecl ...>. Please let me know if this doesn't
work and I'll have a closer look at this.
Cheers,
Dimitris
Chris Holmes wrote:
> Hi Dimitris,
> Yes, I think I might. How do I do this?
>
> Best Wishes
> Chris
>
> Dimitris Kolovos wrote:
>> Hi Chris,
>>
>> This happens because before the ECL task exports the match trace, it
>> removes matches with matching=false. Do you need to access these in
>> the ETL transformation?
>>
>> Cheers,
>> Dimitris
>>
>> Chris Holmes wrote:
>>> Hi,
>>> I have an Ant workflow that compares two models using ECL returning
>>> the resulting matchTrace object. The Ant workflow then runs a
>>> transformation via ETL using the matchTrace structure, however the
>>> number of matches reported in the 'post' section of the ECL script
>>> and the number reported in the 'pre' section of the ETL script differ
>>> somewhat. Why is this?
>>>
>>> <target name="A">
>>> <epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
>>> <model ref="${LeftModel}" as="Left"/>
>>> <model ref="${RightModel}" as="Right"/>
>>> </epsilon.ecl>
>>> </target>
>>>
>>> <target name="B">
>>> <epsilon.loadModel name="${Document}" type="EMF">
>>> <parameter name="modelFile" file="${DocModel}"/>
>>> <parameter name="metamodelUri" value="${DocModelUri}"/>
>>> <parameter name="readOnLoad" value="false"/>
>>> <parameter name="storeOnDisposal" value="true"/>
>>> </epsilon.loadModel>
>>> <epsilon.etl src="${EtlFile}">
>>> <model ref="${LeftModel}" as="MyModel"/>
>>> <model ref="${Document}" as="Document"/>
>>> <uses ref="matchTrace"/>
>>> </epsilon.etl>
>>> </target>
>>>
>>>
>>> From ECL script:
>>> <snip>
>>> post {
>>> 'Match trace'.println();
>>> ('There are: ' + matchTrace.getMatches().size() + '
>>> elements').println();
>>> }
>>> </snip>
>>> Returns ==>
>>> [epsilon.ecl - MyEclScript.ecl] Match trace
>>> [epsilon.ecl - MyEclScript.ecl] There are: 372 elements
>>>
>>> From ETL script:
>>> <snip>
>>> pre {
>>> 'Match Trace structure:'.println();
>>> ('There are: ' + matchTrace.getMatches().size() + '
>>> elements').println();
>>> </snip>
>>> Returns ==>
>>> [epsilon.etl - MyEtlScript.etl] Match Trace structure:
>>> [epsilon.etl - MyEtlScript.etl] There are: 177 elements
>>>
>>> What happened to the other 195 matches? Am I interfacing ECL and ETL
>>> correctly?
>>>
>>> Regards
>>> Chris
>>
>>
--
Spread the word: http://www.eclipse.org/gmt/epsilon/spreadtheword
Follow Epsilon on Twitter: http://twitter.com/epsilonews
|
|
|
Re: Where did my matches go? [message #588793 is a reply to message #531256] |
Tue, 04 May 2010 10:53 |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi Dimitris,
Your recollection is correct, it works :)
Many thanks for your assistance.
Best Wishes
Chris
Dimitris Kolovos wrote:
> Hi Chris,
>
> Off the top of my head this should be possible if you replace
> exportmatchtrace="matchTrace" with a nested <exports ref="matchTrace"/>
> element inside <epsilon.ecl ...>. Please let me know if this doesn't
> work and I'll have a closer look at this.
>
> Cheers,
> Dimitris
>
> Chris Holmes wrote:
>> Hi Dimitris,
>> Yes, I think I might. How do I do this?
>>
>> Best Wishes
>> Chris
>>
>> Dimitris Kolovos wrote:
>>> Hi Chris,
>>>
>>> This happens because before the ECL task exports the match trace, it
>>> removes matches with matching=false. Do you need to access these in
>>> the ETL transformation?
>>>
>>> Cheers,
>>> Dimitris
>>>
>>> Chris Holmes wrote:
>>>> Hi,
>>>> I have an Ant workflow that compares two models using ECL returning
>>>> the resulting matchTrace object. The Ant workflow then runs a
>>>> transformation via ETL using the matchTrace structure, however the
>>>> number of matches reported in the 'post' section of the ECL script
>>>> and the number reported in the 'pre' section of the ETL script
>>>> differ somewhat. Why is this?
>>>>
>>>> <target name="A">
>>>> <epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
>>>> <model ref="${LeftModel}" as="Left"/>
>>>> <model ref="${RightModel}" as="Right"/>
>>>> </epsilon.ecl>
>>>> </target>
>>>>
>>>> <target name="B">
>>>> <epsilon.loadModel name="${Document}" type="EMF">
>>>> <parameter name="modelFile" file="${DocModel}"/>
>>>> <parameter name="metamodelUri" value="${DocModelUri}"/>
>>>> <parameter name="readOnLoad" value="false"/>
>>>> <parameter name="storeOnDisposal" value="true"/>
>>>> </epsilon.loadModel>
>>>> <epsilon.etl src="${EtlFile}">
>>>> <model ref="${LeftModel}" as="MyModel"/>
>>>> <model ref="${Document}" as="Document"/>
>>>> <uses ref="matchTrace"/>
>>>> </epsilon.etl>
>>>> </target>
>>>>
>>>>
>>>> From ECL script:
>>>> <snip>
>>>> post {
>>>> 'Match trace'.println();
>>>> ('There are: ' + matchTrace.getMatches().size() + '
>>>> elements').println();
>>>> }
>>>> </snip>
>>>> Returns ==>
>>>> [epsilon.ecl - MyEclScript.ecl] Match trace
>>>> [epsilon.ecl - MyEclScript.ecl] There are: 372 elements
>>>>
>>>> From ETL script:
>>>> <snip>
>>>> pre {
>>>> 'Match Trace structure:'.println();
>>>> ('There are: ' + matchTrace.getMatches().size() + '
>>>> elements').println();
>>>> </snip>
>>>> Returns ==>
>>>> [epsilon.etl - MyEtlScript.etl] Match Trace structure:
>>>> [epsilon.etl - MyEtlScript.etl] There are: 177 elements
>>>>
>>>> What happened to the other 195 matches? Am I interfacing ECL and ETL
>>>> correctly?
>>>>
>>>> Regards
>>>> Chris
>>>
>>>
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.04320 seconds