Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » [Acceleo] Problems with a template
[Acceleo] Problems with a template [message #541355] Sun, 20 June 2010 12:26 Go to next message
Daniel  is currently offline Daniel Friend
Messages: 44
Registered: June 2010
Member
Hi, I am debugging a project migrated from Acceleo 2 to Acceleo 3 and I am having some trouble.

First

In acceleo 2, when you used replaceAll("\.") it didnt treat the "." as a metachar but as a "." How do I do it in Acceleo 3? Doing it like Acceleo 2 fails, I thinks doing replaceAll('.') is also incorrect.

My way was replaceAll('\\.') is that correct?

Second

When I am running a module which objective is to perform a UML2Java generation, on a UML model which has a package named ss and inside a class named Class1 I get:

org.eclipse.acceleo.engine.AcceleoEvaluationException: Undefined condition of "If" at line 22 in Module common for block if (packagePath('/').size().<>(0)). Last recorded value of self was org.eclipse.uml2.uml.internal.impl.ClassImpl@2b26d5 (name: Class1, visibility: <unset>) (isLeaf: false, isAbstract: false) (isActive: false).


And other errors which provide no further information. The Acceleo 2 source is:

<%script type="Classifier" name="fullFilePath" post="trim()" %>
<%if (
current[!filter("Behavior")] != null &&
!owner.eClass.name.equalsIgnoreCase("Class")){%>
<%-- Don't generate anything for Behavior metaType and owner's Class metaType (inner class generated in owner class file) --%>
<%if (packagePath("/").length() != 0){%>
<%packagePath("/")%>/<%name%>.java
<%}else{%>
<%name%>.java
<%}%>
<%}%>

<%script type="Element" name="packagePath" post="trim()"%>
<%-- Build the package path of the given element.
The first argument is the path separator --%>
<%if (ancestor[!eClass.name.equalsIgnoreCase("Model")] != null){%>
<%if (pathPrefix.length() != 0){%>
<%pathPrefix.replaceAll("\.",args(0))%><%args(0)%><%ancestor[!eClass.name.equalsIgnoreCase( "Model")].nReverse.name.replaceAll("\.",args(0)).sep(args(0))% >
<%}else{%>
<%ancestor[!eClass.name.equalsIgnoreCase("Model")].nReverse.name.replaceAll( "\.",args(0)).sep(args(0))%>
<%}%>
<%}else{%>
<%if (pathPrefix.length() != 0){%>
<%pathPrefix.replaceAll("\.",args(0))%>
<%}%>
<%}%>

<%script type="Element" name="pathPrefix" post="trim" %>
<%if (getProperty("gen.root") != null && !eClass().name.equalsIgnoreCase("PrimitiveType")){%>
<%getProperty("gen.root")%>
<%}%>

Its aim is to get the full path of a Class according to the package where it is and the nested subpackages, when I migrated to Acceleo3 with the mt2mtl module I got:

[template public fullFilePath(classifier : Classifier) post(trim())]
[if (self->select(not (filter(Behavior))) <> null and not (owner.eClass().name.toLower() = 'Class'.toLower()))]
[comment Don't generate anything for Behavior metaType and owner's Class metaType (inner class generated in owner class file) /][if (packagePath('/').size() <> 0)]
[packagePath('/')/]/[name/].java
[else]
[name/].java
[/if]
[/if]

[template public packagePath(element : Element, args0 : OclAny) post(trim())]
[if (ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower())) <> null)]
[if (pathPrefix().size() <> 0)]
[pathPrefix().replaceAll('\.', args0)/][args0/][ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower()))->reverse().name.replaceAll('\.', args0)->sep('args0')/]
[else]
[ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower()))->reverse().name.replaceAll('\.', args0)->sep('args0')/]
[/if]
[else]
[if (pathPrefix().size() <> 0)]
[pathPrefix().replaceAll('\.', args0)/]
[/if]
[/if]

[/template]

[template public pathPrefix(element : Element) post(trim())]
[if (getProperty('gen.root') <> null and not (eClass().name.toLower() = 'PrimitiveType'.toLower()))]
[getProperty('gen.root')/]
[/if]

It had some compilations errors so I fixed it like this (comments witch CHANGED are the lines where I did modifications, I also changed the heading of some templates):

[template public fullFilePath(classifier : Classifier) post(trim())]
[comment ************************CHANGED**********************/]
[if (not (self.oclIsKindOf(Behavior)) and not(owner.eClass().name.equalsIgnoreCase('Class')))]

[comment Don't generate anything for Behavior metaType and owner's Class metaType (inner class generated in owner class file) /]
[if (packagePath('/').size() <> 0)]
[packagePath('/')/]/[name/].java
[else]
[name/].java
[/if]
[/if]

