Author: chatellier Date: 2009-05-03 18:21:25 +0000 (Sun, 03 May 2009) New Revision: 2166 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationControl.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java Log: Refactor second pass: - check simulation existence in reverse order - get parameter without opening database Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationControl.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationControl.java 2009-05-03 18:20:06 UTC (rev 2165) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationControl.java 2009-05-03 18:21:25 UTC (rev 2166) @@ -74,6 +74,11 @@ addPropertyChangeListener(this); } + /** + * + * @deprecated todo remove, should be always auto saved + * @param autoSaveState + */ public void setAutoSaveState(boolean autoSaveState) { this.autoSaveState = autoSaveState; } @@ -171,7 +176,9 @@ * @param text The text to set. */ public void setText(String text) { - log.info(text); + if (log.isInfoEnabled()) { + log.info(text); + } String oldValue = this.text; this.text = text; listeners.firePropertyChange("text", oldValue, this.text); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-05-03 18:20:06 UTC (rev 2165) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-05-03 18:21:25 UTC (rev 2166) @@ -79,6 +79,8 @@ /** Logger for this class. */ private static Log log = LogFactory.getLog(SimulationParameter.class); + public static String NUMBER_OF_SENSITIVITY_SIMULATION = "numberOfSensitivitySimulation"; + /** * Isis-fish version that permit to do the simulation, must be set just * before simulation by simulator. @@ -287,7 +289,7 @@ result.setProperty("exports", exportList); // number of sensitivity simulation - result.setProperty("numberOfSensitivitySimulation", String.valueOf(numberOfSensitivitySimulation)); + result.setProperty(NUMBER_OF_SENSITIVITY_SIMULATION, String.valueOf(numberOfSensitivitySimulation)); // calculator name if (getSensitivityCalculator() != null) { @@ -459,7 +461,7 @@ } // number of sensitivity simulation - numberOfSensitivitySimulation = Integer.parseInt(props.getProperty("numberOfSensitivitySimulation", "-1")); + numberOfSensitivitySimulation = Integer.parseInt(props.getProperty(NUMBER_OF_SENSITIVITY_SIMULATION, "-1")); // calculator name String sensitivityCalculator = props.getProperty("sensitivitycalculator", null); if (!StringUtils.isEmpty(sensitivityCalculator)) { 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 2009-05-03 18:20:06 UTC (rev 2165) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-05-03 18:21:25 UTC (rev 2166) @@ -621,24 +621,25 @@ protected void analyzeSensitivityResult(SimulationJob job, SimulationStorage simulation) { - SimulationParameter params = simulation.getParameter(); + Properties props = simulation.getPropertiesParameter(); - int numberOfSimulation = params.getNumberOfSensitivitySimulation(); - SensitivityCalculator sensitivityCalculator = params.getSensitivityCalculator(); - if (numberOfSimulation > 0 && params.getSensitivityCalculator() != null) { + int numberOfSimulation = Integer.parseInt(props.getProperty(SimulationParameter.NUMBER_OF_SENSITIVITY_SIMULATION)); //getNumberOfSensitivitySimulation(); + + if (numberOfSimulation > 0) { // this is a sensitivity simulation String simulationId = job.getId(); String simulationCommonPrefix = simulationId.substring(0, simulationId.lastIndexOf("_")); // simulation start at 0 List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>(); - for (int simulationIndex = 0; simulationIndex < numberOfSimulation ; ++simulationIndex) { + // en sens inverse, il le fera carrement moins souvent + for (int simulationIndex = numberOfSimulation -1; simulationIndex >= 0 ; --simulationIndex) { String currentId = simulationCommonPrefix + "_" + simulationIndex; if (SimulationStorage.localyExists(currentId)) { SimulationControl currentSimulationControl = new SimulationControl(currentId); SimulationStorage.readControl(currentId, currentSimulationControl); - // condiftion for simulation "end" + // condition for simulation "end" if (currentSimulationControl.getProgress() > 0 && currentSimulationControl.getProgress() >= currentSimulationControl.getProgressMax()) { SimulationStorage storage = SimulationStorage.getSimulation(currentId); @@ -666,6 +667,8 @@ // on construit la liste des simulation storage // et on l'envoie au script d'analyse de sensibilite if (simulationStorageForAnalyze.size() == numberOfSimulation) { + SimulationParameter params = simulation.getParameter(); + SensitivityCalculator sensitivityCalculator = params.getSensitivityCalculator(); if (log.isDebugEnabled()) { log.debug("Call analyzeResult on sensitivity script " + sensitivityCalculator.getClass().getSimpleName()); }
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org