Servus,
ich versuche gerade meine erste Schritte mit xpand leider bin stecken geblieben, vielleicht hat jemand ein Tipp für mich ....
habe mir xpand-example als Vorlage genommen und versucht an meine Bedürfnisse anzupassen...
bekomme aber :
1093 ERROR WorkflowRunner - Workflow interrupted. Reason: Couldn't load resource under platform:/resource/sm.gen.router.converter/src/mytest.smro : org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'RootDiagram' is not found or is abstract. (platform:/resource/sm.gen.router.converter/src/mytest.smro, 2, 162)
meine mwe-datei:
[XML]<?xml version="1.0"?>
<workflow>
<property name="model" value="sm.gen.router.converter/src/mytest.smro"/>
<property name="src-gen" value="src-gen" />
<!-- set up EMF for standalone execution -->
<bean class="org.eclipse.emf.mwe.utils.StandaloneSetup" >
<platformUri value=".."/>
</bean>
<!-- instantiate metamodel -->
<bean id="mm_emf" class="org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel"/>
<!-- <expand value="templates::Root::Root FOR RootDiagram"/> -->
<!-- load model and store it in slot 'model' -->
<component class="org.eclipse.emf.mwe.utils.Reader">
<uri value="platform:/resource/${model}" />
<modelSlot value="model" />
</component>
<!-- generate code -->
<component class="org.eclipse.xpand2.Generator">
<fileEncoding value="ISO-8859-1"/>
<metaModel idRef="mm_emf"/>
<expand value="template::NewTemplateFile::main FOR model" />
<outlet path="${src-gen}" >
</outlet>
</component>
</workflow>[/XML]
meine NewTeplateFile.xpt:
meine xmi-datei:
für eine oder zwei Ideen wäre ich sehr dankbar
Gruß
ich versuche gerade meine erste Schritte mit xpand leider bin stecken geblieben, vielleicht hat jemand ein Tipp für mich ....
habe mir xpand-example als Vorlage genommen und versucht an meine Bedürfnisse anzupassen...
bekomme aber :
1093 ERROR WorkflowRunner - Workflow interrupted. Reason: Couldn't load resource under platform:/resource/sm.gen.router.converter/src/mytest.smro : org.eclipse.emf.ecore.xmi.ClassNotFoundException: Class 'RootDiagram' is not found or is abstract. (platform:/resource/sm.gen.router.converter/src/mytest.smro, 2, 162)
meine mwe-datei:
[XML]<?xml version="1.0"?>
<workflow>
<property name="model" value="sm.gen.router.converter/src/mytest.smro"/>
<property name="src-gen" value="src-gen" />
<!-- set up EMF for standalone execution -->
<bean class="org.eclipse.emf.mwe.utils.StandaloneSetup" >
<platformUri value=".."/>
</bean>
<!-- instantiate metamodel -->
<bean id="mm_emf" class="org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel"/>
<!-- <expand value="templates::Root::Root FOR RootDiagram"/> -->
<!-- load model and store it in slot 'model' -->
<component class="org.eclipse.emf.mwe.utils.Reader">
<uri value="platform:/resource/${model}" />
<modelSlot value="model" />
</component>
<!-- generate code -->
<component class="org.eclipse.xpand2.Generator">
<fileEncoding value="ISO-8859-1"/>
<metaModel idRef="mm_emf"/>
<expand value="template::NewTemplateFile::main FOR model" />
<outlet path="${src-gen}" >
</outlet>
</component>
</workflow>[/XML]
meine NewTeplateFile.xpt:
Code:
«IMPORT smro»
«EXTENSION template::GeneratorExtensions»
«DEFINE main FOR smro::RootDiagram»
«FILE "test/main.c" » «ENDFILE»
«EXPAND javaClass FOREACH this.logikobjekte»
«EXPAND javaClass FOREACH this.logikobjekteconn»
«ENDDEFINE»
«DEFINE javaClass FOR smro::LogikObjekte»
«FILE name+".java"»
public class «name» {
}
«ENDFILE»
«ENDDEFINE»
«DEFINE javaClass FOR smro::LogikObjektConn»
«FILE name+".java"»
public class «name» {
}
«ENDFILE»
«ENDDEFINE»
«ENDDEFINE»
meine xmi-datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<router1000.smro:RootDiagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:router1000.smro="http://defaultname/1.0">
<logikobjekteconn xsi:type="router1000.smro:IO_Input"/>
<logikobjekte xsi:type="router1000.smro:IO_Init"/>
</router1000.smro:RootDiagram>
für eine oder zwei Ideen wäre ich sehr dankbar
Gruß