Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 347999 - Group label generation fails
Summary: Group label generation fails
Status: RESOLVED WORKSFORME
Alias: None
Product: EEF
Classification: Modeling
Component: General (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 critical
Target Milestone: ---   Edit
Assignee: EEF Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-01 15:15 EDT by Stephane Vaucher CLA
Modified: 2016-05-05 10:27 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephane Vaucher CLA 2011-06-01 15:15:39 EDT
Build Identifier: Extended Editing Framework - SDK	1.0.0.v20110524-0806

Taking a ecore file that works fine with simple EMF, tried to generate interfaces with EEF. The resulting code has 52 times the following errors:

Description	Resource	Path	Location	Type
AggregatedMeasurementPropertiesEditionPart_PropertiesGroupLabel cannot be resolved or is not a field	AggregatedMeasurementPropertiesEditionPartForm.java	/kdm.edit/src-gen/smm/parts/forms	line 180

where we have a <model element>PropertiesEditionPart_PropertiesGroupLabel is undefined

There are warnings and an error in the build process:

Type A warning:
!ENTRY org.eclipse.acceleo.engine 2 2 2011-06-01 15:07:32.306
!MESSAGE Invalid result for expression eclass.eInverse(components::PropertiesEditionComponent)->first() at line 117 in Module common for query associatedPEC(EClass,PropertiesEditionContext). Last recorded value of self was org.eclipse.emf.ecore.impl.EClassImpl@2f096fc9 (name: SmmElement) (instanceClassName: null) (abstract: true, interface: false).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Invalid result for expression eclass.eInverse(components::PropertiesEditionComponent)->first() at line 117 in Module common for query associatedPEC(EClass,PropertiesEditionContext). Last recorded value of self was org.eclipse.emf.ecore.impl.EClassImpl@2f096fc9 (name: SmmElement) (instanceClassName: null) (abstract: true, interface: false).
	at PackagePropertiesEditionProvider.PackagePropertiesEditionProvider(PropertiesEditionContext,EPackage)(PackagePropertiesEditionProvider.mtl:0)
	at PackagePropertiesEditionProvider.PackagePropertiesEditionProvider(PropertiesEditionContext,EPackage)(PackagePropertiesEditionProvider.mtl:38)
	at PackagePropertiesEditionProvider.PackagePropertiesEditionProvider(PropertiesEditionContext,EPackage)(PackagePropertiesEditionProvider.mtl:37)
	at PackagePropertiesEditionProvider.PackagePropertiesEditionProvider(PropertiesEditionContext,EPackage)(PackagePropertiesEditionProvider.mtl:20)
	at PackagePropertiesEditionProvider.PackagePropertiesEditionProvider(PropertiesEditionContext,EPackage)(PackagePropertiesEditionProvider.mtl:18)


Type B warning:
!ENTRY org.eclipse.acceleo.engine 2 2 2011-06-01 15:07:37.841
!MESSAGE Undefined guard group.representation.name.=('Group') at line 34 in Module ContextMessages for block for (viewsRepository.eAllContents(views::Container)) separator('
') ? (group.representation.name.=('Group')). Last recorded value of self was org.eclipse.emf.eef.views.impl.ViewImpl@654fa56 (documentation: null) (name: SmmModel) (explicit: true).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Undefined guard group.representation.name.=('Group') at line 34 in Module ContextMessages for block for (viewsRepository.eAllContents(views::Container)) separator('
') ? (group.representation.name.=('Group')). Last recorded value of self was org.eclipse.emf.eef.views.impl.ViewImpl@654fa56 (documentation: null) (name: SmmModel) (explicit: true).
	at ContextMessages.ContextMessages(ViewsRepository)(ContextMessages.mtl:34)
	at ContextMessages.ContextMessages(ViewsRepository)(ContextMessages.mtl:20)
	at ContextMessages.ContextMessages(ViewsRepository)(ContextMessages.mtl:18)

!ENTRY org.eclipse.acceleo.engine 2 2 2011-06-01 15:07:42.602
!MESSAGE Undefined guard group.representation.name.=('Group') at line 28 in Module ContextMessagesProperties for block for (viewsRepository.eAllContents(views::Container)) ? (group.representation.name.=('Group')). Last recorded value of self was org.eclipse.emf.eef.views.impl.ViewImpl@654fa56 (documentation: null) (name: SmmModel) (explicit: true).
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Undefined guard group.representation.name.=('Group') at line 28 in Module ContextMessagesProperties for block for (viewsRepository.eAllContents(views::Container)) ? (group.representation.name.=('Group')). Last recorded value of self was org.eclipse.emf.eef.views.impl.ViewImpl@654fa56 (documentation: null) (name: SmmModel) (explicit: true).
	at ContextMessagesProperties.ContextMessagesProperties(ViewsRepository)(ContextMessagesProperties.mtl:28)
	at ContextMessagesProperties.ContextMessagesProperties(ViewsRepository)(ContextMessagesProperties.mtl:20)
	at ContextMessagesProperties.ContextMessagesProperties(ViewsRepository)(ContextMessagesProperties.mtl:18)

An error:

!ENTRY org.eclipse.ocl 4 10 2011-06-01 15:07:55.667
!MESSAGE Evaluation failed with an exception: (no message)
!STACK 0
java.lang.UnsupportedOperationException
	at org.eclipse.ocl.ecore.impl.OCLExpressionImpl.accept(OCLExpressionImpl.java:164)
	at org.eclipse.ocl.AbstractEvaluationVisitor.visitExpression(AbstractEvaluationVisitor.java:248)
	at org.eclipse.ocl.EvaluationVisitorDecorator.visitExpression(EvaluationVisitorDecorator.java:156)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1672)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:847)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1622)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:898)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1649)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.java:335)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1642)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:847)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1622)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:898)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1649)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoLetBlock(AcceleoEvaluationVisitor.java:645)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1661)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoForBlock(AcceleoEvaluationVisitor.java:506)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1635)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:847)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1622)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(QueryImpl.java:152)
	at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
	at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvaluate(AcceleoEngine.java:265)
	at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate(AcceleoEngine.java:130)
	at org.eclipse.acceleo.engine.service.AcceleoService.doGenerateTemplate(AcceleoService.java:849)
	at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate(AcceleoService.java:513)
	at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.generate(AbstractAcceleoGenerator.java:175)
	at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.doGenerate(AbstractAcceleoGenerator.java:154)
	at org.eclipse.emf.eef.codegen.extended.launcher.EEFEditorLauncher.doGenerate(EEFEditorLauncher.java:152)
	at org.eclipse.emf.eef.codegen.extended.flow.OverrideEMFEditorCode.execute(OverrideEMFEditorCode.java:74)
	at org.eclipse.emf.eef.codegen.flow.Workflow.execute(Workflow.java:203)
	at org.eclipse.emf.eef.codegen.extended.initializer.EEFEditorInitializer$5.run(EEFEditorInitializer.java:204)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

