Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » M2T (model-to-text transformation) » [XPAND/XTEND] Workflow error at running
[XPAND/XTEND] Workflow error at running [message #524789] Fri, 02 April 2010 14:02 Go to next message
MaximeLecourt  is currently offline MaximeLecourt Friend
Messages: 108
Registered: February 2010
Location: France
Senior Member
I am having trouble running my workflow in an Xpand/Xtend M2M/M2T project.

Basically, I have a object model, I generate from it a relationnal model using Xtend, and from my relationnal model I want to generate SQL code using Xpand (I need the M2M because I'll use the object model to generate other stuff).

The M2M part works, the outmodel.xmi file is created with the data.
From the error message I get, I believe that as I load 2 metamodels, my workflow doesn't know which one to use once I try to load my outmodel.xmi

Workflow :
<workflow>
	<property name="src-gen" value="src-gen" />
	<property name="relationnalmodel" value="src-gen/outModel.xmi" />

	<bean class="org.eclipse.emf.mwe.utils.StandaloneSetup">
		<platformUri value=".." />
		<!-- first ecore -->
		<registerEcoreFile value="platform:/resource/genCPP/src/metamodel/metamodel.ecore"/>
		<!-- second ecore -->
		<registerEcoreFile value="platform:/resource/genCPP/src/metamodel/relationnel.ecore" />
	</bean>
	
	<!--read the model -->
	<component class="org.eclipse.emf.mwe.utils.Reader">
		<uri value="src/Model.xmi" />
		<modelSlot value="model" />
	</component>
	
	<!--transform the model -->
	<component class="org.eclipse.xtend.XtendComponent">
		<metaModel class="org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel" />
		<invoke value="object2relationnal::object2relationnal::transform(model)"/>
		<outputSlot value="newModel"/>
	</component>
	
	<!--write the new model -->
	<component class="org.eclipse.emf.mwe.utils.Writer">
		<modelSlot value="newModel" />
		<uri value="${relationnalmodel}" />
	</component>
	
	<!-- load the new model and store it in 'newModel' -->
	<component class="org.eclipse.emf.mwe.utils.Reader">
		<uri value="${relationnalmodel}" />
		<modelSlot value="newModel" />
	</component>
	
	<!--once model is loaded, generate SQL tables and SQL procedures-->
	<component class="org.eclipse.xpand2.Generator">
		<expand
			value="object2relationnal::SQL::main FOR Base" />
		<outlet path="${src-gen}" >
		</outlet>
	</component> 
	
</workflow>


Error Message (I cut the beginning) :
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.utils.StandaloneSetup registerPackage
INFO: Adding dynamic EPackage 'http://www.example.org/metamodel' from 'platform:/resource/genCPP/src/metamodel/metamodel.ecore'
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.utils.StandaloneSetup registerPackage
INFO: Adding dynamic EPackage 'http://relationnel/1.0' from 'platform:/resource/genCPP/src/metamodel/relationnel.ecore'
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.WorkflowRunner logIssues
ATTENTION: [WARNING]: no metamodels specified (use 'metaModel' property)!(Element: -UNKNOWN-; Reported by: -UNKNOWN-)
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Reader: Loading model from src/Model.xmi
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: XtendComponent: executing 'object2relationnal::object2relationnal'
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Writer: Writing model to src-gen/outModel.xmi
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Reader: Loading model from src-gen/outModel.xmi
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Generator: generating 'object2relationnal::SQL::main FOR Base' => src-gen
2 avr. 2010 15:51:35 org.eclipse.xtend.expression.AbstractExpressionsUsingWorkflowComponent invokeInternal
GRAVE: Error in Component  of type org.eclipse.xpand2.Generator: 
	EvaluationException : Couldn't find type or property 'Base'
	[64,4] on line 1 'Base'

2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.WorkflowRunner executeWorkflow
GRAVE: Workflow interrupted. Reason: Couldn't find type or property 'Base'
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.WorkflowRunner logIssues
GRAVE: [ERROR]: Couldn't find type or property 'Base'(Element: Base; Reported by: Generator: generating 'object2relationnal::SQL::main FOR Base' => src-gen)
2 avr. 2010 15:51:35 org.eclipse.emf.mwe.core.WorkflowRunner logIssues
GRAVE: [ERROR]: Couldn't find type or property 'Base'(Element: EXPAND object2relationnal::SQL::main FOR Base; Reported by: Generator: generating 'object2relationnal::SQL::main FOR Base' => src-gen)


From the message, it seems I made at least two mistakes in workflow.

Regards,

Maxime


One day I shall master M2T, but that day has yet to come...
Re: [XPAND/XTEND] Workflow error at running [message #524792 is a reply to message #524789] Fri, 02 April 2010 14:31 Go to previous message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
hi, you haven't configured a metamodel for your generator component: try to add <metaModel class="org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel " />
to it.
second you should invoke the generator with your second model that is stored in newModel: <expand
value="object2relationnal::SQL::main FOR newModel" />


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Previous Topic:[Xpand] unresolved proxy between ecore models
Next Topic:Check oaw
Goto Forum:
  


Current Time: Thu Apr 25 22:40:58 GMT 2024

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

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

Back to the top