r4007 - in trunk: . src/main/java/fr/ifremer/isisfish/actions src/main/java/fr/ifremer/isisfish/simulator src/main/java/fr/ifremer/isisfish/simulator/launcher src/main/java/fr/ifremer/isisfish/simulator/sensitivity
Author: echatellier Date: 2014-06-10 18:45:59 +0200 (Tue, 10 Jun 2014) New Revision: 4007 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4007 Log: fixes #5197: Can't run sensitivity analysis since 4.3.0.0 fixes #5198: Update to nuiton-matrix-2.4.1 Modified: trunk/pom.xml trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPreScriptListener.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/SimulationItem.java trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/FactorHelper.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/pom.xml 2014-06-10 16:45:59 UTC (rev 4007) @@ -6,7 +6,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>mavenpom4redmine</artifactId> - <version>5.0.8</version> + <version>5.0.9</version> </parent> <groupId>fr.ifremer</groupId> @@ -81,14 +81,14 @@ <dependency> <groupId>org.nuiton.matrix</groupId> <artifactId>nuiton-matrix</artifactId> - <version>2.4</version> + <version>2.4.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.nuiton.matrix</groupId> <artifactId>nuiton-matrix-gui</artifactId> - <version>2.4</version> + <version>2.4.1</version> <scope>compile</scope> </dependency> Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2002 - 2012 Ifremer, Code Lutin, Benjamin Poussin, Chatellier Eric + * Copyright (C) 2002 - 2014 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 @@ -82,8 +82,7 @@ FileInputStream inStream = new FileInputStream(parameterFile); try { props.load(inStream); - } - finally { + } finally { inStream.close(); } @@ -142,9 +141,9 @@ //SimulationStorage simulation = launcher.simulate(null, control, simulationZip); //simulation.getStorage().closeContext(); - String simulationPrescriptContent = null; + String generatedPrescriptContent = null; if (simulationPrescript != null && simulationPrescript.canRead()) { - simulationPrescriptContent = FileUtils.readFileToString(simulationPrescript); + generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript); } SimulationControl control = new SimulationControl(name); @@ -152,7 +151,7 @@ SimulationItem item = new SimulationItem(control, null); item.setSimulationZip(simulationZip); - item.setSimulationPrescriptContent(simulationPrescriptContent); + item.setGeneratedPrescriptContent(generatedPrescriptContent); // lancement de la simulation SimulatorLauncher launcher = new InProcessSimulatorLauncher(); @@ -222,9 +221,9 @@ //SimulationStorage simulation = launcher.simulate(null, control, simulationZip); //simulation.getStorage().closeContext(); - String simulationPrescriptContent = null; + String generatedPrescriptContent = null; if (simulationPrescript != null && simulationPrescript.canRead()) { - simulationPrescriptContent = FileUtils.readFileToString(simulationPrescript); + generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript); } SimulationControl control = new SimulationControl(name); @@ -232,7 +231,7 @@ SimulationItem item = new SimulationItem(control, null); item.setSimulationZip(simulationZip); - item.setSimulationPrescriptContent(simulationPrescriptContent); + item.setGeneratedPrescriptContent(generatedPrescriptContent); // lancement de la simulation SimulatorLauncher launcher = new InProcessSimulatorLauncher(); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPreScriptListener.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPreScriptListener.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPreScriptListener.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -76,18 +76,14 @@ // utilisation de la db en memoire que l'on commitera TopiaContext tx = context.getDB(); - Map<String, Object> args = new HashMap<>(); - args.put("context", context); - args.put("db", tx); - if (StringUtils.isNotBlank(generatedPreScript)) { EvaluatorHelper.evaluate(SimulationPreScript.class.getPackage().getName(), - "GeneratedPreScript", SimulationPreScript.class, generatedPreScript, args); + "GeneratedPreScript", SimulationPreScript.class, generatedPreScript, context, tx); } if (parameters.getUsePreScript() && StringUtils.isNotBlank(presimulationScript)) { EvaluatorHelper.evaluate(SimulationPreScript.class.getPackage().getName(), - "PreScript", SimulationPreScript.class, presimulationScript, args); + "PreScript", SimulationPreScript.class, presimulationScript, context, tx); } tx.commitTransaction(); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2002 - 2012 Ifremer, Code Lutin, Benjamin Poussin, Chatellier Eric + * Copyright (C) 2002 - 2014 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 @@ -28,12 +28,10 @@ import static org.nuiton.i18n.I18n.t; import java.io.File; -import java.net.MalformedURLException; import java.net.URL; import java.rmi.RemoteException; import java.text.SimpleDateFormat; import java.util.ArrayList; -import java.util.Arrays; import java.util.Enumeration; import java.util.List; @@ -99,7 +97,7 @@ // get real simulation informations for this launcher SimulationControl control = simulationItem.getControl(); File simulationZip = simulationItem.getSimulationZip(); - String simulationPrescript = simulationItem.getSimulationPrescriptContent(); + String generatedPrescript = simulationItem.getGeneratedPrescriptContent(); String id = control.getId(); if (log.isInfoEnabled()) { @@ -129,18 +127,17 @@ if (log.isDebugEnabled()) { log.debug("Timing : after import zip : " + new java.util.Date()); } - + // WARNING: make sure to not open Region before being in simulation context // add missing control informations SimulationParameter param = simulation.getParameter(); control.setStep(new TimeStep()); control.setProgress(0); control.setStarted(true); - + // replace prescript if specified on method - if (StringUtils.isNotBlank(simulationPrescript)) { - param.setUsePreScript(true); - param.setPreScript(simulationPrescript); + if (StringUtils.isNotBlank(generatedPrescript)) { + param.setGeneratedPreScript(generatedPrescript); } int lastYear = param.getNumberOfYear(); Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2008 - 2010 Ifremer, Code Lutin, Chatellier Eric + * Copyright (C) 2008 - 2014 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 @@ -272,7 +272,7 @@ // get simulation information for this launcher SimulationControl control = simulationItem.getControl(); File simulationZip = simulationItem.getSimulationZip(); - String simulationPrescript = simulationItem.getSimulationPrescriptContent(); + String simulationPrescript = simulationItem.getGeneratedPrescriptContent(); // check username if (StringUtils.isBlank(IsisFish.config.getSimulatorSshUsername())) { Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2002 - 2010 Ifremer, Code Lutin, Benjamin Poussin + * Copyright (C) 2002 - 2014 Ifremer, Code Lutin, 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 @@ -80,7 +80,7 @@ protected boolean standaloneSimulationZip = true; /** Simulation prescript. */ - protected String simulationPrescriptContent; + protected String generatedPrescriptContent; /** * La simulation doit être lancée seule, sinon les simulations sont @@ -174,22 +174,18 @@ /** * Get simulation prescript. * - * @return the simulationPrescriptPath - * - * @deprecated use cached simulation parameter instead + * @return the generatedPrescriptContent */ - public String getSimulationPrescriptContent() { - - String preScript = simulationPrescriptContent; - + public String getGeneratedPrescriptContent() { + + String preScript = generatedPrescriptContent; + // simulationPrescriptContent is not null when isis is lauched with // simulation on comand line // If preScript but params is not null, simulation has been launched by // UI, use cached simulation parameters if (preScript == null && parameter != null) { - if (parameter.getUsePreScript()) { - preScript = parameter.getPreScript(); - } + preScript = parameter.getGeneratedPreScript(); } return preScript; @@ -198,12 +194,10 @@ /** * Set simulation prescript. * - * @param simulationPrescriptContent the simulationPrescriptContent to set - * - * @deprecated use cached simulation parameter instead + * @param generatedPrescriptContent the generatedPrescriptContent to set */ - public void setSimulationPrescriptContent(String simulationPrescriptContent) { - this.simulationPrescriptContent = simulationPrescriptContent; + public void setGeneratedPrescriptContent(String generatedPrescriptContent) { + this.generatedPrescriptContent = generatedPrescriptContent; } /** Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -5,7 +5,7 @@ * $Id$ * $HeadURL$ * %% - * Copyright (C) 2002 - 2011 Ifremer, Code Lutin, Benjamin Poussin, Chatellier Eric + * Copyright (C) 2002 - 2014 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 @@ -83,7 +83,7 @@ // get simulation information for this launcher SimulationControl control = simulationItem.getControl(); File simulationZip = simulationItem.getSimulationZip(); - String simulationPrescript = simulationItem.getSimulationPrescriptContent(); + String simulationPrescript = simulationItem.getGeneratedPrescriptContent(); String simulationId = control.getId(); SimulationStorage simulation = null; Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/FactorHelper.java =================================================================== --- trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/FactorHelper.java 2014-06-06 06:16:21 UTC (rev 4006) +++ trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/FactorHelper.java 2014-06-10 16:45:59 UTC (rev 4007) @@ -22,11 +22,6 @@ * #L% */ - -import fr.ifremer.isisfish.rule.Rule; -import fr.ifremer.isisfish.rule.RuleHelper; -import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationDiscreteDomain; -import fr.ifremer.isisfish.util.ConverterUtil; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -34,13 +29,20 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.regex.Matcher; import java.util.regex.Pattern; + import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.beanutils.ConvertUtilsBean; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.math.matrix.MatrixND; +import org.nuiton.topia.persistence.TopiaEntity; +import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.rule.RuleHelper; +import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationDiscreteDomain; +import fr.ifremer.isisfish.util.ConverterUtil; + /** * Useful method for factor * - create prescript with factor list @@ -75,6 +77,7 @@ buffer.append("import org.apache.commons.beanutils.ConvertUtilsBean;\n"); buffer.append("import fr.ifremer.isisfish.util.ConverterUtil;\n"); buffer.append("import fr.ifremer.isisfish.simulator.SimulationParameter;\n"); + buffer.append("import org.nuiton.topia.persistence.TopiaEntity;\n"); buffer.append("ConvertUtilsBean beanUtils = ConverterUtil.getConverter(db);\n"); buffer.append("SimulationParameter params = context.getSimulationStorage().getParameter();\n"); generatePreScript(beanUtils, buffer, new AtomicInteger(), factors); @@ -163,9 +166,9 @@ String path = factor.getPath(); String topiaId = path.substring(0, path.lastIndexOf('#')); String property = path.substring(path.lastIndexOf('#') + 1); - // Double value123 = beanUtils.convert("mystringvalue", Double.class); + // Double value123 = (Double)beanUtils.convert("mystringvalue", Double.class); buffer.append(value.getClass().getName()).append(" value"); - buffer.append(factorIndex).append(" = beanUtils.convert(\""); + buffer.append(factorIndex).append(" = (").append(value.getClass().getName()).append(")beanUtils.convert(\""); buffer.append(escValue).append("\", ").append(value.getClass().getName()); buffer.append(".class);\n"); // TopiaEntity entity123 = db.findByTopiaId(topiaId);
participants (1)
-
echatellier@users.forge.codelutin.com