[template public packagePath(Element : Element, args0 : String) post(trim())]
[if (ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower())) <> null)]
[if (pathPrefix().size() <> 0)]
[pathPrefix().replaceAll('.', args0)/][args0/][ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('.', args0)->sep('args0')/]
[else]
[comment *********************CHANGED ********************************* /]
[ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('.', args0.toString())->sep('args0')/]
[/if]
[else]
[if (pathPrefix().size() <> 0)]
[comment *********************CHANGED ********************************* /]
[pathPrefix().replaceAll('.', args0)/]
[/if]
[/if]

[/template]

[template public pathPrefix(element : Element) post(trim())]
[if (getProperty('gen.root') <> null and not (eClass().name.toLower() = 'PrimitiveType'.toLower()))]
[getProperty('gen.root')/]
[/if]

And it compiles but it gaves the error I noticed at the beggining of the post.

When I debug t he program it gets to:

[if (packagePath('/').size() <> 0)]

In the template fullFilePath. Then it automatically returns null from that condition, without going inside (or so I think) the template packagePath. That causes an OclInvalid_Class and the generation terminates.

I have been trying to debug it but seeing that it doesnt even get into the packagePath template confuses me and I dont know what to do next.

Thanks in advance!
Re: [Acceleo] Problems with a template [message #541473 is a reply to message #541355] Mon, 21 June 2010 09:46 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------010201000806000307030100
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Daniel,

See comments inlined below.

Laurent Goubet
Obeo

Daniel wrote:
> Hi, I am debugging a project migrated from Acceleo 2 to Acceleo 3 and I
> am having some trouble.
>
> First
>
> In acceleo 2, when you used replaceAll("\.") it didnt treat the "." as a
> metachar but as a "." How do I do it in Acceleo 3? Doing it like Acceleo
> 2 fails, I thinks doing replaceAll('.') is also incorrect.
>
> My way was replaceAll('\\.') is that correct?

Acceleo 2 only needed a single '\' to escape control characters, but as
Acceleo 3 goes through the filter of OCL first, we need two.
"replaceAll('\\.', 'x')" is indeed the way to do it.

>
> Second
>
> When I am running a module which objective is to perform a UML2Java
> generation, on a UML model which has a package named ss and inside a
> class named Class1 I get:
>
> org.eclipse.acceleo.engine.AcceleoEvaluationException: Undefined
> condition of "If" at line 22 in Module common for block if
> (packagePath('/').size().<>(0)). Last recorded value of self was
> mailto:org.eclipse.uml2.uml.internal.impl.ClassImpl@2b26d5 (name:
> Class1, visibility: <unset>) (isLeaf: false, isAbstract: false)
> (isActive: false).
>
>
> And other errors which provide no further information. The Acceleo 2
> source is:
>
> <%script type="Classifier" name="fullFilePath" post="trim()" %>
> <%if (
> current[!filter("Behavior")] != null &&
> !owner.eClass.name.equalsIgnoreCase("Class")){%>
> <%-- Don't generate anything for Behavior metaType and owner's Class
> metaType (inner class generated in owner class file) --%>
> <%if (packagePath("/").length() != 0){%>
> <%packagePath("/")%>/<%name%>.java
> <%}else{%>
> <%name%>.java
> <%}%>
> <%}%>
>
> <%script type="Element" name="packagePath" post="trim()"%>
> <%-- Build the package path of the given element.
> The first argument is the path separator --%>
> <%if (ancestor[!eClass.name.equalsIgnoreCase("Model")] != null){%>
> <%if (pathPrefix.length() != 0){%>
> <%pathPrefix.replaceAll("\.",args(0))%><%args(0)%><%ancestor[!eClass.name.equalsIgnoreCase(
> "Model")].nReverse.name.replaceAll("\.",args(0)).sep(args(0))% >
> <%}else{%>
> <%ancestor[!eClass.name.equalsIgnoreCase("Model")].nReverse.name.replaceAll(
> "\.",args(0)).sep(args(0))%>
> <%}%>
> <%}else{%>
> <%if (pathPrefix.length() != 0){%>
> <%pathPrefix.replaceAll("\.",args(0))%>
> <%}%>
> <%}%>
>
> <%script type="Element" name="pathPrefix" post="trim" %>
> <%if (getProperty("gen.root") != null &&
> !eClass().name.equalsIgnoreCase("PrimitiveType")){%>
> <%getProperty("gen.root")%>
> <%}%>
>
> Its aim is to get the full path of a Class according to the package
> where it is and the nested subpackages, when I migrated to Acceleo3 with
> the mt2mtl module I got:
>
> [template public fullFilePath(classifier : Classifier) post(trim())]
> [if (self->select(not (filter(Behavior))) <> null and not
> (owner.eClass().name.toLower() = 'Class'.toLower()))]
> [comment Don't generate anything for Behavior metaType and owner's
> Class metaType (inner class generated in owner class file) /][if
> (packagePath('/').size() <> 0)]
> [packagePath('/')/]/[name/].java
> [else]
> [name/].java
> [/if]
> [/if]
>
> [template public packagePath(element : Element, args0 : OclAny)
> post(trim())]
> [if (ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower())) <> null)]
> [if (pathPrefix().size() <> 0)]
> [pathPrefix().replaceAll('\.', args0)/][args0/][ancestors()->select(not
> (eClass().name.toLower() =
> 'Model'.toLower()))->reverse().name.replaceAll('\.', args0)->sep('args0')/]
> [else]
> [ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower()))->reverse().name.replaceAll('\.', args0)->sep('args0')/]
> [/if]
> [else]
> [if (pathPrefix().size() <> 0)]
> [pathPrefix().replaceAll('\.', args0)/]
> [/if]
> [/if]
>
> [/template]
>
> [template public pathPrefix(element : Element) post(trim())]
> [if (getProperty('gen.root') <> null and not (eClass().name.toLower() =
> 'PrimitiveType'.toLower()))]
> [getProperty('gen.root')/]
> [/if]
>
> It had some compilations errors so I fixed it like this (comments witch
> CHANGED are the lines where I did modifications, I also changed the
> heading of some templates):
>
> [template public fullFilePath(classifier : Classifier) post(trim())]
> [comment ************************CHANGED**********************/]
> [if (not (self.oclIsKindOf(Behavior)) and
> not(owner.eClass().name.equalsIgnoreCase('Class')))]
>
> [comment Don't generate anything for Behavior metaType and owner's
> Class metaType (inner class generated in owner class file) /]
> [if (packagePath('/').size() <> 0)]
> [packagePath('/')/]/[name/].java
> [else]
> [name/].java
> [/if]
> [/if]
>
> [template public packagePath(Element : Element, args0 : String)

refrain from using captialized names for variables. I don't know if this
poses any issue, but it does hinder readability :

"packagePath(Element : Element"
should be
"packagePath(element : Element"

> post(trim())]
> [if (ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower())) <> null)]
> [if (pathPrefix().size() <> 0)]
> [pathPrefix().replaceAll('.', args0)/][args0/][ancestors()->select(not

'.' should be '\\.'

> (eClass().name.toLower() =
> 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('.',

'.' should be '\\.'

> args0)->sep('args0')/]

'args0' should be args0 (no quote)

> [else]
> [comment *********************CHANGED ********************************* /]
> [ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('.',

'.' should be '\\.'

> args0.toString())->sep('args0')/]

'args0' should be args0 (no quote)

> [/if]
> [else]
> [if (pathPrefix().size() <> 0)]
> [comment *********************CHANGED ********************************* /]
> [pathPrefix().replaceAll('.', args0)/]

'.' should be '\\.'

> [/if]
> [/if]
>
> [/template]
>
> [template public pathPrefix(element : Element) post(trim())]
> [if (getProperty('gen.root') <> null and not (eClass().name.toLower() =
> 'PrimitiveType'.toLower()))]
> [getProperty('gen.root')/]
> [/if]

Note that I've only looked at packagePath and pathPrefix ... I believe
the same issues can be observed everywhere as they seem to be problems
from the automatic migration routine : missing '\\' when Acceleo 2 had
'\' in replaceAll, additional quotes in 'sep' when passing it a variable
instead of a static String. Could you raise bugzillas for these two?

>
> And it compiles but it gaves the error I noticed at the beggining of the
> post.
>
> When I debug t he program it gets to:
>
> [if (packagePath('/').size() <> 0)]
>
> In the template fullFilePath. Then it automatically returns null from
> that condition, without going inside (or so I think) the template
> packagePath. That causes an OclInvalid_Class and the generation terminates.

"The condition is undefined" means that you get a "null" out of
"packagePath('/')" ... try and set a break point inside that template to
see whether Acceleo stops in it and see why you get a failure. Looking
at the above, It seems the automatic migration still sports a number of
issues :/.

>
> I have been trying to debug it but seeing that it doesnt even get into
> the packagePath template confuses me and I dont know what to do next.
>
> Thanks in advance!
>


--------------010201000806000307030100
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyIj5PYmVvPC9hPg0KZW1haWw7 aW50ZXJuZXQ6
bGF1cmVudC5nb3ViZXRAb2Jlby5mcg0KdXJsOmh0dHA6Ly93d3cub2Jlby5m cg0KdmVyc2lv
bjoyLjENCmVuZDp2Y2FyZA0KDQo=
--------------010201000806000307030100--
Re: [Acceleo] Problems with a template [message #541558 is a reply to message #541473] Mon, 21 June 2010 14:32 Go to previous messageGo to next message
Daniel  is currently offline Daniel Friend
Messages: 44
Registered: June 2010
Member
Hi, thanks for spoting those, now I have:

[template public packagePath(element : Element, args0 : String) post(trim())]
[if (ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower())) <> null)]
[if (pathPrefix().size() <> 0)]
[pathPrefix().replaceAll('\\.', args0)/][args0/][ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('\\.', args0)->sep(args0)/]
[else]
[comment *********************CHANGED ********************************* /]
[ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('\\.', args0)->sep(args0)/]
[/if]
[else]
[if (pathPrefix().size() <> 0)]
[comment *********************CHANGED ********************************* /]
[pathPrefix().replaceAll('\\.', args0)/]
[/if]
[/if]

I think I corrected all them but still get the same error.

Gonna raise the bugzillas you commented, sep('args0') was automatic.

About the \\. issue, the conversor did \. so I am going to raise it too.

I have tried to debug it putting a breakpoint here.

[if (ancestors()->select(not (eClass().name.toLower() = 'Model'.toLower())) <> null)]

But it doesnt even get there it stays in the:
[if (packagePath('/').size() <> 0)]

And doesnt go down, do you know why could it be?

Thank you very much.
Re: [Acceleo] Problems with a template [message #541703 is a reply to message #541558] Tue, 22 June 2010 09:00 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030601070401030408000200
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Daniel,

We have problems with the debugguer as breakpoints "below" another
breakpoint might not be reached. try removing all breakpoints save for
the one inside "packagePath" to see if it stops there.

Other than that, try and check (and fix) all potential failures of the
migration with "sep" and "replaceAll" in case you still have one
somewhere that might make the generation fail.

Laurent Goubet
Obeo

Daniel wrote:
> Hi, thanks for spoting those, now I have:
>
> [template public packagePath(element : Element, args0 : String)
> post(trim())]
> [if (ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower())) <> null)]
> [if (pathPrefix().size() <> 0)]
> [pathPrefix().replaceAll('\\.', args0)/][args0/][ancestors()->select(not
> (eClass().name.toLower() =
> 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('\\.',
> args0)->sep(args0)/]
> [else]
> [comment *********************CHANGED ********************************* /]
> [ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower()))->reverse().oclAsType(NamedElement).name.replaceAll('\\.',
> args0)->sep(args0)/]
> [/if]
> [else]
> [if (pathPrefix().size() <> 0)]
> [comment *********************CHANGED ********************************* /]
> [pathPrefix().replaceAll('\\.', args0)/]
> [/if]
> [/if]
>
> I think I corrected all them but still get the same error.
>
> Gonna raise the bugzillas you commented, sep('args0') was automatic.
> About the \\. issue, the conversor did \. so I am going to raise it too.
>
> I have tried to debug it putting a breakpoint here.
>
> [if (ancestors()->select(not (eClass().name.toLower() =
> 'Model'.toLower())) <> null)]
>
> But it doesnt even get there it stays in the:
> [if (packagePath('/').size() <> 0)]
>
> And doesnt go down, do you know why could it be?
>
> Thank you very much.


