r4124 - in trunk/src: main/java/fr/ifremer/isisfish/datastore main/java/fr/ifremer/isisfish/simulator main/java/fr/ifremer/isisfish/simulator/launcher main/java/fr/ifremer/isisfish/ui/simulator main/resources/i18n test/java/fr/ifremer/isisfish/simulator test/java/fr/ifremer/isisfish/simulator/launcher test/resources/test-database/simulators
Author: kmorin Date: 2014-11-05 18:48:02 +0100 (Wed, 05 Nov 2014) New Revision: 4124 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4124 Log: fixes #5932 Parametrer les simulations en mois Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageAbstract.java trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java trunk/src/main/resources/i18n/isis-fish_en_GB.properties trunk/src/main/resources/i18n/isis-fish_fr_FR.properties trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java trunk/src/test/resources/test-database/simulators/DefaultSimulator.java Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultDatabaseStorage.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -778,8 +778,7 @@ */ @Override public TimeStep getLastStep() { - int monthNumber = simulation.getParameter().getNumberOfYear() - * Month.NUMBER_OF_MONTH; + int monthNumber = simulation.getParameter().getNumberOfMonths(); TimeStep result = new TimeStep(monthNumber - 1); // -1 because date begin at 0 return result; } Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageAbstract.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageAbstract.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorageAbstract.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -619,8 +619,7 @@ */ @Override public TimeStep getLastStep() { - int monthNumber = simulation.getParameter().getNumberOfYear() - * Month.NUMBER_OF_MONTH; + int monthNumber = simulation.getParameter().getNumberOfMonths(); TimeStep result = new TimeStep(monthNumber - 1); // -1 because date begin at 0 return result; } Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -420,19 +420,33 @@ /** * Get number of year to run to simulate. - * + * * @return number of year */ public int getNumberOfYear(); /** * Set number of year to run to simulate. - * + * * @param numberOfYear number of year to set */ public void setNumberOfYear(int numberOfYear); /** + * Get number of year to run to simulate. + * + * @return number of year + */ + public int getNumberOfMonths(); + + /** + * Set number of months to run to simulate. + * + * @param numberOfMonths number of months to set + */ + public void setNumberOfMonths(int numberOfMonths); + + /** * Get use prescript. * * Default to false. Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -545,6 +545,26 @@ SimulationParameter param = getParam(); param.setNumberOfYear(numberOfYear); store(param); + + } + + /* + * @see fr.ifremer.isisfish.simulator.SimulationParameter#getNumberOfMonths() + */ + @Override + public int getNumberOfMonths() { + SimulationParameter param = getParam(); + return param.getNumberOfMonths(); + } + + /* + * @see fr.ifremer.isisfish.simulator.SimulationParameter#setNumberOfMonths(int) + */ + @Override + public void setNumberOfMonths(int numberOfMonths) { + SimulationParameter param = getParam(); + param.setNumberOfMonths(numberOfMonths); + store(param); } Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -39,6 +39,7 @@ import java.util.Map; import java.util.Properties; +import fr.ifremer.isisfish.types.Month; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -112,8 +113,8 @@ /** Nom de la region sur lequel on simule. */ protected String regionName; - /** Nombre d'année sur lequel on souhaite simuler. */ - protected Integer numberOfYear; + /** Nombre de mois sur lequel on souhaite simuler. */ + protected Integer numberOfMonths; /** Le nom de l'objet script a utiliser pour faire la simulation. */ protected String simulatorName; @@ -1129,24 +1130,45 @@ @Override public int getNumberOfYear() { - if (numberOfYear == null) { + if (numberOfMonths == null) { + getNumberOfMonths(); + } + return (int) Math.ceil((double) numberOfMonths / Month.NUMBER_OF_MONTH); + } + + /* + * @see fr.ifremer.isisfish.simulator.SimulationParameter#setNumberOfYear(int) + */ + @Override + public void setNumberOfYear(int numberOfYear) { + this.numberOfMonths = numberOfYear * Month.NUMBER_OF_MONTH; + } + + /* + * @see fr.ifremer.isisfish.simulator.SimulationParameter#getNumberOfMonths() + */ + @Override + public int getNumberOfMonths() { + + if (numberOfMonths == null) { + if (propertiesParameters != null) { - numberOfYear = SimulationParameterPropertiesHelper - .getNumberOfYear(propertiesParameters); + numberOfMonths = SimulationParameterPropertiesHelper + .getNumberOfMonths(propertiesParameters); } else { - numberOfYear = 1; + numberOfMonths = Month.NUMBER_OF_MONTH; } } - return numberOfYear; + return numberOfMonths; } /* - * @see fr.ifremer.isisfish.simulator.SimulationParameter#setNumberOfYear(int) + * @see fr.ifremer.isisfish.simulator.SimulationParameter#setNumberOfMonths(int) */ @Override - public void setNumberOfYear(int numberOfYear) { - this.numberOfYear = numberOfYear; + public void setNumberOfMonths(int numberOfMonths) { + this.numberOfMonths = numberOfMonths; } /* @@ -1544,7 +1566,7 @@ result.isisFishVersion = getIsisFishVersion(); result.description = getDescription(); result.regionName = getRegionName(); - result.numberOfYear = getNumberOfYear(); + result.numberOfMonths = getNumberOfMonths(); result.simulatorName = getSimulatorName(); result.useCache = getUseCache(); result.useStatistic = getUseStatistic(); @@ -1629,7 +1651,7 @@ result.setProperty(SimulationParameterPropertiesHelper.ISIS_FISH_VERSION_KEY, getIsisFishVersion()); result.setProperty(SimulationParameterPropertiesHelper.DESCRIPTION_KEY, getDescription()); result.setProperty(SimulationParameterPropertiesHelper.REGION_NAME_KEY, getRegionName()); - result.setProperty(SimulationParameterPropertiesHelper.NUMBER_OF_YEAR_KEY, String.valueOf(getNumberOfYear())); + result.setProperty(SimulationParameterPropertiesHelper.NUMBER_OF_MONTHS_KEY, String.valueOf(getNumberOfMonths())); result.setProperty(SimulationParameterPropertiesHelper.SIMULATOR_NAME_KEY, getSimulatorName()); result.setProperty(SimulationParameterPropertiesHelper.USE_CACHE_KEY, String.valueOf(getUseCache())); result.setProperty(SimulationParameterPropertiesHelper.USE_STATISTIC_KEY, String.valueOf(getUseStatistic())); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -28,6 +28,8 @@ import java.util.List; import java.util.Map; import java.util.Properties; + +import fr.ifremer.isisfish.types.Month; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -76,6 +78,7 @@ final public static String USE_CACHE_KEY = "useCache"; final public static String USE_STATISTIC_KEY = "useStatistic"; final public static String NUMBER_OF_YEAR_KEY = "numberOfYear"; + final public static String NUMBER_OF_MONTHS_KEY = "numberOfMonths"; final public static String GENERATED_PRE_SCRIPT_KEY = "generatedPreScript"; final public static String USE_PRE_SCRIPT_KEY = "usePreScript"; final public static String PRE_SCRIPT_KEY = "preScript"; @@ -129,8 +132,16 @@ return result; } - public static int getNumberOfYear(Properties prop) { - int result = Integer.valueOf(prop.getProperty(NUMBER_OF_YEAR_KEY, "1")); + public static int getNumberOfMonths(Properties prop) { + int result; + String propValue = prop.getProperty(NUMBER_OF_MONTHS_KEY); + if (propValue == null) { + propValue = prop.getProperty(NUMBER_OF_YEAR_KEY, "1"); + result = Integer.valueOf(propValue) * Month.NUMBER_OF_MONTH; + + } else { + result = Integer.valueOf(propValue); + } return result; } @@ -364,8 +375,8 @@ result.append(t("isisfish.params.toString.fishery", getRegionName(prop))); result.append("\n\n"); - result.append(t("isisfish.params.toString.number.years", - getNumberOfYear(prop))); + result.append(t("isisfish.params.toString.number.months", + getNumberOfMonths(prop))); result.append("\n\n"); // startegies Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -139,8 +139,7 @@ param.setGeneratedPreScript(generatedPrescript); } - int lastYear = param.getNumberOfYear(); - int lastDate = lastYear * Month.NUMBER_OF_MONTH; + int lastDate = param.getNumberOfMonths(); control.setProgressMax(lastDate); simulation = localSimulate(control, simulation); Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2014-11-05 17:48:02 UTC (rev 4124) @@ -203,7 +203,7 @@ } // mise a jour des années - fieldSimulParamsNbAnnees.setText(String.valueOf(simulAction.getNumberOfYear())); + fieldSimulParamsNbMois.setText(String.valueOf(simulAction.getNumberOfMonths())); initSimulationParams(); initSensitivityParams(); @@ -405,18 +405,18 @@ <Table> <row> <cell fill="horizontal"> - <JLabel text="isisfish.params.numberYear" + <JLabel text="isisfish.params.numberMonth" minimumSize='{new Dimension(140,25)}' preferredSize='{new Dimension(140,25)}' /> </cell> <cell fill="both" weightx="1.0"> <JTextField - id="fieldSimulParamsNbAnnees" - text='{String.valueOf(simulAction.getSimulationParameter().getNumberOfYear())}' /> + id="fieldSimulParamsNbMois" + text='{String.valueOf(simulAction.getSimulationParameter().getNumberOfMonths())}' /> <javax.swing.text.Document - javaBean="fieldSimulParamsNbAnnees.getDocument()" - onInsertUpdate='simulAction.setNumberOfYear(fieldSimulParamsNbAnnees.getText())' - onRemoveUpdate='simulAction.setNumberOfYear(fieldSimulParamsNbAnnees.getText())' /> + javaBean="fieldSimulParamsNbMois.getDocument()" + onInsertUpdate='simulAction.setNumberOfMonths(fieldSimulParamsNbMois.getText())' + onRemoveUpdate='simulAction.setNumberOfMonths(fieldSimulParamsNbMois.getText())' /> </cell> </row> </Table> Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -466,24 +466,44 @@ param.setPopulations(result); } - // Years - public int getNumberOfYear() { - return param.getNumberOfYear(); +// // Years +// public int getNumberOfYear() { +// return param.getNumberOfYear(); +// } +// +// /** +// * Change number of simulation year by parsing string value. +// * Default to 1 if value is not parsable. +// * +// * @param years number of years to set +// */ +// public void setNumberOfYear(String years) { +// try { +// param.setNumberOfYear(Integer.parseInt(years)); +// } +// catch (NumberFormatException ex) { +// // defaut to one year +// param.setNumberOfYear(1); +// } +// } + + public int getNumberOfMonths() { + return param.getNumberOfMonths(); } /** - * Change number of simulation year by parsing string value. + * Change number of simulation month by parsing string value. * Default to 1 if value is not parsable. - * - * @param years number of years to set + * + * @param months number of months to set */ - public void setNumberOfYear(String years) { + public void setNumberOfMonths(String months) { try { - param.setNumberOfYear(Integer.parseInt(years)); + param.setNumberOfMonths(Integer.parseInt(months)); } catch (NumberFormatException ex) { // defaut to one year - param.setNumberOfYear(1); + param.setNumberOfMonths(1); } } Modified: trunk/src/main/resources/i18n/isis-fish_en_GB.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2014-11-05 17:48:02 UTC (rev 4124) @@ -686,6 +686,7 @@ isisfish.params.description=Description isisfish.params.loadOldSimulation=Load old simulation isisfish.params.nopopulation=No selected population +isisfish.params.numberMonth= isisfish.params.numberYear=Number of year isisfish.params.populationEffectives=%s's effectives isisfish.params.rules=Rules @@ -699,6 +700,7 @@ isisfish.params.title=Parameters isisfish.params.toString.fishery=Fishery\: %1$s isisfish.params.toString.lib.logger.level=Level of libraries' logger \: %1$s +isisfish.params.toString.number.months= isisfish.params.toString.number.years=Number of years\: %1$s isisfish.params.toString.objective= isisfish.params.toString.optimization= Modified: trunk/src/main/resources/i18n/isis-fish_fr_FR.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2014-11-05 17:48:02 UTC (rev 4124) @@ -681,6 +681,7 @@ isisfish.params.description=Description isisfish.params.loadOldSimulation=Charger une ancienne simulation isisfish.params.nopopulation=Aucune population sélectionnée +isisfish.params.numberMonth=Nombre de mois isisfish.params.numberYear=Nombre d'années isisfish.params.populationEffectives=Effectifs %s isisfish.params.rules=Règles @@ -694,7 +695,7 @@ isisfish.params.title=Paramètres isisfish.params.toString.fishery=Pêcherie\: %s isisfish.params.toString.lib.logger.level=niveau du logger de librairies \: %s -isisfish.params.toString.number.years=Nombre d'années \: %s +isisfish.params.toString.number.months=Nombre de mois \: %s isisfish.params.toString.objective=Fonction d'objectif \: %s isisfish.params.toString.optimization=Méthode d'optimisation \: %s isisfish.params.toString.optimizationExport=Export d'optimisation \: %s Modified: trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java =================================================================== --- trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -30,6 +30,7 @@ import java.util.Collections; import java.util.Properties; +import fr.ifremer.isisfish.types.Month; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.SortedProperties; @@ -63,6 +64,7 @@ Assert.assertEquals(IsisConfig.getVersion(), params.getIsisFishVersion()); Assert.assertEquals("", params.getDescription()); Assert.assertEquals("", params.getRegionName()); + Assert.assertEquals(Month.NUMBER_OF_MONTH, params.getNumberOfMonths()); Assert.assertEquals(1, params.getNumberOfYear()); Assert.assertEquals("DefaultSimulator.java", params.getSimulatorName()); Assert.assertTrue(params.getUseCache()); Modified: trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java =================================================================== --- trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -31,6 +31,7 @@ import java.util.SortedMap; import java.util.TreeMap; +import fr.ifremer.isisfish.types.Month; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -202,7 +203,7 @@ strats.add(strategy); params.setStrategies(strats); // number of year - params.setNumberOfYear(1); + params.setNumberOfMonths(Month.NUMBER_OF_MONTH); SimulationService service = SimulationService.getService(); SimulatorLauncher launcher = new InProcessSimulatorLauncher(); Modified: trunk/src/test/resources/test-database/simulators/DefaultSimulator.java =================================================================== --- trunk/src/test/resources/test-database/simulators/DefaultSimulator.java 2014-11-05 17:09:48 UTC (rev 4123) +++ trunk/src/test/resources/test-database/simulators/DefaultSimulator.java 2014-11-05 17:48:02 UTC (rev 4124) @@ -76,8 +76,7 @@ SimulationParameter param = context.getSimulationStorage() .getParameter(); SimulationControl control = context.getSimulationControl(); - int lastYear = param.getNumberOfYear(); - int lastStep = lastYear * Month.NUMBER_OF_MONTH; + int lastStep = param.getNumberOfMonths(); TimeStep step = control.getStep(); ResultManager resManager = context.getResultManager();
participants (1)
-
kmorin@users.forge.codelutin.com