diff --git a/core/src/net/sf/openrocket/document/Simulation.java b/core/src/net/sf/openrocket/document/Simulation.java index 3143eb83d..9a75dbbf8 100644 --- a/core/src/net/sf/openrocket/document/Simulation.java +++ b/core/src/net/sf/openrocket/document/Simulation.java @@ -308,7 +308,7 @@ public class Simulation implements ChangeSource, Cloneable { */ public Status getStatus() { mutex.verify(); - if (status == Status.UPTODATE || status == Status.LOADED) { + if (isStatusUpToDate(status)) { if (rocket.getFunctionalModID() != simulatedRocketID || !options.equals(simulatedConditions)) { status = Status.OUTDATED; } @@ -330,6 +330,14 @@ public class Simulation implements ChangeSource, Cloneable { return status; } + + /** + * Returns true is the status indicates that the simulation data is up-to-date. + * @param status status of the simulation to check for if its data is up-to-date + */ + public static boolean isStatusUpToDate(Status status) { + return status == Status.UPTODATE || status == Status.LOADED || status == Status.EXTERNAL; + } diff --git a/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java b/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java index 423f23d25..29951987c 100644 --- a/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java +++ b/swing/src/net/sf/openrocket/gui/main/SimulationPanel.java @@ -507,8 +507,7 @@ public class SimulationPanel extends JPanel { private void openDialog(final Simulation sim) { boolean plotMode = false; - if (sim.hasSimulationData() && (sim.getStatus() == Status.UPTODATE || sim.getStatus() == Status.LOADED - || sim.getStatus() == Status.EXTERNAL)) { + if (sim.hasSimulationData() && Simulation.isStatusUpToDate(sim.getStatus())) { plotMode = true; } openDialog(plotMode, sim); diff --git a/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java b/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java index 9f4f309f7..d5de4d5e3 100644 --- a/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java +++ b/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java @@ -853,8 +853,8 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change // Re-run the present simulation(s) List sims = new LinkedList<>(); for (Simulation sim : document.getSimulations()) { - if (sim.getStatus() == Simulation.Status.UPTODATE || sim.getStatus() == Simulation.Status.LOADED - || !document.getRocket().getFlightConfiguration(sim.getFlightConfigurationId()).hasMotors()) + if (Simulation.isStatusUpToDate(sim.getStatus()) || + !document.getRocket().getFlightConfiguration(sim.getFlightConfigurationId()).hasMotors()) continue; // Find a Simulation based on the current flight configuration diff --git a/swing/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java b/swing/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java index 03b9ab944..7955bdae3 100644 --- a/swing/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java +++ b/swing/src/net/sf/openrocket/gui/simulation/SimulationEditDialog.java @@ -292,8 +292,7 @@ public class SimulationEditDialog extends JDialog { @Override public void actionPerformed(ActionEvent e) { // If the simulation is out of date, run the simulation. - if (simulationList[0].getStatus() != Simulation.Status.UPTODATE && - simulationList[0].getStatus() != Simulation.Status.LOADED) { + if (!Simulation.isStatusUpToDate(simulationList[0].getStatus())) { new SimulationRunDialog(SimulationEditDialog.this.parentWindow, document, simulationList[0]).setVisible(true); }