From c1cad5285da7849f6567c13182e7de6f4fa57b62 Mon Sep 17 00:00:00 2001 From: SebastianEbert <sebastian.ebert@tu-dresden.de> Date: Wed, 26 Jul 2023 18:13:53 +0200 Subject: [PATCH] refactored base jastadd model of gen --- src/main/jastadd/gen/Package.jadd | 21 ----- src/main/jastadd/gen/Package.relast | 6 +- src/main/jastadd/gen/PackageNav.jadd | 36 +++------ .../gen/builders/PackageStructureBuilder.java | 78 +++---------------- .../inf/st/pnml/gen/data/MapperContext.java | 18 ----- .../inf/st/pnml/gen/data/MapperInfo.java | 18 ----- .../inf/st/pnml/gen/data/ServerContext.java | 28 ------- .../inf/st/pnml/gen/data/ServerInfo.java | 40 ---------- .../st/pnml/gen/data/SubscriberContext.java | 28 ------- .../inf/st/pnml/gen/data/SubscriberInfo.java | 38 --------- .../pnml/gen/generators/JavaClassGenUtil.java | 41 +--------- .../mustache/JavaCallbackMapper.mustache | 27 ------- .../resources/mustache/JavaServer.mustache | 15 ---- .../mustache/JavaSubscriber.mustache | 18 ----- .../resources/mustache/JavaToken.mustache | 9 --- .../resources/static/AbstractDinerosServer | 25 ------ .../static/AbstractDinerosSubscriber | 24 ------ src/main/resources/static/AbstractNetCallback | 63 --------------- 18 files changed, 25 insertions(+), 508 deletions(-) delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperContext.java delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperInfo.java delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerContext.java delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerInfo.java delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberContext.java delete mode 100644 src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberInfo.java delete mode 100644 src/main/resources/mustache/JavaCallbackMapper.mustache delete mode 100644 src/main/resources/mustache/JavaServer.mustache delete mode 100644 src/main/resources/mustache/JavaSubscriber.mustache delete mode 100644 src/main/resources/mustache/JavaToken.mustache delete mode 100644 src/main/resources/static/AbstractDinerosServer delete mode 100644 src/main/resources/static/AbstractDinerosSubscriber delete mode 100644 src/main/resources/static/AbstractNetCallback diff --git a/src/main/jastadd/gen/Package.jadd b/src/main/jastadd/gen/Package.jadd index d67a552..f49af27 100644 --- a/src/main/jastadd/gen/Package.jadd +++ b/src/main/jastadd/gen/Package.jadd @@ -21,13 +21,6 @@ aspect PackageGen { return res; } - syn String SubscriberFile.generate(){ - - String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateSubscriberClass(dinerosPackage().getNamespace(), getName()); - this.setFileContent(res); - return res; - } - syn String NodeFile.generate(){ String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateNodeClass(dinerosPackage().getNamespace(), getName()); @@ -35,20 +28,6 @@ aspect PackageGen { return res; } - syn String ServerFile.generate(){ - - String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateServerClass(dinerosPackage().getNamespace(), getName()); - this.setFileContent(res); - return res; - } - - syn String MapperFile.generate(List<PetriNet> petriNets){ - - String res = de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateMapperClass(dinerosPackage().getNamespace(), petriNets); - this.setFileContent(res); - return res; - } - syn String DinerosPackage.generateTokenClass(){ return de.tudresden.inf.st.pnml.gen.generators.JavaClassGenUtil.generateTokenClass(getNamespace()); diff --git a/src/main/jastadd/gen/Package.relast b/src/main/jastadd/gen/Package.relast index 5375c99..15bc918 100644 --- a/src/main/jastadd/gen/Package.relast +++ b/src/main/jastadd/gen/Package.relast @@ -11,10 +11,8 @@ GradleFile:TemplateFile ; abstract JavaFile:TemplateFile ; NodeFile:JavaFile ; -SubscriberFile:JavaFile ::= <NetCount:Integer> <SubscriberCount:Integer>; -ServerFile:JavaFile ::= <NetCount:Integer> <ServerCount:Integer>; MainFile:JavaFile ; -MapperFile:JavaFile ; -TokenFile:JavaFile ; +FunctionsFile:JavaFile ; +BinderFile:JavaFile ; PackageDirectory:PackageElement ::= Dir:PackageDirectory* File:PackageFile* <Name:String> ; diff --git a/src/main/jastadd/gen/PackageNav.jadd b/src/main/jastadd/gen/PackageNav.jadd index 9400423..2fe0c3b 100644 --- a/src/main/jastadd/gen/PackageNav.jadd +++ b/src/main/jastadd/gen/PackageNav.jadd @@ -29,22 +29,20 @@ aspect PackageNav { syn NodeFile PackageFile.asNodeFile() = null; eq NodeFile.asNodeFile() = this; - syn PnmlFile PackageFile.asPnmlFile() = null; - eq PnmlFile.asPnmlFile() = this; - - syn boolean PackageFile.isSubscriberFile() = false; - eq SubscriberFile.isSubscriberFile() = true; + syn boolean PackageFile.isFunctionsFile() = false; + eq FunctionsFile.isFunctionsFile() = true; - syn SubscriberFile PackageFile.asSubscriberFile() = null; - eq SubscriberFile.asSubscriberFile() = this; + syn FunctionsFile PackageFile.asFunctionsFile() = null; + eq FunctionsFile.asFunctionsFile() = this; + syn boolean PackageFile.isBinderFile() = false; + eq BinderFile.isBinderFile() = true; - syn boolean PackageFile.isServerFile() = false; - eq ServerFile.isServerFile() = true; - - syn ServerFile PackageFile.asServerFile() = null; - eq ServerFile.asServerFile() = this; + syn BinderFile PackageFile.asBinderFile() = null; + eq BinderFile.asBinderFile() = this; + syn PnmlFile PackageFile.asPnmlFile() = null; + eq PnmlFile.asPnmlFile() = this; syn boolean PackageFile.isMainFile() = false; eq MainFile.isMainFile() = true; @@ -52,20 +50,6 @@ aspect PackageNav { syn MainFile PackageFile.asMainFile() = null; eq MainFile.asMainFile() = this; - - syn boolean PackageFile.isMapperFile() = false; - eq MapperFile.isMapperFile() = true; - - syn MapperFile PackageFile.asMapperFile() = null; - eq MapperFile.asMapperFile() = this; - - - syn boolean PackageFile.isTokenFile() = false; - eq TokenFile.isTokenFile() = true; - - syn TokenFile PackageFile.asTokenFile() = null; - eq TokenFile.asTokenFile() = this; - syn boolean PackageFile.isGradleFile() = false; eq GradleFile.isGradleFile() = true; diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java b/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java index b9c685b..3fa7434 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java +++ b/src/main/java/de/tudresden/inf/st/pnml/gen/builders/PackageStructureBuilder.java @@ -125,12 +125,12 @@ public class PackageStructureBuilder { } if (pd.getName().equals("handling")) { - MapperFile handlerBinding = new MapperFile(); + BinderFile handlerBinding = new BinderFile(); handlerBinding.setName("HandlerBinding"); handlerBinding.setFileID(UUID.randomUUID().toString()); pd.addFile(handlerBinding); - MapperFile handlerFunctions = new MapperFile(); + FunctionsFile handlerFunctions = new FunctionsFile(); handlerFunctions.setName("HandlerFunctions"); handlerFunctions.setFileID(UUID.randomUUID().toString()); pd.addFile(handlerFunctions); @@ -263,8 +263,12 @@ public class PackageStructureBuilder { Set<String> visitedPackageFileIDs = new HashSet<>(); for (PackageFile pf : dinerosPackage.allPackageFiles()) { - if (pf.isMapperFile()) { - pf.asMapperFile().generate(nets); + if (pf.isBinderFile()) { + // TODO: pf.asBinderFile().generate(nets); + } + + if(pf.isFunctionsFile()){ + // TODO } if(pf.isMainFile()){ @@ -285,35 +289,6 @@ public class PackageStructureBuilder { for (PackageFile pf : dinerosPackage.allPackageFiles()) { if (!visitedPackageFileIDs.contains(pf.getFileID())) { - if (pf.isSubscriberFile()) { - for (Transition t : nets.get(i).allTransitions()) { - - /* String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType(); - - if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN) - || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) { - pf.setName("Node" + pf.asSubscriberFile().getNetCount() + "Subscriber" + pf.asSubscriberFile().getSubscriberCount()); - pf.asSubscriberFile().generate(); - //subscriberCountMap.put(nets.get(i).getId(), subscriberCountMap.get(nets.get(i).getId()) + 1); - visitedPackageFileIDs.add(pf.getFileID()); - }*/ - } - } - - if (pf.isServerFile()) { - - for (Transition t : nets.get(i).allTransitions()) { - - /* String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType(); - - if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) { - pf.setName("Node" + pf.asServerFile().getNetCount() + "Subscriber" + pf.asServerFile().getServerCount()); - pf.asServerFile().generate(); - // serviceCountMap.put(nets.get(i).getId(), serviceCountMap.get(nets.get(i).getId()) + 1); - visitedPackageFileIDs.add(pf.getFileID()); - }*/ - } - } if (pf.getName().equals("build.gradle")) { String mainClassName = "de.tudresden.inf.st." + dinerosPackage.getNamespace() + ".Main.java"; @@ -330,41 +305,6 @@ public class PackageStructureBuilder { } } - private static Map<String, Integer> initServiceCountMap(List<PetriNet> nets) { - - Map<String, Integer> countMap = new HashMap<>(); - - for (PetriNet net : nets) { - for (Transition t : net.allTransitions()) { - - /* String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType(); - - if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) { - countMap.put(net.getId(), 1); - }*/ - } - } - return countMap; - } - - private static Map<String, Integer> initSubscriberCountMap(List<PetriNet> nets) { - - Map<String, Integer> countMap = new HashMap<>(); - - for (PetriNet net : nets) { - for (Transition t : net.allTransitions()) { - - /* String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType(); - - if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN) - || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) { - countMap.put(net.getId(), 1); - }*/ - } - } - return countMap; - } - private static void includeDirectoriesRecursive(PackageDirectory packageDirectory, String packagePath) throws IOException { for (PackageDirectory d : packageDirectory.getDirList()) { @@ -384,7 +324,7 @@ public class PackageStructureBuilder { if (packageDirectory.getNumFile() > 0) { for (PackageFile pf : packageDirectory.getFileList()) { - if (pf.isStaticFile() && !pf.isTokenFile()) { + if (pf.isStaticFile()) { Path copied; diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperContext.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperContext.java deleted file mode 100644 index b158191..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperContext.java +++ /dev/null @@ -1,18 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class MapperContext { - - private String packageNamespace; - - public MapperContext(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/data/MapperInfo.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperInfo.java deleted file mode 100644 index bb397fd..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/MapperInfo.java +++ /dev/null @@ -1,18 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class MapperInfo { - - private String nodeName; - - public MapperInfo(String nodeName) { - this.nodeName = nodeName; - } - - public String getNodeName() { - return nodeName; - } - - public void setNodeName(String nodeName) { - this.nodeName = nodeName; - } -} diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerContext.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerContext.java deleted file mode 100644 index c13e56e..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerContext.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class ServerContext { - - private String packageNamespace; - private String serverClassName; - - public String getPackageNamespace() { - return packageNamespace; - } - - public void setPackageNamespace(String packageNamespace) { - this.packageNamespace = packageNamespace; - } - - public String getServerClassName() { - return serverClassName; - } - - public void setServerClassName(String serverClassName) { - this.serverClassName = serverClassName; - } - - public ServerContext(String packageNamespace, String serverClassName) { - this.packageNamespace = packageNamespace; - this.serverClassName = serverClassName; - } -} diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerInfo.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerInfo.java deleted file mode 100644 index eb5f20f..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/ServerInfo.java +++ /dev/null @@ -1,40 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class ServerInfo { - - private String serverNodeName; - private String serverSubnet; - private String serverClassName; - - public ServerInfo(String serverNodeName, String serverSubnet, String serverClassName) { - this.serverNodeName = serverNodeName; - this.serverSubnet = serverSubnet; - this.serverClassName = serverClassName; - } - - public String getServerNodeName() { - return serverNodeName; - } - - public void setServerNodeName(String serverNodeName) { - this.serverNodeName = serverNodeName; - } - - public String getServerSubnet() { - return serverSubnet; - } - - public void setServerSubnet(String serverSubnet) { - this.serverSubnet = serverSubnet; - } - - public String getServerClassName() { - return serverClassName; - } - - public void setServerClassName(String serverClassName) { - this.serverClassName = serverClassName; - } - - -} diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberContext.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberContext.java deleted file mode 100644 index e48c5ca..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberContext.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class SubscriberContext { - - private String packageNamespace; - private String subscriberClassName; - - public SubscriberContext(String packageNamespace, String subscriberClassName) { - this.packageNamespace = packageNamespace; - this.subscriberClassName = subscriberClassName; - } - - public String getPackageNamespace() { - return packageNamespace; - } - - public void setPackageNamespace(String packageNamespace) { - this.packageNamespace = packageNamespace; - } - - public String getSubscriberClassName() { - return subscriberClassName; - } - - public void setSubscriberClassName(String subscriberClassName) { - this.subscriberClassName = subscriberClassName; - } -} diff --git a/src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberInfo.java b/src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberInfo.java deleted file mode 100644 index 6a4aafe..0000000 --- a/src/main/java/de/tudresden/inf/st/pnml/gen/data/SubscriberInfo.java +++ /dev/null @@ -1,38 +0,0 @@ -package de.tudresden.inf.st.pnml.gen.data; - -public class SubscriberInfo { - - private String subscriberNodeName; - private String subscriberSubnet; - private String subscriberClassName; - - public SubscriberInfo(String subscriberNodeName, String subscriberSubnet, String subscriberClassName) { - this.subscriberNodeName = subscriberNodeName; - this.subscriberSubnet = subscriberSubnet; - this.subscriberClassName = subscriberClassName; - } - - public String getSubscriberNodeName() { - return subscriberNodeName; - } - - public void setSubscriberNodeName(String subscriberNodeName) { - this.subscriberNodeName = subscriberNodeName; - } - - public String getSubscriberSubnet() { - return subscriberSubnet; - } - - public void setSubscriberSubnet(String subscriberSubnet) { - this.subscriberSubnet = subscriberSubnet; - } - - public String getSubscriberClassName() { - return subscriberClassName; - } - - public void setSubscriberClassName(String subscriberClassName) { - this.subscriberClassName = subscriberClassName; - } -} 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 e1996c0..a895433 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 @@ -21,8 +21,8 @@ public class JavaClassGenUtil extends AbstractGenUtil{ context.put("mainExecutionContext", mainExecutionContext); List<NodeInfo> nodeInfos = new ArrayList<>(); - List<ServerInfo> serverInfos = new ArrayList<>(); - List<SubscriberInfo> subscriberInfos = new ArrayList<>(); + // List<ServerInfo> serverInfos = new ArrayList<>(); + // List<SubscriberInfo> subscriberInfos = new ArrayList<>(); for(int i = 0; i < petriNetList.size(); i++){ @@ -52,20 +52,12 @@ public class JavaClassGenUtil extends AbstractGenUtil{ } context.put("nodeInfos", nodeInfos); - context.put("serverInfos", serverInfos); - context.put("subscriberInfos", subscriberInfos); + // context.put("serverInfos", serverInfos); + // context.put("subscriberInfos", subscriberInfos); return generate(context, "JavaMain.mustache"); } - public static String generateSubscriberClass(String packageNamespace, String className){ - - Map<String, Object> context = new HashMap<>(); - SubscriberContext subscriberContext = new SubscriberContext(packageNamespace, className); - context.put("subscriberContext", subscriberContext); - return generate(context, "JavaSubscriber.mustache"); - } - public static String generateNodeClass(String packageNamespace, String className){ Map<String, Object> context = new HashMap<>(); @@ -74,31 +66,6 @@ public class JavaClassGenUtil extends AbstractGenUtil{ return generate(context, "JavaNode.mustache"); } - public static String generateServerClass(String packageNamespace, String className){ - - Map<String, Object> context = new HashMap<>(); - ServerContext serverContext = new ServerContext(packageNamespace, className); - context.put("serverContext", serverContext); - return generate(context, "JavaServer.mustache"); - } - - public static String generateMapperClass(String packageNamespace, List<PetriNet> petriNets){ - - Map<String, Object> context = new HashMap<>(); - MapperContext mapperContext = new MapperContext(packageNamespace); - context.put("mapperContext", mapperContext); - - List<MapperInfo> mapperInfos = new ArrayList<>(); - - for(int i = 0; i < petriNets.size(); i++){ - MapperInfo mapperInfo = new MapperInfo("Node" + i); - mapperInfos.add(mapperInfo); - } - - context.put("mapperInfos", mapperInfos); - return generate(context, "JavaCallbackMapper.mustache"); - } - public static String generateTokenClass(String packageNamespace){ Map<String, Object> context = new HashMap<>(); diff --git a/src/main/resources/mustache/JavaCallbackMapper.mustache b/src/main/resources/mustache/JavaCallbackMapper.mustache deleted file mode 100644 index 6d399f9..0000000 --- a/src/main/resources/mustache/JavaCallbackMapper.mustache +++ /dev/null @@ -1,27 +0,0 @@ -{{#mapperContext}} - package de.tudresden.inf.st.{{{packageNamespace}}}.callback; - - import de.tudresden.inf.st.pnml.engine.execution.DefaultTransitionCallback; - import de.tudresden.inf.st.pnml.engine.execution.TransitionCallback; - import de.tudresden.inf.st.pnml.jastadd.model.PetriNet; - import de.tudresden.inf.st.pnml.jastadd.model.Transition; - - import java.util.ArrayList; - import java.util.HashMap; - import java.util.List; - import java.util.Map; - - public class CallbackMapper { - {{#mapperInfos}} - - public static final Map<String, List<AbstractNetCallback>> initCallbacksFor{{{nodeName}}}(PetriNet petriNet){ - - Map<String, List<AbstractNetCallback>> callbackMap = new HashMap<>(); - - // TODO: implementation by user - - return callbackMap; - } - {{/mapperInfos}} - } -{{/mapperContext}} \ No newline at end of file diff --git a/src/main/resources/mustache/JavaServer.mustache b/src/main/resources/mustache/JavaServer.mustache deleted file mode 100644 index f75d6ce..0000000 --- a/src/main/resources/mustache/JavaServer.mustache +++ /dev/null @@ -1,15 +0,0 @@ -{{#serverContext}} -package de.tudresden.inf.st.{{{packageNamespace}}}.communication; - -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; - -public class {{{serverClassName}}} extends AbstractDinerosServer{ - - @Override - public boolean serve(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet) { - return false; - } -} -{{/serverContext}} \ No newline at end of file diff --git a/src/main/resources/mustache/JavaSubscriber.mustache b/src/main/resources/mustache/JavaSubscriber.mustache deleted file mode 100644 index 5d7ab2e..0000000 --- a/src/main/resources/mustache/JavaSubscriber.mustache +++ /dev/null @@ -1,18 +0,0 @@ -{{#subscriberContext}} -package de.tudresden.inf.st.{{{packageNamespace}}}.communication; - -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; - -public class {{{subscriberClassName}}} extends AbstractDinerosSubscriber { - - @Override - public boolean subscribe(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet) { - - // TODO: Implementation by user - - return true; - } -} -{{/subscriberContext}} diff --git a/src/main/resources/mustache/JavaToken.mustache b/src/main/resources/mustache/JavaToken.mustache deleted file mode 100644 index e3837ae..0000000 --- a/src/main/resources/mustache/JavaToken.mustache +++ /dev/null @@ -1,9 +0,0 @@ -{{#tokenContext}} -package de.tudresden.inf.st.{{{packageNamespace}}}.balloon; - -public class Token { - - // TODO: implement Java Pojo for the token format - -} -{{/tokenContext}} \ No newline at end of file diff --git a/src/main/resources/static/AbstractDinerosServer b/src/main/resources/static/AbstractDinerosServer deleted file mode 100644 index f629807..0000000 --- a/src/main/resources/static/AbstractDinerosServer +++ /dev/null @@ -1,25 +0,0 @@ -package de.tudresden.inf.st.sample.communication; - -import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNodeUtil; -import de.tudresden.inf.st.pnml.engine.ros.DiNeRosServer; -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; - -public abstract class AbstractDinerosServer implements DiNeRosServer { - - @Override - public final boolean execute(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String s) { - - boolean success = false; - - // this mechanism enforces the user to leave a server instance with a clean state (see server def) - while (DiNeRosNodeUtil.hasEnabledTransition(petriNet, s, balloonMarking)) { - success = serve(balloonMarking, balloonCallbackStorage, petriNet, s); - } - - return success; - } - - public abstract boolean serve(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet); -} diff --git a/src/main/resources/static/AbstractDinerosSubscriber b/src/main/resources/static/AbstractDinerosSubscriber deleted file mode 100644 index fef2e51..0000000 --- a/src/main/resources/static/AbstractDinerosSubscriber +++ /dev/null @@ -1,24 +0,0 @@ -package de.tudresden.inf.st.sample.communication; - -import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNodeUtil; -import de.tudresden.inf.st.pnml.engine.ros.DiNeRosSubscriber; -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; - -public abstract class AbstractDinerosSubscriber implements DiNeRosSubscriber { - - public final boolean execute(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet) { - - boolean success = false; - - // this mechanism enforces the user to leave a server instance with a clean state (see server def) - while (DiNeRosNodeUtil.hasEnabledTransition(petriNet, subnet, balloonMarking)) { - success = subscribe(balloonMarking, balloonCallbackStorage, petriNet, subnet); - } - - return success; - } - - public abstract boolean subscribe(BalloonMarking balloonMarking, BalloonCallbackStorage balloonCallbackStorage, PetriNet petriNet, String subnet); -} diff --git a/src/main/resources/static/AbstractNetCallback b/src/main/resources/static/AbstractNetCallback deleted file mode 100644 index 9680402..0000000 --- a/src/main/resources/static/AbstractNetCallback +++ /dev/null @@ -1,63 +0,0 @@ -package de.tudresden.inf.st.sample.callback; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import de.tudresden.inf.st.pnml.engine.execution.TransitionCallback; -import de.tudresden.inf.st.pnml.jastadd.model.BalloonToken; -import de.tudresden.inf.st.sample.balloon.Token; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -// only the token class is generated, this is a static class -// this class gets extended by the user for concrete callbacks -// this class hides (de-)serialisation of the tokens -public abstract class AbstractNetCallback extends TransitionCallback { - - public AbstractNetCallback(String id, int priority, List<String> params) { - super(id, priority, params); - } - - public AbstractNetCallback(String id, int priority) { - super(id, priority); - } - - private Token parseToken(String s) throws IOException { - ObjectMapper mapper = new ObjectMapper(); - return mapper.readValue(s, Token.class); - } - - public abstract void processTokenCallback(List<Token> tokens); - - @Override - public final List<BalloonToken> processToken(List<BalloonToken> tokens) { - - List<Token> resultTokens = new ArrayList<>(); - List<BalloonToken> resultBalloonTokens = new ArrayList<>(); - ObjectMapper mapper = new ObjectMapper(); - - for(BalloonToken bt : tokens){ - try { - Token t = parseToken(bt.getValue()); - resultTokens.add(t); - } catch (IOException e) { - e.printStackTrace(); - } - } - - processTokenCallback(resultTokens); - - for(Token t : resultTokens){ - BalloonToken newBt = new BalloonToken(); - try { - newBt.setValue(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(t)); - resultBalloonTokens.add(newBt); - } catch (JsonProcessingException e) { - e.printStackTrace(); - } - } - - return resultBalloonTokens; - } -} -- GitLab