!ENTRY org.eclipse.acceleo.engine 2 2 2011-06-01 15:07:55.669
!MESSAGE Could not create file C:\Staging\Sprint7\Workstation\workspace\kdm.editor\src\org.eclipse.emf.ecore.impl.DynamicEObjectImpl@36940c0 (eClass: org.eclipse.emf.ecore.impl.EClassImpl@7319feff (name: OclInvalid_Class) (instanceClassName: null) (abstract: false, interface: false)).java.
!STACK 0
org.eclipse.acceleo.engine.AcceleoEvaluationException: Could not create file C:\Staging\Sprint7\Workstation\workspace\kdm.editor\src\org.eclipse.emf.ecore.impl.DynamicEObjectImpl@36940c0 (eClass: org.eclipse.emf.ecore.impl.EClassImpl@7319feff (name: OclInvalid_Class) (instanceClassName: null) (abstract: false, interface: false)).java.
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationContext.openNested(AcceleoEvaluationContext.java:600)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.createFileWriter(AcceleoEvaluationVisitor.java:268)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.delegateCreateFileWriter(AcceleoEvaluationVisitor.java:1236)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoFileBlock(AcceleoEvaluationVisitor.java:388)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1642)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:847)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1622)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplateInvocation(AcceleoEvaluationVisitor.java:898)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1649)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoLetBlock(AcceleoEvaluationVisitor.java:645)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1661)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoForBlock(AcceleoEvaluationVisitor.java:506)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1635)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitAcceleoTemplate(AcceleoEvaluationVisitor.java:847)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.switchExpression(AcceleoEvaluationVisitor.java:1622)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationVisitor.visitExpression(AcceleoEvaluationVisitor.java:985)
	at org.eclipse.ocl.internal.evaluation.QueryImpl.evaluate(QueryImpl.java:152)
	at org.eclipse.ocl.ecore.QueryImpl.evaluate(QueryImpl.java:62)
	at org.eclipse.acceleo.engine.generation.AcceleoEngine.doEvaluate(AcceleoEngine.java:265)
	at org.eclipse.acceleo.engine.generation.AcceleoEngine.evaluate(AcceleoEngine.java:130)
	at org.eclipse.acceleo.engine.service.AcceleoService.doGenerateTemplate(AcceleoService.java:849)
	at org.eclipse.acceleo.engine.service.AcceleoService.doGenerate(AcceleoService.java:513)
	at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.generate(AbstractAcceleoGenerator.java:175)
	at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.doGenerate(AbstractAcceleoGenerator.java:154)
	at org.eclipse.emf.eef.codegen.extended.launcher.EEFEditorLauncher.doGenerate(EEFEditorLauncher.java:152)
	at org.eclipse.emf.eef.codegen.extended.flow.OverrideEMFEditorCode.execute(OverrideEMFEditorCode.java:74)
	at org.eclipse.emf.eef.codegen.flow.Workflow.execute(Workflow.java:203)
	at org.eclipse.emf.eef.codegen.extended.initializer.EEFEditorInitializer$5.run(EEFEditorInitializer.java:204)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.io.FileNotFoundException: C:\Staging\Sprint7\Workstation\workspace\kdm.editor\src\org.eclipse.emf.ecore.impl.DynamicEObjectImpl@36940c0 (eClass: org.eclipse.emf.ecore.impl.EClassImpl@7319feff (name: OclInvalid_Class) (instanceClassName: null) (abstract: false, interface: false)).java (The filename, directory name, or volume label syntax is incorrect)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
	at org.eclipse.acceleo.engine.generation.writers.AcceleoFileWriter.<init>(AcceleoFileWriter.java:78)
	at org.eclipse.acceleo.engine.generation.strategy.DefaultStrategy.createWriterFor(DefaultStrategy.java:128)
	at org.eclipse.acceleo.engine.internal.evaluation.AcceleoEvaluationContext.openNested(AcceleoEvaluationContext.java:588)
	... 33 more



