diff --git a/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/KtzioProxy.java b/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/KtzioProxy.java index 678690033da517cda9ecd1694bbfbde221de8eae..de95281f89824a8e34b7041cfd048ee64269b8d8 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/KtzioProxy.java +++ b/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/KtzioProxy.java @@ -32,7 +32,8 @@ public class KtzioProxy extends AbstractTinaProxy { commandParts.add(outputPath); ktzioProcessBuilder.command(commandParts); - ktzioProcessBuilder.start(); + Process p = ktzioProcessBuilder.start(); + p.waitFor(); } else { logger.error("Windows is currently not supported. Exiting ..."); return; diff --git a/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/SiftProxy.java b/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/SiftProxy.java index a57980ec88d2b86cb29008ee10f261fecb282332..463b09bb5b6f281133946c5c141e4204c455a7b5 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/SiftProxy.java +++ b/src/main/java/de/tudresden/inf/st/pnml/flatter/tina/SiftProxy.java @@ -31,7 +31,8 @@ public class SiftProxy extends AbstractTinaProxy { commandParts.add(outputPath); siftProcessBuilder.command(commandParts); - siftProcessBuilder.start(); + Process p = siftProcessBuilder.start(); + p.waitFor(); } else { logger.error("Windows is currently not supported. Exiting ..."); return; diff --git a/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/SignalFlatter.java b/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/SignalFlatter.java index bee6f42a6382f2e1a938dcb59f7a07d062f8bffe..4fc260e1d65c9e7addac571d944d95190a2651c6 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/SignalFlatter.java +++ b/src/main/java/de/tudresden/inf/st/pnml/flatter/transform/SignalFlatter.java @@ -137,6 +137,7 @@ public class SignalFlatter extends Flatter{ PetriNet petriNet, Page topPage, int signalCount, int i, Transition transition, Map<String, OutputSignalPlace> orPlacePairs) { OutputSignalPlace orPlaceFalse = PrimitiveTemplates.getOutputSignalPlace(); + assert orPlaceFalse != null; orPlaceFalse.setId(TemplateConstants.INPUT_SIGNAL_PLACE_OR_CONNECTION_FALSE_PREFIX + "-" + signalCount + "-" + i); Name fName = new Name(); fName.setText(TemplateConstants.INPUT_SIGNAL_PLACE_OR_CONNECTION_FALSE_PREFIX + "-" + signalCount + "-" + i); @@ -173,14 +174,13 @@ public class SignalFlatter extends Flatter{ int count, String signalId, boolean isBase, boolean isActive) { Page topPage = petriNet.getPage(0); - OutputSignalPlace aOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base").asOutputSignalPlace(); - OutputSignalPlace iOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base").asOutputSignalPlace(); + OutputSignalPlace aOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base")).asOutputSignalPlace(); + OutputSignalPlace iOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base")).asOutputSignalPlace(); if (!isBase) { - aOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); - iOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); - aOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count); - iOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count); + aOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy(); + iOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy(); + renameSignalPlace(count, signalId, aOsp, iOsp); topPage.addObject(aOsp); topPage.addObject(iOsp); @@ -190,11 +190,11 @@ public class SignalFlatter extends Flatter{ // marking if (isActive) { aOsp.getInitialMarking().setText(1); - int orTruePlaceMarking = Integer.valueOf(orTruePlace.getInitialMarking().getText()); + int orTruePlaceMarking = orTruePlace.getInitialMarking().getText(); orTruePlace.getInitialMarking().setText(orTruePlaceMarking + 1); } else { iOsp.getInitialMarking().setText(1); - int orFalsePlaceMarking = Integer.valueOf(orFalsePlace.getInitialMarking().getText()); + int orFalsePlaceMarking = orFalsePlace.getInitialMarking().getText(); orFalsePlace.getInitialMarking().setText(orFalsePlaceMarking + 1); } @@ -215,10 +215,9 @@ public class SignalFlatter extends Flatter{ Page topPage = petriNet.getPage(0); - OutputSignalPlace aOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); - OutputSignalPlace iOsp = getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base").asOutputSignalPlace().treeCopy(); - aOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count); - iOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count); + OutputSignalPlace aOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy(); + OutputSignalPlace iOsp = Objects.requireNonNull(getPlaceByID(petriNet, TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-base")).asOutputSignalPlace().treeCopy(); + renameSignalPlace(count, signalId, aOsp, iOsp); createAndIncludeArc(topPage, "arc-and-1-" + signalId + "-" + count, aOsp, inactiveT); createAndIncludeArc(topPage, "arc-and-2-" + signalId + "-" + count, inactiveT, iOsp); @@ -240,4 +239,11 @@ public class SignalFlatter extends Flatter{ petriNet.flushTreeCache(); } + + private static void renameSignalPlace(int count, String signalId, OutputSignalPlace aOsp, OutputSignalPlace iOsp) { + aOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count ); + iOsp.setId(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count); + aOsp.getName().setText(TemplateConstants.INPUT_SIGNAL_PLACE_ACTIVE + "-" + signalId + "-" + count); + iOsp.getName().setText(TemplateConstants.INPUT_SIGNAL_PLACE_INACTIVE + "-" + signalId + "-" + count); + } }