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

fixed main-file and subscriber generation

parent 9fb4ee6c
No related branches found
No related tags found
No related merge requests found
......@@ -11,8 +11,8 @@ GradleFile:TemplateFile ;
abstract JavaFile:TemplateFile ;
NodeFile:JavaFile ;
SubscriberFile:JavaFile ;
ServerFile:JavaFile ;
SubscriberFile:JavaFile ::= <NetCount:Integer> <SubscriberCount:Integer>;
ServerFile:JavaFile ::= <NetCount:Integer> <ServerCount:Integer>;
MainFile:JavaFile ;
MapperFile:JavaFile ;
TokenFile:JavaFile ;
......
......@@ -18,13 +18,13 @@ public class Main {
public static void main(java.lang.String[] args) throws IOException {
if(args.length != 1){
System.out.println("Error: Invalid arguments.");
return;
}
// if(args.length != 1){
// System.out.println("Error: Invalid arguments.");
// return;
// }
String configPath = args[0];
// String configPath = "src/test/resources/GeneratorConfig.json";
//String configPath = args[0];
String configPath = "src/test/resources/GeneratorConfig.json";
ObjectMapper generatorConfigObjectMapper = new ObjectMapper();
GeneratorConfig gc = generatorConfigObjectMapper.readValue(Files.readString(Paths.get(configPath)), GeneratorConfig.class);
......
......@@ -66,13 +66,13 @@ public class PackageStructureBuilder {
if(pf.isTemplateFile()) {
if(pf.isJavaFile()){
System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName() + ".java");
// System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName() + ".java");
System.out.println("Content: \n" + pf.asTemplateFile().getFileContent());
//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());
//System.out.println("Writing file " + pf.getName() + " to: " + packagePath + "/" + packageDirectory.getName() + "/" + pf.getName());
writeToFile(packagePath + "/" + packageDirectory.getName() + "/" + pf.getName(), pf.asTemplateFile().getFileContent());
}
}
......@@ -140,6 +140,8 @@ public class PackageStructureBuilder {
if (transitionType.equals(PnmlConstants.TRANSITION_TYPE_SERVICE_REQUEST_OUT)) {
ServerFile server = new ServerFile();
server.setName("Node" + i + "Server" + serverCount);
server.setNetCount(i);
server.setServerCount(serverCount);
server.setFileID(UUID.randomUUID().toString());
pd.addFile(server);
serverCount++;
......@@ -148,6 +150,8 @@ public class PackageStructureBuilder {
|| transitionType.equals(PnmlConstants.TRANSITION_TYPE_TOPIC_UNLIMITED_IN)) {
SubscriberFile subscriber = new SubscriberFile();
subscriber.setName("Node" + i + "Subscriber" + subscriberCount);
subscriber.setNetCount(i);
subscriber.setSubscriberCount(subscriberCount);
subscriber.setFileID(UUID.randomUUID().toString());
pd.addFile(subscriber);
subscriberCount++;
......@@ -384,9 +388,10 @@ public class PackageStructureBuilder {
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()) -1 ));
System.out.println("t:" + t.getId());
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);
//subscriberCountMap.put(nets.get(i).getId(), subscriberCountMap.get(nets.get(i).getId()) + 1);
visitedPackageFileIDs.add(pf.getFileID());
}
}
......
{{#mainExecutionContext}}
package de.tudresden.inf.st.{{{packageNamespace}}};
import com.fasterxml.jackson.databind.ObjectMapper;
import de.tudresden.inf.st.pnml.engine.execution.TransitionCallback;
import de.tudresden.inf.st.pnml.engine.execution.TransitionCallbackService;
import de.tudresden.inf.st.pnml.engine.ros.DiNeRosNode;
......@@ -13,9 +12,15 @@ import de.tudresden.inf.st.pnml.jastadd.model.PnmlParser;
import de.tudresden.inf.st.sample.balloon.Token;
import de.tudresden.inf.st.sample.callback.AbstractNetCallback;
import de.tudresden.inf.st.sample.callback.CallbackMapper;
import de.tudresden.inf.st.sample.communication.Node2Subscriber1;
import de.tudresden.inf.st.sample.nodes.Node1;
import de.tudresden.inf.st.sample.nodes.Node2;
{{#serverInfos}}
import de.tudresden.inf.st.sample.communication.{{{serverClassName}}};
{{/serverInfos}}
{{#subscriberInfos}}
import de.tudresden.inf.st.sample.communication.{{{subscriberClassName}}};
{{/subscriberInfos}}
{{#nodeInfos}}
import de.tudresden.inf.st.sample.nodes.{{{nodeClassName}}};
{{/nodeInfos}}
import org.ros.node.DefaultNodeMainExecutor;
import org.ros.node.NodeConfiguration;
import org.ros.node.NodeMainExecutor;
......@@ -75,9 +80,9 @@ public class Main {
*/
{{#nodeInfos}}
Map<String, List<AbstractNetCallback>> callbackMap{{{nodeName}}} = CallbackMapper.initCallbacksFor{{{nodeName}}}(petriNets.get({{{nodeIndex}}}));
Map<String, List<AbstractNetCallback>> callbackMap{{{nodeClassName}}} = CallbackMapper.initCallbacksFor{{{nodeClassName}}}(petriNets.get({{{nodeIndex}}}));
for (Map.Entry<String, List<AbstractNetCallback>> entry : callbackMap{{{nodeName}}}.entrySet()) {
for (Map.Entry<String, List<AbstractNetCallback>> entry : callbackMap{{{nodeClassName}}}.entrySet()) {
for(AbstractNetCallback anc : entry.getValue()){
transitionCallbackService.registerCallback(petriNets.get({{{nodeIndex}}}), entry.getKey(), anc);
}
......@@ -108,4 +113,7 @@ public class Main {
start();
} };
{{/nodeInfos}}
}
}
{{/mainExecutionContext}}
\ No newline at end of file
[{
"net" : "/home/sebastian/Desktop/publisher-net.pnml"
"net" : "/home/sebastian/Desktop/tmp/net00.pnml"
},
{
"net" : "/home/sebastian/Desktop/subscriber-net.pnml"
"net" : "/home/sebastian/Desktop/tmp/net01.pnml"
},
{
"net" : "/home/sebastian/Desktop/tmp/net02.pnml"
}]
......@@ -3,9 +3,9 @@
"rootName" : "sample-pkg",
"namespace" : "sample",
"version" : "0.1",
"configFile" : "/home/sebastian/jastadd-workspaces/dineros-linked-ws/pnml-relast-tools/pnml-relast-pkg-gen/src/test/resources/EngineConfig.json",
"configFile" : "EngineConfig.json",
"rosHost" : "localhost",
"rosMasterUri" : "http://localhost:11311",
"mqttHost" : "localhost",
"targetPath" :"/home/sebastian/Desktop"
"targetPath" :""
}
\ 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