--------------030601070401030408000200
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyIj5PYmVvPC9hPg0KZW1haWw7 aW50ZXJuZXQ6
bGF1cmVudC5nb3ViZXRAb2Jlby5mcg0KdXJsOmh0dHA6Ly93d3cub2Jlby5m cg0KdmVyc2lv
bjoyLjENCmVuZDp2Y2FyZA0KDQo=
--------------030601070401030408000200--
Re: [Acceleo] Problems with a template [message #541783 is a reply to message #541703] Tue, 22 June 2010 14:13 Go to previous messageGo to next message
Daniel  is currently offline Daniel Friend
Messages: 44
Registered: June 2010
Member
Hi and thanks for your help.

I have put only one breakpoint like you said but it doesnt reach there anyways :/

I searched for more replaceAll or sep to fix but I didnt find any, one doubt I want to clarify: if I use sep with a variable I mean:

sep(variable) it is without '' but if I use it without variable like sep(', ') I have to put the '' is it right?

I didnt copy you all the errors it gave me, gonna do it because maybe it helps:

FIRST ONE:

eclipse.buildId=I20100520-1744
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
Command-line arguments: -os win32 -ws win32 -arch x86


Warning
Tue Jun 22 16:05:52 CEST 2010
Undefined condition of "If" at line 22 in Module common for block if (packagePath('/').size().<>(0)). Last recorded value of self was org.eclipse.uml2.uml.internal.impl.ClassImpl@e1be72 (name: Class1, visibility: <unset>) (isLeaf: false, isAbstract: false) (isActive: false).

org.eclipse.acceleo.engine.AcceleoEvaluationException: Undefined condition of "If" at line 22 in Module common for block if (packagePath('/').size().<>(0)). Last recorded value of self was org.eclipse.uml2.uml.internal.impl.ClassImpl@e1be72 (name: Class1, visibility: <unset>) (isLeaf: false, isAbstract: false) (isActive: false).

SECOND ONE:

eclipse.buildId=I20100520-1744
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
Command-line arguments: -os win32 -ws win32 -arch x86


Error
Tue Jun 22 16:05:52 CEST 2010


java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchO peration.run(AcceleoLaunchOperation.java:105)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 220)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 123)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchD elegate.launch(AcceleoLaunchDelegate.java:53)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:853)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:702)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D ebugUIPlugin.java:923)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlu gin.java:1126)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.util.NoSuchElementException
at java.util.LinkedList.getLast(Unknown Source)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionContext.append(AcceleoEvaluationContext.java:167)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.append(AcceleoEvaluationVisitor.java:217)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.delegateAppend(AcceleoEvaluationVisitor.java:109 1)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:92 9)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(Query Impl.java:152)
at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvalua te(AcceleoEngine.java:266)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate (AcceleoEngine.java:130)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate Template(AcceleoService.java:544)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate (AcceleoService.java:380)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. generate(AbstractAcceleoGenerator.java:120)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. doGenerate(AbstractAcceleoGenerator.java:99)
at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.do Generate(Main.java:154)
at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.ma in(Main.java:132)
... 13 more

