浏览代码

Added FeatureTypeLibrary to Java Code Generator Project

Andreas Mülder 13 年之前
父节点
当前提交
50018f8793

+ 3 - 2
plugins/org.yakindu.sct.generator.core/src/org/yakindu/sct/generator/core/impl/AbstractXpandBasedCodeGenerator.java

@@ -37,6 +37,7 @@ import org.yakindu.sct.model.sexec.SexecPackage;
 import org.yakindu.sct.model.sgen.FeatureConfiguration;
 import org.yakindu.sct.model.sgen.FeatureParameterValue;
 import org.yakindu.sct.model.sgen.GeneratorEntry;
+import org.yakindu.sct.model.sgen.SGenPackage;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.stext.stext.StextPackage;
 
@@ -60,7 +61,7 @@ public abstract class AbstractXpandBasedCodeGenerator extends
 		Output output = createOutput(entry);
 		XpandExecutionContext context = createXpandContext(output);
 		XpandFacade facade = XpandFacade.create(context);
-		facade.evaluate(getTemplatePath(), flow);
+		facade.evaluate(getTemplatePath(), flow, entry);
 		// refresh the project to get external updates:
 		IProject project = getTargetProject(entry);
 		try {
@@ -106,7 +107,7 @@ public abstract class AbstractXpandBasedCodeGenerator extends
 			protected EPackage[] allPackages() {
 				return new EPackage[] { SGraphPackage.eINSTANCE,
 						StextPackage.eINSTANCE, EcorePackage.eINSTANCE,
-						SexecPackage.eINSTANCE };
+						SexecPackage.eINSTANCE, SGenPackage.eINSTANCE };
 			}
 		};
 		execCtx.registerMetaModel(metamodel);

+ 2 - 1
plugins/org.yakindu.sct.generator.java/META-INF/MANIFEST.MF

@@ -18,7 +18,8 @@ Require-Bundle: org.eclipse.jdt.core;bundle-version="3.5.0",
  org.eclipse.xtend.typesystem.emf;bundle-version="0.7.0",
  org.yakindu.sct.model.stext;bundle-version="1.0.0",
  org.yakindu.sct.generator.core;bundle-version="1.0.0",
- org.eclipse.jdt.launching;bundle-version="3.6.0"
+ org.eclipse.jdt.launching;bundle-version="3.6.0",
+ org.yakindu.sct.generator.genmodel;bundle-version="1.0.0"
 Bundle-Vendor: YAKINDU
 Export-Package: org.yakindu.sct.generator.java
 Bundle-ActivationPolicy: lazy

+ 7 - 0
plugins/org.yakindu.sct.generator.java/library/FeatureTypeLibrary.xmi

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="ASCII"?>
+<sgen:FeatureTypeLibrary xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sgen="http://www.yakindu.org/sct/statechart/SGen" xsi:schemaLocation="http://www.yakindu.org/sct/statechart/SGen ../../org.yakindu.sct.model.sgen/model/emf/sgen.ecore">
+  <types name="NamingFeature">
+    <parameters name="basePackage"/>
+    <parameters name="implementationSuffix"/>
+  </types>
+</sgen:FeatureTypeLibrary>

+ 7 - 0
plugins/org.yakindu.sct.generator.java/plugin.xml

@@ -10,5 +10,12 @@
             name="YAKINDU Java generator">
       </SCTGenerator>
    </extension>
+   <extension
+         point="org.yakindu.sct.generator.genmodel.featuretypes">
+      <FeatureLibrary
+            generatorId="yakindu::java"
+            uri="platform:/plugin/org.yakindu.sct.generator.java/library/FeatureTypeLibrary.xmi">
+      </FeatureLibrary>
+   </extension>
 
 </plugin>

+ 5 - 2
plugins/org.yakindu.sct.generator.java/src/org/yakindu/sct/generator/java/templates/Main.xpt

@@ -12,11 +12,14 @@ Contributors:
 «IMPORT sexec»
 «IMPORT stext»
 «IMPORT sgraph»
+«IMPORT sgen»
 
 «IMPORT org::yakindu::sct::generator::java::templates»
 
-«DEFINE main FOR ExecutionFlow»
-
+«DEFINE main(sgen::GeneratorEntry entry) FOR ExecutionFlow»
+	«FILE 'test.test'»
+	«entry.getFeatureConfiguration("NamingFeature")»
+	«ENDFILE»
 	«REM» basis files «ENDREM»
 	
 	«EXPAND IStatemachine::file FOR this»