Author: chatellier Date: 2009-12-02 17:32:03 +0000 (Wed, 02 Dec 2009) New Revision: 2791 Modified: isis-fish/trunk/changelog.txt isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.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 isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java Log: Remove "isis-export" directory Modified: isis-fish/trunk/changelog.txt =================================================================== --- isis-fish/trunk/changelog.txt 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/changelog.txt 2009-12-02 17:32:03 UTC (rev 2791) @@ -1,5 +1,8 @@ isis-fish (3.3.0.0) stable; urgency=low + * Remove "isis-export" directory + * Fix editor deactivation in input ui. + * Remove deprecated method SimulationStorage#getFisheryRegion() * Update to jfreechart 1.0.13 (major version) * #1585 : Analyze plans are now reloaded before each simulation * Editing sensitivity factors after simulation reload now works @@ -11,7 +14,7 @@ * Add -m n option to qsub to not send email for each simulation * Remove duplicated SSH key configuration, common configuration for VCS and caparmor * Global VCS improvement (code, script UI, input UI) - * Update to svnkit 1.3.1 + * Update to svnkit 1.3.2 * Unification of error frames * Add ".shp" extension to database map files list (database migration) * Move codelutin librairies to nuiton.org (database migration) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -567,20 +567,8 @@ public boolean isSimulationShowOnlyError() { Boolean result = getOptionAsBoolean(Option.SIMULATION_SHOW_ONLY_ERROR.key); return result; - } - - public File getDefaultExportDirectory() { - File result = getOptionAsFile(Option.DEFAULT_EXPORT_DIRECTORY.key); - if (!result.exists()) { - result.mkdirs(); - } - return result; } - public void setDefaultExportDirectory(String value) { - setOption(Option.DEFAULT_EXPORT_DIRECTORY.key, value); - } - public String getDefaultExportNames() { String result = getOption(Option.DEFAULT_EXPORT_NAMES.key); return result; Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -68,12 +68,12 @@ public static final String RESULT_XML_FILENAME = "isis-mexico-output.xml"; public static final String RESULT_EXPORT_DIRECTORY = "resultExports"; public static final String DESIGN_PLAN_FILENAME = "isis-mexico-designplan.xml"; + public static final String SENSITIVITY_RESULTS = "sensitivityresults"; /** to use log facility, just put in your code: log.info(\"...\"); */ private static Log log = LogFactory.getLog(SimulationStorage.class); - /** cache des simulation storage */ - @SuppressWarnings("unchecked") + /** Cache des simulation storage. */ protected static Map<String, SimulationStorage> simulations = (Map<String, SimulationStorage>) new ReferenceMap(); /** some free information, that user can add during simulation */ @@ -89,7 +89,8 @@ protected transient File simulationControlFile = null; /** - * Pour la lecture d'une simulation existante + * Pour la lecture d'une simulation existante. + * * @param directory repertoire de base du storage (inclu le nom de la sim) * @param name le nom de la simulation * @param parameter les paramètres de la simulation @@ -101,8 +102,9 @@ } /** - * Retourne le repertoire de base de stockage des simulations - * @return + * Retourne le repertoire de base de stockage des simulations. + * + * @return simulation directory */ public static File getSimulationDirectory() { File result = IsisFish.config.getDatabaseDirectory(); @@ -114,9 +116,10 @@ } /** - * Retourne le repertoire de stockage d'une simulation portant le nom name + * Retourne le repertoire de stockage d'une simulation portant le nom name. + * * @param name le nom de la simulation dont on souhaite le repertoire - * @return + * @return simulation name directory */ public static File getSimulationDirectory(String name) { File result = getSimulationDirectory(); @@ -128,6 +131,21 @@ } /** + * Retourne le repertoire de base de stockage des resutats des analyses + * de sensibilité. + * + * @return sensitivity result directory + */ + public static File getSensitivityResultsDirectory() { + File result = IsisFish.config.getDatabaseDirectory(); + result = new File(result, SENSITIVITY_RESULTS); + if (!result.exists()) { + result.mkdirs(); + } + return result; + } + + /** * Retourne le repertoire de stockage des exports de resulatat d'une * simulation. * @param root le repertoire de stockage de la simulation @@ -193,7 +211,7 @@ File result = new File(root, DESIGN_PLAN_FILENAME); return result; } - + /** * Retourne le fichier de stockage du fichier de control de la simulation. * Ce fichier conserve l'etat de la simulation, cela permet a un processus @@ -580,30 +598,6 @@ } /** - * Retourne la {@link FisheryRegion} associee a cette simulation. - * - * Attention, toujours utilisée dans les scripts !!! - * - * @return la {@link FisheryRegion} - * @throws StorageException - * @deprecated ne plus utiliser car le context n'est jamais ferme, plutot - * utiliser {@link #getFisheryRegion(TopiaContext)} - */ - public FisheryRegion getFisheryRegion() throws StorageException { - // FIXME voir si la methode est vraiment utilisée car le context n'est - // jamais fermé, ce qui est dérangeant - try { - TopiaContext tx = getStorage().beginTransaction(); - FisheryRegion result = getFisheryRegion(tx); - tx.commitTransaction(); - return result; - } catch (TopiaException eee) { - throw new StorageException(_("isisfish.error.get.fisheryRegion"), - eee); - } - } - - /** * Checkout not existing Simulation localy from server * * @param name name of simulation to retrieve @@ -612,8 +606,7 @@ */ public static void checkout(String name) throws VCSException, TopiaException { - checkout(IsisFish.config.getDatabaseDirectory(), SIMULATION_PATH + "/" - + name); + checkout(IsisFish.config.getDatabaseDirectory(), SIMULATION_PATH + "/" + name); SimulationStorage sim = getSimulation(name); File file = sim.getDataBackupFile(); TopiaContext tx = sim.getStorage().beginTransaction(); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -140,9 +140,6 @@ /** Ma liste des exports automatique a faire en fin de simulation. */ protected List<String> exportNames; - /** Repertoire d'enregistrement des exports. */ - protected String exportDirectory; - /** Utilisation du script de pre simulation. */ protected Boolean usePreScript; @@ -1375,64 +1372,6 @@ } /** - * Get only export properties. - * - * Default to false. - * - * @return only export. - */ - public boolean getOnlyExport() { - - if (onlyExport == null) { - if (propertiesParameters != null) { - onlyExport = Boolean.valueOf(propertiesParameters.getProperty("onlyExport", "false")); - } else { - onlyExport = Boolean.FALSE; - } - } - - return onlyExport; - } - - /** - * Set only export property. - * - * @param onlyExport only export to set - */ - public void setOnlyExport(boolean onlyExport) { - this.onlyExport = onlyExport; - } - - /** - * Get export directory path. - * - * Default to /tmp. - * - * @return export directory path - */ - public String getExportDirectory() { - - if (exportDirectory == null) { - - if (propertiesParameters != null) { - exportDirectory = propertiesParameters.getProperty("exportDirectory", "/tmp"); - } else { - exportDirectory = "/tmp"; - } - } - return this.exportDirectory; - } - - /** - * Set export directory path. - * - * @param exportDirectory export directory path. - */ - public void setExportDirectory(String exportDirectory) { - this.exportDirectory = exportDirectory; - } - - /** * Get simulator log level. * * Default to "info". @@ -1612,11 +1551,9 @@ result.preScript = getPreScript(); result.useAnalysePlan = getUseAnalysePlan(); result.analysePlanNumber = getAnalysePlanNumber(); - result.onlyExport = getOnlyExport(); if (exportNames != null) { result.exportNames = new LinkedList<String>(exportNames); } - result.exportDirectory = getExportDirectory(); if (strategies != null) { result.strategies = new LinkedList<Strategy>(strategies); } @@ -1950,9 +1887,6 @@ result.setProperty("tagValue." + e.getKey(), e.getValue()); } - result.setProperty("onlyExport", String.valueOf(getOnlyExport())); - result.setProperty("exportDirectory", String.valueOf(getExportDirectory())); - result.setProperty("simulLogLevel", getSimulLogLevel()); result.setProperty("scriptLogLevel", getScriptLogLevel()); result.setProperty("libLogLevel", getLibLogLevel()); @@ -1972,191 +1906,6 @@ this.propertiesParameters = props; this.directory = directory; - // when reading new properties files, clean some information - // to force re instantion on next call - //sensitivityExports = null; - //rules = null; - - //isisFishVersion = props.getProperty("isisFishVersion", ""); - //description = props.getProperty("description", ""); - //regionName = props.getProperty("regionName", ""); - //numberOfYear = Integer.parseInt(props.getProperty("numberOfYear", "1")); - //simulatorName = props.getProperty("simulatorName", "DefaultSimulator.java"); - //useOptimization = Boolean.parseBoolean(props.getProperty( - // "useOptimization", "true")); - //useStatistic = Boolean.parseBoolean(props.getProperty("useStatistic", - // "true")); - - // FIXME not good place and code - // FIXME regionName is null - /*if (directory != null && (this.region == null || !region.getName().equals(regionName))) { - // ATTENTION: directory pointe sur le repertoire de la simulation et non de la region - this.region = new RegionStorage(directory, regionName); // RegionStorage.getRegion(directory, regionName); - }*/ - - /*try { - // On verifie tout d'abord que l'on ai pas dans une simulation - // si on y es, on utilise le context static non null du thread local - // Resoud les lazy exceptions des parametres des regles - boolean mustClose = false; - TopiaContext tx = SimulationContext.get().getDB(); - - if (tx == null) { - // not in simulation, create transaction - tx = getRegion().getStorage().beginTransaction(); - mustClose = true; - } - - // strategies - try { - StrategyDAO strategyDAO = IsisFishDAOHelper.getStrategyDAO(tx); - String[] strategyList = props.getProperty("strategies", "") - .split(","); - for (String name : strategyList) { - if (name != null && !"".equals(name)) { - try { - Strategy str = strategyDAO.findByName(name); - getStrategies().add(str); - } catch (TopiaException eee) { - if (log.isWarnEnabled()) { - log.warn("Can't find strategy: " + name, eee); - } - } - } - } - } catch (TopiaException eee1) { - if (log.isWarnEnabled()) { - log.warn("Can't get StrategyDAO", eee1); - } - } - - // populations - try { - PopulationDAO populationDAO = IsisFishDAOHelper - .getPopulationDAO(tx); - String[] populationList = props.getProperty("populations", "") - .split(","); - for (String name : populationList) { - if (name != null && !"".equals(name)) { - try { - Population population = populationDAO - .findByName(name); - getPopulations().add(population); - - String numberAsString = props - .getProperty("population." + name - + ".number"); - List number = MatrixHelper - .convertStringToList(numberAsString); - MatrixND mat = getNumberOf(population); - mat.fromList(number); - } catch (TopiaException eee) { - if (log.isWarnEnabled()) { - log.warn("Can't find population: " + name, eee); - } - } - } - } - } catch (TopiaException eee1) { - if (log.isWarnEnabled()) { - log.warn("Can't get PopulationDAO", eee1); - } - } - - tx.commitTransaction(); - - // si la transaction a été ouverte (pas dans une simulation) - // on la referme - if (mustClose) { - tx.closeContext(); - } - } catch (TopiaException eee1) { - if (log.isWarnEnabled()) { - log.warn("Can't get TopiaContext", eee1); - } - }*/ - - // analyse plan - /*String[] planList = props.getProperty("plans", "").split(","); - int planIndex = 0; - for (String name : planList) { - if (name != null && !"".equals(name)) { - try { - AnalysePlan plan = AnalysePlanStorage.getAnalysePlan(name) - .getNewAnalysePlanInstance(); - populateAnalysePlan(planIndex++, plan, props); - getAnalysePlans().add(plan); - } catch (IsisFishException eee) { - if (log.isWarnEnabled()) { - log.warn("Can't find plan: " + name, eee); - } - } - } - }*/ - - // exports - /*String[] exportList = props.getProperty("exports", "").split(","); - for (String name : exportList) { - if (name != null && !"".equals(name)) { - getExportNames().add(name); - } - }*/ - - // number of sensitivity simulation - //numberOfSensitivitySimulation = Integer.parseInt(props.getProperty( - // "numberOfSensitivitySimulation", "-1")); - // calculator name - /*String sensitivityCalculator = props.getProperty( - "sensitivitycalculator", null); - if (!StringUtils.isEmpty(sensitivityCalculator)) { - try { - SensitivityCalculator calculator = SensitivityStorage - .getSensitivity(sensitivityCalculator) - .getNewSensitivityInstance(); - // 0 = only single sensitivity - populateSensitivityCalculator(0, calculator, props); - setSensitivityCalculator(calculator); - } catch (IsisFishException eee) { - if (log.isWarnEnabled()) { - log.warn( - "Can't find sensitivity: " + sensitivityCalculator, - eee); - } - } - }*/ - - //usePreScript = Boolean.parseBoolean(props.getProperty("usePreScript", - // "false")); - //preScript = props.getProperty("preScript"); - //useAnalysePlan = Boolean.parseBoolean(props.getProperty( - // "useAnalysePlan", "false")); - //analysePlan = props.getProperty("analysePlan"); - //analysePlanNumber = Integer.parseInt(props.getProperty( - // "analysePlanNumber", "-1")); - - /*String[] resultList = props.getProperty("resultNames", "").split(","); - for (String name : resultList) { - if (name != null && !"".equals(name)) { - getResultEnabled().add(name); - } - }*/ - - /*for (Object k : props.keySet()) { - if (k.toString().startsWith("tagValue.")) { - String key = k.toString().substring("tagValue.".length()); - String value = props.getProperty(k.toString()); - getTagValue().put(key, value); - } - }*/ - - //onlyExport = Boolean.parseBoolean(props.getProperty("onlyExport", - // "false")); - - //exportDirectory = props.getProperty("exportDirectory"); - - /*simulLogLevel = props.getProperty("simulLogLevel", "info"); - scriptLogLevel = props.getProperty("scriptLogLevel", "info"); - libLogLevel = props.getProperty("libLogLevel", "info");*/ } /** Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -232,14 +232,6 @@ && !SimulationStorage.exists(control.getId())); } - // nettoyage si besoin apres toutes les simulations - if (param.getOnlyExport()) { - for (File file : FileUtil.find(SimulationStorage - .getSimulationDirectory(), id + "_[0-9]+$", false)) { - log.debug("Delete simulation " + file); - FileUtil.deleteRecursively(file); - } - } } else { // on est sur une simple simulation, ou le resultat d'un plan Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -44,7 +44,6 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.util.FileUtil; -import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.IsisFishException; import fr.ifremer.isisfish.datastore.AnalysePlanStorage; import fr.ifremer.isisfish.datastore.SimulationStorage; @@ -207,16 +206,18 @@ // 1 = date // 2 = export // 3 = plan dependent + // 4 = use analyse plan + // 5 = plans list String[] simulationInfos = simulationInfo.split(MONITORFILESEPARATOR); String simulationLauncher = simulationInfos[0]; String simulationDate = simulationInfos[1]; - String simulationOnlyExport = simulationInfos[2]; - String simulationExports = simulationInfos[3]; - String simulationUseAnalysePlan = simulationInfos[4]; - String simulationPlans = ""; - if(simulationInfos.length >= 6) { - simulationPlans = simulationInfos[5]; - } + //String simulationOnlyExport = simulationInfos[2]; + //String simulationExports = simulationInfos[3]; + //String simulationUseAnalysePlan = simulationInfos[4]; + //String simulationPlans = ""; + //if(simulationInfos.length >= 6) { + // simulationPlans = simulationInfos[5]; + //} if (log.isInfoEnabled()) { log.info("Restart monitoring of " + simulationId); @@ -236,9 +237,9 @@ SimulationParameter params = new SimulationParameter(); // UseAnalysePlan - params.setUseAnalysePlan("true".equalsIgnoreCase(simulationUseAnalysePlan)); + //params.setUseAnalysePlan("true".equalsIgnoreCase(simulationUseAnalysePlan)); // plans - String[] planList = simulationPlans.split(","); + /*String[] planList = simulationPlans.split(","); for (String name : planList) { if (name != null && !name.isEmpty()) { try { @@ -250,20 +251,17 @@ } } } - } + }*/ // OnlyExport - params.setOnlyExport("true".equalsIgnoreCase(simulationOnlyExport)); + //params.setOnlyExport("true".equalsIgnoreCase(simulationOnlyExport)); // exports - String[] exportList = simulationExports.split(","); + /*String[] exportList = simulationExports.split(","); for (String name : exportList) { if (name != null && !name.isEmpty()) { params.getExportNames().add(name); } - } - - // FIXME needed - params.setExportDirectory(IsisFish.config.getDefaultExportDirectory().toString()); - + }*/ + service.submitForCheckOnly(simulationId, params, launcher, 0); } catch (ClassNotFoundException e) { if (log.isErrorEnabled()) { @@ -285,24 +283,24 @@ String monitorKey = job.getId(); SimulatorLauncher launcher = job.getLauncher(); - SimulationParameter params = job.getItem().getParameter(); + //SimulationParameter params = job.getItem().getParameter(); // 0 = launcher String monitorValue = launcher.getClass().getName(); // 1 = date monitorValue += MONITORFILESEPARATOR + System.currentTimeMillis(); // 2 = onlyexport - monitorValue += MONITORFILESEPARATOR + params.getOnlyExport(); + //monitorValue += MONITORFILESEPARATOR + params.getOnlyExport(); // 3 = exports - monitorValue += MONITORFILESEPARATOR + collectionToString(params.getExportNames()); + //monitorValue += MONITORFILESEPARATOR + collectionToString(params.getExportNames()); // 4 = plan dependent - monitorValue += MONITORFILESEPARATOR + params.getUseAnalysePlan(); + //monitorValue += MONITORFILESEPARATOR + params.getUseAnalysePlan(); // 5 = plan dependent - String planList = ""; - for (AnalysePlan plan : params.getAnalysePlans()) { + //String planList = ""; + /*for (AnalysePlan plan : params.getAnalysePlans()) { planList += AnalysePlanStorage.getName(plan) + ","; } - monitorValue += MONITORFILESEPARATOR + planList; + monitorValue += MONITORFILESEPARATOR + planList;*/ properties.put(monitorKey, monitorValue); OutputStream out = null; @@ -550,10 +548,6 @@ SimulationService service = SimulationService.getService(); SimulationControl control = job.getItem().getControl(); - - // Release one available resource on launcher - // FIXME done by launcher himself - //launcher.simulationEnded(); if (log.isInfoEnabled()) { log.info("Do post simulation operation for " + control.getId()); @@ -571,8 +565,19 @@ // la simulation n'a pas été arretée if (!control.isStopSimulationRequest()) { // post manage this storage - boolean simulationAvailble = exportResult(job, simulation); + boolean simulationAvailble = true; //exportResult(job, simulation); + // do posts actions + for (PostAction action : job.getPostActions()) { + try { + action.finished(job, simulation); + } catch (Exception eee) { + if (log.isErrorEnabled()) { + log.error(_("Can't do post action %s", action), eee); + } + } + } + // sensitivity calculator analyze result call // can't do analyze second pass if simulation // has been deleted @@ -604,12 +609,14 @@ * been selected. * * @return <tt>true</tt> if simulation is still available (not delete by onlyExport) + * + * @deprecated there is no export anymore */ protected boolean exportResult(SimulationJob job, SimulationStorage simulation) { boolean simulationAvailble = true; - SimulationParameter param = job.getItem().getParameter(); + /*SimulationParameter param = job.getItem().getParameter(); SimulationControl control = job.getItem().getControl(); String id = control.getId(); @@ -675,18 +682,8 @@ if (log.isErrorEnabled()) { log.error(_("Can't delete simulation %s ", id), eee); } - } + }*/ - for (PostAction action : job.getPostActions()) { - try { - action.finished(job, simulation); - } catch (Exception eee) { - if (log.isErrorEnabled()) { - log.error(_("Can't do post action %s", action), eee); - } - } - } - return simulationAvailble; } @@ -725,7 +722,7 @@ List<SimulationStorage> simulationStorageForAnalyze = getStorageListForSecondPass(simulationCommonPrefix, numberOfSimulation); // build master sensitivity export directory - File masterExportDirectory = new File(IsisFish.config.getDefaultExportDirectory(), simulationCommonPrefix); + File masterExportDirectory = new File(SimulationStorage.getSimulationDirectory(), simulationCommonPrefix); // directory must already exists !!! sensitivityCalculator.analyzeResult(simulationStorageForAnalyze, masterExportDirectory); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -423,7 +423,7 @@ try { // build master sensitivity export directory - File masterExportDirectory = new File(IsisFish.config.getDefaultExportDirectory(), id); + File masterExportDirectory = new File(SimulationStorage.getSensitivityResultsDirectory(), id); if (!masterExportDirectory.isDirectory()) { masterExportDirectory.mkdirs(); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.jaxx 2009-12-02 17:32:03 UTC (rev 2791) @@ -30,9 +30,6 @@ } public void refresh() { - // fill ExportDirectory - String exportDirectory = getSimulAction().getSimulationParameter().getExportDirectory(); - fieldSimulExportFolder.setText(exportDirectory); // fill export setListSimulExportChooseModel(); } @@ -67,10 +64,6 @@ } protected void saveConfigExports() { - // set export directory - String exportDirectory = fieldSimulExportFolder.getText(); - getSimulAction().getSimulationParameter().setExportDirectory(exportDirectory); - // Set exports (this can save empty list (not a big deal)) Object[] values = listSimulExportChoose.getSelectedValues(); java.util.List<String> exportNames = new LinkedList<String>(); @@ -91,7 +84,7 @@ ]]> </script> <row> - <cell columns="4" fill="both" weightx="1.0" weighty="1.0"> + <cell fill="both" weightx="1.0" weighty="1.0"> <JScrollPane> <JList id="listSimulExportChoose" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}" cellRenderer='{new fr.ifremer.isisfish.ui.models.export.ExportNameListRenderer()}' @@ -100,16 +93,7 @@ </cell> </row> <row> - <cell> - <JLabel text="isisfish.export.directory"/> - </cell> - <cell fill="horizontal" weightx="1.0"> - <JTextField id="fieldSimulExportFolder" /> - </cell> - <cell> - <JButton text="isisfish.common.ellipsis" onActionPerformed='getSimulAction().updateDirectory()'/> - </cell> - <cell> + <cell fill="horizontal"> <JButton text="isisfish.common.saveNextSimulation" onActionPerformed='saveConfigExports()'/> </cell> </row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-12-02 17:32:03 UTC (rev 2791) @@ -228,14 +228,6 @@ simul.selTab(i); } } -protected void enableOnlyExport(){ - if (fieldSimulOnlyExport.isSelected()){ - simulAction.getSimulationParameter().setOnlyExport(true); - } - else { - simulAction.getSimulationParameter().setOnlyExport(false); - } -} protected void setNbAnnees() { simulAction.setNumberOfYear(fieldSimulParamsNbAnnees.getText()); } @@ -603,9 +595,6 @@ selected='{simulAction.getSimulationParameter().getUseAnalysePlan()}' visible='{!isSensitivity()}' onItemStateChanged='enableAnalysePlan()' onMouseReleased='selTab(event, 2)'/> </cell> - <cell fill="horizontal" weightx="0.3"> - <JCheckBox text="isisfish.params.onlyExportSimulation" id="fieldSimulOnlyExport" onItemStateChanged='enableOnlyExport()'/> - </cell> </row> </Table> </cell> 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-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -133,8 +133,7 @@ // put default value in param param.setSimulatorName(IsisFish.config.getSimulatorClassfile()); param.setTagValue(IsisFish.config.getDefaultTagValueAsMap()); - param.setExportDirectory(IsisFish.config - .getDefaultExportDirectory().toString()); + param.setExportNames(IsisFish.config.getDefaultExportNamesAsList()); List<String> defaultResultNames = IsisFish.config .getDefaultResultNamesAsList(); @@ -562,15 +561,11 @@ return result; } - public void updateDirectory() { - param.setExportDirectory(FileUtil.getDirectory()); - } - /** * Save current parameters exports names in configuration. */ public void saveExport() { - IsisFish.config.setDefaultExportDirectory(param.getExportDirectory()); + if (param.getExportNames() != null) { if (log.isDebugEnabled()) { @@ -1063,8 +1058,7 @@ if (sensitivityCalculator != null) { try { // build master sensitivity export directory - File masterExportDirectory = new File(IsisFish.config - .getDefaultExportDirectory(), + File masterExportDirectory = new File(SimulationStorage.getSensitivityResultsDirectory(), masterSensitivitySimulationName); if (!masterExportDirectory.isDirectory()) { masterExportDirectory.mkdirs(); @@ -1098,8 +1092,7 @@ List<File> result = new ArrayList<File>(); // build master sensitivity export directory - File masterExportDirectory = new File(IsisFish.config - .getDefaultExportDirectory(), masterSensitivitySimulationName); + File masterExportDirectory = new File(SimulationStorage.getSensitivityResultsDirectory(), masterSensitivitySimulationName); if (masterExportDirectory.isDirectory()) { for (File exportFile : masterExportDirectory.listFiles()) { if (exportFile.isFile() 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-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-12-02 17:32:03 UTC (rev 2791) @@ -266,7 +266,6 @@ isisfish.error.evalute.plan.script=Can't evaluate plan script isisfish.error.factor.invalid=Factor is not valid isisfish.error.file.already.exists=The file %1$s already exist -isisfish.error.get.fisheryRegion=Can't get FisheryRegion isisfish.error.growth.equation.before.create.group.population=Error, You must input growth equation before create the group population isisfish.error.immigration.negative=immigration negative isisfish.error.import.convertible=Erreur lors de l'import, la version du fichier que vous souhaitez importer n'est pas transformable en une version importable. @@ -395,7 +394,6 @@ isisfish.error.wait.simThread=Can't wait SimThread isisfish.error.warning.title=Warning isisfish.error.write.simulation=Can't write information %1$s -isisfish.export.directory=Export directory isisfish.export.saved=Export saved isisfish.export.title=Results export isisfish.filter=Filter @@ -663,7 +661,6 @@ isisfish.params.lblLauncher=Simulation launcher isisfish.params.loadOldSimulation=Load old simulation isisfish.params.numberYear=Number of year -isisfish.params.onlyExportSimulation=Only export simulation isisfish.params.populationNumbers=Population numbers input isisfish.params.ruleParameters=Rule's parameters isisfish.params.sensitivityName=Sensitivity name 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-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-12-02 17:32:03 UTC (rev 2791) @@ -266,7 +266,6 @@ isisfish.error.evalute.plan.script=Can't evaluate plan script isisfish.error.factor.invalid=Le facteur n'est pas valide isisfish.error.file.already.exists=The file %1$s already exist -isisfish.error.get.fisheryRegion=Can't get FisheryRegion isisfish.error.growth.equation.before.create.group.population=Error, You must input growth equation before create the group population isisfish.error.immigration.negative=immigration negative isisfish.error.import.convertible=Erreur lors de l'import, la version du fichier que vous souhaitez importer n'est pas transformable en une version importable. @@ -395,7 +394,6 @@ isisfish.error.wait.simThread=Can't wait SimThread isisfish.error.warning.title=Attention isisfish.error.write.simulation=Can't write information %1$s -isisfish.export.directory=Dossier d'export isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s isisfish.export.title=Export des r\u00E9sultats isisfish.filter=Filtrer @@ -663,7 +661,6 @@ isisfish.params.lblLauncher=Lanceur de simulation isisfish.params.loadOldSimulation=Charger une ancienne simulation isisfish.params.numberYear=Nombre d'ann\u00E9es -isisfish.params.onlyExportSimulation=Exporter uniquement des simulations isisfish.params.populationNumbers=Donn\u00E9es de population isisfish.params.ruleParameters=Param\u00E8tres des r\u00E8gles isisfish.params.sensitivityName=Nom de l'analyse de sensibilit\u00E9 Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java 2009-12-02 15:47:44 UTC (rev 2790) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java 2009-12-02 17:32:03 UTC (rev 2791) @@ -68,7 +68,6 @@ Assert.assertTrue(params.getExtraRules().isEmpty()); Assert.assertTrue(params.getAnalysePlans().isEmpty()); Assert.assertTrue(params.getExportNames().isEmpty()); - Assert.assertEquals("/tmp", params.getExportDirectory()); Assert.assertFalse(params.getUsePreScript()); Assert.assertEquals("", params.getPreScript()); Assert.assertFalse(params.getUseAnalysePlan()); @@ -78,12 +77,11 @@ Assert.assertNull(params.getSensitivityCalculator()); Assert.assertTrue(params.getResultEnabled().isEmpty()); Assert.assertTrue(params.getTagValue().isEmpty()); - Assert.assertFalse(params.getOnlyExport()); Assert.assertEquals("info", params.getSimulLogLevel()); Assert.assertEquals("info", params.getScriptLogLevel()); Assert.assertEquals("error", params.getLibLogLevel()); } - + /** * Test to build one simulation parameters. * @@ -119,7 +117,7 @@ */ @Test public void testBasicFilePropertiesLoading() throws IOException { - + InputStream basicFileStream = SimulationParameterTest.class.getResourceAsStream("parameters_basic.properties"); Properties props = new SortedProperties();