Improvements and fixes to manual generation.
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/InterfaceAspect.xpt b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/InterfaceAspect.xpt
index 6d66620..71b5217 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/InterfaceAspect.xpt
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/InterfaceAspect.xpt
@@ -30,13 +30,13 @@
«AROUND metaabm::tmpl::Java::SetterMethod FOR IID-»
public «EXPAND metaabm::tmpl::Java::Modifier»void «setterName()»(«EXPAND metaabm::tmpl::Java::ExtendType-» _«paramName()»);
«ENDAROUND»
-«AROUND metaabm::tmpl::Java::ActivityMethod FOR IID-»
+«AROUND metaabm::tmpl::Java::MethodImpl FOR IID-»
public «methodTypeName()» «methodName()»(«methodParamList()»);
«ENDAROUND»
«AROUND metaabm::tmpl::Java::OtherAccessors FOR SContext-»«ENDAROUND»
«AROUND metaabm::tmpl::Java::OtherAccessors FOR SAgent-»«ENDAROUND»
-«AROUND metaabm::tmpl::Java::ActivityPotentialMethod (metaabm::act::AAct within) FOR AMethod-»
+«AROUND metaabm::tmpl::Java::Method (metaabm::act::AAct within) FOR AMethod-»
«IF !(id().startsWith("test") || id().startsWith("assert"))-»
«targetDef.proceed()»
«ENDIF-»
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/TestCaseAspect.xpt b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/TestCaseAspect.xpt
index 9bdda90..15a8e0f 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/TestCaseAspect.xpt
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/metaabm/tmpl/TestCaseAspect.xpt
@@ -9,7 +9,7 @@
«EXTENSION metaabm::tmpl::util»
«DEFINE Model FOR SContext-»
- «FILE javaFileLoc().replaceFirst("srcgen", "src").replaceFirst(typeName(), "All" + typeName() + "Tests")-»
+ «FILE javaFileLoc().replaceFirst("srcgen", "test").replaceFirst(typeName(), "All" + typeName() + "Tests")-»
package «package()»;
import org.junit.runner.RunWith;
@@ -23,7 +23,7 @@
«ENDFILE-»
«ENDDEFINE»
-«AROUND metaabm::tmpl::Java::ActivityMethod FOR IID-»
+«AROUND metaabm::tmpl::Java::MethodImpl FOR IID-»
@org.junit.Test
public «methodTypeName()» «methodName()»(«methodParamList()») {
«PROTECT CSTART "/*" CEND "*/" ID typeName() + "_" + methodName() + "_Pre"»
diff --git a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/model/generate_tests.mwe b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/model/generate_tests.mwe
index cf725cf..91a0384 100644
--- a/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/model/generate_tests.mwe
+++ b/org.eclipse.amp.amf/plugins/org.eclipse.amp.amf.gen/src/model/generate_tests.mwe
@@ -1,74 +1,25 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<workflow>
- <property name="outputPath" value="./"/>
+ <property name="outputPath" value="../" />
<property name="modelPath" value="test/"/>
<property name="modelFile" value="TestGeneration.metaabm"/>
- <property name="srcDir" value="src"/>
- <property name="testing" value="true"/>
- <property name="format" value="true"/>
- <property name="genComments" value="true"/>
- <property name="orgImports" value="true"/>
- <property name="genStats" value="single"/> <!-- one of "none" "single" "cross" -->
- <property name="buildProject" value="undefined.project"/>
- <property name="packageModifier" value=""/>
+ <property name="testing" value="false" />
+ <property name="buildProject" value="org.eclipse.amp.amf.gen.test"/>
+ <property name="srcDir" value="src"/>
- <bean class="org.eclipse.emf.Setup">
- <uriMap to="model/core_library.metaabm" from="http://metaabm.org/core_library.metaabm" />
- <uriMap to="model/metaabm.xsd" from="http://metaabm.org/structure" />
- <uriMap to="model/metaabm.act.xsd" from="http://metaabm.org/act" />
- <uriMap to="model/metaabm.function.xsd" from="http://metaabm.org/function" />
- </bean>
-
- <bean id="metaabm" class="org.eclipse.m2t.type.emf.EmfRegistryMetaModel">
- <metaModelPackage value="org.metaabm.MetaABMPackage"/>
- </bean>
+ <!--The following is here to support running as a project when project directories are not in the same workspace.
+ Workspaces calliong this method programmatically should set this value to ""-->
+ <cartridge file="model/generate_base.mwe">
+ <outputPath value="${outputPath}" />
+ <modelPath value="${modelPath}" />
+ <modelFile value="${modelFile}" />
+ <testing value="${testing}" />
+ <buildProject value="${buildProject}" />
+ <srcDir value="${srcDir}" />
+ </cartridge>
- <component id="xmiParser" class="org.eclipse.mwe.emf.Reader">
- <modelFile value="${modelPath}${modelFile}"/>
- <metaModelPackage value="org.metaabm.MetaABMPackage"/>
- <outputSlot value="model"/>
- </component>
-
- <component class="org.eclipse.xtend.check.CheckComponent">
- <metaModel idRef="metaabm"/>
- <checkFile value="metaabm::tmpl::edit"/>
- <emfAllChildrenSlot value="model"/>
- </component>
-
- <component id="javaGenerator" class="org.eclipse.xpand2.Generator" skipOnErrors="true" fileEncoding="iso-8859-1">
- <metaModel idRef="metaabm"/>
- <expand value="metaabm::tmpl::Java::Model FOR model"/>
- <outlet path="${outputPath}" overwrite="true" >
- <postprocessor
- class="org.eclipse.xpand2.output.JavaBeautifier"/>
- </outlet>
- <globalVarDef name="testing" value="${testing}"/>
- <globalVarDef name="buildProject" value="'${buildProject}'"/>
- <globalVarDef name="packageModifier" value="'${packageModifier}'"/>
- <globalVarDef name="genComments" value="'${genComments}'"/>
- <globalVarDef name="orgImports" value="'${orgImports}'"/>
- <globalVarDef name="genStats" value="'${genStats}'"/>
- <beautifier class="org.hybridlabs.source.formatter.JavaImportBeautifier" organizeImports="${orgImports}" format='false'/>
- <fileEncoding value="ISO-8859-1"/>
- <prSrcPaths value="${outputPath}/${srcDir}"/>
- </component>
-
- <component id="javaGenerator" class="org.eclipse.xpand2.Generator" skipOnErrors="true" fileEncoding="iso-8859-1">
- <metaModel idRef="metaabm"/>
- <expand value="metaabm::tmpl::TestCaseAspect::Model FOR model"/>
- <outlet path="${outputPath}" overwrite="true" >
- <postprocessor
- class="org.eclipse.xpand2.output.JavaBeautifier"/>
- </outlet>
- <globalVarDef name="srcDir" value="'${srcDir}'"/>
- <globalVarDef name="testing" value="${testing}"/>
- <globalVarDef name="buildProject" value="'${buildProject}'"/>
- <globalVarDef name="packageModifier" value="'${packageModifier}'"/>
- <globalVarDef name="genComments" value="'${genComments}'"/>
- <globalVarDef name="orgImports" value="'${orgImports}'"/>
- <globalVarDef name="genStats" value="'${genStats}'"/>
- <beautifier class="org.hybridlabs.source.formatter.JavaImportBeautifier" organizeImports="${orgImports}" format='false'/>
- <fileEncoding value="ISO-8859-1"/>
- <prSrcPaths value="${outputPath}/${srcDir}"/>
+ <component adviceTarget="javaGenerator" id="reflectionAdvice"
+ class="org.eclipse.xpand2.GeneratorAdvice">
+ <advice value="metaabm::tmpl::TestCaseAspect"/>
</component>
</workflow>
\ No newline at end of file