From 62a95b0f6d4c6a5cdb38e14917aca4b7f661c39b Mon Sep 17 00:00:00 2001 From: SebastianEbert <sebastian.ebert@tu-dresden.de> Date: Wed, 21 Feb 2024 17:20:24 +0100 Subject: [PATCH] several fixes on structure --- src/main/jastadd/gen/Package.jadd | 13 ++++++++++-- .../inf/st/pnml/gen/data/TokenContext.java | 18 ---------------- .../pnml/gen/generators/JavaClassGenUtil.java | 12 ++++++----- .../mustache/JavaHandlerFunctions.mustache | 13 ++++++++++++ .../mustache/JavaHandlingBinder.mustache | 15 +++++++++++++ src/main/resources/mustache/JavaNode.mustache | 21 +++++++++++-------- 6 files changed, 58 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java create mode 100644 src/main/resources/mustache/JavaHandlerFunctions.mustache create mode 100644 src/main/resources/mustache/JavaHandlingBinder.mustache diff --git a/src/main/jastadd/gen/Package.jadd b/src/main/jastadd/gen/Package.jadd index f49af27..9b1731a 100644 --- a/src/main/jastadd/gen/Package.jadd +++ b/src/main/jastadd/gen/Package.jadd @@ -28,8 +28,17 @@ aspect PackageGen { return res; } - syn String DinerosPackage.generateTokenClass(){ + syn String BinderFile.generate(){ - return de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateTokenClass(getNamespace()); + String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateBinderClass(dinerosPackage().getNamespace()); + this.setFileContent(res); + return res; + } + + syn String FunctionsFile.generate(){ + + String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateFunctionsClass(dinerosPackage().getNamespace()); + this.setFileContent(res); + return res; } } \ No newline at end of file diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java deleted file mode 100644 index 4496f52..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/TokenContext.java +++ /dev/null @@ -1,18 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class TokenContext { - - private String packageNamespace; - - public TokenContext(String packageNamespace) { - this.packageNamespace = packageNamespace; - } - - public String getPackageNamespace() { - return packageNamespace; - } - - public void setPackageNamespace(String packageNamespace) { - this.packageNamespace = packageNamespace; - } -} diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java b/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java index a895433..87039c9 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java +++ b/src/main/java/de/tudresden/inf/st/pnml/gen/generators/JavaClassGenUtil.java @@ -66,11 +66,13 @@ public class JavaClassGenUtil extends AbstractGenUtil{ return generate(context, "JavaNode.mustache"); } - public static String generateTokenClass(String packageNamespace){ + public static String generateBinderClass(String packageNamespace){ + // TODO + return null; + } - Map<String, Object> context = new HashMap<>(); - TokenContext tokenContext = new TokenContext(packageNamespace); - context.put("tokenContext", tokenContext); - return generate(context, "JavaToken.mustache"); + public static String generateFunctionsClass(String packageNamespace){ + // TODO + return null; } } diff --git a/src/main/resources/mustache/JavaHandlerFunctions.mustache b/src/main/resources/mustache/JavaHandlerFunctions.mustache new file mode 100644 index 0000000..e7cf851 --- /dev/null +++ b/src/main/resources/mustache/JavaHandlerFunctions.mustache @@ -0,0 +1,13 @@ +{{#functionsContext}} + package de.tudresden.inf.st.{{{packageNamespace}}}.handling; + + import java.util.ArrayList; + import java.util.List; + import java.util.Map; + import java.util.function.Function; + + + public final class HandlerFunctions { + + } +{{/functionsContext}} \ No newline at end of file diff --git a/src/main/resources/mustache/JavaHandlingBinder.mustache b/src/main/resources/mustache/JavaHandlingBinder.mustache new file mode 100644 index 0000000..af5b40a --- /dev/null +++ b/src/main/resources/mustache/JavaHandlingBinder.mustache @@ -0,0 +1,15 @@ +{{#handlingContext}} + package de.tudresden.inf.st.{{{packageNamespace}}}.handling; + + import de.tudresden.inf.st.pnml.jastadd.model.PetriNet; + + public final class HandlingBinder { + + {{#nodeInfos}} + public static void bindHandlersTo{{{nodeName}}}(PetriNet petriNet){ + + } + {{/nodeInfos}} + + } +{{/handlingContext}} \ No newline at end of file diff --git a/src/main/resources/mustache/JavaNode.mustache b/src/main/resources/mustache/JavaNode.mustache index a34c6b8..7c06ec7 100644 --- a/src/main/resources/mustache/JavaNode.mustache +++ b/src/main/resources/mustache/JavaNode.mustache @@ -2,25 +2,28 @@ package de.tudresden.inf.st.{{{packageNamespace}}}.nodes; import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode; -import de.tudresden.inf.st.pnml.jastadd.model.BalloonCallbackStorage; -import de.tudresden.inf.st.pnml.jastadd.model.BalloonMarking; -import de.tudresden.inf.st.pnml.jastadd.model.PetriNet; +import de.tudresden.inf.st.pnml.jastadd.model.*; + +import java.util.List; public class {{{nodeClassName}}} extends DiNeRosNode { - public {{{nodeClassName}}}(String nodeName, PetriNet petriNet) { - super(nodeName, petriNet); + public {{{nodeClassName}}}(String nodeName, PetriNet petriNet, String rcHost, String gcProtocol) { + super(nodeName, petriNet, rcHost, gcProtocol); } - public {{{nodeClassName}}}(String nodeName, PetriNet petriNet, BalloonMarking marking, BalloonCallbackStorage callbackStorage) { - super(nodeName, petriNet, marking, callbackStorage); + @Override + protected TransitionSelectionResult onChange(List<Transition> list) { + + // TODO: Implementation by user + return new FiringSelectionNone(); } @Override - protected void nodeLoop() { + protected TransitionSelectionResult onStartupEnded(List<Transition> list) { // TODO: Implementation by user - + return new FiringSelectionNone(); } } {{/nodeContext}} \ No newline at end of file -- GitLab