Refactor sim status checking to separate method
This commit is contained in:
parent
fef90fdb34
commit
3a1bc46cb3
@ -308,7 +308,7 @@ public class Simulation implements ChangeSource, Cloneable {
|
|||||||
*/
|
*/
|
||||||
public Status getStatus() {
|
public Status getStatus() {
|
||||||
mutex.verify();
|
mutex.verify();
|
||||||
if (status == Status.UPTODATE || status == Status.LOADED) {
|
if (isStatusUpToDate(status)) {
|
||||||
if (rocket.getFunctionalModID() != simulatedRocketID || !options.equals(simulatedConditions)) {
|
if (rocket.getFunctionalModID() != simulatedRocketID || !options.equals(simulatedConditions)) {
|
||||||
status = Status.OUTDATED;
|
status = Status.OUTDATED;
|
||||||
}
|
}
|
||||||
@ -331,6 +331,14 @@ public class Simulation implements ChangeSource, Cloneable {
|
|||||||
return status;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -507,8 +507,7 @@ public class SimulationPanel extends JPanel {
|
|||||||
|
|
||||||
private void openDialog(final Simulation sim) {
|
private void openDialog(final Simulation sim) {
|
||||||
boolean plotMode = false;
|
boolean plotMode = false;
|
||||||
if (sim.hasSimulationData() && (sim.getStatus() == Status.UPTODATE || sim.getStatus() == Status.LOADED
|
if (sim.hasSimulationData() && Simulation.isStatusUpToDate(sim.getStatus())) {
|
||||||
|| sim.getStatus() == Status.EXTERNAL)) {
|
|
||||||
plotMode = true;
|
plotMode = true;
|
||||||
}
|
}
|
||||||
openDialog(plotMode, sim);
|
openDialog(plotMode, sim);
|
||||||
|
@ -853,8 +853,8 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change
|
|||||||
// Re-run the present simulation(s)
|
// Re-run the present simulation(s)
|
||||||
List<Simulation> sims = new LinkedList<>();
|
List<Simulation> sims = new LinkedList<>();
|
||||||
for (Simulation sim : document.getSimulations()) {
|
for (Simulation sim : document.getSimulations()) {
|
||||||
if (sim.getStatus() == Simulation.Status.UPTODATE || sim.getStatus() == Simulation.Status.LOADED
|
if (Simulation.isStatusUpToDate(sim.getStatus()) ||
|
||||||
|| !document.getRocket().getFlightConfiguration(sim.getFlightConfigurationId()).hasMotors())
|
!document.getRocket().getFlightConfiguration(sim.getFlightConfigurationId()).hasMotors())
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Find a Simulation based on the current flight configuration
|
// Find a Simulation based on the current flight configuration
|
||||||
|
@ -292,8 +292,7 @@ public class SimulationEditDialog extends JDialog {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
// If the simulation is out of date, run the simulation.
|
// If the simulation is out of date, run the simulation.
|
||||||
if (simulationList[0].getStatus() != Simulation.Status.UPTODATE &&
|
if (!Simulation.isStatusUpToDate(simulationList[0].getStatus())) {
|
||||||
simulationList[0].getStatus() != Simulation.Status.LOADED) {
|
|
||||||
new SimulationRunDialog(SimulationEditDialog.this.parentWindow, document, simulationList[0]).setVisible(true);
|
new SimulationRunDialog(SimulationEditDialog.this.parentWindow, document, simulationList[0]).setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user