Author: echatellier Date: 2012-08-27 17:04:12 +0200 (Mon, 27 Aug 2012) New Revision: 3733 Url: http://forge.codelutin.com/repositories/revision/isis-fish/3733 Log: fixes #1420: Add option to delete sensitivity analysis result 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/launcher/InProcessSimulatorLauncher.java trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.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 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2012-08-27 15:04:12 UTC (rev 3733) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2010 - 2011 Ifremer, Code Lutin, Chatellier Eric + * Copyright (C) 2010 - 2012 Ifremer, Code Lutin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -96,30 +96,30 @@ * * @return Description property. */ - public abstract String getDescription(); + public String getDescription(); /** * Set simulation description. * * @param description the description to set. */ - public abstract void setDescription(String description); + public void setDescription(String description); /** * Load region corresponding to {@link #getRegionName()}. * * @return the region */ - public abstract RegionStorage getRegion(); + public RegionStorage getRegion(); - public abstract MatrixND getNumberOf(Population pop); + public MatrixND getNumberOf(Population pop); /** * Get extra rules list. * * @return Returns the extraRules. */ - public abstract List<String> getExtraRules(); + public List<String> getExtraRules(); /** * Add extra rules. @@ -129,19 +129,19 @@ * * @param extraRules extra rules to add */ - public abstract void addExtraRules(String... extraRules); + public void addExtraRules(String... extraRules); /** * Get instantiated population list. * * @return Returns the populations. */ - public abstract List<Population> getPopulations(); + public List<Population> getPopulations(); /** * @param populations The populations to set. */ - public abstract void setPopulations(List<Population> populations); + public void setPopulations(List<Population> populations); /** * Get instantiated strategies list. @@ -150,21 +150,21 @@ * * @return Returns the strategies. */ - public abstract List<Strategy> getStrategies(); + public List<Strategy> getStrategies(); /** * Set strategies list. * * @param strategies strategies list to set */ - public abstract void setStrategies(List<Strategy> strategies); + public void setStrategies(List<Strategy> strategies); /** * Add new simulation plan. * * @param plan simulation plan to add */ - public abstract void addSimulationPlan(SimulationPlan plan); + public void addSimulationPlan(SimulationPlan plan); /** * Remove a plan. @@ -172,7 +172,7 @@ * @param plan * @return {@code true} if this list contained the specified element */ - public abstract boolean removeSimulationPlan(SimulationPlan plan); + public boolean removeSimulationPlan(SimulationPlan plan); /** * Get instantiated simulation plan list. @@ -181,32 +181,32 @@ * * @return the plans. */ - public abstract List<SimulationPlan> getSimulationPlans(); + public List<SimulationPlan> getSimulationPlans(); /** * Set plans list. * * @param plans plans to set */ - public abstract void setSimulationPlans(List<SimulationPlan> plans); + public void setSimulationPlans(List<SimulationPlan> plans); /** * Return {@code true} if simulation is composed of independent plan only. * * @return {@code true} if all {@link SimulationPlan} are {@link SimulationPlanIndependent} */ - public abstract boolean isIndependentPlan(); + public boolean isIndependentPlan(); /** * Clear plan list. */ - public abstract void clearPlans(); + public void clearPlans(); /** * Add new rule to rules list. * @param rule rule to add */ - public abstract void addRule(Rule rule); + public void addRule(Rule rule); /** * Remove a rule. @@ -214,26 +214,26 @@ * @param rule rule to remove * @return {@code true} if this list contained the specified element */ - public abstract boolean removeRule(Rule rule); + public boolean removeRule(Rule rule); /** * Get parameters rules list. * * @return the rules */ - public abstract List<Rule> getRules(); + public List<Rule> getRules(); /** * Set simulation rules. * * @param rules rules to set */ - public abstract void setRules(List<Rule> rules); + public void setRules(List<Rule> rules); /** * Clear rule list. */ - public abstract void clearRules(); + public void clearRules(); /** * Return if optimization sould be used. @@ -242,14 +242,14 @@ * * @return use optimization */ - public abstract boolean getUseOptimization(); + public boolean getUseOptimization(); /** * Change use optimization parameter. * * @param useOptimization use optimization to set */ - public abstract void setUseOptimization(boolean useOptimization); + public void setUseOptimization(boolean useOptimization); /** * Return if statistic sould be used. @@ -258,28 +258,28 @@ * * @return use statistic */ - public abstract boolean getUseStatistic(); + public boolean getUseStatistic(); /** * Change use statistic property. * * @param useStatistic use statistic to set */ - public abstract void setUseStatistic(boolean useStatistic); + public void setUseStatistic(boolean useStatistic); /** * Get export names list. * * @return export names list */ - public abstract List<String> getExportNames(); + public List<String> getExportNames(); /** * Set export names list. * * @param exportNames export names list to set */ - public abstract void setExportNames(List<String> exportNames); + public void setExportNames(List<String> exportNames); /** * Get number of sensitivity simulation. @@ -288,44 +288,59 @@ * * @return the numberOfSensitivitySimulation */ - public abstract int getNumberOfSensitivitySimulation(); + public int getNumberOfSensitivitySimulation(); /** * Set number of sensitivity simulation. * * @param numberOfSensitivitySimulation number of sensitivity simulation to set */ - public abstract void setNumberOfSensitivitySimulation( + public void setNumberOfSensitivitySimulation( int numberOfSensitivitySimulation); /** - * Get instantiated sensitivity calculator. + * Get instantiated sensitivity analysis. * * Default to : null. * * @return the sensitivityAnalysis */ - public abstract SensitivityAnalysis getSensitivityAnalysis(); + public SensitivityAnalysis getSensitivityAnalysis(); /** * @param sensitivityAnalysis the sensitivityAnalysis to set */ - public abstract void setSensitivityAnalysis( - SensitivityAnalysis sensitivityAnalysis); + public void setSensitivityAnalysis(SensitivityAnalysis sensitivityAnalysis); + + /** + * Get only keep first result policy. + * + * @return only keep first result policy + * @since 4.1.1.0 + */ + public boolean isSensitivityAnalysisOnlyKeepFirst(); /** + * Change only keep first result policy. + * + * @param onlyKeepFirst only keep first result policy + * @since 4.1.1.0 + */ + public void setSensitivityAnalysisOnlyKeepFirst(boolean onlyKeepFirst); + + /** * Return loaded sensitivity export. * * If exports are null or empty, try to load it from last ready parameters. * * @return the sensitivityExportNames */ - public abstract List<SensitivityExport> getSensitivityExport(); + public List<SensitivityExport> getSensitivityExport(); /** * @param sensitivityExport the sensitivityExportNames to set */ - public abstract void setSensitivityExport( + public void setSensitivityExport( List<SensitivityExport> sensitivityExport); /** @@ -333,42 +348,42 @@ * * @return use simulation plan. */ - public abstract boolean getUseSimulationPlan(); + public boolean getUseSimulationPlan(); /** * Set use simulation plans property. * * @param useSimulationPlan use simulation plan to set */ - public abstract void setUseSimulationPlan(boolean useSimulationPlan); + public void setUseSimulationPlan(boolean useSimulationPlan); /** * Get simulation number in simulation plan. * * @return simulation number in simulation plan */ - public abstract int getSimulationPlanNumber(); + public int getSimulationPlanNumber(); /** * Set simulation number in simulation plan. * * @param simulationPlanNumber simulation plan number to set */ - public abstract void setSimulationPlanNumber(int simulationPlanNumber); + public void setSimulationPlanNumber(int simulationPlanNumber); /** * Get number of year to run to simulate. * * @return number of year */ - public abstract int getNumberOfYear(); + public int getNumberOfYear(); /** * Set number of year to run to simulate. * * @param numberOfYear number of year to set */ - public abstract void setNumberOfYear(int numberOfYear); + public void setNumberOfYear(int numberOfYear); /** * Get use prescript. @@ -377,70 +392,70 @@ * * @return Returns the usePreScript. */ - public abstract boolean getUsePreScript(); + public boolean getUsePreScript(); /** * Set use prescript property * * @param usePreScript use preScript to set */ - public abstract void setUsePreScript(boolean usePreScript); + public void setUsePreScript(boolean usePreScript); /** * Get prescript content. * * @return preScript content */ - public abstract String getPreScript(); + public String getPreScript(); /** * Set pre script content. * * @param preScript prescript content */ - public abstract void setPreScript(String preScript); + public void setPreScript(String preScript); /** * Get region name. * * @return region name */ - public abstract String getRegionName(); + public String getRegionName(); /** * Set region name. * * @param regionName region name to set */ - public abstract void setRegionName(String regionName); + public void setRegionName(String regionName); /** * Set simulator name. * * @return simulator name. */ - public abstract String getSimulatorName(); + public String getSimulatorName(); /** * Set simulator name. * * @param simulatorName simulator name to set */ - public abstract void setSimulatorName(String simulatorName); + public void setSimulatorName(String simulatorName); /** * Get enabled result names list. * * @return enabled result names list */ - public abstract Collection<String> getResultEnabled(); + public Collection<String> getResultEnabled(); /** * Set enabled result names list. * * @param resultEnabled enabled result names list */ - public abstract void setResultEnabled(Collection<String> resultEnabled); + public void setResultEnabled(Collection<String> resultEnabled); /** * Get tag values. @@ -449,14 +464,14 @@ * * @return Returns the tagValue. */ - public abstract Map<String, String> getTagValue(); + public Map<String, String> getTagValue(); /** * Set tag values. * * @param tagValue tagValues to set. */ - public abstract void setTagValue(Map<String, String> tagValue); + public void setTagValue(Map<String, String> tagValue); /** * Get simulator log level. @@ -465,14 +480,14 @@ * * @return simualtor log level */ - public abstract String getSimulLogLevel(); + public String getSimulLogLevel(); /** * Set simulator log level. * * @param logLevel simulator log level */ - public abstract void setSimulLogLevel(String logLevel); + public void setSimulLogLevel(String logLevel); /** * Get script log level. @@ -481,14 +496,14 @@ * * @return script log level */ - public abstract String getScriptLogLevel(); + public String getScriptLogLevel(); /** * Set script log level. * * @param logLevel script log level */ - public abstract void setScriptLogLevel(String logLevel); + public void setScriptLogLevel(String logLevel); /** * Get librairies log level. @@ -497,38 +512,38 @@ * * @return librairies log level */ - public abstract String getLibLogLevel(); + public String getLibLogLevel(); /** * Set lib log level. * * @param logLevel */ - public abstract void setLibLogLevel(String logLevel); + public void setLibLogLevel(String logLevel); - public abstract boolean isSimulErrorLevel(); + public boolean isSimulErrorLevel(); - public abstract boolean isSimulWarnLevel(); + public boolean isSimulWarnLevel(); - public abstract boolean isSimulInfoLevel(); + public boolean isSimulInfoLevel(); - public abstract boolean isSimulDebugLevel(); + public boolean isSimulDebugLevel(); - public abstract boolean isScriptErrorLevel(); + public boolean isScriptErrorLevel(); - public abstract boolean isScriptWarnLevel(); + public boolean isScriptWarnLevel(); - public abstract boolean isScriptInfoLevel(); + public boolean isScriptInfoLevel(); - public abstract boolean isScriptDebugLevel(); + public boolean isScriptDebugLevel(); - public abstract boolean isLibErrorLevel(); + public boolean isLibErrorLevel(); - public abstract boolean isLibWarnLevel(); + public boolean isLibWarnLevel(); - public abstract boolean isLibInfoLevel(); + public boolean isLibInfoLevel(); - public abstract boolean isLibDebugLevel(); + public boolean isLibDebugLevel(); /** * Permet d'ajouter des parametres directement à partir de leur @@ -551,7 +566,7 @@ * * @return a copy of this instance */ - public abstract SimulationParameter copy(); + public SimulationParameter copy(); /** * Make a deep copy of current parameters. @@ -561,14 +576,14 @@ * * @return new parameters instance */ - public abstract SimulationParameter deepCopy(); + public SimulationParameter deepCopy(); /** * The toString() method call getters. * * So make instances of rules/export/plans... */ - public abstract String toString(); + public String toString(); /** * Permet de convertir l'objet SimulationParameter en un objet Properties @@ -586,14 +601,14 @@ * @return L'objet Properties representant les parametres * @see #fromProperties(Properties) */ - public abstract Properties toProperties(); + public Properties toProperties(); /** * Load properties from file. * * @param props property to read */ - public abstract void fromProperties(Properties props); + public void fromProperties(Properties props); /** * Reload parameters du to context change. @@ -604,6 +619,6 @@ * * @throws TopiaException */ - public abstract void reloadContextParameters() throws TopiaException; + public void reloadContextParameters() throws TopiaException; } \ No newline at end of file Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2012-08-27 15:04:12 UTC (rev 3733) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2010 Ifremer, Code Lutin, Benjamin Poussin, Chatellier Eric + * Copyright (C) 2010 - 2012 Ifremer, Code Lutin, Benjamin Poussin, Chatellier Eric * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -533,9 +533,21 @@ SimulationParameter param = getParam(); param.setSimulationPlanNumber(simulationPlanNumber); store(param); - } + @Override + public boolean isSensitivityAnalysisOnlyKeepFirst() { + SimulationParameter param = getParam(); + return param.isSensitivityAnalysisOnlyKeepFirst(); + } + + @Override + public void setSensitivityAnalysisOnlyKeepFirst(boolean onlyKeepFirst) { + SimulationParameter param = getParam(); + param.setSensitivityAnalysisOnlyKeepFirst(onlyKeepFirst); + 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 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2012-08-27 15:04:12 UTC (rev 3733) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2006 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin + * Copyright (C) 2006 - 2012 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -141,7 +141,7 @@ /** Utilisation du plan de simulation. */ protected Boolean useSimulationPlan; - /** + /** * Le numero de sequence de la liste des plans de simulation. Le premier * élement du plan doit etre 0. Si la simulation ne fait pas partie d'un * plan la valeur est -1. */ @@ -160,6 +160,14 @@ */ protected Integer numberOfSensitivitySimulation; + /** + * Dans une analyze de sensibilite, conserver les résultats de toutes + * les simulations est inutile, seule les résultats de la premières + * sont nécéssaires. Les resultats peuvent être supprimés après les + * export de données. + */ + protected Boolean sensitivityAnalysisOnlyKeepFirst; + /** Script utilisé pour les analyses de sensibilités. */ protected SensitivityAnalysis sensitivityAnalysis; @@ -866,7 +874,7 @@ useSimulationPlan = Boolean.FALSE; } } - return this.useSimulationPlan; + return useSimulationPlan; } /* @@ -892,7 +900,7 @@ } } - return this.simulationPlanNumber.intValue(); + return simulationPlanNumber.intValue(); } /* @@ -903,6 +911,25 @@ this.simulationPlanNumber = simulationPlanNumber; } + @Override + public boolean isSensitivityAnalysisOnlyKeepFirst() { + if (sensitivityAnalysisOnlyKeepFirst == null) { + + if (propertiesParameters != null) { + sensitivityAnalysisOnlyKeepFirst = Boolean.valueOf(propertiesParameters.getProperty("sensitivityAnalysisOnlyKeepFirst", "-1")); + } else { + sensitivityAnalysisOnlyKeepFirst = Boolean.FALSE; + } + } + + return sensitivityAnalysisOnlyKeepFirst.booleanValue(); + } + + @Override + public void setSensitivityAnalysisOnlyKeepFirst(boolean onlyKeepFirst) { + sensitivityAnalysisOnlyKeepFirst = onlyKeepFirst; + } + /* * @see fr.ifremer.isisfish.simulator.SimulationParameter#getNumberOfYear() */ @@ -1620,6 +1647,9 @@ } } + // sensitivity params + result.setProperty("sensitivityAnalysisOnlyKeepFirst", String.valueOf(isSensitivityAnalysisOnlyKeepFirst())); + result.setProperty("usePreScript", String.valueOf(getUsePreScript())); result.setProperty("preScript", getPreScript()); result.setProperty("useSimulationPlan", String.valueOf(getUseSimulationPlan())); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2012-08-27 15:04:12 UTC (rev 3733) @@ -48,6 +48,7 @@ import org.nuiton.util.FileUtil; import org.nuiton.util.ObjectUtil; import org.nuiton.util.StringUtil; +import org.nuiton.util.ZipUtil; import fr.ifremer.isisfish.IsisConfig; import fr.ifremer.isisfish.IsisFish; @@ -425,6 +426,12 @@ // quand date =progressMax control.setProgress(control.getProgress() + 1); + // 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")) { + context.getDbResult().clear(true); + } + } catch (OutOfMemoryError eee) { log.error(_("isisfish.error.during.simulation"), eee); simulation.getInformation().setException(eee); @@ -479,7 +486,7 @@ log.debug("Delete simulation build directory : " + simulationBuildDirectory.getAbsolutePath()); } FileUtil.deleteRecursively(simulationBuildDirectory); - + // context is used in Trace.printStatistiqueAndClear() SimulationContext.remove(); } Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2012-08-27 15:04:12 UTC (rev 3733) @@ -414,14 +414,7 @@ if (resultArchiveFile != null) { - // FIXME big hacks here, only extract non first simulation - // only for AS - if (control.getId().startsWith("as_") && !control.getId().endsWith("_0")) { - ZipUtil.uncompressFiltred(resultArchiveFile, SimulationStorage.getSimulationDirectory(), ".*/data/.*"); - } - else { - ZipUtil.uncompressFiltred(resultArchiveFile, SimulationStorage.getSimulationDirectory()); - } + ZipUtil.uncompressFiltred(resultArchiveFile, SimulationStorage.getSimulationDirectory()); if (log.isDebugEnabled()) { log.debug("Simulation imported : " + resultArchiveFile.getAbsolutePath()); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2012-08-27 15:04:12 UTC (rev 3733) @@ -223,7 +223,9 @@ } /** - * @return les SimulatorLauncher et leurs noms + * Retour les lanceurs ayant un executor. + * + * @return les SimulatorLauncher */ public List<SimulatorLauncher> getSimulationLaunchers() { List<SimulatorLauncher> result = new ArrayList<SimulatorLauncher>( Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2012-08-27 15:04:12 UTC (rev 3733) @@ -5,7 +5,7 @@ $Id$ $HeadURL$ %% - Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric + Copyright (C) 2009 - 2012 Ifremer, CodeLutin, Chatellier Eric %% This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2012-08-27 15:04:12 UTC (rev 3733) @@ -135,19 +135,19 @@ }); } } -protected void setPreScript() { +protected void initSimulationParams() { if (!isSensitivity()){ + // prescript String preScript = simulAction.getSimulationParameter().getPreScript(); fieldUseSimulPreScripts.setSelected(preScript != null && !preScript.isEmpty()); getParentContainer(SimulUI.class).getPreScriptUI().getFieldSimulPreScript().setText(preScript); - } -} -protected void setSimulationPlan() { - if (!isSensitivity()){ + + // simulation plan fieldSimulUseSimulationPlan.setSelected(simulAction.getSimulationParameter().getUseSimulationPlan()); getParentContainer(SimulUI.class).getSensUI().refresh(); } } + protected void setSensitivityTabRegion() { if (isSensitivity()) { try { @@ -167,24 +167,19 @@ } } } -protected void setFactor() { +protected void initSensitivityParams() { if (isSensitivity()) { + getParentContainer(SensitivityUI.class).getSensitivityChooserUI().refreshSelectedSensitivityAnalysis(); getParentContainer(SensitivityUI.class).getSensitivityTabUI().setFactorModel(); - } -} -protected void setExportSens() { - if (isSensitivity()) { getParentContainer(SensitivityUI.class).getSensitivityChooserUI().setSensitivityExportListModel(); + sensitivityOnlyKeepFirstResultCheckBox.setSelected(simulAction.getSimulationParameter().isSensitivityAnalysisOnlyKeepFirst()); } } -protected void setSensitivityAnalysis() { - if (isSensitivity()){ - getParentContainer(SensitivityUI.class).getSensitivityChooserUI().refreshSelectedSensitivityAnalysis(); - } -} + public void setSimulationParameter(SimulAction simulAction){ simulAction.setSimulationParameter(simulAction.getSimulationParameter()); } + protected void loadOldSimulation() { final String selected = fieldSimulParamsSelect.getSelectedItem().toString(); // le premier item est " " pour ne pas avoir de selection par defaut @@ -198,11 +193,8 @@ fieldSimulParamsRegion.setSelectedItem(getContextValue(SimulAction.class).getSimulationParameter().getRegionName()); // mise a jour des années fieldSimulParamsNbAnnees.setText(String.valueOf(simulAction.getNumberOfYear())); - setPreScript(); - setSimulationPlan(); - setExportSens(); - setSensitivityAnalysis(); - setFactor(); + initSimulationParams(); + initSensitivityParams(); // regles ruleChooser.setRulesList(simulAction.getSimulationParameter().getRules()); @@ -502,14 +494,14 @@ <cell fill="horizontal" weightx="1.0"> <Table> <row> - <cell fill="horizontal" weightx="0.3"> + <cell fill="horizontal" weightx="1"> <JCheckBox text="isisfish.params.usePreSimulationScript" id="fieldUseSimulPreScripts" selected='{simulAction.getSimulationParameter().getUsePreScript()}' visible='{!isSensitivity()}' onItemStateChanged='enablePreScript()' /> </cell> - <cell fill="horizontal" weightx="0.3"> + <cell fill="horizontal" weightx="1"> <JCheckBox text="isisfish.params.useSimulationPlan" id="fieldSimulUseSimulationPlan" selected='{simulAction.getSimulationParameter().getUseSimulationPlan()}' @@ -517,6 +509,14 @@ onItemStateChanged='enableSimulationPlan()' enabled="{getRegionStorage() != null}" /> </cell> + <cell fill="horizontal" weightx="1"> + <JCheckBox text="isisfish.params.sensitivityOnlyKeepFirstResult" + id="sensitivityOnlyKeepFirstResultCheckBox" + selected='{simulAction.getSimulationParameter().isSensitivityAnalysisOnlyKeepFirst()}' + visible='{isSensitivity()}' + onItemStateChanged='simulAction.getSimulationParameter().setSensitivityAnalysisOnlyKeepFirst(sensitivityOnlyKeepFirstResultCheckBox.isSelected())' + enabled="{getRegionStorage() != null}" /> + </cell> </row> </Table> </cell> Modified: trunk/src/main/resources/i18n/isis-fish_en_GB.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2012-08-27 15:04:12 UTC (rev 3733) @@ -628,6 +628,7 @@ isisfish.params.rules.availables=Available rules isisfish.params.rules.selected=Selected rules isisfish.params.sensitivityName=Sensitivity name +isisfish.params.sensitivityOnlyKeepFirstResult=Only keep results for first simulation isisfish.params.simulationLauncher=Simulation launcher isisfish.params.simulationName=Simulation name isisfish.params.stategiesAndPopulations=Strategies and populations Modified: trunk/src/main/resources/i18n/isis-fish_fr_FR.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2012-08-27 12:11:46 UTC (rev 3732) +++ trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2012-08-27 15:04:12 UTC (rev 3733) @@ -628,6 +628,7 @@ isisfish.params.rules.availables=Règles disponibles isisfish.params.rules.selected=Règles sélectionnées isisfish.params.sensitivityName=Nom de l'analyse de sensibilité +isisfish.params.sensitivityOnlyKeepFirstResult=Ne conserver les résultats que pour la première simulation. isisfish.params.simulationLauncher=Lanceur de simulation isisfish.params.simulationName=Nom de la simulation isisfish.params.stategiesAndPopulations=Stratégies et populations