|
@@ -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);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
'''
|