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
No related branches found
No related tags found
No related merge requests found
......@@ -38,8 +38,8 @@ public class Main {
// ObjectMapper gcObjectMapper = new ObjectMapper();
// 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",
"sample","0.1","/home/sebastian/git/dineros/pnml-relast-tools/pnml-relast-pkg-gen/src/test/resources/EngineConfig.json","localhost",
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/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");
DinerosPackage dp = new DinerosPackage();
......
......@@ -16,11 +16,9 @@ public class PackageStructureBuilder {
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 packagePath = targetPath; // + "/" + dinerosPackage.getRootName();
List<PetriNet> nets = new ArrayList<>();
for (NetInfo n : petriNetFilePaths) {
......@@ -66,11 +64,15 @@ public class PackageStructureBuilder {
for (PackageFile pf : packageDirectory.getFileList()){
if(pf.isTemplateFile()) {
System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName());
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());
}else {
System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName());
writeToFile(packagePath + "/" + packageDirectory.getName() + "/" + pf.getName(), pf.asTemplateFile().getFileContent());
}
}
......@@ -383,20 +385,18 @@ public class PackageStructureBuilder {
}
for (PackageFile pf : dinerosPackage.allPackageFiles()) {
if (!visitedPackageFileIDs.contains(pf.getFileID())) {
visitedPackageFileIDs.add(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" + i + "Subscriber" + subscriberCountMap.get(nets.get(i).getId()));
pf.setName("Node" + i + "Subscriber" + (subscriberCountMap.get(nets.get(i).getId()) -1 ));
pf.asSubscriberFile().generate();
subscriberCountMap.put(nets.get(i).getId(), subscriberCountMap.get(nets.get(i).getId()) + 1);
visitedPackageFileIDs.add(pf.getFileID());
}
}
}
......@@ -409,8 +409,9 @@ public class PackageStructureBuilder {
if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
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);
visitedPackageFileIDs.add(pf.getFileID());
}
}
}
......@@ -418,10 +419,12 @@ public class PackageStructureBuilder {
if (pf.getName().equals("build.gradle")) {
String mainClassName = "de.tudresden.inf.st." + dinerosPackage.getNamespace() + ".Main.java";
pf.asGradleFile().generateBuildGradle(mainClassName, dinerosPackage.getName(), dinerosPackage.getVersion(), engineVersion);
visitedPackageFileIDs.add(pf.getFileID());
}
if (pf.getName().equals("settings.gradle")) {
pf.asGradleFile().generateSettingsGradle(dinerosPackage.getRootName());
visitedPackageFileIDs.add(pf.getFileID());
}
}
}
......
......@@ -26,7 +26,8 @@ public class JavaClassGenUtil extends AbstractGenUtil{
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);
nodeInfos.add(nodeInfo);
......@@ -85,11 +86,11 @@ public class JavaClassGenUtil extends AbstractGenUtil{
Map<String, Object> context = new HashMap<>();
MapperContext mapperContext = new MapperContext(packageNamespace);
context.put("serverContext", mapperContext);
context.put("mapperContext", mapperContext);
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);
mapperInfos.add(mapperInfo);
}
......
{{#mainContext}}
{{#mainExecutionContext}}
package de.tudresden.inf.st.{{{packageNamespace}}};
import com.fasterxml.jackson.databind.ObjectMapper;
......@@ -48,7 +48,7 @@ public class Main {
// actual petri net paths are generated
List<String> petriNetPaths = new ArrayList<>();
{{#nodeInfos}}
petriNetPaths.add("src/main/resources/nets/{{{netName}}}.pnml");
petriNetPaths.add("src/main/resources/nets/{{{netName}}}");
{{/nodeInfos}}
List<PetriNet> petriNets = new ArrayList<>();
......@@ -108,4 +108,4 @@ public class Main {
start();
} };
{{/nodeInfos}}
{{/mainContext}}
\ No newline at end of file
{{/mainExecutionContext}}
\ 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