THIRD ONE

eclipse.buildId=I20100520-1744
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
Command-line arguments: -os win32 -ws win32 -arch x86


Error
Tue Jun 22 16:05:52 CEST 2010
Evaluation failed with an exception: Index: 1, Size: 1

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.prepareInvocation(AcceleoEvaluationVisitor.java: 1345)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:804)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.model.mtl.impl.spec.TemplateInvocationSp ec.accept(TemplateInvocationSpec.java:49)
at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp( EvaluationVisitorImpl.java:162)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.j ava:988)
at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(Opera tionCallExpImpl.java:390)
at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp( EvaluationVisitorImpl.java:162)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.j ava:988)
at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(Opera tionCallExpImpl.java:390)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab stractEvaluationVisitor.java:247)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(E valuationVisitorDecorator.java:156)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 506)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:458)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:469)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:822)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:469)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:822)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.j ava:265)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 476)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:822)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.ocl.internal.evaluation.IterationTemplate.evalua te(IterationTemplate.java:87)
at org.eclipse.ocl.EvaluationVisitorImpl.evaluateCollectIterato r(EvaluationVisitorImpl.java:1593)
at org.eclipse.ocl.EvaluationVisitorImpl.visitIteratorExp(Evalu ationVisitorImpl.java:1443)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitIteratorExp( EvaluationVisitorDecorator.java:241)
at org.eclipse.ocl.ecore.impl.IteratorExpImpl.accept(IteratorEx pImpl.java:114)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab stractEvaluationVisitor.java:247)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(E valuationVisitorDecorator.java:156)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 506)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(Query Impl.java:152)
at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvalua te(AcceleoEngine.java:266)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate (AcceleoEngine.java:130)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate Template(AcceleoService.java:544)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate (AcceleoService.java:380)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. generate(AbstractAcceleoGenerator.java:120)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. doGenerate(AbstractAcceleoGenerator.java:99)
at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.do Generate(Main.java:154)
at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.ma in(Main.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchO peration.run(AcceleoLaunchOperation.java:105)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 220)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 123)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchD elegate.launch(AcceleoLaunchDelegate.java:53)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:853)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:702)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D ebugUIPlugin.java:923)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlu gin.java:1126)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

