Author: chatellier Date: 2010-01-08 17:13:45 +0000 (Fri, 08 Jan 2010) New Revision: 2896 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java Log: Modify simulation existence to test if simulation parameters file really exists. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2010-01-08 14:55:19 UTC (rev 2895) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2010-01-08 17:13:45 UTC (rev 2896) @@ -526,9 +526,8 @@ // fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher#localSimulateSameThread(SimulationControl, SimulationStorage) // FIXME check SimulationStorage.exists(control.getId()) condition - if ((control.getProgress() > 0 - && control.getProgress() >= control.getProgressMax() && SimulationStorage - .exists(control.getId()))) { + if (control.getProgress() > 0 + && control.getProgress() >= control.getProgressMax() && simulationExists(control.getId())) { simulationEnded = true; } } @@ -542,6 +541,27 @@ } /** + * Check if simulation exists by checking "parameters.properties" file + * existense. + * + * @return {@code true} if simulation exists + */ + protected boolean simulationExists(String simulationId) { + boolean result = false; + + // works better than checking simulationDirectory + // existence, because directory can exists event if + // simulations doesn't exists + File simulationDirectory = new File(SimulationStorage.getSimulationDirectory(), simulationId); + File parametersFile = SimulationStorage.getSimulationParametersFile(simulationDirectory); + if (parametersFile.exists()) { + result = true; + } + + return result; + } + + /** * Operation to do after simulation end. * * - get simulation result