Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » [Acceleo] Problem resolving EClasses
[Acceleo] Problem resolving EClasses [message #534086] Mon, 17 May 2010 18:51 Go to next message
Marin  rli? is currently offline Marin rli?
Messages: 35
Registered: October 2009
Member
Hi,

I'm using Acceleo for M2T in Java code within Eclipse plugin. The transformation transform a model whose metamodel links to another metamodel.

To illustrate, I have an EClass like:

mymm::Edge
guard : othermm:LogicalExpr
body : othermm:ActionExpr

Logical and ActionExpr are from a separate Ecore metamodel.

When I write something like 'edge.guard.traverse()', with template traverse(othermm:LogicalExpr), I get an error in the output file[1]:

org.eclipse.emf.ecore.impl.DynamicEObjectImpl@15f1a42 (eClass: org.eclipse.emf.ecore.impl.EClassImpl@b51c2d (name: Invalid_Class) (instanceClassName: null) (abstract: false, interface: false))

I've tried fiddling with both genmodels, checked if EPackages are registered (standard generated mymm registers packages for othermm if needed), but the best I can get is to have a proper class name instead of (null), but the traverse() template in that case outputs nothing. Debugging Acceleo shows that the reference class is not recognized. Debugger variables show proper class names, and the model file opens in regular EMF editor, so it's not corrupt.

I've recently updated to Acceleo Version: 3.0.0.v201005040937, I did have troubles with previous versions, but nothing this persistent. And this same code worked.

Any pointers, please? Smile

Best,
Marin

[1] The error log shows:

java.lang.UnsupportedOperationException
at org.eclipse.ocl.ecore.impl.OCLExpressionImpl.accept(OCLExpre ssionImpl.java:164)
at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab stractEvaluationVisitor.java:246)
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: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.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.visitAcceleoForBlock(AcceleoEvaluationVisitor.ja va:423)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 469)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.visitAcceleoForBlock(AcceleoEvaluationVisitor.ja va:423)
at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 469)
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.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:316)
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.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:389)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. doGenerate(AbstractAcceleoGenerator.java:104)
...
Re: [Acceleo] Problem resolving EClasses [message #534132 is a reply to message #534086] Tue, 18 May 2010 03:47 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1609
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------040705090409010806090507
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Marin,

Do you have both metamodels in the "metamodel" section of your module?

[module myModule('mymm', 'othermm')]

If you don't OCL may have trouble resolving EClasses of the second
metamodel. You should also note OCL has some issues with type resolving
that we couldn't handle directly in Acceleo before OCL 3.0 (Eclipse 3.6).

Other than that, you should be able to workaround this issue in all
three Eclipse we support (3.4, 3.5 and 3.6) by statically casting your
objects through oclAsType :

edge.guard.oclAsType(package::LogicalExpr).traverse()

Let me know if neither of these helps.

Regards,

Laurent Goubet
Obeo

Marin Orlić wrote:
> Hi,
>
> I'm using Acceleo for M2T in Java code within Eclipse plugin. The
> transformation transform a model whose metamodel links to another
> metamodel.
>
> To illustrate, I have an EClass like:
>
> mymm::Edge
> guard : othermm:LogicalExpr
> body : othermm:ActionExpr
>
> Logical and ActionExpr are from a separate Ecore metamodel.
>
> When I write something like 'edge.guard.traverse()', with template
> traverse(othermm:LogicalExpr), I get an error in the output file[1]:
> mailto:org.eclipse.emf.ecore.impl.DynamicEObjectImpl@15f1a42 (eClass:
> mailto:org.eclipse.emf.ecore.impl.EClassImpl@b51c2d (name:
> Invalid_Class) (instanceClassName: null) (abstract: false, interface:
> false))
>
> I've tried fiddling with both genmodels, checked if EPackages are
> registered (standard generated mymm registers packages for othermm if
> needed), but the best I can get is to have a proper class name instead
> of (null), but the traverse() template in that case outputs nothing.
> Debugging Acceleo shows that the reference class is not recognized.
> Debugger variables show proper class names, and the model file opens in
> regular EMF editor, so it's not corrupt.
>
> I've recently updated to Acceleo Version: 3.0.0.v201005040937, I did
> have troubles with previous versions, but nothing this persistent. And
> this same code worked.
>
> Any pointers, please? :)
>
> Best,
> Marin
>
> [1] The error log shows:
> java.lang.UnsupportedOperationException
> at org.eclipse.ocl.ecore.impl.OCLExpressionImpl.accept(OCLExpre
> ssionImpl.java:164)
> at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(Ab
> stractEvaluationVisitor.java:246)
> 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: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.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.visitAcceleoForBlock(AcceleoEvaluationVisitor.ja va:423)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 469)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitExpression(AcceleoEvaluationVisitor.java:90 2)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.visitAcceleoForBlock(AcceleoEvaluationVisitor.ja va:423)
> at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvalua
> tionVisitor.switchExpression(AcceleoEvaluationVisitor.java:1 469)
> 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.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:316)
> 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.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:389)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> doGenerate(AbstractAcceleoGenerator.java:104)
> ..