LAST ONE

eclipse.buildId=I20100520-1744
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
Command-line arguments: -os win32 -ws win32 -arch x86


Error
Tue Jun 22 16:05:52 CEST 2010
Evaluation failed with an exception: (no message)

java.util.NoSuchElementException
at java.util.LinkedList.getLast(Unknown Source)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionContext.append(AcceleoEvaluationContext.java:167)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.append(AcceleoEvaluationVisitor.java:217)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.delegateAppend(AcceleoEvaluationVisitor.java:109 1)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:92 9)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:822)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:469)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:822)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.j ava:265)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 476)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation Visitor.java:822)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.ocl.internal.evaluation.IterationTemplate.evalua te(IterationTemplate.java:87)
at org.eclipse.ocl.EvaluationVisitorImpl.evaluateCollectIterato r(EvaluationVisitorImpl.java:1593)
at org.eclipse.ocl.EvaluationVisitorImpl.visitIteratorExp(Evalu ationVisitorImpl.java:1443)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitIteratorExp( EvaluationVisitorDecorator.java:241)
at org.eclipse.ocl.ecore.impl.IteratorExpImpl.accept(IteratorEx pImpl.java:114)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab stractEvaluationVisitor.java:247)
at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(E valuationVisitorDecorator.java:156)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 506)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(Query Impl.java:152)
at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvalua te(AcceleoEngine.java:266)
at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate (AcceleoEngine.java:130)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate Template(AcceleoService.java:544)
at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate (AcceleoService.java:380)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. generate(AbstractAcceleoGenerator.java:120)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. doGenerate(AbstractAcceleoGenerator.java:99)
at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.do Generate(Main.java:154)
at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.ma in(Main.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchO peration.run(AcceleoLaunchOperation.java:105)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 220)
at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 123)
at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchD elegate.launch(AcceleoLaunchDelegate.java:53)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:853)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L aunchConfiguration.java:702)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D ebugUIPlugin.java:923)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlu gin.java:1126)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


