Author: echatellier Date: 2015-04-28 08:21:17 +0000 (Tue, 28 Apr 2015) New Revision: 4212 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4212 Log: Refactoring and misc fixes Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java trunk/src/main/java/fr/ifremer/isisfish/actions/package-info.java trunk/src/main/java/fr/ifremer/isisfish/simulator/PopulationMonitor.java trunk/src/main/resources/i18n/isis-fish_en_GB.properties Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2015-04-28 08:12:57 UTC (rev 4211) +++ trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2015-04-28 08:21:17 UTC (rev 4212) @@ -93,48 +93,56 @@ System.out.println(sb.toString()); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listSimulationPlan(String filter) throws Exception { List<String> names = SimulationPlanStorage.getSimulationPlanNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listExport(String filter) throws Exception { List<String> names = ExportStorage.getExportNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listRule(String filter) throws Exception { List<String> names = RuleStorage.getRuleNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listScript(String filter) throws Exception { List<String> names = ScriptStorage.getScriptNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listRegion(String filter) throws Exception { List<String> names = RegionStorage.getRegionNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listSimulation(String filter) throws Exception { List<String> names = SimulationStorage.getSimulationNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listSimulator(String filter) throws Exception { List<String> names = SimulatorStorage.getSimulatorNames(); applyFilter(filter, names); display(filter, names); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void listFormula(String filter) throws Exception { List<String> names = new ArrayList<String>(); for (String name : FormuleStorage.getCategories()) { @@ -150,6 +158,7 @@ // ////////////////////////////////////////////////////////////////////////// + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportRegion(File file, String name, boolean force) throws Exception { log.info("file:" + file + ", name:" + name); if (!force && file.exists()) { @@ -183,6 +192,7 @@ } } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportSimulationPlan(File file, String name, boolean force) throws Exception { if (!force && file.exists()) { throw new IllegalArgumentException(t("destination already exists %s use 'force' argument to force overwrite", file)); @@ -194,7 +204,8 @@ String content = storage.getContent(); FileUtils.writeStringToFile(file, content); } - + + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportRule(File file, String name, boolean force) throws Exception { if (!force && file.exists()) { throw new IllegalArgumentException(t("destination already exists %s use 'force' argument to force overwrite", file)); @@ -207,6 +218,7 @@ FileUtils.writeStringToFile(file, content); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportScript(File file, String name, boolean force) throws Exception { if (!force && file.exists()) { throw new IllegalArgumentException(t("destination already exists %s use 'force' argument to force overwrite", file)); @@ -219,6 +231,7 @@ FileUtils.writeStringToFile(file, content); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportExport(File file, String name, boolean force) throws Exception { if (!force && file.exists()) { throw new IllegalArgumentException(t("destination already exists %s use 'force' argument to force overwrite", file)); @@ -231,6 +244,7 @@ FileUtils.writeStringToFile(file, content); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportSimulator(File file, String name, boolean force) throws Exception { if (!force && file.exists()) { throw new IllegalArgumentException(t("destination already exists %s use 'force' argument to force overwrite", file)); @@ -243,6 +257,7 @@ FileUtils.writeStringToFile(file, content); } + @Step(IsisConfig.STEP_AFTER_INIT_VCS) public void exportFormula(File file, String category, String name, boolean force) throws Exception { if (!force && file.exists()) { throw new IllegalArgumentException(t("destination already exists %s use 'force' argument to force overwrite", file)); Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/package-info.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/actions/package-info.java 2015-04-28 08:12:57 UTC (rev 4211) +++ trunk/src/main/java/fr/ifremer/isisfish/actions/package-info.java 2015-04-28 08:21:17 UTC (rev 4212) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 1999 - 2010 Ifremer, CodeLutin, Chatellier Eric + * Copyright (C) 1999 - 2015 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 @@ -26,4 +26,3 @@ * Command line actions classes implementation. */ package fr.ifremer.isisfish.actions; - Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/PopulationMonitor.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/PopulationMonitor.java 2015-04-28 08:12:57 UTC (rev 4211) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/PopulationMonitor.java 2015-04-28 08:21:17 UTC (rev 4212) @@ -247,7 +247,7 @@ new List[] { pop.getPopulationGroup(), pop.getPopulationZone() }); - ReproductionDataMap mapAAndRs = new ReproductionDataMap(); + ReproductionDataMap reproductionDataMap = new ReproductionDataMap(); // pour chaque for (int e = 0; e < etalement; e++) { @@ -255,12 +255,12 @@ TimeStep t = new TimeStep(step.getStep() - e - pop.getMonthGapBetweenReproRecrutement()); - ReproductionData aAndR = reproductions.get(pop).get(t); + ReproductionData reproductionData = reproductions.get(pop).get(t); - if (aAndR != null) { // si une repro existe pour le mois + if (reproductionData != null) { // si une repro existe pour le mois - mapAAndRs.put(t, aAndR); - MatrixND repro = aAndR.getRepro(); + reproductionDataMap.put(t, reproductionData); + MatrixND repro = reproductionData.getRepro(); // on fait la correspondance entre les zones repro et // recrutement @@ -309,7 +309,7 @@ // recherche les saisons des differents mois entre les deux dates List<PopulationSeasonInfo> infos = pop.getPopulationSeasonInfo(); - List<PopulationSeasonInfo> usedSeasons = new ArrayList<PopulationSeasonInfo>(); + List<PopulationSeasonInfo> usedSeasons = new ArrayList<>(); while (step.after(stepRepro)) { stepRepro = stepRepro.next(); @@ -335,7 +335,7 @@ } // calcul recrutement par l'equation - result = pop.getRecruitmentMatrix(step, pop, mapAAndRs, result); + result = pop.getRecruitmentMatrix(step, pop, reproductionDataMap, result); return result; } Modified: trunk/src/main/resources/i18n/isis-fish_en_GB.properties =================================================================== --- trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2015-04-28 08:12:57 UTC (rev 4211) +++ trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2015-04-28 08:21:17 UTC (rev 4212) @@ -220,18 +220,18 @@ isisfish.config.main.simulation.ssh.username.description=SSH identifier isisfish.config.main.simulation.sub.max.memory.description=Sub process simulation Xmx allocated memory isisfish.config.main.simulation.sub.max.process.description=Max sub process count (using -1 value will use available processor count) -isisfish.config.main.simulationShowOnlyError.description= +isisfish.config.main.simulationShowOnlyError.description=to indicate whether to keep in the UI simulations completed only those with errors isisfish.config.main.smtpServer.description=Smtp server address isisfish.config.main.subSimulator.description=Sub process simulator launcher name isisfish.config.main.userMail.description=User email address isisfish.config.main.userName.description=User name -isisfish.config.mapped.result.matrix.vector.class.description= -isisfish.config.simulation.matrix.threshold.use.sparse.class.description= -isisfish.config.simulation.matrix.use.lazy.vector.description= -isisfish.config.simulation.matrix.vector.class.description= -isisfish.config.simulation.matrix.vector.sparse.class.description= -isisfish.config.simulation.store.result.cachestep.description= -isisfish.config.simulation.store.result.ondisk.description= +isisfish.config.mapped.result.matrix.vector.class.description=(OBSOLETE) Matrix vector type to use to read result un file results.mapped +isisfish.config.simulation.matrix.threshold.use.sparse.class.description=Threshold to choose between full/hollow matrix. +isisfish.config.simulation.matrix.use.lazy.vector.description=Flag to use copy-on-write matrix +isisfish.config.simulation.matrix.vector.class.description=Matrix type for full matrix +isisfish.config.simulation.matrix.vector.sparse.class.description=Matrix type for hollow matrix +isisfish.config.simulation.store.result.cachestep.description=Number of time steps remembered during simulation. If the result is not in memory, it will be played back on the disc if does exist, which is a bit more expensive. +isisfish.config.simulation.store.result.ondisk.description=Number of results to keep on disk. When you do remote simulations for an analysis plan and want to work on the simulation results after the simulation, it is necessary that the results are stored on disk. isisfish.config.ssh.key.file=SSH key isisfish.config.ssh.key.file.description=Private SSH key path isisfish.config.title=Preferences