--------------040705090409010806090507
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=
--------------040705090409010806090507--
Re: [Acceleo] Problem resolving EClasses [message #534214 is a reply to message #534132] Tue, 18 May 2010 07:50 Go to previous messageGo to next message
Marin  rli? is currently offline Marin rli?
Messages: 35
Registered: October 2009
Member
Laurent Goubet wrote on Tue, 18 May 2010 03:47
This is a multi-part message in MIME format.
--------------040705090409010806090507
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Marin,

Do you have both metamodels in the "metamodel" section of your module?

[module myModule('mymm', 'othermm')]

If you don't OCL may have trouble resolving EClasses of the second
metamodel. You should also note OCL has some issues with type resolving
that we couldn't handle directly in Acceleo before OCL 3.0 (Eclipse 3.6).

Other than that, you should be able to workaround this issue in all
three Eclipse we support (3.4, 3.5 and 3.6) by statically casting your
objects through oclAsType :

edge.guard.oclAsType(package::LogicalExpr).traverse()



Hi Laurent,

I've tried all of these - module has both model URIs declared (I've even tried to change the order). I've added static casting (the same as you suggested). as the module won't compile otherwise, but it still fails. Sometimes I managed to get it to recognize the class (instead of (null), there is LogicalExpr in the log), but it still fails - I can't reproduce it again so I can't tell you what is the error message Sad

Thanks,
Marin
Re: [Acceleo] Problem resolving EClasses [message #534232 is a reply to message #534214] Tue, 18 May 2010 08:16 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1609
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------050005090708070708030001
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Marin,

I wonder, then, whether the problem really lies in the EClass resolving.
Generally speaking, the "DynamicEObject" which name is "Invalid_Class"
is OCL's means to tell you something went awry in the evaluation of an
Expression. For example, 'null.oclAsType(String).toUpper()' would
generate the same "Invalid" EObject's toString().

Your issue might really lie in the "traverse()" call. Is that an
operation from your metamodel? A query? A template? Whatever it is, are
you sure there is no exception thrown when calling it? Do you have
anything logged in your error log when using this code?

If you have no exception logged, could you copy/paste here the
Java/Acceleo code of the "traverse" method/query/template ?

Laurent Goubet
Obeo

Marin Orlić wrote:
> Laurent Goubet wrote on Tue, 18 May 2010 03:47
>> This is a multi-part message in MIME format.
>> --------------040705090409010806090507
>> Content-Type: text/plain; charset=UTF-8; format=flowed
>> Content-Transfer-Encoding: 8bit
>>
>> Hi Marin,
>>
>> Do you have both metamodels in the "metamodel" section of your module?
>>
>> [module myModule('mymm', 'othermm')]
>>
>> If you don't OCL may have trouble resolving EClasses of the second
>> metamodel. You should also note OCL has some issues with type
>> resolving that we couldn't handle directly in Acceleo before OCL 3.0
>> (Eclipse 3.6).
>>
>> Other than that, you should be able to workaround this issue in all
>> three Eclipse we support (3.4, 3.5 and 3.6) by statically casting your
>> objects through oclAsType :
>>
>> edge.guard.oclAsType(package::LogicalExpr).traverse()
>
>
> Hi Laurent,
>
> I've tried all of these - module has both model URIs declared (I've even
> tried to change the order). I've added static casting (the same as you
> suggested). as the module won't compile otherwise, but it still fails.
> Sometimes I managed to get it to recognize the class (instead of (null),
> there is LogicalExpr in the log), but it still fails - I can't reproduce
> it again so I can't tell you what is the error message :(
>
> Thanks, Marin


