diff --git a/prism/src/simulator/GenerateSimulationPath.java b/prism/src/simulator/GenerateSimulationPath.java index 781833bd..16b2974d 100644 --- a/prism/src/simulator/GenerateSimulationPath.java +++ b/prism/src/simulator/GenerateSimulationPath.java @@ -119,6 +119,7 @@ public class GenerateSimulationPath generateMultiplePaths(displayer); else generatePath(displayer); + displayer.close(); } /** diff --git a/prism/src/simulator/PathDisplayer.java b/prism/src/simulator/PathDisplayer.java index 8adbbf21..c1d39708 100644 --- a/prism/src/simulator/PathDisplayer.java +++ b/prism/src/simulator/PathDisplayer.java @@ -198,7 +198,15 @@ public abstract class PathDisplayer public abstract void displaySnapshot(double timeCumul, long newStateIndex, State newState, double[] newStateRewards); /** - * Finish displaying a path.. + * Finish displaying a path. */ public abstract void endDisplay(); + + /** + * "Close" this displayer (e.g., if it is to a file, close the file). + */ + public void close() + { + // By default, do nothing + } } diff --git a/prism/src/simulator/PathToText.java b/prism/src/simulator/PathToText.java index fa416d05..d637c929 100644 --- a/prism/src/simulator/PathToText.java +++ b/prism/src/simulator/PathToText.java @@ -28,6 +28,7 @@ package simulator; import parser.State; import parser.ast.ModulesFile; +import prism.PrismFileLog; import prism.PrismLog; /** @@ -304,4 +305,12 @@ public class PathToText extends PathDisplayer log.println(); } } + + @Override + public void close() + { + if (log instanceof PrismFileLog) { + log.close(); + } + } }