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