--------------050005090708070708030001
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=
--------------050005090708070708030001--
Re: [Acceleo] Problem resolving EClasses [message #534235 is a reply to message #534232] Tue, 18 May 2010 08:52 Go to previous messageGo to next message
Marin  rli? is currently offline Marin rli?
Messages: 35
Registered: October 2009
Member
Hi Laurent,

traverse walks down the expression tree and creates Java code out of it. It's a bit big to paste, but I don't think that's the problem.

It probably lies somewhere in model initialization, exceptions sometime happen in typefactoryinitialization (this happened when debugging mtl directly in eclipse):

java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EFactoryImpl cannot be cast to hr.fer.rasip.remes.grammars.expressions.type.TypeFactory
at hr.fer.rasip.remes.grammars.expressions.type.impl.TypeFactor yImpl.init(TypeFactoryImpl.java:34)
at hr.fer.rasip.remes.grammars.expressions.type.TypeFactory.<clinit >(TypeFactory.java:26)
at hr.fer.rasip.remes.grammars.expressions.type.impl.TypePackag eImpl. <init>(TypePackageImpl.java:117)
at hr.fer.rasip.remes.grammars.expressions.type.impl.TypePackag eImpl.init(TypePackageImpl.java:143)
at hr.fer.rasip.remes.grammars.expressions.type.TypePackage.<clinit >(TypePackage.java:58)
at se.mdh.progresside.remes.impl.RemesPackageImpl.init(RemesPac kageImpl.java:241)
at se.mdh.progresside.remes.RemesPackage.<clinit>(RemesPackage.java:61)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unkn own Source)
at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
at java.lang.reflect.Field.get(Unknown Source)
at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescript or.getEPackage(RegistryReader.java:274)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.delegatedGet EPackage(EPackageRegistryImpl.java:196)
at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:149)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getPackageForURI(X MLHandler.java:2456)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getFactoryForPrefi x(XMLHandler.java:2421)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectByType (XMLHandler.java:1299)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XM LHandler.java:1468)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XML Handler.java:1019)
at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMI Handler.java:83)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa ndler.java:1001)
at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa ndler.java:712)
at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHa ndler.java:169)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator. startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl$ContentDriver.scanRootElementHook(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl$PrologDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm pl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS cannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio n.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(U nknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSA XParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl. java:181)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLRes ourceImpl.java:180)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1494)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour ceImpl.java:1282)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo ad(ResourceSetImpl.java:255)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo adHelper(ResourceSetImpl.java:270)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou rce(ResourceSetImpl.java:397)
at org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils. java:346)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator. initialize(AbstractAcceleoGenerator.java:299)
at hr.fer.rasip.remes.simulator.remes2java.files.GenerateModes. <init>(GenerateModes.java:95)

If it's easier to trace, I could send you the entire project with metamodels and templates.

