From 019fa7a78c1955d92b2bae22e34328c1cdc5fdb8 Mon Sep 17 00:00:00 2001
From: SebastianEbert <sebastian.ebert@tu-dresden.de>
Date: Mon, 24 Oct 2022 17:22:27 +0200
Subject: [PATCH] fixed name conversion
---
.../tudresden/inf/st/pnml/flatter/Main.java | 6 ++---
.../flatter/transform/ChannelFlatter.java | 26 +++++++++++++------
2 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/src/main/java/de/tudresden/inf/st/pnml/flatter/Main.java b/src/main/java/de/tudresden/inf/st/pnml/flatter/Main.java
index b7c4dfe..68c2c41 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/flatter/Main.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/flatter/Main.java
@@ -32,9 +32,9 @@ public class Main {
}
// parse the global not flatted petri net
- // pnmlPath = "../pnml-relast-nets/src/main/resources/signalFlatteningTestNets/inputsignal-simple-3.pnml";
+ // pnmlPath = "/home/sebastian/git/dineros/pnml-relast-tools/pnml-relast-nets/src/main/resources/useCaseNets/RoboticUseCase-TopLayer.pnml";
//String pnmlPath = "../pnml-relast-nets/src/main/resources/serviceTestNets/structureTestNets/service-structure-correct.pnml";
- //String configPath = "src/main/config/config.json";
+ configPath = "src/main/config/config.json";
PetriNet petriNet = PnmlParser.parsePnml(pnmlPath).get(0);
// read config for analyzer from file
@@ -80,7 +80,7 @@ public class Main {
logger.error("[FLATTER] Converting to net format.");
NdrioProxy ndrioProxy = new NdrioProxy();
String homeDirectory = System.getProperty("user.dir");
- String ndrioTargetPath = homeDirectory + "/temp/net/" + UUID.randomUUID().toString() + "flatted-" + exportId + ".net";
+ String ndrioTargetPath = homeDirectory + "/temp/net/" + UUID.randomUUID() + "flatted-" + exportId + ".net";
ndrioProxy.pnml2net(pnmlExportPath, ndrioTargetPath);
// insert into tina
diff --git a/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/ChannelFlatter.java b/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/ChannelFlatter.java
index 4ffbc68..18a7d18 100644
--- a/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/ChannelFlatter.java
+++ b/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/ChannelFlatter.java
@@ -25,14 +25,17 @@ public class ChannelFlatter {
// construct signal-id to transition mapping
for (Transition t : petriNet.allTransitions()) {
- for (InputSignalBinding isb : t.asInputSignalTransition().getStaticInputSignalBindingList()) {
-
- if (signalMap.containsKey(isb.getInputSignalID())) {
- signalMap.get(isb.getInputSignalID()).add(t.asInputSignalTransition());
- } else {
- List<InputSignalTransition> transitionList = new ArrayList<>();
- transitionList.add(t.asInputSignalTransition());
- signalMap.put(isb.getInputSignalID(), transitionList);
+
+ if(t.asInputSignalTransition().getStaticInputSignalBindingList() != null) {
+ for (InputSignalBinding isb : t.asInputSignalTransition().getStaticInputSignalBindingList()) {
+
+ if (signalMap.containsKey(isb.getInputSignalID())) {
+ signalMap.get(isb.getInputSignalID()).add(t.asInputSignalTransition());
+ } else {
+ List<InputSignalTransition> transitionList = new ArrayList<>();
+ transitionList.add(t.asInputSignalTransition());
+ signalMap.put(isb.getInputSignalID(), transitionList);
+ }
}
}
}
@@ -453,7 +456,14 @@ public class ChannelFlatter {
newTi.setType(PnmlConstants.TRANSITION_TYPE_DISCRETE);
channelTransition.setMutualTransitionInformation(newTi);
+ Name nChannelPlace = new Name();
+ nChannelPlace.setText(TemplateConstants.CHANNEL_CONNECTOR_PLACE + "-" + channelCount);
+ channelPlace.setName(nChannelPlace);
channelPlace.setId(TemplateConstants.CHANNEL_CONNECTOR_PLACE + "-" + channelCount);
+
+ Name nChannelTransition = new Name();
+ nChannelTransition.setText(TemplateConstants.CHANNEL_CONNECTOR_TRANSITION + "-" + channelCount);
+ channelTransition.setName(nChannelTransition);
channelTransition.setId(TemplateConstants.CHANNEL_CONNECTOR_TRANSITION + "-" + channelCount);
Page topPage = petriNet.getPage(0);
--
GitLab