I will keep working on it.

Thank you very much!
Re: [Acceleo] Problems with a template [message #541925 is a reply to message #541783] Wed, 23 June 2010 07:58 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080606030404090909080209
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

HI Daniel,

Yup, you have to use the single quotes for any "sep" without variables.
"sep" takes a String as parameter : either a String variable (for
exampel "args0"), or a static String (for example "', '").

One of the four errors you copied here resembles something I fixed for
one of the latest builds... Which build of Acceleo are you using?

Laurent Goubet
Obeo

Daniel wrote:
> Hi and thanks for your help.
>
> I have put only one breakpoint like you said but it doesnt reach there
> anyways :/
>
> I searched for more replaceAll or sep to fix but I didnt find any, one
> doubt I want to clarify: if I use sep with a variable I mean:
>
> sep(variable) it is without '' but if I use it without variable like
> sep(', ') I have to put the '' is it right?
>
> I didnt copy you all the errors it gave me, gonna do it because maybe it
> helps:
>
> FIRST ONE:
>
> eclipse.buildId=I20100520-1744
> java.version=1.6.0_20
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
> Command-line arguments: -os win32 -ws win32 -arch x86
>
>
> Warning
> Tue Jun 22 16:05:52 CEST 2010
> Undefined condition of "If" at line 22 in Module common for block if
> (packagePath('/').size().<>(0)). Last recorded value of self was
> mailto:org.eclipse.uml2.uml.internal.impl.ClassImpl@e1be72 (name:
> Class1, visibility: <unset>) (isLeaf: false, isAbstract: false)
> (isActive: false).
>
> org.eclipse.acceleo.engine.AcceleoEvaluationException: Undefined
> condition of "If" at line 22 in Module common for block if
> (packagePath('/').size().<>(0)). Last recorded value of self was
> mailto:org.eclipse.uml2.uml.internal.impl.ClassImpl@e1be72 (name:
> Class1, visibility: <unset>) (isLeaf: false, isAbstract: false)
> (isActive: false).
>
> SECOND ONE:
>
> eclipse.buildId=I20100520-1744
> java.version=1.6.0_20
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
> Command-line arguments: -os win32 -ws win32 -arch x86
>
>
> Error
> Tue Jun 22 16:05:52 CEST 2010
>
>
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchO
> peration.run(AcceleoLaunchOperation.java:105)
> at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL
> aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 220)
> at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL
> aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 123)
> at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchD
> elegate.launch(AcceleoLaunchDelegate.java:53)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L
> aunchConfiguration.java:853)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L
> aunchConfiguration.java:702)
> at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D
> ebugUIPlugin.java:923)
> at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlu
> gin.java:1126)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
> Caused by: java.util.NoSuchElementException
> at java.util.LinkedList.getLast(Unknown Source)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionContext.append(AcceleoEvaluationContext.java:167)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.append(AcceleoEvaluationVisitor.java:217)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.delegateAppend(AcceleoEvaluationVisitor.java:109 1)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:92 9)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(Query
> Impl.java:152)
> at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
> at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvalua
> te(AcceleoEngine.java:266)
> at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate
> (AcceleoEngine.java:130)
> at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate
> Template(AcceleoService.java:544)
> at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate
> (AcceleoService.java:380)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> generate(AbstractAcceleoGenerator.java:120)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> doGenerate(AbstractAcceleoGenerator.java:99)
> at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.do
> Generate(Main.java:154)
> at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.ma
> in(Main.java:132)
> ... 13 more
>
> THIRD ONE
>
> eclipse.buildId=I20100520-1744
> java.version=1.6.0_20
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
> Command-line arguments: -os win32 -ws win32 -arch x86
>
>
> Error
> Tue Jun 22 16:05:52 CEST 2010
> Evaluation failed with an exception: Index: 1, Size: 1
>
> java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
> at java.util.ArrayList.RangeCheck(Unknown Source)
> at java.util.ArrayList.get(Unknown Source)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.prepareInvocation(AcceleoEvaluationVisitor.java: 1345)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:804)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.model.mtl.impl.spec.TemplateInvocationSp
> ec.accept(TemplateInvocationSpec.java:49)
> at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp(
> EvaluationVisitorImpl.java:162)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.j ava:988)
> at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(Opera
> tionCallExpImpl.java:390)
> at org.eclipse.ocl.EvaluationVisitorImpl.visitOperationCallExp(
> EvaluationVisitorImpl.java:162)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitOperationCallExp(AcceleoEvaluationVisitor.j ava:988)
> at org.eclipse.ocl.ecore.impl.OperationCallExpImpl.accept(Opera
> tionCallExpImpl.java:390)
> at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab
> stractEvaluationVisitor.java:247)
> at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(E
> valuationVisitorDecorator.java:156)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 506)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:458)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:469)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:822)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:469)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:822)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.j ava:265)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 476)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:822)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.ocl.internal.evaluation.IterationTemplate.evalua
> te(IterationTemplate.java:87)
> at org.eclipse.ocl.EvaluationVisitorImpl.evaluateCollectIterato
> r(EvaluationVisitorImpl.java:1593)
> at org.eclipse.ocl.EvaluationVisitorImpl.visitIteratorExp(Evalu
> ationVisitorImpl.java:1443)
> at org.eclipse.ocl.EvaluationVisitorDecorator.visitIteratorExp(
> EvaluationVisitorDecorator.java:241)
> at org.eclipse.ocl.ecore.impl.IteratorExpImpl.accept(IteratorEx
> pImpl.java:114)
> at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab
> stractEvaluationVisitor.java:247)
> at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(E
> valuationVisitorDecorator.java:156)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 506)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(Query
> Impl.java:152)
> at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
> at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvalua
> te(AcceleoEngine.java:266)
> at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate
> (AcceleoEngine.java:130)
> at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate
> Template(AcceleoService.java:544)
> at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate
> (AcceleoService.java:380)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> generate(AbstractAcceleoGenerator.java:120)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> doGenerate(AbstractAcceleoGenerator.java:99)
> at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.do
> Generate(Main.java:154)
> at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.ma
> in(Main.java:132)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchO
> peration.run(AcceleoLaunchOperation.java:105)
> at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL
> aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 220)
> at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL
> aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 123)
> at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchD
> elegate.launch(AcceleoLaunchDelegate.java:53)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L
> aunchConfiguration.java:853)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L
> aunchConfiguration.java:702)
> at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D
> ebugUIPlugin.java:923)
> at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlu
> gin.java:1126)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>
> LAST ONE
>
> eclipse.buildId=I20100520-1744
> java.version=1.6.0_20
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
> Command-line arguments: -os win32 -ws win32 -arch x86
>
>
> Error
> Tue Jun 22 16:05:52 CEST 2010
> Evaluation failed with an exception: (no message)
>
> java.util.NoSuchElementException
> at java.util.LinkedList.getLast(Unknown Source)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionContext.append(AcceleoEvaluationContext.java:167)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.append(AcceleoEvaluationVisitor.java:217)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.delegateAppend(AcceleoEvaluationVisitor.java:109 1)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:92 9)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:822)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoIfBlock(AcceleoEvaluationVisitor.jav a:469)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 462)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:822)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.j ava:265)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 476)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluation
> Visitor.java:822)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 483)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.ocl.internal.evaluation.IterationTemplate.evalua
> te(IterationTemplate.java:87)
> at org.eclipse.ocl.EvaluationVisitorImpl.evaluateCollectIterato
> r(EvaluationVisitorImpl.java:1593)
> at org.eclipse.ocl.EvaluationVisitorImpl.visitIteratorExp(Evalu
> ationVisitorImpl.java:1443)
> at org.eclipse.ocl.EvaluationVisitorDecorator.visitIteratorExp(
> EvaluationVisitorDecorator.java:241)
> at org.eclipse.ocl.ecore.impl.IteratorExpImpl.accept(IteratorEx
> pImpl.java:114)
> at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab
> stractEvaluationVisitor.java:247)
> at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(E
> valuationVisitorDecorator.java:156)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 506)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.ja va:771)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 456)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(Query
> Impl.java:152)
> at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
> at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvalua
> te(AcceleoEngine.java:266)
> at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate
> (AcceleoEngine.java:130)
> at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate
> Template(AcceleoService.java:544)
> at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate
> (AcceleoService.java:380)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> generate(AbstractAcceleoGenerator.java:120)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> doGenerate(AbstractAcceleoGenerator.java:99)
> at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.do
> Generate(Main.java:154)
> at org.acceleo.module.pim.uml21.gen.java.migrated.files.Main.ma
> in(Main.java:132)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchO
> peration.run(AcceleoLaunchOperation.java:105)
> at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL
> aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 220)
> at org.eclipse.acceleo.ide.ui.launching.strategy.AcceleoPluginL
> aunchingStrategy.launch(AcceleoPluginLaunchingStrategy.java: 123)
> at org.eclipse.acceleo.internal.ide.ui.launching.AcceleoLaunchD
> elegate.launch(AcceleoLaunchDelegate.java:53)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L
> aunchConfiguration.java:853)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(L
> aunchConfiguration.java:702)
> at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(D
> ebugUIPlugin.java:923)
> at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlu
> gin.java:1126)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
>
>
> I will keep working on it.
>
> Thank you very much!