Thanks,
Marin
Re: [Acceleo] Problem resolving EClasses [message #534434 is a reply to message #534235] Wed, 19 May 2010 03:59 Go to previous messageGo to next message
Laurent Goubet is currently offline Laurent Goubet
Messages: 1609
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080807080309040300070904
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Marin,

A ClassCastException seem problematic enough, do you have custom code in
the TypeFactoryImpl class?

> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EFactoryImpl
> cannot be cast to
hr.fer.rasip.remes.grammars.expressions.type.TypeFactory

where you should have "public interface TypeFactory extends EFactory"
and "public class TypeFactory Impl extends EFactoryImpl implements
TypeFactory" (so that the cast should be legit) seem strange.

Other than that, I truly do think that the issue with your template lies
in the traverse() call : maybe not in the implementation itself, but the
call itself can be an issue.

"edge.guard.traverse()" => are you sure this is never called on an edge
that doesn't have a guard? (edge.guard.oclIsUndefined() returns true)

If you use something like

[if (edge.guard.traverse().oclIsInvalid())]
Failing to traverse edge : [edge.name/] for guard [edge.guard/]
[else]
edge.guard.traverse()
[/if]

You should be able to single out the edges / guards on which you get the
failure (as mentionned, the dynamic "Invalid_Class" is OCL's way to tell
something failed ; the operation "oclIsInvalid()" allows users to check
against it). Would knowing on which element the evaluation fails allow
you to nail down a potential solution?

If it does not, and sending me the models, templates and metamodels
isn't an issue, I could try and take a quick look at the failure points
.... but with the Helios deadline looming, I doubt I can take this time
before Acceleo 3.0 goes live.

Laurent Goubet
Obeo

Marin Orlić wrote:
> Hi Laurent,
> traverse walks down the expression tree and creates Java code out of it.
> It's a bit big to paste, but I don't think that's the problem.
>
> It probably lies somewhere in model initialization, exceptions sometime
> happen in typefactoryinitialization (this happened when debugging mtl
> directly in eclipse):
>
> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EFactoryImpl
> cannot be cast to hr.fer.rasip.remes.grammars.expressions.type.TypeFactory
> at hr.fer.rasip.remes.grammars.expressions.type.impl.TypeFactor
> yImpl.init(TypeFactoryImpl.java:34)
> at hr.fer.rasip.remes.grammars.expressions.type.TypeFactory.<clinit
> >(TypeFactory.java:26)
> at hr.fer.rasip.remes.grammars.expressions.type.impl.TypePackag
> eImpl. <init>(TypePackageImpl.java:117)
> at hr.fer.rasip.remes.grammars.expressions.type.impl.TypePackag
> eImpl.init(TypePackageImpl.java:143)
> at hr.fer.rasip.remes.grammars.expressions.type.TypePackage.<clinit
> >(TypePackage.java:58)
> at se.mdh.progresside.remes.impl.RemesPackageImpl.init(RemesPac
> kageImpl.java:241)
> at se.mdh.progresside.remes.RemesPackage.<clinit>(RemesPackage.java:61)
> at sun.misc.Unsafe.ensureClassInitialized(Native Method)
> at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unkn own
> Source)
> at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
> at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
> at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
> at java.lang.reflect.Field.get(Unknown Source)
> at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescript
> or.getEPackage(RegistryReader.java:274)
> at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(
> EPackageRegistryImpl.java:133)
> at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.delegatedGet
> EPackage(EPackageRegistryImpl.java:196)
> at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(
> EPackageRegistryImpl.java:149)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getPackageForURI(X
> MLHandler.java:2456)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getFactoryForPrefi
> x(XMLHandler.java:2421)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectByType
> (XMLHandler.java:1299)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XM
> LHandler.java:1468)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XML
> Handler.java:1019)
> at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMI
> Handler.java:83)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa
> ndler.java:1001)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa
> ndler.java:712)
> at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHa
> ndler.java:169)
> at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser
> .startElement(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.
> startElement(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS
> cannerImpl.scanStartElement(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm
> pl$ContentDriver.scanRootElementHook(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS
> cannerImpl$FragmentContentDriver.next(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm
> pl$PrologDriver.next(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm
> pl.next(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS
> cannerImpl.scanDocument(Unknown Source)
> at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio
> n.parse(Unknown Source)
> at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio
> n.parse(Unknown Source)
> at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(U
> nknown Source)
> at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser
> .parse(Unknown Source)
> at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSA
> XParser.parse(Unknown Source)
> at javax.xml.parsers.SAXParser.parse(Unknown Source)
> at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.
> java:181)
> at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLRes
> ourceImpl.java:180)
> at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour
> ceImpl.java:1494)
> at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour
> ceImpl.java:1282)
> at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo
> ad(ResourceSetImpl.java:255)
> at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo
> adHelper(ResourceSetImpl.java:270)
> at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou
> rce(ResourceSetImpl.java:397)
> at org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils.
> java:346)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> initialize(AbstractAcceleoGenerator.java:299)
> at hr.fer.rasip.remes.simulator.remes2java.files.GenerateModes.
> <init>(GenerateModes.java:95)
>
> If it's easier to trace, I could send you the entire project with
> metamodels and templates.
>
> Thanks,
> Marin


--------------080807080309040300070904
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=
--------------080807080309040300070904--
Re: [Acceleo] Problem resolving EClasses [message #534465 is a reply to message #534434] Wed, 19 May 2010 05:46 Go to previous message
Marin  rli? is currently offline Marin rli?
Messages: 35
Registered: October 2009
Member
Laurent Goubet wrote on Wed, 19 May 2010 03:59
This is a multi-part message in MIME format.
--------------080807080309040300070904
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Marin,

A ClassCastException seem problematic enough, do you have custom code in
the TypeFactoryImpl class?

> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EFactoryImpl
> cannot be cast to
hr.fer.rasip.remes.grammars.expressions.type.TypeFactory

where you should have "public interface TypeFactory extends EFactory"
and "public class TypeFactory Impl extends EFactoryImpl implements
TypeFactory" (so that the cast should be legit) seem strange.




All of the code is generated from genmodel, which is what makes it weird. It might be a problem with genmodel configuration, but I'm not sure what to look for..

Quote:

Other than that, I truly do think that the issue with your template lies
in the traverse() call : maybe not in the implementation itself, but the
call itself can be an issue.

"edge.guard.traverse()" => are you sure this is never called on an edge
that doesn't have a guard? (edge.guard.oclIsUndefined() returns true)




I have the call within IFs:

[if not e.guard.oclIsUndefined()]
@Override
public Type evaluateGuard() {
return [e.guard.oclAsType(ast::LogicalRoot).traverse() /];
}
[/if]

Quote:


If you use something like

[if (edge.guard.traverse().oclIsInvalid())]
Failing to traverse edge : [edge.name/] for guard [edge.guard/]
[else]
edge.guard.traverse()
[/if]

You should be able to single out the edges / guards on which you get the
failure (as mentionned, the dynamic "Invalid_Class" is OCL's way to tell
something failed ; the operation "oclIsInvalid()" allows users to check
against it). Would knowing on which element the evaluation fails allow
you to nail down a potential solution?

If it does not, and sending me the models, templates and metamodels
isn't an issue, I could try and take a quick look at the failure points
.... but with the Helios deadline looming, I doubt I can take this time
before Acceleo 3.0 goes live.




Of course Smile
Could it be a problem with Acceleo 3 running on Galileo?

I'll try and pin-point the cause and if all fails send you the files for a quick look - when you have time.

Thanks,
Marin

Quote:


Laurent Goubet
Obeo

Marin Orlić wrote:
> Hi Laurent,
> traverse walks down the expression tree and creates Java code out of it.
> It's a bit big to paste, but I don't think that's the problem.
>
> It probably lies somewhere in model initialization, exceptions sometime
> happen in typefactoryinitialization (this happened when debugging mtl
> directly in eclipse):
>
> java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EFactoryImpl
> cannot be cast to hr.fer.rasip.remes.grammars.expressions.type.TypeFactory
> at hr.fer.rasip.remes.grammars.expressions.type.impl.TypeFactor
> yImpl.init(TypeFactoryImpl.java:34)
> at hr.fer.rasip.remes.grammars.expressions.type.TypeFactory.<clinit
> >(TypeFactory.java:26)
> at hr.fer.rasip.remes.grammars.expressions.type.impl.TypePackag
> eImpl. <init>(TypePackageImpl.java:117)
> at hr.fer.rasip.remes.grammars.expressions.type.impl.TypePackag
> eImpl.init(TypePackageImpl.java:143)
> at hr.fer.rasip.remes.grammars.expressions.type.TypePackage.<clinit
> >(TypePackage.java:58)
> at se.mdh.progresside.remes.impl.RemesPackageImpl.init(RemesPac
> kageImpl.java:241)
> at se.mdh.progresside.remes.RemesPackage.<clinit>(RemesPackage.java:61)
> at sun.misc.Unsafe.ensureClassInitialized(Native Method)
> at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unkn own
> Source)
> at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
> at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
> at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
> at java.lang.reflect.Field.get(Unknown Source)
> at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescript
> or.getEPackage(RegistryReader.java:274)
> at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(
> EPackageRegistryImpl.java:133)
> at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.delegatedGet
> EPackage(EPackageRegistryImpl.java:196)
> at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(
> EPackageRegistryImpl.java:149)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getPackageForURI(X
> MLHandler.java:2456)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.getFactoryForPrefi
> x(XMLHandler.java:2421)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectByType
> (XMLHandler.java:1299)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createTopObject(XM
> LHandler.java:1468)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XML
> Handler.java:1019)
> at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMI
> Handler.java:83)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa
> ndler.java:1001)
> at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHa
> ndler.java:712)
> at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHa
> ndler.java:169)
> at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser
> .startElement(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.
> startElement(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS
> cannerImpl.scanStartElement(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm
> pl$ContentDriver.scanRootElementHook(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS
> cannerImpl$FragmentContentDriver.next(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm
> pl$PrologDriver.next(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerIm
> pl.next(Unknown Source)
> at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentS
> cannerImpl.scanDocument(Unknown Source)
> at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio
> n.parse(Unknown Source)
> at com.sun.org.apache.xerces.internal.parsers.XML11Configuratio
> n.parse(Unknown Source)
> at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(U
> nknown Source)
> at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser
> .parse(Unknown Source)
> at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSA
> XParser.parse(Unknown Source)
> at javax.xml.parsers.SAXParser.parse(Unknown Source)
> at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.
> java:181)
> at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLRes
> ourceImpl.java:180)
> at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour
> ceImpl.java:1494)
> at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(Resour
> ceImpl.java:1282)
> at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo
> ad(ResourceSetImpl.java:255)
> at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLo
> adHelper(ResourceSetImpl.java:270)
> at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResou
> rce(ResourceSetImpl.java:397)
> at org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils.
> java:346)
> at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.
> initialize(AbstractAcceleoGenerator.java:299)
> at hr.fer.rasip.remes.simulator.remes2java.files.GenerateModes.
> <init>(GenerateModes.java:95)
>
> If it's easier to trace, I could send you the entire project with
> metamodels and templates.
>
> Thanks,
> Marin


--------------080807080309040300070904
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=
--------------080807080309040300070904--

Previous Topic:[check]
Next Topic:[Xpand] Versions of logging bundles for Xpand/Xtend in recent builds
Goto Forum:
  


Current Time: Thu Apr 17 17:45:27 EDT 2014

Powered by FUDForum. Page generated in 0.18614 seconds