Reproducible: Always

Steps to Reproduce:
1. Take a reasonably complex ecore file like the smm.ecore available as part of modisco(http://dev.eclipse.org/viewsvn/viewvc.cgi/plugins/trunk/org.eclipse.gmt.modisco.omg.smm/model/SMM.ecore?view=co&revision=49&root=Modeling_MODISCO&pathrev=110)
2. Generate EMF models
3. Initialize EEF (without selecting delete models)

Resulting model does not compile and has issues mentioned above
Comment 1 Stephane Vaucher CLA 2011-06-01 15:22:40 EDT
I have not seen the RC2 (and RC3) work. I doubt EEF can be released in this state. There is no documentation that indicates if there is limited support for ecores. I'm raising this issue as critical
Comment 2 Stephane Vaucher CLA 2011-06-02 12:29:35 EDT
Added version number to bug report (currently 1.0.0rc3).
Comment 3 Bouchet Stéphane CLA 2011-06-06 05:43:49 EDT
Tried today with Eclipse modeling package RC3 and eef 20110601-1641 ( post RC3 ).

we will release a RC4 due to bug #347744
Comment 4 Stephane Vaucher CLA 2011-06-06 09:40:08 EDT
(In reply to comment #3)
> Tried today with Eclipse modeling package RC3 and eef 20110601-1641 ( post RC3
> ).
> 
> we will release a RC4 due to bug #347744

If you don't mind, I'll perform a sanity check. Can you post the steps that you performed to ensure that the generation completes correctly? Please remember that there is no up to date documentation describing the generation process. This would be appreciated by new adopters of EEF.
Comment 5 Bouchet Stéphane CLA 2011-06-07 11:36:23 EDT
(In reply to comment #4)
> (In reply to comment #3)
> > Tried today with Eclipse modeling package RC3 and eef 20110601-1641 ( post RC3
> > ).
> > 
> > we will release a RC4 due to bug #347744
> 
> If you don't mind, I'll perform a sanity check. Can you post the steps that you
> performed to ensure that the generation completes correctly? Please remember
> that there is no up to date documentation describing the generation process.
> This would be appreciated by new adopters of EEF.

First, you need a complete eclipse with EEF. 
you can follow the instrcutions here : 
http://wiki.eclipse.org/EEF/Installation_Guide

note that the instructions are not up to date with indigo that will be available in june. EEF 1.0.0 is targeting indigo. If you want to try EEF 1.0.0, please use the latest EPP modeling package that contains EEF or use the latest stable build of EEF ( link provided above )

the EEF documentation will be updated soon for indigo release, but the actual generation is still accurate ( starts with ecore, generates model/edit/editor with EMF, creates EEF models, generates EEF code, customize generated editor )