--------------080606030404090909080209
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyIj5PYmVvPC9hPg0KZW1haWw7 aW50ZXJuZXQ6
bGF1cmVudC5nb3ViZXRAb2Jlby5mcg0KdXJsOmh0dHA6Ly93d3cub2Jlby5m cg0KdmVyc2lv
bjoyLjENCmVuZDp2Y2FyZA0KDQo=
--------------080606030404090909080209--
Re: [Acceleo] Problems with a template [message #541937 is a reply to message #541925] Wed, 23 June 2010 09:43 Go to previous messageGo to next message
Daniel  is currently offline Daniel Friend
Messages: 44
Registered: June 2010
Member
I'm using:

Acceleo SDK (Incubation) 3.0.0.v201006010437
Re: [Acceleo] Problems with a template [message #542005 is a reply to message #541937] Wed, 23 June 2010 13:22 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------070807050804070306090208
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Daniel,

Can't really see why your templates are failing here ... I recall seeing
a bug with implicit arguments when the invoked template (or query) has
more than one arg. Namely, if you have this :

[template test(param : Stuff, foo : Bar)]
....

You have to call the template with :

test(stuff, foo) and not stuff.test(foo) as this second would fail at
runtime. If you have multiple argument templates, this is worth checking
as the failing lines of code seem to reflect this. If that doesn't help,
do you think you could open a bugzilla with your whole migrated project
so that I can try and take a closer look at it?

Laurent Goubet
Obeo

Daniel wrote:
> I'm using:
>
> Acceleo SDK (Incubation) 3.0.0.v201006010437


--------------070807050804070306090208
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyIj5PYmVvPC9hPg0KZW1haWw7 aW50ZXJuZXQ6
bGF1cmVudC5nb3ViZXRAb2Jlby5mcg0KdXJsOmh0dHA6Ly93d3cub2Jlby5m cg0KdmVyc2lv
bjoyLjENCmVuZDp2Y2FyZA0KDQo=
--------------070807050804070306090208--
Re: [Acceleo] Problems with a template [message #542288 is a reply to message #542005] Thu, 24 June 2010 13:03 Go to previous messageGo to next message
Daniel  is currently offline Daniel Friend
Messages: 44
Registered: June 2010
Member
You couldnt be more right, now it works!

I did this:

[if packagePath(self,'/').size() <> 0]
[packagePath(self, '/')/]/[name/].java
[else]
[name/].java
[/if]
[/if]

And it worked ^^

Do you want me to raise a bug? Because the mt2mtl generated that sentence.

Thank you very much, I will keep debugging now ^^
Re: [Acceleo] Problems with a template [message #542300 is a reply to message #542288] Thu, 24 June 2010 13:24 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent GoubetFriend
Messages: 1902
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------050000080304070401020309
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Daniel,

Thanks for confirming this, and yes, please raise a bugzilla for this as
I couldn't find an existing report for this major issue. I'll take care
of redirecting the duplicate if there was one that I simply missed.

Laurent Goubet
Obeo

Daniel wrote:
> You couldnt be more right, now it works!
>
> I did this:
>
> [if packagePath(self,'/').size() <> 0]
> [packagePath(self, '/')/]/[name/].java
> [else]
> [name/].java
> [/if]
> [/if]
>
> And it worked ^^
>
> Do you want me to raise a bug? Because the mt2mtl generated that sentence.
>
> Thank you very much, I will keep debugging now ^^


--------------050000080304070401020309
Content-Type: text/x-vcard; charset=utf-8;
name="laurent_goubet.vcf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="laurent_goubet.vcf"

YmVnaW46dmNhcmQNCmZuOkxhdXJlbnQgR291YmV0DQpuOkdvdWJldDtMYXVy ZW50DQpvcmc6
PGEgaHJlZj0iaHR0cDovL3d3dy5vYmVvLmZyIj5PYmVvPC9hPg0KZW1haWw7 aW50ZXJuZXQ6
bGF1cmVudC5nb3ViZXRAb2Jlby5mcg0KdXJsOmh0dHA6Ly93d3cub2Jlby5m cg0KdmVyc2lv
bjoyLjENCmVuZDp2Y2FyZA0KDQo=
--------------050000080304070401020309--
Re: [Acceleo] Problems with a template [message #542592 is a reply to message #542300] Fri, 25 June 2010 11:53 Go to previous message
Daniel  is currently offline Daniel Friend
Messages: 44
Registered: June 2010
Member
I raised it Razz

Thank you very much.
Previous Topic:[Acceleo] Using Ecore as Metamodel
Next Topic:[Xpand] Setting up outlet path through Java
Goto Forum:
  


Current Time: Thu Apr 18 09:53:08 GMT 2024

Powered by FUDForum. Page generated in 0.02545 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top