Passing Parameters into ETL from Ant [message #526545] |
Mon, 12 April 2010 04:51  |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi,
I can pass model references from Ant into ETL via:
<epsilon.etl src="${EtlFile}">
<model ref="${SourceName}" as="Source"/>
<model ref="${TargetName}" as="Target"/>
</epsilon.etl>
What's the syntax required to allow me to pass in variables (constants
as far as ETL is concerned) from Ant?
e.g. I could enable/disable logging from ETL via a Boolean declared in Ant:
in Ant:
<property name="LoggingEnabled" value="true"/>
<epsilon.etl src="${EtlFile}">
<model ref="${SourceName}" as="Source"/>
<model ref="${TargetName}" as="Target"/>
<!-- pass in property LoggingEnabled -->
</epsilon.etl>
in ETL:
rule Blah
transform sourceThing : Source!Thing
to targetThing : Target!Thing {
if (LoggingEnabled) {
'rule: Blah invoked'.println();
}
}
How do I declare 'LoggingEnabled' in Ant? How do I pass 'LoggingEnabled'
into to ETL? And how do I access 'LoggingEnabled' from within ETL?
Regards
Chris
|
|
|
|
Re: Passing Parameters into ETL from Ant [message #527190 is a reply to message #526640] |
Wed, 14 April 2010 08:03  |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi Dimitris,
Many thanks, I implemented it like this:
<epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
<!--
Enable or disable transformation logging messages
-->
<parameter name="LoggingEnabled" value="true"/>
<!--
Provide referenced model components to ECL transformation
-->
<model ref="${LeftModel}" as="Left"/>
<model ref="${RightModel}" as="Right"/>
</epsilon.ecl>
Thanks for your help.
Best Wishes
Chris
Dimitris Kolovos wrote:
> Hi Chris,
>
> You can use <parameter/> nested elements to pass parameters to Epsilon
> programs via ANT tasks (all parameters are strings so you'll have to
> transform them to booleans, integers etc. using the respective
> asBoolean(), asInteger() methods):
>
> <epsilon.eol>
> LoggingEnabled.asBoolean().println();
> <parameter name="LoggingEnabled" value="true"/>
> </epsilon.eol>
>
> Cheers,
> Dimitris
>
> On 12/04/2010 11:51, Chris Holmes wrote:
>> Hi,
>> I can pass model references from Ant into ETL via:
>> <epsilon.etl src="${EtlFile}">
>> <model ref="${SourceName}" as="Source"/>
>> <model ref="${TargetName}" as="Target"/>
>> </epsilon.etl>
>>
>> What's the syntax required to allow me to pass in variables (constants
>> as far as ETL is concerned) from Ant?
>>
>> e.g. I could enable/disable logging from ETL via a Boolean declared in
>> Ant:
>>
>> in Ant:
>> <property name="LoggingEnabled" value="true"/>
>> <epsilon.etl src="${EtlFile}">
>> <model ref="${SourceName}" as="Source"/>
>> <model ref="${TargetName}" as="Target"/>
>> <!-- pass in property LoggingEnabled -->
>> </epsilon.etl>
>>
>>
>> in ETL:
>> rule Blah
>> transform sourceThing : Source!Thing
>> to targetThing : Target!Thing {
>> if (LoggingEnabled) {
>> 'rule: Blah invoked'.println();
>> }
>> }
>>
>> How do I declare 'LoggingEnabled' in Ant? How do I pass 'LoggingEnabled'
>> into to ETL? And how do I access 'LoggingEnabled' from within ETL?
>>
>> Regards
>> Chris
>
|
|
|
Re: Passing Parameters into ETL from Ant [message #588255 is a reply to message #526545] |
Mon, 12 April 2010 09:43  |
Eclipse User |
|
|
|
Hi Chris,
You can use <parameter/> nested elements to pass parameters to Epsilon
programs via ANT tasks (all parameters are strings so you'll have to
transform them to booleans, integers etc. using the respective
asBoolean(), asInteger() methods):
<epsilon.eol>
LoggingEnabled.asBoolean().println();
<parameter name="LoggingEnabled" value="true"/>
</epsilon.eol>
Cheers,
Dimitris
On 12/04/2010 11:51, Chris Holmes wrote:
> Hi,
> I can pass model references from Ant into ETL via:
> <epsilon.etl src="${EtlFile}">
> <model ref="${SourceName}" as="Source"/>
> <model ref="${TargetName}" as="Target"/>
> </epsilon.etl>
>
> What's the syntax required to allow me to pass in variables (constants
> as far as ETL is concerned) from Ant?
>
> e.g. I could enable/disable logging from ETL via a Boolean declared in Ant:
>
> in Ant:
> <property name="LoggingEnabled" value="true"/>
> <epsilon.etl src="${EtlFile}">
> <model ref="${SourceName}" as="Source"/>
> <model ref="${TargetName}" as="Target"/>
> <!-- pass in property LoggingEnabled -->
> </epsilon.etl>
>
>
> in ETL:
> rule Blah
> transform sourceThing : Source!Thing
> to targetThing : Target!Thing {
> if (LoggingEnabled) {
> 'rule: Blah invoked'.println();
> }
> }
>
> How do I declare 'LoggingEnabled' in Ant? How do I pass 'LoggingEnabled'
> into to ETL? And how do I access 'LoggingEnabled' from within ETL?
>
> Regards
> Chris
|
|
|
Re: Passing Parameters into ETL from Ant [message #588305 is a reply to message #526640] |
Wed, 14 April 2010 08:03  |
Eclipse User |
|
|
|
Originally posted by: c.k.holmes.lboro.ac.uk
Hi Dimitris,
Many thanks, I implemented it like this:
<epsilon.ecl src="${EclFile}" exportmatchtrace="matchTrace">
<!--
Enable or disable transformation logging messages
-->
<parameter name="LoggingEnabled" value="true"/>
<!--
Provide referenced model components to ECL transformation
-->
<model ref="${LeftModel}" as="Left"/>
<model ref="${RightModel}" as="Right"/>
</epsilon.ecl>
Thanks for your help.
Best Wishes
Chris
Dimitris Kolovos wrote:
> Hi Chris,
>
> You can use <parameter/> nested elements to pass parameters to Epsilon
> programs via ANT tasks (all parameters are strings so you'll have to
> transform them to booleans, integers etc. using the respective
> asBoolean(), asInteger() methods):
>
> <epsilon.eol>
> LoggingEnabled.asBoolean().println();
> <parameter name="LoggingEnabled" value="true"/>
> </epsilon.eol>
>
> Cheers,
> Dimitris
>
> On 12/04/2010 11:51, Chris Holmes wrote:
>> Hi,
>> I can pass model references from Ant into ETL via:
>> <epsilon.etl src="${EtlFile}">
>> <model ref="${SourceName}" as="Source"/>
>> <model ref="${TargetName}" as="Target"/>
>> </epsilon.etl>
>>
>> What's the syntax required to allow me to pass in variables (constants
>> as far as ETL is concerned) from Ant?
>>
>> e.g. I could enable/disable logging from ETL via a Boolean declared in
>> Ant:
>>
>> in Ant:
>> <property name="LoggingEnabled" value="true"/>
>> <epsilon.etl src="${EtlFile}">
>> <model ref="${SourceName}" as="Source"/>
>> <model ref="${TargetName}" as="Target"/>
>> <!-- pass in property LoggingEnabled -->
>> </epsilon.etl>
>>
>>
>> in ETL:
>> rule Blah
>> transform sourceThing : Source!Thing
>> to targetThing : Target!Thing {
>> if (LoggingEnabled) {
>> 'rule: Blah invoked'.println();
>> }
>> }
>>
>> How do I declare 'LoggingEnabled' in Ant? How do I pass 'LoggingEnabled'
>> into to ETL? And how do I access 'LoggingEnabled' from within ETL?
>>
>> Regards
>> Chris
>
|
|
|
Powered by
FUDForum. Page generated in 0.07547 seconds