Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [MWE] Error by executeWorkflow(path is unmapped)
[MWE] Error by executeWorkflow [message #524563] Thu, 01 April 2010 12:33 Go to next message
MaximeLecourt  is currently offline MaximeLecourt Friend
Messages: 108
Registered: February 2010
Location: France
Senior Member
Hello,

In a m2m and m2t project, I'm having trouble with my workflow.
I use a object model, which I transform into a relationnal model, and generate SQL code from that.

I get an error when trying to run it.

My workflow looks like this
Quote:
<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 slot 'model' -->
<component class="org.eclipse.emf.mwe.utils.Reader">
<uri value="platform:/resource/${relationnalmodel}" />
<modelSlot value="model" />
</component>

<!--once model is writen, 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>



I believe the error is somewhere around the red part, as the workflow runned fine before I added that part.


When running it, I get the following error :

1 avr. 2010 14:03:10 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Reader: Loading model from platform:/resource/src-gen/outModel.xmi
1 avr. 2010 14:03:10 org.eclipse.emf.mwe.core.WorkflowRunner executeWorkflow
GRAVE: java.io.IOException: The path '/src-gen/outModel.xmi' is unmapped
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: java.io.IOException: The path '/src-gen/outModel.xmi' is unmapped



One day I shall master M2T, but that day has yet to come...
Re: [MWE] Error by executeWorkflow [message #524746 is a reply to message #524563] Fri, 02 April 2010 08:28 Go to previous messageGo to next message
MaximeLecourt  is currently offline MaximeLecourt Friend
Messages: 108
Registered: February 2010
Location: France
Senior Member
I didn't go far since yesterday, but things moved a bit.

In my workflow, first parapgraph is used to load the metamodels.
My problem is that later on, I think I need to specify which metamodel to use with what model.

<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 slot 'model' -->
	<component class="org.eclipse.emf.mwe.utils.Reader">
		<uri value="${relationnalmodel}" />
		<modelSlot value="newModel" />
	</component>
	
	<!--once model is writen, 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>


Even with that warning, code is generated, but once I try tu use the model newly generated, I get another error

2 avr. 2010 09:59:26 org.eclipse.emf.mwe.core.WorkflowRunner logIssues
ATTENTION: [WARNING]: no metamodels specified (use 'metaModel' property)!(Element: -UNKNOWN-; Reported by: -UNKNOWN-)
2 avr. 2010 09:59:26 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Reader: Loading model from src/Model.xmi


I'm still guessing, but once I try to load outModel.xmi (which I just generated), to do a model to text transformation, I think the workflow can't find the metamodel.

2 avr. 2010 09:59:26 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: XtendComponent: executing 'object2relationnal::object2relationnal'
2 avr. 2010 09:59:26 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Writer: Writing model to src-gen/outModel.xmi
2 avr. 2010 09:59:26 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Reader: Loading model from src-gen/outModel.xmi
2 avr. 2010 09:59:26 org.eclipse.emf.mwe.core.container.CompositeComponent internalInvoke
INFO: Generator: generating 'object2relationnal::SQL::main FOR Base' => src-gen
2 avr. 2010 09:59:26 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'


Does someone understand where the problem lies ?


One day I shall master M2T, but that day has yet to come...
Re: [MWE] Error by executeWorkflow [message #524816 is a reply to message #524746] Fri, 02 April 2010 17:02 Go to previous message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14669
Registered: July 2009
Senior Member
see anwer in m2t forum

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Previous Topic:How do I show a previously deleted connection?
Next Topic:[MWE] Error by executeWorkflow
Goto Forum:
  


Current Time: Fri Apr 26 21:58:20 GMT 2024

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

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

Back to the top