r1992 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n
Author: chatellier Date: 2009-03-18 10:09:52 +0000 (Wed, 18 Mar 2009) New Revision: 1992 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties Log: Add button to only display results. Play with beanbindings. Update I18N. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2009-03-17 17:28:22 UTC (rev 1991) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2009-03-18 10:09:52 UTC (rev 1992) @@ -41,7 +41,26 @@ import fr.ifremer.isisfish.ui.widget.editor.GenericCell; import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor; import fr.ifremer.isisfish.datastore.SimulationStorage; + import org.jdesktop.beansbinding.Bindings; + import org.jdesktop.beansbinding.ELProperty; + import org.jdesktop.beansbinding.AutoBinding; + import org.jdesktop.beansbinding.BeanProperty; + initBindings(); + + protected void initBindings() { + Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ, + fieldSensitivitySimulationSelect, + ELProperty.create("${selectedItem != null}"), + runSecondPassButton, + BeanProperty.create("enabled")).bind(); + Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ, + fieldSensitivitySimulationSelect, + ELProperty.create("${selectedItem != null}"), + displaySecondPassButton, + BeanProperty.create("enabled")).bind(); + } + /** * Model de contenu de la liste des nom de simulations */ @@ -72,9 +91,16 @@ protected void launchSecondPass(ActionEvent event) { if (fieldSensitivitySimulationSelect.getSelectedIndex() != -1) { + getSimulAction().runSensitivitySecondPass((String)fieldSensitivitySimulationSelect.getSelectedItem()); + displaySensitivitySecondPass(event); + } + } + + protected void displaySensitivitySecondPass(ActionEvent event) { + if (fieldSensitivitySimulationSelect.getSelectedIndex() != -1) { try { - List<File> files = getSimulAction().runSensitivitySecondPass((String)fieldSensitivitySimulationSelect.getSelectedItem()); + List<File> files = getSimulAction().getSensitivitySecondPassResults((String)fieldSensitivitySimulationSelect.getSelectedItem()); String content = ""; for(File file : files) { @@ -100,12 +126,15 @@ <JComboBox id="fieldSensitivitySimulationSelect" model='{getSensitivitySimulationModel()}' /> </cell> <cell fill="horizontal"> - <JButton text='isisfish.sensitivity.secondpass' onActionPerformed='launchSecondPass(event)' /> + <JButton id="runSecondPassButton" text='isisfish.sensitivity.secondpass' onActionPerformed='launchSecondPass(event)' enabled="false" /> </cell> + <cell fill="horizontal"> + <JButton id="displaySecondPassButton" text='isisfish.sensitivity.displaysecondpass' onActionPerformed='displaySensitivitySecondPass(event)' enabled="false" /> + </cell> </row> <row> - <cell columns="2" fill="both" weightx="1.0" weighty="1.0"> - <JTextArea id='textAreaSensitivitySecondpassResult' text=''/> + <cell columns="3" fill="both" weightx="1.0" weighty="1.0"> + <JTextArea id='textAreaSensitivitySecondpassResult' text='' editable="false" /> </cell> </row> </Table> \ No newline at end of file Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-17 17:28:22 UTC (rev 1991) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-18 10:09:52 UTC (rev 1992) @@ -25,6 +25,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.Serializable; import java.lang.reflect.Field; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -34,12 +35,17 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.SortedMap; +import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.JComponent; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelutin.log.UserLog; +import org.codelutin.math.matrix.MatrixND; import org.codelutin.topia.TopiaContext; import fr.ifremer.isisfish.IsisFish; @@ -74,9 +80,6 @@ import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; import fr.ifremer.isisfish.ui.widget.ErrorDialogUI; import fr.ifremer.isisfish.ui.widget.filter.FilterModel; -import java.io.Serializable; -import javax.swing.JComponent; -import org.codelutin.math.matrix.MatrixND; /** * SimulAction. @@ -847,24 +850,19 @@ * Lance la second passe d'une analyse de sensibilité. * * @param masterSensitivitySimulationName nom du prefix de toutes les simulations (without _) - * - * @return les fichiers genere lors de la seconde passe (seulement ceux qui ne commence pas par ".") */ - public List<File> runSensitivitySecondPass(String masterSensitivitySimulationName) { - - List<File> result = new ArrayList<File>(); - - // following code may be factorizable with : - // fr.ifremer.isisfish.simulator.launcher.SimulationMonitor.analyzeSensitivityResult(SimulationJob, SimulationStorage) - + public void runSensitivitySecondPass(String masterSensitivitySimulationName) { + // calculator found SensitivityCalculator sensitivityCalculator = null; - List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>(); + //List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>(); + SortedMap<Integer, SimulationStorage> simulationStorageForAnalyze = new TreeMap<Integer, SimulationStorage>(); File simuationDirectory = SimulationStorage.getSimulationDirectory(); for (File simuation : simuationDirectory.listFiles()) { if (simuation.isDirectory() && simuation.getName().startsWith(masterSensitivitySimulationName + "_")) { SimulationStorage storage = SimulationStorage.getSimulation(simuation.getName()); - simulationStorageForAnalyze.add(storage); + String suffix = simuation.getName().substring(simuation.getName().lastIndexOf("_") + 1); + simulationStorageForAnalyze.put(Integer.valueOf(suffix), storage); if (sensitivityCalculator == null) { // try to find find calculator name in one storage @@ -881,14 +879,9 @@ if( !masterExportDirectory.isDirectory()) { masterExportDirectory.mkdirs(); } - sensitivityCalculator.analyzeResult(simulationStorageForAnalyze, masterExportDirectory); - - // FIXME take all files ? - for(File exportFile : masterExportDirectory.listFiles()) { - if (exportFile.isFile() && !exportFile.getName().startsWith(".")) { - result.add(exportFile); - } - } + List<SimulationStorage> simulationStorageForAnalyzeList = + new ArrayList<SimulationStorage>(simulationStorageForAnalyze.values()); + sensitivityCalculator.analyzeResult(simulationStorageForAnalyzeList, masterExportDirectory); } catch(SensitivityException e) { if (log.isErrorEnabled()) { @@ -901,7 +894,29 @@ log.warn("Can't run sensitivity second pass"); } } - + } + + /** + * Renvoie les resultats de la seconde pass. + * + * @param masterSensitivitySimulationName nom du prefix de toutes les simulations (without _) + * + * @return les fichiers genere lors de la seconde passe (seulement ceux qui ne commence pas par ".") + */ + public List<File> getSensitivitySecondPassResults(String masterSensitivitySimulationName) { + + List<File> result = new ArrayList<File>(); + + // build master sensitivity export directory + File masterExportDirectory = new File(IsisFish.config.getDefaultExportDirectory(), masterSensitivitySimulationName); + if( masterExportDirectory.isDirectory()) { + for(File exportFile : masterExportDirectory.listFiles()) { + if (exportFile.isFile() && !exportFile.getName().startsWith(".")) { + result.add(exportFile); + } + } + } + return result; } } Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-17 17:28:22 UTC (rev 1991) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-18 10:09:52 UTC (rev 1992) @@ -671,19 +671,19 @@ isisfish.populationEquation.meanWeight=Mean weight isisfish.populationEquation.naturalDeathRate=Natural death rate isisfish.populationEquation.price=Price -isisfish.populationEquation.title=inputPopulationEquation -isisfish.populationGroup.age=age +isisfish.populationEquation.title=Equations input +isisfish.populationGroup.age=Age isisfish.populationGroup.comments=Comments -isisfish.populationGroup.length=length -isisfish.populationGroup.meanWeigth=meanWeigth -isisfish.populationGroup.naturalDeathRate=naturalDeathRate -isisfish.populationGroup.price=price -isisfish.populationGroup.reproductionRate=reproductionRate -isisfish.populationGroup.title=inputPopulationGroup +isisfish.populationGroup.length=Length +isisfish.populationGroup.meanWeigth=Mean Weigth +isisfish.populationGroup.naturalDeathRate=Natural death rate +isisfish.populationGroup.price=Price +isisfish.populationGroup.reproductionRate=Reproduction rate +isisfish.populationGroup.title=Population group input isisfish.populationGroup.toString=%1$s Group %2$s isisfish.populationMigration.comments=Comments isisfish.populationMigration.selectSeason=Select a season -isisfish.populationMigration.title=inputPopulationMigration +isisfish.populationMigration.title=Migration isisfish.populationMigration.useEquation=Use equation isisfish.populationMigrationEmigration.coefficient=Coefficient isisfish.populationMigrationEmigration.departureZone=Departure Zone @@ -858,6 +858,7 @@ isisfish.sensWizardPanels.validate=Validate isisfish.sensWizardPanels.values=Values isisfish.sensibilityWizard.title=Sensibility Wizard +isisfish.sensitivity.displaysecondpass=Display results isisfish.sensitivity.export=Export isisfish.sensitivity.secondpass=Analyze results isisfish.sensitivity.secondpass.title=Analyze results Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties =================================================================== --- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-17 17:28:22 UTC (rev 1991) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-18 10:09:52 UTC (rev 1992) @@ -671,13 +671,13 @@ isisfish.populationEquation.meanWeight=Poids principal isisfish.populationEquation.naturalDeathRate=Taux de mortalit\u00E9 naturelle isisfish.populationEquation.price=Prix -isisfish.populationEquation.title=inputPopulationEquation -isisfish.populationGroup.age=age +isisfish.populationEquation.title=Saisie des \u00E9quations +isisfish.populationGroup.age=Age isisfish.populationGroup.comments=Commentaires -isisfish.populationGroup.length=longueur +isisfish.populationGroup.length=Longueur isisfish.populationGroup.meanWeigth=Poids principal isisfish.populationGroup.naturalDeathRate=Taux de mortalit\u00E9 naturelle -isisfish.populationGroup.price=prix +isisfish.populationGroup.price=Prix isisfish.populationGroup.reproductionRate=Taux de reproduction isisfish.populationGroup.title=Saisie des groupes de population isisfish.populationGroup.toString=%1$s Groupe %2$s @@ -858,6 +858,7 @@ isisfish.sensWizardPanels.validate=Valider isisfish.sensWizardPanels.values=Valeurs isisfish.sensibilityWizard.title=Sensibility Wizard +isisfish.sensitivity.displaysecondpass=Afficher les r\u00E9sultats isisfish.sensitivity.export=Export isisfish.sensitivity.secondpass=Analyse des r\u00E9sultats isisfish.sensitivity.secondpass.title=Analyse des r\u00E9sultats
participants (1)
-
chatellier@users.labs.libre-entreprise.org