Author: echatellier Date: 2015-06-23 14:21:05 +0000 (Tue, 23 Jun 2015) New Revision: 4282 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4282 Log: close #7223: Ajouter une option pour supprimer les resultats en fin de simulation (apr?\195?\168s les exports). Modified: 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/sensitivity/SensitivityUI.jaxx trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceHandler.java trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx trunk/src/main/resources/i18n/isis-fish_en_GB.properties trunk/src/main/resources/i18n/isis-fish_fr_FR.properties Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2015-06-23 14:21:05 UTC (rev 4282) @@ -331,6 +331,21 @@ public void setSensitivityAnalysisOnlyKeepFirst(boolean onlyKeepFirst); /** + * Delete result after export policy. + * + * @since 4.4 + */ + public boolean isResultDeleteAfterExport(); + + /** + * Delete result after export policy. + * + * @param deleteAfterExport delete result after export policy + * @since 4.4 + */ + public void setResultDeleteAfterExport(boolean deleteAfterExport); + + /** * Return loaded sensitivity export. * * If exports are null or empty, try to load it from last ready parameters. Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2015-06-23 14:21:05 UTC (rev 4282) @@ -560,6 +560,19 @@ store(param); } + @Override + public boolean isResultDeleteAfterExport() { + SimulationParameter param = getParam(); + return param.isResultDeleteAfterExport(); + } + + @Override + public void setResultDeleteAfterExport(boolean deleteAfterExport) { + SimulationParameter param = getParam(); + param.setResultDeleteAfterExport(deleteAfterExport); + store(param); + } + /* * @see fr.ifremer.isisfish.simulator.SimulationParameter#getNumberOfYear() */ Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2015-06-23 14:21:05 UTC (rev 4282) @@ -184,6 +184,11 @@ */ protected Boolean sensitivityAnalysisOnlyKeepFirst; + /** + * Parametre utilisé pour supprimer les résultats à la fin d'une simulation après les exports. + */ + protected Boolean resultDeleteAfterExport; + /** Script utilisé pour les analyses de sensibilités. */ protected SensitivityAnalysis sensitivityAnalysis; @@ -1181,7 +1186,26 @@ public void setSensitivityAnalysisOnlyKeepFirst(boolean onlyKeepFirst) { sensitivityAnalysisOnlyKeepFirst = onlyKeepFirst; } + + @Override + public boolean isResultDeleteAfterExport() { + if (resultDeleteAfterExport == null) { + if (propertiesParameters != null) { + resultDeleteAfterExport = SimulationParameterPropertiesHelper.isResultDeleteAfterExport(propertiesParameters); + } else { + resultDeleteAfterExport = Boolean.FALSE; + } + } + + return resultDeleteAfterExport; + } + + @Override + public void setResultDeleteAfterExport(boolean resultDeleteAfterExport) { + this.resultDeleteAfterExport = resultDeleteAfterExport; + } + /* * @see fr.ifremer.isisfish.simulator.SimulationParameter#getNumberOfYear() */ @@ -1954,6 +1978,10 @@ } } + // result + result.setProperty(SimulationParameterPropertiesHelper.RESULT_DELETE_AFTER_EXPORT_KEY, + String.valueOf(isResultDeleteAfterExport())); + // sensitivity params result.setProperty(SimulationParameterPropertiesHelper.SENSITIVITY_ANALYSIS_ONLY_KEEP_FIRST_KEY, String.valueOf(isSensitivityAnalysisOnlyKeepFirst())); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterPropertiesHelper.java 2015-06-23 14:21:05 UTC (rev 4282) @@ -95,6 +95,7 @@ final public static String NUMBER_KEY = "number"; final public static String NUMBER_OF_SENSITIVITY_SIMULATION_KEY = "numberOfSensitivitySimulation"; final public static String SENSITIVITY_ANALYSIS_ONLY_KEEP_FIRST_KEY = "sensitivityAnalysisOnlyKeepFirst"; + final public static String RESULT_DELETE_AFTER_EXPORT_KEY = "resultDeleteAfterExport"; final public static String TAG_VALUE_KEY = "tagValue"; final public static String PARAMETERS_KEY = "parameters"; final public static String PARAMETER_KEY = "parameter"; @@ -261,9 +262,14 @@ public static boolean isSensitivityAnalysisOnlyKeepFirst(Properties prop) { boolean result = Boolean.valueOf(prop.getProperty( - SENSITIVITY_ANALYSIS_ONLY_KEEP_FIRST_KEY, "-1")); + SENSITIVITY_ANALYSIS_ONLY_KEEP_FIRST_KEY, "false")); return result; } + + public static Boolean isResultDeleteAfterExport(Properties prop) { + boolean result = Boolean.valueOf(prop.getProperty(RESULT_DELETE_AFTER_EXPORT_KEY, "false")); + return result; + } public static String getGeneratedPreScript(Properties prop) { Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2015-06-23 14:21:05 UTC (rev 4282) @@ -464,9 +464,16 @@ // suppression des résultats si l'utilisateur a demande à ne conserver // que les resultats de seulement la première simulation d'une AS - if (parameters.isSensitivityAnalysisOnlyKeepFirst() && !control.getId().endsWith("_0")) { - resultStorage.delete(); + if (control.getId().startsWith("as_")) { + if (parameters.isSensitivityAnalysisOnlyKeepFirst() && !control.getId().endsWith("_0")) { + resultStorage.delete(); + } } + if (control.getId().startsWith("sim_")) { + if (parameters.isResultDeleteAfterExport()) { + resultStorage.delete(); + } + } resultStorage.close(); Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2015-06-23 14:21:05 UTC (rev 4282) @@ -84,7 +84,7 @@ <fr.ifremer.isisfish.ui.simulator.ExportUI id="exportUI" constructorParams='this'/> </tab> <tab title='isisfish.resultChoice.title'> - <fr.ifremer.isisfish.ui.simulator.ResultChoiceUI id="resultChoiceUI" constructorParams='this'/> + <fr.ifremer.isisfish.ui.simulator.ResultChoiceUI id="resultChoiceUI" sensitivity='true' constructorParams='this'/> </tab> <tab title='isisfish.advancedParameters.title'> <fr.ifremer.isisfish.ui.simulator.AdvancedParamsUI id="advancedParamsUI" constructorParams='this'/> Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2015-06-23 14:21:05 UTC (rev 4282) @@ -252,14 +252,6 @@ onItemStateChanged='handler.enableOptimization()' enabled="{getRegionStorage() != null}" /> </cell> - <cell fill="horizontal" weightx="1"> - <JCheckBox text="isisfish.params.sensitivityOnlyKeepFirstResult" - id="sensitivityOnlyKeepFirstResultCheckBox" - selected='{handler.getParameters().isSensitivityAnalysisOnlyKeepFirst()}' - visible='{isSensitivity()}' - onItemStateChanged='handler.getParameters().setSensitivityAnalysisOnlyKeepFirst(sensitivityOnlyKeepFirstResultCheckBox.isSelected())' - enabled="{getRegionStorage() != null}" /> - </cell> </row> </Table> </cell> Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceHandler.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceHandler.java 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceHandler.java 2015-06-23 14:21:05 UTC (rev 4282) @@ -59,6 +59,10 @@ } public void refresh() { + // not existing binding (reload old simulation) + tabUI.resultDeleteAfterExportCheckBox.setSelected(getParameters().isResultDeleteAfterExport()); + tabUI.sensitivityOnlyKeepFirstResultCheckBox.setSelected(getParameters().isSensitivityAnalysisOnlyKeepFirst()); + setResultNameModel(); } Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoiceUI.jaxx 2015-06-23 14:21:05 UTC (rev 4282) @@ -26,6 +26,9 @@ <ResultChoiceHandler id="handler" constructorParams="this" /> + <!-- ui state when editing --> + <Boolean id='sensitivity' javaBean='false' /> + <script><![CDATA[ protected void $afterCompleteSetup() { handler.afterInit(); @@ -40,6 +43,27 @@ selectionModel="{new jaxx.runtime.swing.OneClicListSelectionModel(listResultNames.getSelectionModel(), listResultNames.getModel())}" onValueChanged='handler.saveParametersResultNames(event)' /> </JScrollPane> - <JButton constraints='BorderLayout.SOUTH' text="isisfish.common.saveNextSimulation" onActionPerformed='handler.saveConfigResultNames()'/> + + <Table constraints='BorderLayout.SOUTH'> + <row> + <cell fill="horizontal" weightx="1"> + <JCheckBox text="isisfish.params.resultDeleteAfterExport" + id="resultDeleteAfterExportCheckBox" + selected='{handler.getParameters().isResultDeleteAfterExport()}' + visible='{!isSensitivity()}' + onItemStateChanged='handler.getParameters().setResultDeleteAfterExport(resultDeleteAfterExportCheckBox.isSelected())' /> + </cell> + <cell fill="horizontal" weightx="1"> + <JCheckBox text="isisfish.params.sensitivityOnlyKeepFirstResult" + id="sensitivityOnlyKeepFirstResultCheckBox" + selected='{handler.getParameters().isSensitivityAnalysisOnlyKeepFirst()}' + visible='{isSensitivity()}' + onItemStateChanged='handler.getParameters().setSensitivityAnalysisOnlyKeepFirst(sensitivityOnlyKeepFirstResultCheckBox.isSelected())' /> + </cell> + <cell fill="horizontal" weightx="1"> + <JButton text="isisfish.common.saveNextSimulation" onActionPerformed='handler.saveConfigResultNames()'/> + </cell> + </row> + </Table> </JPanel> Modified: trunk/src/main/resources/i18n/isis-fish_en_GB.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2015-06-23 14:21:05 UTC (rev 4282) @@ -619,6 +619,7 @@ isisfish.params.numberMonth=Number of months isisfish.params.populationEffectives=%s's effectives isisfish.params.populationEffectives.factorTooltip=Define %s's effectives as factor (replace default effectives) +isisfish.params.resultDeleteAfterExport=Delete results after exports execution isisfish.params.rules=Rules isisfish.params.rules.availables=Available rules isisfish.params.rules.ruleSetFactor=Define rule set factor (replace default rule set) Modified: trunk/src/main/resources/i18n/isis-fish_fr_FR.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2015-06-23 13:10:39 UTC (rev 4281) +++ trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2015-06-23 14:21:05 UTC (rev 4282) @@ -619,6 +619,7 @@ isisfish.params.numberMonth=Nombre de mois isisfish.params.populationEffectives=Effectifs %s isisfish.params.populationEffectives.factorTooltip=Définir les effectifs de %s en tant que facteur (Remplace les effectifs par défaut) +isisfish.params.resultDeleteAfterExport=Supprimer les résultats après les exports isisfish.params.rules=Règles isisfish.params.rules.availables=Règles disponibles isisfish.params.rules.ruleSetFactor=Définir un facteur d'ensembles de règles (remplace le jeu de règle par defaut)