| ETL: protected regions not working [message #877041] |
Fri, 25 May 2012 15:10  |
|
I'm trying to use protected regions with ETL. So, I put the following code in the template:
[%=out.preserve("/*", "*/", name+"-Prop", true," //TODO")%]
This generates the following code:
/* protected region Local-Prop on begin */
//TODO
/* protected region Local-Prop end */
which I think is correct.
Then I changed the previous code to this:
/* protected region Local-Prop on begin */
test();
/* protected region Local-Prop end */
I was hopping that after generating the code again I was going to keep the 'test();', but that content is lost, and it is replaced with '//TODO'.
Am I doing anything wrong? Is there anything else I need to do, besides using the "preserve" method?
Rui Carlos Gonçalves
|
|
|
| Re: ETL: protected regions not working [message #877108 is a reply to message #877041] |
Fri, 25 May 2012 18:18   |
|
That seems fine according to the book. In our case we use
[%=out.startPreserve("--", "--",entity.identifier + " Additional Descriptions", true)%]
[%=out.stopPreserve()%]
But I now recall I have a report of preserved regions being overwritten as in our case. Any one has any other ideas?
Horacio Hoyos Rodriguez
EngD Student
University Of York
|
|
|
|
|
| Re: ETL: protected regions not working [message #878479 is a reply to message #877775] |
Tue, 29 May 2012 08:01   |
Louis Rose Messages: 427 Registered: July 2009 Location: York, United Kingdom |
Senior Member |
|
|
Hi Rui Carlos,
Rui Carlos Gonçalves wrote on Sun, 27 May 2012 13:55I've already tried many different ways (preserve/startPreserve, different ids, different comments ), and it's not working :\
I'm not using any special character in the id.
I'm sorry to hear that you're having problems with protected regions. I think this might be related to the bug that Martin mentions. Can you try again without the hyphen in the identifier? So, for example:
[%=out.preserve("/*", "*/", name+"Prop", true," //TODO")%]
I believe that, in the latest stable release of Epsilon, identifiers could only contain word characters (i.e. [a-zA-Z_0-9]). Alternatively, you can try updating to the latest interim release of Epsilon, which contains the fix for this bug and should work with your existing code.
Hope this helps,
Louis.
|
|
|
| Re: ETL: protected regions not working [message #878567 is a reply to message #878479] |
Tue, 29 May 2012 10:38   |
|
Hi Louis. Thanks for your reply.
Louis Rose wrote on Tue, 29 May 2012 13:01I believe that, in the latest stable release of Epsilon, identifiers could only contain word characters (i.e. [a-zA-Z_0-9]). Alternatively, you can try updating to the latest interim release of Epsilon, which contains the fix for this bug and should work with your existing code.
No, I have already tried that...
Is there any debug mode that can me help finding the problem?
BTW, do I have to set any option in the run configuration to be able to use protected regions?
Rui Carlos Gonçalves
|
|
|
|
| Re: ETL: protected regions not working [message #886913 is a reply to message #879016] |
Fri, 15 June 2012 16:33  |
|
I think I've solved the problem...
I was calling the template directly in a Run Configuration and it was not working.
Now I'm using "TemplateFactory.load"/"generate" methods instead of calling the template directly, and it seems to be working 
Not sure if this is the expected behavior, but it solved the problem.
PS: Louis, if this is still a bug (i.e., if protected regions are supposed to work even without using the "TemplateFactory.load"/"generate"), let me know, and I'll create the bug report. (I haven't done it yet, as creating a minimal example, with metamodels and editor, takes some time :\ )
Rui Carlos Gonçalves
[Updated on: Fri, 15 June 2012 16:34] Report message to a moderator
|
|
|
Powered by
FUDForum. Page generated in 0.02047 seconds