فهرست منبع

Revert "#473 : custom generators (add SCT file extension registration, add core.features library, updated initial java code to fit latest API)"

This reverts commit aec31bf1dd52ece877381b74e59a4fc798c4a360.
Johannes Dicks 9 سال پیش
والد
کامیت
fbeb1b95a2

+ 20 - 10
plugins/org.yakindu.sct.generator.genmodel.ui/src/org/yakindu/sct/generator/genmodel/ui/wizard/GeneratorProjectTemplate.xtend

@@ -348,9 +348,6 @@ class GeneratorProjectTemplate {
 		            	library_id="«data.projectName».FeatureTypeLibrary">
 		            </FeatureLibrary>
 		            «ENDIF»
-		            <FeatureLibrary
-		            	library_id="org.yakindu.generator.core.features">
-		            </FeatureLibrary>
 		      </SCTGenerator>
 		   </extension>
 		«IF data.typeLibrary»
@@ -362,11 +359,7 @@ class GeneratorProjectTemplate {
 		      	uri="platform:/plugin/«data.projectName»/library/FeatureTypeLibrary.xmi">
 		      </FeatureLibrary>
 		   </extension>
-		«ENDIF»
-		 <extension point="org.yakindu.sct.generator.core.extensions">
-			 	<ExtensionGeneratorMapping fileExtension="sct" generatorId="«data.generatorId»">
-			 	</ExtensionGeneratorMapping>
-		 	</extension>
+		«ENDIF»   
 		</plugin>
 	'''
 	
@@ -390,6 +383,8 @@ class GeneratorProjectTemplate {
 	def javaGenerator(ProjectData data) '''
 		package «data.generatorClass.packageName»;
 
+		import java.io.File;
+		import java.io.FileOutputStream;
 		import org.yakindu.sct.generator.core.AbstractWorkspaceGenerator;
 		import org.yakindu.sct.model.sexec.ExecutionFlow;
 		import org.yakindu.sct.model.sexec.ExecutionState;
@@ -400,7 +395,7 @@ class GeneratorProjectTemplate {
 		public class «data.generatorClass.simpleName» extends AbstractWorkspaceGenerator implements IExecutionFlowGenerator{
 			private static final String LBR = "\n\r";
 
-			public void generate(ExecutionFlow flow, GeneratorEntry entry, IFileSystemAccess fsa) {
+			public void generate(ExecutionFlow flow, GeneratorEntry entry, IFileSystemAccess access) {
 				StringBuilder builder = new StringBuilder();
 				builder.append("The name of the state machine is ");
 				builder.append(flow.getName());
@@ -412,7 +407,22 @@ class GeneratorProjectTemplate {
 							state.getName().replaceFirst(flow.getName() + "\\.", ""))
 							.append(LBR);
 				}
-				fsa.generateFile(flow.getName() + ".txt", builder.toString());
+				File targetFolder = getTargetFolder(entry);
+				File targetFile = new File(targetFolder.getPath() + File.separator
+						+ flow.getName() + ".txt");
+				write(targetFolder, targetFile, builder.toString());
+				refreshTargetProject(entry);
+			}
+		
+			private void write(File targetFolder, File targetFile, String content) {
+				try {
+					targetFolder.mkdirs();
+					FileOutputStream out = new FileOutputStream(targetFile);
+					out.write(content.getBytes());
+					out.close();
+				} catch (Exception e) {
+					writeToConsole(e);
+				}
 			}
 		}
 	'''