Skip to content
Snippets Groups Projects
Commit b05e3c90 authored by Sebastian Ebert's avatar Sebastian Ebert
Browse files

fixed bugs within the generation of: main, subscribers, Nodes, CallbackMapper

parent 30047152
Branches
No related tags found
No related merge requests found
...@@ -38,8 +38,8 @@ public class Main { ...@@ -38,8 +38,8 @@ public class Main {
// ObjectMapper gcObjectMapper = new ObjectMapper(); // ObjectMapper gcObjectMapper = new ObjectMapper();
// GeneratorConfig config = gcObjectMapper.readValue(Files.readString(Paths.get(args[1])), new TypeReference<List<NetInfo>>(){}); // GeneratorConfig config = gcObjectMapper.readValue(Files.readString(Paths.get(args[1])), new TypeReference<List<NetInfo>>(){});
GeneratorConfig gc = new GeneratorConfig("sample", "sample-pkg","/home/sebastian/git/dineros/pnml-relast-tools/pnml-relast-pkg-gen/src/test/java/Token.java", GeneratorConfig gc = new GeneratorConfig("sample", "sample-pkg","/home/sebastian/jastadd-workspaces/dineros-linked-ws/pnml-relast-tools/pnml-relast-pkg-gen/src/test/java/Token.java",
"sample","0.1","/home/sebastian/git/dineros/pnml-relast-tools/pnml-relast-pkg-gen/src/test/resources/EngineConfig.json","localhost", "sample","0.1","/home/sebastian/jastadd-workspaces/dineros-linked-ws/pnml-relast-tools/pnml-relast-pkg-gen/src/test/resources/EngineConfig.json","localhost",
"http://localhost:11311","localhost","/home/sebastian/Desktop"); "http://localhost:11311","localhost","/home/sebastian/Desktop");
DinerosPackage dp = new DinerosPackage(); DinerosPackage dp = new DinerosPackage();
......
...@@ -16,11 +16,9 @@ public class PackageStructureBuilder { ...@@ -16,11 +16,9 @@ public class PackageStructureBuilder {
private static final String FILE_PATH = "../pnml-relast-pkg-gen/src/main/resources/static/"; private static final String FILE_PATH = "../pnml-relast-pkg-gen/src/main/resources/static/";
public static boolean build(String targetPath, DinerosPackage dinerosPackage, List<NetInfo> petriNetFilePaths, String engineVersion public static boolean build(String packagePath, DinerosPackage dinerosPackage, List<NetInfo> petriNetFilePaths, String engineVersion
, String rosHost, String rosMasterUri, String mqttHost) { , String rosHost, String rosMasterUri, String mqttHost) {
String packagePath = targetPath; // + "/" + dinerosPackage.getRootName();
List<PetriNet> nets = new ArrayList<>(); List<PetriNet> nets = new ArrayList<>();
for (NetInfo n : petriNetFilePaths) { for (NetInfo n : petriNetFilePaths) {
...@@ -66,11 +64,15 @@ public class PackageStructureBuilder { ...@@ -66,11 +64,15 @@ public class PackageStructureBuilder {
for (PackageFile pf : packageDirectory.getFileList()){ for (PackageFile pf : packageDirectory.getFileList()){
if(pf.isTemplateFile()) { if(pf.isTemplateFile()) {
System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName());
if(pf.isJavaFile()){ if(pf.isJavaFile()){
System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName() + ".java");
System.out.println("Content: \n" + pf.asTemplateFile().getFileContent());
writeToFile(packagePath + "/" + packageDirectory.getName() + "/" + pf.getName() + ".java", pf.asTemplateFile().getFileContent()); writeToFile(packagePath + "/" + packageDirectory.getName() + "/" + pf.getName() + ".java", pf.asTemplateFile().getFileContent());
}else { }else {
System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName());
writeToFile(packagePath + "/" + packageDirectory.getName() + "/" + pf.getName(), pf.asTemplateFile().getFileContent()); writeToFile(packagePath + "/" + packageDirectory.getName() + "/" + pf.getName(), pf.asTemplateFile().getFileContent());
} }
} }
...@@ -383,20 +385,18 @@ public class PackageStructureBuilder { ...@@ -383,20 +385,18 @@ public class PackageStructureBuilder {
} }
for (PackageFile pf : dinerosPackage.allPackageFiles()) { for (PackageFile pf : dinerosPackage.allPackageFiles()) {
if (!visitedPackageFileIDs.contains(pf.getFileID())) { if (!visitedPackageFileIDs.contains(pf.getFileID())) {
visitedPackageFileIDs.add(pf.getFileID());
if (pf.isSubscriberFile()) { if (pf.isSubscriberFile()) {
for (Transition t : nets.get(i).allTransitions()) { for (Transition t : nets.get(i).allTransitions()) {
String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType(); String transitionType = t.asInputSignalTransition().getStaticTransitionInformation().getType();
if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN) if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_LIMITED_IN)
|| transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) { || transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) {
pf.setName("Node" + i + "Subscriber" + subscriberCountMap.get(nets.get(i).getId())); pf.setName("Node" + i + "Subscriber" + (subscriberCountMap.get(nets.get(i).getId()) -1 ));
pf.asSubscriberFile().generate(); pf.asSubscriberFile().generate();
subscriberCountMap.put(nets.get(i).getId(), subscriberCountMap.get(nets.get(i).getId()) + 1); subscriberCountMap.put(nets.get(i).getId(), subscriberCountMap.get(nets.get(i).getId()) + 1);
visitedPackageFileIDs.add(pf.getFileID());
} }
} }
} }
...@@ -409,8 +409,9 @@ public class PackageStructureBuilder { ...@@ -409,8 +409,9 @@ public class PackageStructureBuilder {
if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) { if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
pf.setName("Node" + i + "Server" + serviceCountMap.get(nets.get(i).getId())); pf.setName("Node" + i + "Server" + serviceCountMap.get(nets.get(i).getId()));
pf.asSubscriberFile().generate(); pf.asServerFile().generate();
serviceCountMap.put(nets.get(i).getId(), serviceCountMap.get(nets.get(i).getId()) + 1); serviceCountMap.put(nets.get(i).getId(), serviceCountMap.get(nets.get(i).getId()) + 1);
visitedPackageFileIDs.add(pf.getFileID());
} }
} }
} }
...@@ -418,10 +419,12 @@ public class PackageStructureBuilder { ...@@ -418,10 +419,12 @@ public class PackageStructureBuilder {
if (pf.getName().equals("build.gradle")) { if (pf.getName().equals("build.gradle")) {
String mainClassName = "de.tudresden.inf.st." + dinerosPackage.getNamespace() + ".Main.java"; String mainClassName = "de.tudresden.inf.st." + dinerosPackage.getNamespace() + ".Main.java";
pf.asGradleFile().generateBuildGradle(mainClassName, dinerosPackage.getName(), dinerosPackage.getVersion(), engineVersion); pf.asGradleFile().generateBuildGradle(mainClassName, dinerosPackage.getName(), dinerosPackage.getVersion(), engineVersion);
visitedPackageFileIDs.add(pf.getFileID());
} }
if (pf.getName().equals("settings.gradle")) { if (pf.getName().equals("settings.gradle")) {
pf.asGradleFile().generateSettingsGradle(dinerosPackage.getRootName()); pf.asGradleFile().generateSettingsGradle(dinerosPackage.getRootName());
visitedPackageFileIDs.add(pf.getFileID());
} }
} }
} }
......
...@@ -26,7 +26,8 @@ public class JavaClassGenUtil extends AbstractGenUtil{ ...@@ -26,7 +26,8 @@ public class JavaClassGenUtil extends AbstractGenUtil{
for(int i = 0; i < petriNetList.size(); i++){ for(int i = 0; i < petriNetList.size(); i++){
NodeInfo nodeInfo = new NodeInfo(petriNetFiles.get(i), "node" + i, String[] splitNetPath = petriNetFiles.get(i).split("/");
NodeInfo nodeInfo = new NodeInfo(splitNetPath[splitNetPath.length - 1], "node" + i,
String.valueOf(i), "Node" + i); String.valueOf(i), "Node" + i);
nodeInfos.add(nodeInfo); nodeInfos.add(nodeInfo);
...@@ -85,11 +86,11 @@ public class JavaClassGenUtil extends AbstractGenUtil{ ...@@ -85,11 +86,11 @@ public class JavaClassGenUtil extends AbstractGenUtil{
Map<String, Object> context = new HashMap<>(); Map<String, Object> context = new HashMap<>();
MapperContext mapperContext = new MapperContext(packageNamespace); MapperContext mapperContext = new MapperContext(packageNamespace);
context.put("serverContext", mapperContext); context.put("mapperContext", mapperContext);
List<MapperInfo> mapperInfos = new ArrayList<>(); List<MapperInfo> mapperInfos = new ArrayList<>();
for(int i = 1; i < petriNets.size(); i++){ for(int i = 0; i < petriNets.size(); i++){
MapperInfo mapperInfo = new MapperInfo("Node" + i); MapperInfo mapperInfo = new MapperInfo("Node" + i);
mapperInfos.add(mapperInfo); mapperInfos.add(mapperInfo);
} }
......
{{#mainContext}} {{#mainExecutionContext}}
package de.tudresden.inf.st.{{{packageNamespace}}}; package de.tudresden.inf.st.{{{packageNamespace}}};
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
...@@ -48,7 +48,7 @@ public class Main { ...@@ -48,7 +48,7 @@ public class Main {
// actual petri net paths are generated // actual petri net paths are generated
List<String> petriNetPaths = new ArrayList<>(); List<String> petriNetPaths = new ArrayList<>();
{{#nodeInfos}} {{#nodeInfos}}
petriNetPaths.add("src/main/resources/nets/{{{netName}}}.pnml"); petriNetPaths.add("src/main/resources/nets/{{{netName}}}");
{{/nodeInfos}} {{/nodeInfos}}
List<PetriNet> petriNets = new ArrayList<>(); List<PetriNet> petriNets = new ArrayList<>();
...@@ -108,4 +108,4 @@ public class Main { ...@@ -108,4 +108,4 @@ public class Main {
start(); start();
} }; } };
{{/nodeInfos}} {{/nodeInfos}}
{{/mainContext}} {{/mainExecutionContext}}
\ No newline at end of file \ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment