Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- 3175 discussions
r2749 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/simulator/launcher main/resources/templates/ssh test/java/fr/ifremer/isisfish/simulator/launcher
by chatellier@users.labs.libre-entreprise.org 10 Nov '09
by chatellier@users.labs.libre-entreprise.org 10 Nov '09
10 Nov '09
Author: chatellier
Date: 2009-11-10 18:02:24 +0000 (Tue, 10 Nov 2009)
New Revision: 2749
Added:
isis-fish/trunk/src/main/resources/templates/ssh/qsub-script.ftl
Removed:
isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java
Log:
Add new caparmor mutijobs script (with tests)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-10 16:33:52 UTC (rev 2748)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-10 18:02:24 UTC (rev 2749)
@@ -92,8 +92,7 @@
protected Configuration freemarkerConfiguration;
/** Freemarker qsub template. */
- protected static final String QSUB_SCRIPT_TEMPLATE = "templates/ssh/isis-launch-with-qsub.seq";
- //protected static final String QSUB_SCRIPT_TEMPLATE = "templates/ssh/isis-launch-with-cron.seq";
+ protected static final String QSUB_SCRIPT_TEMPLATE = "templates/ssh/qsub-script.ftl";
/**
* Opened session to ssh service. Stored in static context to not reask passphrase at each
@@ -256,15 +255,10 @@
message(control,_("isisfish.simulation.remote.message.waitingstart"));
String simulationPreScriptPath = uploadPreScriptIfNecessary(
sshSession, control.getId(), simulationPrescript);
- File simulationScript = getLaunchSimulationScriptFile(simulationid,
- simulationRemotePath, remoteResultZip, simulationPreScriptPath);
- String scriptRemotePath = uploadSimulationScript(sshSession,
- simulationid, simulationScript);
- // prescript uploaded, delete
- simulationScript.delete();
+
+ // start simulation if necessary (multi jobs) ...
+ startSimulation(simulationItem, simulationid, simulationRemotePath, remoteResultZip, simulationPreScriptPath);
- //sendStartSimulationRequest(sshSession, scriptRemotePath, simulationid);
-
} catch (Exception e) {
if (log.isErrorEnabled()) {
log.error(_("isisfish.error.simulation.remote.global"));
@@ -854,6 +848,64 @@
}
/**
+ * Start simulation if necessary.
+ *
+ * Current simulation can be started later with a PBS multi job.
+ *
+ * @param simulationItem simulation item (needed for additionnal info, simulation, number, idenpendant, etc...)
+ * @param simulationid simulation id
+ * @param simulationRemotePath simulation preparation (input) zip path
+ * @param remoteResultZip simulation result (output) zip path
+ * @param simulationPreScriptPath simulation prescript
+ *
+ * @throws Exception
+ */
+ protected void startSimulation(SimulationItem simulationItem, String simulationid, String simulationRemotePath, String remoteResultZip, String simulationPreScriptPath) throws Exception {
+
+ if (simulationItem.isStandaloneSimulation()) {
+ // single simulation
+ File simulationPSBScript = getLaunchSimulationScriptFile(simulationid,
+ simulationRemotePath, remoteResultZip, simulationPreScriptPath, false);
+ String scriptRemotePath = uploadSimulationScript(sshSession,
+ simulationid, simulationPSBScript);
+
+ // prescript uploaded, delete
+ simulationPSBScript.delete();
+
+ sendStartSimulationRequest(sshSession, scriptRemotePath, simulationid, 1);
+ }
+ else {
+
+ if (simulationItem.isLastSimulation()) {
+
+ String shortSimulationId = simulationid.substring(simulationid.lastIndexOf('_') + 1);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Last simulation start requested, send multijob start request for " + shortSimulationId);
+ }
+
+ // multiples jobs simulation
+ File simulationPSBScript = getLaunchSimulationScriptFile(shortSimulationId,
+ simulationRemotePath, remoteResultZip, simulationPreScriptPath, true);
+ String scriptRemotePath = uploadSimulationScript(sshSession,
+ simulationid, simulationPSBScript);
+
+ // prescript uploaded, delete
+ simulationPSBScript.delete();
+
+ sendStartSimulationRequest(sshSession, simulationid, scriptRemotePath, simulationItem.getSimulationNumber());
+ }
+ else {
+ if (log.isDebugEnabled()) {
+ log.debug("Current simulation is not last simulation in pool, skip start");
+ }
+ }
+ }
+
+
+ }
+
+ /**
* Retourne un fichier temporaire contenant le script de lancement de
* simulation.
*
@@ -862,19 +914,20 @@
* @param simuationId id de la simulation
* @param simulationZip zip de la simulation
* @param preScriptPath simulation pre script path (can be null)
+ * @param multipleSimulationScript if {@code true} build a multijob simulation script
*
- * @return un Fichier temporaire ou <tt>null</tt> en cas d'exception
+ * @return un Fichier temporaire ou {@code null} en cas d'exception
*
* @throws IOException if can't build script
*/
protected File getLaunchSimulationScriptFile(String simuationId,
- String simulationZip, String simulationResultZip, String preScriptPath) throws IOException {
+ String simulationZip, String simulationResultZip, String preScriptPath, boolean multipleSimulationScript) throws IOException {
File tempScript = File.createTempFile("simulation-" + simuationId + "-script", ".seq");
tempScript.deleteOnExit(); // auto delete
String fileContent = getSimulationScriptLaunchContent(
- QSUB_SCRIPT_TEMPLATE, simuationId, simulationZip, simulationResultZip, preScriptPath);
+ QSUB_SCRIPT_TEMPLATE, simuationId, simulationZip, simulationResultZip, preScriptPath, multipleSimulationScript);
FileUtil.writeString(tempScript, fileContent);
return tempScript;
@@ -890,11 +943,12 @@
* @param simulationZip zip de la simulation
* @param simulationZipResult zip resultat de la simulation
* @param preScriptPath simulation pre script path (can be null)
+ * @param multipleSimulationScript if {@code true} build a multijob simulation script
*
* @throws IOException if can't get script content
*/
protected String getSimulationScriptLaunchContent(String templateName,
- String simuationId, String simulationZip, String simulationZipResult, String preScriptPath)
+ String simuationId, String simulationZip, String simulationZipResult, String preScriptPath, boolean multipleSimulationScript)
throws IOException {
String scriptContent = null;
@@ -918,6 +972,7 @@
root.put("simulationzip", simulationZip);
root.put("simulationresultzip", simulationZipResult);
root.put("simulationprescript", remotePreScript);
+ root.put("qsubmutiplejob", multipleSimulationScript);
// process template
Writer out = new StringWriter();
@@ -940,21 +995,33 @@
* Add script in remote qsub queue.
*
* @param session valid opened session
+ * @param simulationId simulation id (short version for a multiple job)
* @param scriptRemotePath remote script path
- * @param simulationId simulation id
+ * @param lastSimulationNumber if {@code >=0 } start a multiple pbs job form 0 to {@code lastSimulationNumber}
*
* @throws SSHException if call fail
*/
- protected void sendStartSimulationRequest(Session session, String scriptRemotePath, String simulationId)
+ protected void sendStartSimulationRequest(Session session, String simulationId, String scriptRemotePath, int lastSimulationNumber)
throws SSHException {
// command to :
// - add script in qsub queue
// - use option -m n (to not send email)
String remoteFilenameId = getRemoteTempDirectory() + "simulation-" + simulationId + "-pbs.id";
- String command = IsisFish.config.getSimulatorSshPbsBinPath()
- + "/qsub -m n \"" + scriptRemotePath + "\"|tee \"" + remoteFilenameId + "\"";
+ String command = IsisFish.config.getSimulatorSshPbsBinPath() + "/qsub -m n";
+ // multi job specific
+ if (lastSimulationNumber >=0 ) {
+ command+= " -J 0-" + String.valueOf(lastSimulationNumber);
+ }
+
+ // end with squb script path and redirect id into file (to stop it later)
+ command += " \"" + scriptRemotePath + "\"|tee \"" + remoteFilenameId + "\"";
+
+ if (log.isDebugEnabled()) {
+ log.debug("Send qsub job starting command : " + command);
+ }
+
Writer output = new StringWriter();
int exit = SSHUtils.exec(session, command, output);
@@ -963,7 +1030,8 @@
}
String out = output.toString();
- if (out.trim().matches("\\d+\\.\\w+")) {
+ // multiple jobs id are like : 78600[].service4
+ if (out.trim().matches("\\d+\\.\\[\\]\\w+") && log.isInfoEnabled()) {
log.info("Job submitted with job id : " + out);
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-11-10 16:33:52 UTC (rev 2748)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-11-10 18:02:24 UTC (rev 2749)
@@ -28,11 +28,18 @@
* Objet representant une simulation qui doit être faite.
*
* Elle est composée :
- * - d'un fichier zip (la simulation a simuler)
- * - les parametres de la simulation
- * - d'un pre-script
- * - d'informations suplémentaires utiles à certains launcher :
- * -
+ * <ul>
+ * <li>d'un fichier zip (la simulation a simuler)
+ * <li>les parametres de la simulation
+ * <li>d'un pre-script
+ * <li>d'informations supplémentaires utiles à certains launcher :
+ * <ul>
+ * <li>standaloneSimulation : la simulation doit être lancée seule, sinon
+ * les simulations sont indépendantes et peuvent être lancées groupées.
+ * <li>simulationNumber : simulation number in non standalone simulation
+ * <li>simulationsCount : total simulation count
+ * </ul>
+ * </ul>
*
* @author poussin
* @version $Revision$
@@ -54,11 +61,21 @@
/** Simulation prescript. */
protected String simulationPrescriptContent;
+ /**
+ * La simulation doit être lancée seule, sinon les simulations sont
+ * indépendantes et peuvent être lancées groupées.
+ */
protected boolean standaloneSimulation;
+ /**
+ * Simulation number in non standalone simulation.
+ */
protected int simulationNumber;
- protected int simulationsCount;
+ /**
+ * Last simulation.
+ */
+ protected boolean lastSimulation;
/**
* Constructor.
@@ -70,7 +87,7 @@
this.control = control;
this.parameter = param;
}
-
+
/**
* Retourne le control pour la simulation.
*
@@ -91,7 +108,7 @@
public SimulationParameter getParameter() {
return parameter;
}
-
+
/**
* Permet de mettre le zip apres construction de l'objet. Cela est util
* car la construction du zip prend du temps, et on souhaite pouvoir le
@@ -112,7 +129,7 @@
public File getSimulationZip() {
return simulationZip;
}
-
+
/**
* Get simulation prescript.
*
@@ -130,4 +147,46 @@
public void setSimulationPrescriptContent(String simulationPrescriptContent) {
this.simulationPrescriptContent = simulationPrescriptContent;
}
+
+ /**
+ * @return the standaloneSimulation
+ */
+ public boolean isStandaloneSimulation() {
+ return standaloneSimulation;
+ }
+
+ /**
+ * @param standaloneSimulation the standaloneSimulation to set
+ */
+ public void setStandaloneSimulation(boolean standaloneSimulation) {
+ this.standaloneSimulation = standaloneSimulation;
+ }
+
+ /**
+ * @return the simulationNumber
+ */
+ public int getSimulationNumber() {
+ return simulationNumber;
+ }
+
+ /**
+ * @param simulationNumber the simulationNumber to set
+ */
+ public void setSimulationNumber(int simulationNumber) {
+ this.simulationNumber = simulationNumber;
+ }
+
+ /**
+ * @return the lastSimulation
+ */
+ public boolean isLastSimulation() {
+ return lastSimulation;
+ }
+
+ /**
+ * @param lastSimulation the lastSimulation to set
+ */
+ public void setLastSimulation(boolean lastSimulation) {
+ this.lastSimulation = lastSimulation;
+ }
}
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-11-10 16:33:52 UTC (rev 2748)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-11-10 18:02:24 UTC (rev 2749)
@@ -451,6 +451,7 @@
// for launcher
SimulationParameter subParam = param.copy();
String preScriptContent = generatePreScript(scenario);
+ // usefull next two line ?
subParam.setUsePreScript(true);
subParam.setPreScript(preScriptContent);
@@ -461,6 +462,9 @@
// new item, with zip
SimulationItem item = new SimulationItem(realSimulationControl, subParam);
item.setSimulationZip(zip);
+ item.setStandaloneSimulation(false); // AS = always false
+ item.setSimulationNumber(simulationIndex);
+ item.setLastSimulation(simulationIndex == sensitivityScenarios.getScenarios().size() - 1);
SimulationJob job = new SimulationJob(this, item, priority);
job.setLauncher(launcher);
@@ -757,7 +761,7 @@
// via la methode finished(SimulationJob, SimulationStorage)
synchronized (this) {
- // si deja creer on ne le refet pas
+ // si deja creer on ne le refait pas
if (nextJob == null) {
// Prepration de la simulation a faire
// create next id simulation
@@ -796,14 +800,17 @@
if (result) {
File zip = sim.createZip();
- SimulationControl childControl = new SimulationControl(
- simId);
+ SimulationControl childControl = new SimulationControl(simId);
SimulationParameter childParam = param.copy();
- SimulationItem item = new SimulationItem(
- childControl, childParam);
+ SimulationItem item = new SimulationItem(childControl, childParam);
item.setSimulationZip(zip);
- nextJob = new SimulationJob(simulationService,
- job, item, job.getPriority());
+
+ // add extra information for specific launchers
+ //item.setStandaloneSimulation(standaloneSimulation);
+ //item.setSimulationNumber(simulationNumber);
+ //item.setSimulationsCount(simulationsCount);
+
+ nextJob = new SimulationJob(simulationService, job, item, job.getPriority());
nextJob.setLauncher(job.getLauncher());
nextJob.addPostAction(this); // pour l'appel des after des plans
}
Deleted: isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq
===================================================================
--- isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq 2009-11-10 16:33:52 UTC (rev 2748)
+++ isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-qsub.seq 2009-11-10 18:02:24 UTC (rev 2749)
@@ -1,12 +0,0 @@
-#!/bin/csh
-
-cd "${isishome}"
-
-#source /usr/share/modules/init/csh
-#module load java/1.6.0
-
-<#if simulationprescript?length > 0>
-/home3/caparmor/poussin/jdk/bin/java -Xmx2500M -jar isis-fish*.jar --option launch.ui false --simulateRemotellyWithPreScript "${simulationid}" "${simulationzip}" "${simulationresultzip}" "${simulationprescript}" >& "${isistemp}simulation-${simulationid}-output.txt"
-<#else>
-/home3/caparmor/poussin/jdk/bin/java -jar isis-fish*.jar --option launch.ui false --simulateRemotelly "${simulationid}" "${simulationzip}" "${simulationresultzip}" >& "${isistemp}simulation-${simulationid}-output.txt"
-</#if>
Added: isis-fish/trunk/src/main/resources/templates/ssh/qsub-script.ftl
===================================================================
--- isis-fish/trunk/src/main/resources/templates/ssh/qsub-script.ftl (rev 0)
+++ isis-fish/trunk/src/main/resources/templates/ssh/qsub-script.ftl 2009-11-10 18:02:24 UTC (rev 2749)
@@ -0,0 +1,27 @@
+#!/bin/csh
+
+cd "${isishome}"
+
+#source /usr/share/modules/init/csh
+#module load java/1.6.0
+
+<#assign commonCommand="/home3/caparmor/poussin/jdk/bin/java -Xmx2500M -jar isis-fish*.jar --option launch.ui false" />
+<#if qsubmutiplejob>
+ <#-- localsimulationid is short simulation id version -->
+ <#assign localsimulationid='${simulationid}' />
+ <#assign localsimulationzip='${simulationzip?replace("${simulationid}_[0-9]+", "${simulationid}_\\\\$PBS_ARRAY_INDEX","ri")}' />
+ <#assign localsimulationresultzip='${simulationresultzip?replace("${simulationid}_[0-9]+", "${simulationid}_\\\\$PBS_ARRAY_INDEX","ri")}' />
+ <#assign localsimulationprescript='${simulationprescript?replace("${simulationid}_[0-9]+", "${simulationid}_\\\\$PBS_ARRAY_INDEX","ri")}' />
+ <#assign localsimulationoutput='${isistemp}simulation-${simulationid}_$PBS_ARRAY_INDEX-output.txt' />
+<#else>
+ <#assign localsimulationid='${simulationid}' />
+ <#assign localsimulationzip='${simulationzip}}' />
+ <#assign localsimulationresultzip='${simulationresultzip}' />
+ <#assign localsimulationprescript='${simulationprescript}' />
+ <#assign localsimulationoutput='${isistemp}simulation-${simulationid}-output.txt' />
+</#if>
+<#if simulationprescript?length > 0>
+${commonCommand} --simulateRemotellyWithPreScript "${localsimulationid}" "${localsimulationzip}" "${localsimulationresultzip}" "${localsimulationprescript}" >& "${localsimulationoutput}"
+<#else>
+${commonCommand} --simulateRemotelly "${localsimulationid}" "${localsimulationzip}" "${localsimulationresultzip}" >& "${localsimulationoutput}"
+</#if>
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java 2009-11-10 16:33:52 UTC (rev 2748)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SshSimulatorLauncherTest.java 2009-11-10 18:02:24 UTC (rev 2749)
@@ -18,13 +18,11 @@
package fr.ifremer.isisfish.simulator.launcher;
-import java.io.File;
import java.io.IOException;
-import junit.framework.Assert;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
import org.junit.Test;
import fr.ifremer.isisfish.AbstractIsisFishTest;
@@ -49,56 +47,43 @@
/**
* Test l'instantiation du script qsub (caparmor).
*
- * Le script contient une variable $simulation qui
- * doit être remplacée.
+ * Le script contient plusieurs variables qui doivent être remplacées.
*
* @throws IOException when freemarker throws it
* @throws TemplateException when freemarker throws it
*/
@Test
- public void testFreemarkerTemplateWithScript() throws IOException,
+ public void testFreemarkerTemplateSimpleScript() throws IOException,
TemplateException {
- final String SIMULATIONID = "testid";
- final String SIMULATIONZIP = "test.zip";
- final String SIMULATIONRESULTZIP = "/tmp/test-result.zip";
- final String SIMULATIONPRESCRIPT = "prescript-1234567890.txt";
- final String ISISHOME = IsisFish.config.getSimulatorSshIsisHome();
- final String ISISTMP = IsisFish.config.getSimulatorSshTmpPath();
+ String simulationId = "sim_test1_2009-11-10-18-08_122";
+ String simulationZip = "simulation-" + simulationId + "-preparation.zip";
+ String simulationResultZip = "/tmp/simulation" + simulationId + "-result.zip";
+ String simulationPreScript = "simulation-" + simulationId + "-prescript.bsh";
+ String isisHome = IsisFish.config.getSimulatorSshIsisHome();
+ String isisTemp = IsisFish.config.getSimulatorSshTmpPath();
SSHSimulatorLauncher launcher = new SSHSimulatorLauncher();
String content = launcher.getSimulationScriptLaunchContent(
- SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, SIMULATIONID,
- SIMULATIONZIP, SIMULATIONRESULTZIP, SIMULATIONPRESCRIPT);
+ SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, simulationId,
+ simulationZip, simulationResultZip, simulationPreScript, false);
if (log.isDebugEnabled()) {
log.debug("Script content = " + content);
}
// simulation parameters
- Assert.assertTrue("String \"" + SIMULATIONID
- + "\" not found in template", content
- .indexOf(SIMULATIONID) > 0);
- Assert.assertTrue("String \"" + SIMULATIONZIP
- + "\" not found in template",
- content.indexOf(SIMULATIONZIP) > 0);
- Assert.assertTrue("String \"" + SIMULATIONRESULTZIP
- + "\" not found in template", content
- .indexOf(SIMULATIONRESULTZIP) > 0);
- Assert.assertTrue("String \"" + SIMULATIONPRESCRIPT
- + "\" not found in template", content
- .indexOf(SIMULATIONPRESCRIPT) > 0);
- Assert.assertTrue(
- "Action --simulateRemotellyWithPreScript not on script",
- content.indexOf(" --simulateRemotellyWithPreScript ") > 0);
+ Assert.assertTrue("String \"" + simulationId + "\" not found in template", content.indexOf(simulationId) > 0);
+ Assert.assertTrue("String \"" + simulationZip + "\" not found in template", content.indexOf(simulationZip) > 0);
+ Assert.assertTrue("String \"" + simulationResultZip + "\" not found in template", content.indexOf(simulationResultZip) > 0);
+ Assert.assertTrue("String \"" + simulationPreScript + "\" not found in template", content.indexOf(simulationPreScript) > 0);
+ Assert.assertTrue("Action --simulateRemotellyWithPreScript not on script", content.indexOf(" --simulateRemotellyWithPreScript ") > 0);
// isis location
- Assert.assertTrue("String \"" + ISISHOME + "\" not found in template",
- content.indexOf(ISISHOME) > 0);
+ Assert.assertTrue("String \"" + isisHome + "\" not found in template", content.indexOf(isisHome) > 0);
// isis temp
- Assert.assertTrue("String \"" + ISISTMP + "\" not found in template",
- content.indexOf(ISISTMP) > 0);
+ Assert.assertTrue("String \"" + isisTemp + "\" not found in template", content.indexOf(isisTemp) > 0);
}
/**
@@ -106,81 +91,142 @@
*
* Test sans script de pre simu.
*
- * Le script contient une variable $simulation qui
- * doit être remplacée.
+ * Le script contient plusieurs variables qui doivent être remplacées.
*
* @throws IOException when freemarker throws it
* @throws TemplateException when freemarker throws it
*/
@Test
- public void testFreemarkerTemplateWithoutScript() throws IOException,
+ public void testFreemarkerTemplateSimpleAndScript() throws IOException,
TemplateException {
- final String SIMULATIONID = "testid";
- final String SIMULATIONZIP = "test.zip";
- final String SIMULATIONRESULTZIP = "/tmp/test-result.zip";
- final String SIMULATIONPRESCRIPT = null;
- final String ISISHOME = IsisFish.config.getSimulatorSshIsisHome();
- final String ISISTMP = IsisFish.config.getSimulatorSshTmpPath();
+ String simulationId = "sim_test1_2009-11-10-18-08_122";
+ String simulationZip = "simulation-" + simulationId + "-preparation.zip";
+ String simulationResultZip = "/tmp/simulation" + simulationId + "-result.zip";
+ String simulationPreScript = null;
+ String isisHome = IsisFish.config.getSimulatorSshIsisHome();
+ String isisTemp = IsisFish.config.getSimulatorSshTmpPath();
SSHSimulatorLauncher launcher = new SSHSimulatorLauncher();
String content = launcher.getSimulationScriptLaunchContent(
- SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, SIMULATIONID,
- SIMULATIONZIP, SIMULATIONRESULTZIP, SIMULATIONPRESCRIPT);
+ SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, simulationId,
+ simulationZip, simulationResultZip, simulationPreScript, false);
if (log.isDebugEnabled()) {
log.debug("Script content = " + content);
}
// simulation parameters
- Assert.assertTrue("String \"" + SIMULATIONID
- + "\" not found in template", content
- .indexOf(SIMULATIONID) > 0);
- Assert.assertTrue("String \"" + SIMULATIONZIP
- + "\" not found in template",
- content.indexOf(SIMULATIONZIP) > 0);
- Assert.assertTrue("String \"" + SIMULATIONRESULTZIP
- + "\" not found in template", content
- .indexOf(SIMULATIONRESULTZIP) > 0);
- Assert.assertTrue("Action --simulateRemotelly not on script", content
- .indexOf(" --simulateRemotelly ") > 0);
+ Assert.assertTrue("String \"" + simulationId + "\" not found in template", content.indexOf(simulationId) > 0);
+ Assert.assertTrue("String \"" + simulationZip + "\" not found in template", content.indexOf(simulationZip) > 0);
+ Assert.assertTrue("String \"" + simulationResultZip + "\" not found in template", content.indexOf(simulationResultZip) > 0);
+ Assert.assertTrue("Action --simulateRemotelly not on script", content.indexOf(" --simulateRemotelly ") > 0);
// isis location
- Assert.assertTrue("String \"" + ISISHOME + "\" not found in template",
- content.indexOf(ISISHOME) > 0);
+ Assert.assertTrue("String \"" + isisHome + "\" not found in template", content.indexOf(isisHome) > 0);
// isis temp
- Assert.assertTrue("String \"" + ISISTMP + "\" not found in template",
- content.indexOf(ISISTMP) > 0);
+ Assert.assertTrue("String \"" + isisTemp + "\" not found in template", content.indexOf(isisTemp) > 0);
}
-
+
/**
- * Test get le chemin distant commence et fini toujours par /
+ * Test l'instantiation du script qsub en multijobs, sans prescript.
+ *
+ * Test sans script de pre simu.
+ *
+ * Le script contient plusieurs variables qui doivent être remplacées.
+ *
+ * @throws IOException when freemarker throws it
+ * @throws TemplateException when freemarker throws it
*/
@Test
- public void testGetRemoteTempDirectory() {
+ public void testFreemarkerTemplateMultiJobs() throws IOException,
+ TemplateException {
+
+ String shortSimulationId = "sim_test1_2009-11-10-18-08";
+ String simulationId = shortSimulationId + "_122";
+ String simulationZip = "simulation-" + simulationId + "-preparation.zip";
+ String simulationResultZip = "/tmp/simulation-" + simulationId + "-result.zip";
+ String simulationPreScript = null;
+ String isisHome = IsisFish.config.getSimulatorSshIsisHome();
+ String isisTemp = IsisFish.config.getSimulatorSshTmpPath();
+
SSHSimulatorLauncher launcher = new SSHSimulatorLauncher();
+ String content = launcher.getSimulationScriptLaunchContent(
+ SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, shortSimulationId,
+ simulationZip, simulationResultZip, simulationPreScript, true);
+
+ if (log.isDebugEnabled()) {
+ log.debug("Script content = " + content);
+ }
+
+ // simulation parameters
+ Assert.assertTrue("String \"" + shortSimulationId + "\" not found in template", content.indexOf(shortSimulationId) > 0);
+ Assert.assertTrue(content.indexOf("simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-preparation.zip") > 0);
+ Assert.assertTrue(content.indexOf("/tmp/simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-result.zip") > 0);
+ Assert.assertTrue("String " + isisTemp + "/simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-output.txt\" not found in template", content.indexOf(isisTemp + "/simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-output.txt\"") > 0);
+ Assert.assertTrue("Action --simulateRemotelly not on script", content.indexOf(" --simulateRemotelly ") > 0);
+
+ // isis location
+ Assert.assertTrue("String \"" + isisHome + "\" not found in template", content.indexOf(isisHome) > 0);
- String remoteTemp = launcher.getRemoteTempDirectory();
- Assert.assertTrue(remoteTemp.startsWith("/"));
- Assert.assertTrue(remoteTemp.endsWith("/"));
+ // isis temp
+ Assert.assertTrue("String \"" + isisTemp + "\" not found in template", content.indexOf(isisTemp) > 0);
}
-
+
/**
- * Pour tester, un autre script est present, mais
- * celui ci ne doit jamais être utilisé hors des tests.
+ * Test l'instantiation du script qsub en multijobs, avec prescript.
*
- * Test que le script contient "!/bin/csh".
- * @throws IOException
+ * Le script contient plusieurs variables qui doivent être remplacées.
+ *
+ * @throws IOException when freemarker throws it
+ * @throws TemplateException when freemarker throws it
*/
@Test
- public void testValidQsubScript() throws IOException {
+ public void testFreemarkerTemplateMultiJobsAndScript() throws IOException,
+ TemplateException {
+
+ String shortSimulationId = "sim_test1_2009-11-10-18-08";
+ String simulationId = shortSimulationId + "_122";
+ String simulationZip = "simulation-" + simulationId + "-preparation.zip";
+ String simulationResultZip = "/tmp/simulation-" + simulationId + "-result.zip";
+ String simulationPreScript = "simulation-" + simulationId + "-prescript.bsh";
+ String isisHome = IsisFish.config.getSimulatorSshIsisHome();
+ String isisTemp = IsisFish.config.getSimulatorSshTmpPath();
+
SSHSimulatorLauncher launcher = new SSHSimulatorLauncher();
String content = launcher.getSimulationScriptLaunchContent(
- SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, "", "", "", "");
+ SSHSimulatorLauncher.QSUB_SCRIPT_TEMPLATE, shortSimulationId,
+ simulationZip, simulationResultZip, simulationPreScript, true);
+ if (log.isDebugEnabled()) {
+ log.debug("Script content = " + content);
+ }
+
// simulation parameters
- Assert.assertTrue("Invalid qsub script is used", content
- .indexOf("!/bin/csh") > 0);
+ Assert.assertTrue("String \"" + shortSimulationId + "\" not found in template", content.indexOf(shortSimulationId) > 0);
+ Assert.assertTrue(content.indexOf("simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-preparation.zip") > 0);
+ Assert.assertTrue(content.indexOf("/tmp/simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-result.zip") > 0);
+ Assert.assertTrue(content.indexOf("simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-prescript.bsh") > 0);
+ Assert.assertTrue("String " + isisTemp + "/simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-output.txt\" not found in template", content.indexOf(isisTemp + "/simulation-" + shortSimulationId + "_$PBS_ARRAY_INDEX-output.txt\"") > 0);
+ Assert.assertTrue("Action --simulateRemotellyWithPreScript not on script", content.indexOf(" --simulateRemotellyWithPreScript ") > 0);
+
+ // isis location
+ Assert.assertTrue("String \"" + isisHome + "\" not found in template", content.indexOf(isisHome) > 0);
+
+ // isis temp
+ Assert.assertTrue("String \"" + isisTemp + "\" not found in template", content.indexOf(isisTemp) > 0);
}
+
+ /**
+ * Test get le chemin distant commence et fini toujours par /
+ */
+ @Test
+ public void testGetRemoteTempDirectory() {
+ SSHSimulatorLauncher launcher = new SSHSimulatorLauncher();
+
+ String remoteTemp = launcher.getRemoteTempDirectory();
+ Assert.assertTrue(remoteTemp.startsWith("/"));
+ Assert.assertTrue(remoteTemp.endsWith("/"));
+ }
}
\ No newline at end of file
1
0
r2748 - isis-fish/trunk/src/main/resources/templates/ssh
by chatellier@users.labs.libre-entreprise.org 10 Nov '09
by chatellier@users.labs.libre-entreprise.org 10 Nov '09
10 Nov '09
Author: chatellier
Date: 2009-11-10 16:33:52 +0000 (Tue, 10 Nov 2009)
New Revision: 2748
Removed:
isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq
Log:
Cron version is unmaintained.
Deleted: isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq
===================================================================
--- isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq 2009-11-09 15:44:16 UTC (rev 2747)
+++ isis-fish/trunk/src/main/resources/templates/ssh/isis-launch-with-cron.seq 2009-11-10 16:33:52 UTC (rev 2748)
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-cd "${isishome}"
-
-<#if simulationprescript?length > 0>
-java -jar isis-fish*.jar --option launch.ui false --simulateRemotellyWithPreScript "${simulationid}" "${simulationzip}" "${simulationresultzip}" "${simulationprescript}" >& "${isistemp}output-${simulationid}"
-<#else>
-java -jar isis-fish*.jar --option launch.ui false --simulateRemotelly "${simulationid}" "${simulationzip}" "${simulationresultzip}" >& "${isistemp}output-${simulationid}"
-</#if>
1
0
Author: chatellier
Date: 2009-11-09 15:44:16 +0000 (Mon, 09 Nov 2009)
New Revision: 2747
Modified:
isis-fish/trunk/pom.xml
Log:
H2 version bump
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2009-11-09 14:32:11 UTC (rev 2746)
+++ isis-fish/trunk/pom.xml 2009-11-09 15:44:16 UTC (rev 2747)
@@ -224,7 +224,7 @@
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
- <version>1.2.122</version>
+ <version>1.2.123</version>
<scope>compile</scope>
</dependency>
1
0
09 Nov '09
Author: chatellier
Date: 2009-11-09 14:32:11 +0000 (Mon, 09 Nov 2009)
New Revision: 2746
Modified:
isis-fish/trunk/pom.xml
isis-fish/trunk/src/main/xmi/isis-fish.zargo
Log:
Use engene2 and new topia (set ordered collection on model)
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2009-11-06 17:00:00 UTC (rev 2745)
+++ isis-fish/trunk/pom.xml 2009-11-09 14:32:11 UTC (rev 2746)
@@ -450,11 +450,11 @@
<properties>
<!-- Custom version -->
<jaxx.version>1.7.1</jaxx.version>
- <topia.version>2.2.2-SNAPSHOT</topia.version>
+ <eugene.version>2.0.0-beta-SNAPSHOT</eugene.version>
+ <topia.version>2.3.0-beta-SNAPSHOT</topia.version>
<nuiton-utils.version>1.1.2-SNAPSHOT</nuiton-utils.version>
<nuiton-i18n.version>1.0.1</nuiton-i18n.version>
<nuiton-widgets.version>1.0.1-SNAPSHOT</nuiton-widgets.version>
- <eugene.version>1.0.1-SNAPSHOT</eugene.version>
<jrst.version>1.0.0</jrst.version>
<aspectwerkz.version>2.0</aspectwerkz.version>
<xmlrpc.version>3.1.2</xmlrpc.version>
@@ -538,6 +538,7 @@
<extractedPackages>fr.ifremer.isisfish</extractedPackages>
<includes>**/*.objectmodel</includes>
<templates>org.nuiton.topia.generator.TopiaMetaGenerator</templates>
+ <reader>org.nuiton.eugene.ObjectModelReader</reader>
<defaultPackage>fr.ifremer.isisfish</defaultPackage>
</configuration>
<goals>
Modified: isis-fish/trunk/src/main/xmi/isis-fish.zargo
===================================================================
(Binary files differ)
1
0
r2745 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by chatellier@users.labs.libre-entreprise.org 06 Nov '09
by chatellier@users.labs.libre-entreprise.org 06 Nov '09
06 Nov '09
Author: chatellier
Date: 2009-11-06 17:00:00 +0000 (Fri, 06 Nov 2009)
New Revision: 2745
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EquationEditorPaneUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx
Log:
Divers import inutilis?\195?\169s
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EquationEditorPaneUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EquationEditorPaneUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/EquationEditorPaneUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -20,8 +20,8 @@
<JDialog id="EquationEditorPane" modal="true" title="isisfish.equation.editor.title" width="400" height="400">
<script><![CDATA[
-import org.nuiton.widget.editor.Editor;
import fr.ifremer.isisfish.util.CompileHelper;
+import fr.ifremer.isisfish.util.EvaluatorHelper;
import org.nuiton.util.FileUtil;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.HTMLDocument;
@@ -30,7 +30,6 @@
import javax.swing.event.HyperlinkEvent;
import java.io.PrintWriter;
import java.io.StringWriter;
-import fr.ifremer.isisfish.util.EvaluatorHelper;
boolean ok = false;
Class javaInterface = null;
@@ -113,16 +112,16 @@
<Table weightx="1">
<row>
<cell columns='4' weighty="1" fill='both'>
- <JScrollPane>
- <JEditorPane id="doc"/>
- </JScrollPane>
- </cell>
+ <JScrollPane>
+ <JEditorPane id="doc"/>
+ </JScrollPane>
+ </cell>
</row>
<row columns='4' weighty="5" fill='both'>
<cell>
<JSplitPane id='split' orientation='vertical' oneTouchExpandable='true' resizeWeight='0.8'>
- <Editor id="editor"/>
+ <org.nuiton.widget.editor.Editor id="editor"/>
<JScrollPane>
<JEditorPane id="checkWindow"/>
</JScrollPane>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -42,7 +42,6 @@
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationImpl;
import org.nuiton.math.matrix.MatrixND;
-import org.nuiton.math.matrix.gui.MatrixPanelEvent;
addPropertyChangeListener("populationGroup", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -30,14 +30,12 @@
<script><![CDATA[
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationImpl;
+import fr.ifremer.isisfish.entities.PopulationGroup;
import fr.ifremer.isisfish.entities.PopulationSeasonInfo;
import fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl;
+import fr.ifremer.isisfish.entities.Zone;
import org.nuiton.math.matrix.MatrixND;
import org.nuiton.math.matrix.gui.MatrixPanelEvent;
-import fr.ifremer.isisfish.entities.Population;
-import fr.ifremer.isisfish.entities.PopulationGroup;
-import fr.ifremer.isisfish.entities.PopulationSeasonInfo;
-import fr.ifremer.isisfish.entities.Zone;
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationImmigrationUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -35,8 +35,6 @@
import fr.ifremer.isisfish.entities.PopulationSeasonInfo;
import fr.ifremer.isisfish.entities.PopulationSeasonInfoImpl;
import fr.ifremer.isisfish.entities.Zone;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.nuiton.math.matrix.MatrixND;
import org.nuiton.math.matrix.gui.MatrixPanelEvent;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -23,12 +23,9 @@
<fr.ifremer.isisfish.entities.PopulationImpl id='bean' javaBean='null'/>
<script><![CDATA[
-import fr.ifremer.isisfish.entities.Equation;
-import fr.ifremer.isisfish.entities.Formule;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationImpl;
import org.nuiton.math.matrix.gui.MatrixPanelEvent;
-import jaxx.runtime.swing.editor.NumberEditor;
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -34,7 +34,6 @@
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationImpl;
import fr.ifremer.isisfish.ui.widget.Interval;
-import fr.ifremer.isisfish.ui.widget.IntervalPanel;
import org.nuiton.math.matrix.MatrixND;
import org.nuiton.math.matrix.gui.MatrixPanelEvent;
@@ -270,7 +269,7 @@
<JLabel text="isisfish.common.season" enabled='{isPopSeasonInfoNotNull()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <IntervalPanel id='seasonIntervalPanel' enabled='{isPopSeasonInfoNotNull()}' decorator='boxed'/>
+ <fr.ifremer.isisfish.ui.widget.IntervalPanel id='seasonIntervalPanel' enabled='{isPopSeasonInfoNotNull()}' decorator='boxed'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PortUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -23,7 +23,6 @@
<fr.ifremer.isisfish.entities.PortImpl id='bean' javaBean='null'/>
<script><![CDATA[
-import fr.ifremer.isisfish.entities.Species;
import fr.ifremer.isisfish.entities.Port;
import fr.ifremer.isisfish.entities.PortImpl;
import fr.ifremer.isisfish.entities.Cell;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2009-11-06 17:00:00 UTC (rev 2745)
@@ -84,24 +84,17 @@
}
protected void setListModel() {
-
java.util.List<TripType> tripTypes = getRegion().getTripType();
TripTypeListModel tripTypeModel = new TripTypeListModel(tripTypes);
vesselTypeTripType.setModel(tripTypeModel);
-
- /*java.util.List<Item> items = new java.util.ArrayList<Item>();
- for (TripType tt : getRegion().getTripType()){
- items.add(new Item(tt.getTopiaId(), tt.getName(), tt, false));
- }
- vesselTypeTripType.setItems(items);*/
- if (getBean() != null && getBean().getTripType() != null){
+ if (getBean() != null && getBean().getTripType() != null) {
vesselTypeTripType.setSelectedValues(getBean().getTripType().toArray());
}
}
protected void tripTypeChanged(){
java.util.List<TripType> tripTypes = new java.util.ArrayList<TripType>();
- for (Object o : vesselTypeTripType.getSelectedValues()){
+ for (Object o : vesselTypeTripType.getSelectedValues()) {
tripTypes.add((TripType)o);
}
getBean().setTripType(tripTypes);
1
0
r2744 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input: . formule
by chatellier@users.labs.libre-entreprise.org 06 Nov '09
by chatellier@users.labs.libre-entreprise.org 06 Nov '09
06 Nov '09
Author: chatellier
Date: 2009-11-06 16:59:01 +0000 (Fri, 06 Nov 2009)
New Revision: 2744
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboRenderer.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx
Log:
Model, renderer, toussa...
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-11-05 15:22:34 UTC (rev 2743)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-11-06 16:59:01 UTC (rev 2744)
@@ -34,6 +34,7 @@
<script><![CDATA[
import fr.ifremer.isisfish.entities.Formule;
import fr.ifremer.isisfish.entities.Equation;
+import fr.ifremer.isisfish.ui.input.formule.FormuleComboModel;
import java.lang.reflect.Method;
import org.nuiton.topia.TopiaContext;
import jaxx.runtime.swing.Item;
@@ -139,32 +140,20 @@
}
-protected void setComboModel(){
+protected void setComboModel() {
if (getBean() != null){
TopiaContext isisContext = getBean().getTopiaContext();
java.util.List<Formule> formules = null;
- if (nameEquation != null){
+ if (nameEquation != null) {
formules = getAction().getFormules(isisContext, nameEquation);
+ FormuleComboModel formulesModel = new FormuleComboModel(formules);
+ formuleComboBox.setModel(formulesModel);
+ // fix default selection
+ formuleComboBox.setSelectedItem(selectedEquation);
}
- if (formules != null){
- java.util.List<Item> items = new ArrayList<Item>();
- items.add(new Item("null", " ", null, false));
- for (Formule f : formules) {
- // chatellier 20090526 equals seams to not work
- //boolean selected = f.equals(selectedEquation);
- /*if (log.isDebugEnabled()) {
- log.debug("Compare formula");
- log.debug(" first : name=" + f.getName() + ", category=" + f.getCategory());
- log.debug(" second : name=" + selectedEquation.getName() + ", category=" + selectedEquation.getCategory());
- }*/
- boolean selected = f.equals(selectedEquation);
- items.add(new Item(f.getName(), f.getName(), f, selected));
- }
- formuleComboBox.setItems(items);
- }
}
}
-protected void saveModel(){
+protected void saveModel() {
getContextValue(InputAction.class).saveAsModel(nameEquation, "Java", editor.getText());
setComboModel();
setInfoText(_("isisfish.message.saveModel.finished"));
@@ -178,8 +167,8 @@
getContextValue(InputAction.class).openEditor(nameEquation, "new", clazz, editor.getText(), editor);
}
}
-protected void setEditorText(){
- if (getFormule() != null){
+protected void setEditorText() {
+ if (getFormule() != null) {
editor.setText(getFormule().getContent());
}
else {
@@ -200,13 +189,14 @@
}
]]>
</script>
- <Table id='body'>
+ <Table>
<row>
<cell fill='horizontal' anchor='east'>
<JLabel id='lbl' text='{getLblText()}' enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JComboBox id="formuleComboBox" onActionPerformed='formuleChanged()' enabled='{isActif()}'/>
+ <JComboBox id="formuleComboBox" onActionPerformed='formuleChanged()' enabled='{isActif()}'
+ renderer="{new fr.ifremer.isisfish.ui.input.formule.FormuleComboRenderer()}" />
</cell>
</row>
<row>
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboModel.java 2009-11-06 16:59:01 UTC (rev 2744)
@@ -0,0 +1,76 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.input.formule;
+
+import java.util.List;
+
+import javax.swing.DefaultComboBoxModel;
+
+import fr.ifremer.isisfish.entities.Formule;
+
+/**
+ * Model pour la liste des {@link Formule}.
+ *
+ * Pas de selection par defaut.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author: chatellier $
+ */
+public class FormuleComboModel extends DefaultComboBoxModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 6171850179969290032L;
+
+ /** Formules list */
+ protected List<Formule> formules;
+
+ /**
+ * Constructor with formules list.
+ *
+ * @param formules formules list
+ */
+ public FormuleComboModel(List<Formule> formules) {
+ super();
+ this.formules = formules;
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return formules.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (formules != null) {
+ size = formules.size();
+ }
+ return size;
+ }
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboModel.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboRenderer.java 2009-11-06 16:59:01 UTC (rev 2744)
@@ -0,0 +1,64 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.input.formule;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.ListCellRenderer;
+
+import fr.ifremer.isisfish.entities.Formule;
+
+/**
+ * Renderer pour la combo des {@link Formule}.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author: chatellier $
+ */
+public class FormuleComboRenderer extends DefaultListCellRenderer implements
+ ListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -8277883340386163087L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ // there is no default selection
+ if (value != null) {
+ Formule formule = (Formule) value;
+ c.setText(formule.getName());
+ }
+ return c;
+ }
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/formule/FormuleComboRenderer.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
1
0
r2743 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input: . population triptype
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
05 Nov '09
Author: chatellier
Date: 2009-11-05 15:22:34 +0000 (Thu, 05 Nov 2009)
New Revision: 2743
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListRenderer.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/population/ZoneListModel.java
Log:
Replace jaxx item use by list models
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2009-11-05 15:22:13 UTC (rev 2742)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/VesselTypeUI.jaxx 2009-11-05 15:22:34 UTC (rev 2743)
@@ -27,10 +27,11 @@
import fr.ifremer.isisfish.entities.VesselType;
import fr.ifremer.isisfish.entities.VesselTypeImpl;
import fr.ifremer.isisfish.entities.TripType;
+import fr.ifremer.isisfish.types.TimeUnit;
+import fr.ifremer.isisfish.ui.input.triptype.TripTypeListModel;
import jaxx.runtime.swing.editor.NumberEditor;
-import jaxx.runtime.swing.Item;
-import fr.ifremer.isisfish.types.TimeUnit;
+
setButtonTitle(_("isisfish.input.continueSetOfVessels"));
setNextPath("$root/$setOfVessels");
addPropertyChangeListener("bean", new PropertyChangeListener() {
@@ -83,11 +84,17 @@
}
protected void setListModel() {
- java.util.List<Item> items = new java.util.ArrayList<Item>();
+
+ java.util.List<TripType> tripTypes = getRegion().getTripType();
+ TripTypeListModel tripTypeModel = new TripTypeListModel(tripTypes);
+ vesselTypeTripType.setModel(tripTypeModel);
+
+ /*java.util.List<Item> items = new java.util.ArrayList<Item>();
for (TripType tt : getRegion().getTripType()){
items.add(new Item(tt.getTopiaId(), tt.getName(), tt, false));
}
- vesselTypeTripType.setItems(items);
+ vesselTypeTripType.setItems(items);*/
+
if (getBean() != null && getBean().getTripType() != null){
vesselTypeTripType.setSelectedValues(getBean().getTripType().toArray());
}
@@ -199,7 +206,9 @@
</cell>
<cell fill='both' weightx='1.0' weighty='0.7'>
<JScrollPane>
- <JList id="vesselTypeTripType" selectedValues='{getBean().getTripType() == null ? null : getBean().getTripType().toArray()}' onMouseClicked='tripTypeChanged()'
+ <JList id="vesselTypeTripType" selectedValues='{getBean().getTripType() == null ? null : getBean().getTripType().toArray()}'
+ onMouseClicked='tripTypeChanged()'
+ cellRenderer="{new fr.ifremer.isisfish.ui.input.triptype.TripTypeListRenderer()}"
enabled='{isActif()}' decorator='boxed' _bean='{VesselTypeImpl.class}' _method='"TripType"'/>
</JScrollPane>
</cell>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/population/ZoneListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/population/ZoneListModel.java 2009-11-05 15:22:13 UTC (rev 2742)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/population/ZoneListModel.java 2009-11-05 15:22:34 UTC (rev 2743)
@@ -22,11 +22,10 @@
import javax.swing.DefaultListModel;
-import fr.ifremer.isisfish.entities.MetierSeasonInfo;
import fr.ifremer.isisfish.entities.Zone;
/**
- * Model pour la liste des {@link MetierSeasonInfo}.
+ * Model pour la liste des {@link Zone}.
*
* Pas de selection par defaut.
*
@@ -45,7 +44,7 @@
protected List<Zone> zones;
/**
- * Constructor with species list.
+ * Constructor with zone list.
*
* @param zones zones list
*/
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListModel.java 2009-11-05 15:22:34 UTC (rev 2743)
@@ -0,0 +1,76 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.input.triptype;
+
+import java.util.List;
+
+import javax.swing.DefaultListModel;
+
+import fr.ifremer.isisfish.entities.TripType;
+
+/**
+ * Model pour la liste des {@link TripType}.
+ *
+ * Pas de selection par defaut.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author: chatellier $
+ */
+public class TripTypeListModel extends DefaultListModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 6171850179969290032L;
+
+ /** Trip types list */
+ protected List<TripType> tripTypes;
+
+ /**
+ * Constructor with trip types list.
+ *
+ * @param tripTypes Trip types list
+ */
+ public TripTypeListModel(List<TripType> tripTypes) {
+ super();
+ this.tripTypes = tripTypes;
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return tripTypes.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (tripTypes != null) {
+ size = tripTypes.size();
+ }
+ return size;
+ }
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListModel.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListRenderer.java 2009-11-05 15:22:34 UTC (rev 2743)
@@ -0,0 +1,60 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.input.triptype;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+
+import fr.ifremer.isisfish.entities.TripType;
+
+/**
+ * Renderer pour liste des trip types.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author: chatellier $
+ */
+public class TripTypeListRenderer extends DefaultListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1113492654780402245L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alternated highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ TripType tripType = (TripType) value;
+ c.setText(tripType.getName());
+
+ return c;
+ }
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/triptype/TripTypeListRenderer.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
1
0
r2742 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
05 Nov '09
Author: chatellier
Date: 2009-11-05 15:22:13 +0000 (Thu, 05 Nov 2009)
New Revision: 2742
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx
Log:
Replace jaxx item use by list models
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx 2009-11-05 14:29:02 UTC (rev 2741)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoZoneUI.jaxx 2009-11-05 15:22:13 UTC (rev 2742)
@@ -27,17 +27,17 @@
<Boolean id='metierSeasonInfoNotNull' javaBean='false'/>
<script><![CDATA[
+ import fr.ifremer.isisfish.entities.Metier;
+ import fr.ifremer.isisfish.entities.MetierImpl;
+ import fr.ifremer.isisfish.entities.MetierSeasonInfo;
+ import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl;
import fr.ifremer.isisfish.entities.Season;
+ import fr.ifremer.isisfish.entities.Zone;
import fr.ifremer.isisfish.types.Month;
+ import fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoComboModel;
import fr.ifremer.isisfish.ui.widget.Interval;
- import fr.ifremer.isisfish.entities.MetierSeasonInfo;
- import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
- import fr.ifremer.isisfish.entities.Zone;
- import fr.ifremer.isisfish.entities.Metier;
- import fr.ifremer.isisfish.entities.MetierImpl;
- import jaxx.runtime.swing.Item;
-
+
protected Interval interval = null;
protected boolean init = false;
@@ -174,16 +174,11 @@
}
protected void setMetierSeasonInfoCombo() {
- java.util.List<Item> items = new ArrayList<Item>();
java.util.List<MetierSeasonInfo> metierSeasonInfoList = getBean().getMetierSeasonInfo();
- items.add(new Item("null", " ", null, false));
- if (metierSeasonInfoList != null) {
- for (MetierSeasonInfo m : metierSeasonInfoList) {
- items.add(new Item(m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m.getFirstMonth().toString() + "-" + m.getLastMonth().toString(), m, (m == getMetierSeasonInfo())));
- }
- }
- metierSeasonInfoCombo.setItems(items);
+ MetierSeasonInfoComboModel metierSeasonInfoModel = new MetierSeasonInfoComboModel(metierSeasonInfoList);
+ metierSeasonInfoCombo.setModel(metierSeasonInfoModel);
}
+
protected void metierZonesChanged(){
Object[] selected = metierZones.getSelectedValues();
java.util.List<Zone> zones = new ArrayList<Zone>();
@@ -211,7 +206,8 @@
<JLabel text="isisfish.metierSeasonInfoZone.selectSeason" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JComboBox id="metierSeasonInfoCombo" onActionPerformed='seasonChanged()' enabled='{isActif()}'/>
+ <JComboBox id="metierSeasonInfoCombo" onActionPerformed='seasonChanged()' enabled='{isActif()}'
+ renderer="{new fr.ifremer.isisfish.ui.input.metier.MetierSeasonInfoComboRenderer()}" />
</cell>
</row>
<row>
1
0
r2741 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: actions simulator simulator/launcher
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
05 Nov '09
Author: chatellier
Date: 2009-11-05 14:29:02 +0000 (Thu, 05 Nov 2009)
New Revision: 2741
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.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/SimulationQueue.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/package-info.java
Log:
Modification des informations de lancement, tout est maintenant regroup?\195?\169 dans SimulationItem (zip, prescript, control)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -38,6 +38,7 @@
import fr.ifremer.isisfish.simulator.SimulationControl;
import fr.ifremer.isisfish.simulator.SimulationParameter;
import fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher;
+import fr.ifremer.isisfish.simulator.launcher.SimulationItem;
import fr.ifremer.isisfish.simulator.launcher.SimulationService;
import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
@@ -128,14 +129,11 @@
throws Exception {
if (log.isInfoEnabled()) {
- log.info("Command line action : simulateWithSimulation (" + simulationId + ", " + simulationZip.getAbsolutePath() + ", " + simulationPrescript + ")");
+ log.info("Command line action : simulateWithSimulationAndScript (" + simulationId + ", " + simulationZip.getAbsolutePath() + ", " + simulationPrescript + ")");
}
String name = simulationId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date());
- // lancement de la simulation
- SimulatorLauncher launcher = new InProcessSimulatorLauncher();
-
//SimulationStorage simulation = launcher.simulate(null, control, simulationZip);
//simulation.getStorage().closeContext();
String simulationPrescriptContent = null;
@@ -144,7 +142,13 @@
}
SimulationControl control = new SimulationControl(name);
- launcher.simulate(null, control, simulationZip, simulationPrescriptContent);
+ SimulationItem item = new SimulationItem(control, null);
+ item.setSimulationZip(simulationZip);
+ item.setSimulationPrescriptContent(simulationPrescriptContent);
+
+ // lancement de la simulation
+ SimulatorLauncher launcher = new InProcessSimulatorLauncher();
+ launcher.simulate(SimulationService.getService(), item);
SimulationStorage simulation = launcher.getSimulationStorage(SimulationService.getService(), control);
simulation.getStorage().closeContext();
@@ -208,9 +212,6 @@
String name = simulationId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date());
- // lancement de la simulation
- SimulatorLauncher launcher = new InProcessSimulatorLauncher();
-
//SimulationStorage simulation = launcher.simulate(null, control, simulationZip);
//simulation.getStorage().closeContext();
String simulationPrescriptContent = null;
@@ -219,7 +220,13 @@
}
SimulationControl control = new SimulationControl(name);
- launcher.simulate(null, control, simulationZip, simulationPrescriptContent);
+ SimulationItem item = new SimulationItem(control, null);
+ item.setSimulationZip(simulationZip);
+ item.setSimulationPrescriptContent(simulationPrescriptContent);
+
+ // lancement de la simulation
+ SimulatorLauncher launcher = new InProcessSimulatorLauncher();
+ launcher.simulate(SimulationService.getService(), item);
SimulationStorage simulationStorage = launcher.getSimulationStorage(SimulationService.getService(), control);
// make result archive after simulation
@@ -236,7 +243,7 @@
}
simulationStorage.getStorage().closeContext();
-
+
// remove simulation
if (log.isInfoEnabled()) {
log.info("Deleting simulation : " + simulationStorage.getRoot());
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -43,6 +43,7 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher;
+import fr.ifremer.isisfish.simulator.launcher.SimulationItem;
import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
/**
@@ -50,8 +51,6 @@
* de simulation. Il est ensuite possible de lui demander ou en est rendu
* une simulation.
*
- * FIXME chatellier : since ... a long time this implementation is unmaintained.
- *
* Created: Thu Aug 22 2002
*
* @author <poussin at codelutin.com> Copyright Code Lutin
@@ -60,6 +59,8 @@
*
* Mise a jour: $Date$
* par : $Author$
+ *
+ * @deprecated since ... a long time this implementation is unmaintained.
*/
public class SimulatorServer implements XmlRpcHandler, XmlRpcHandlerMapping { // SimulatorServer
@@ -176,7 +177,9 @@
simulationControls.put(id, control);
try {
SimulatorLauncher launcher = new InProcessSimulatorLauncher();
- launcher.simulate(null, control, zip, null);
+ SimulationItem item = new SimulationItem(control, null);
+ item.setSimulationZip(zip);
+ launcher.simulate(null, item);
// FIXME null
simulation = launcher.getSimulationStorage(null, control);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -83,26 +83,31 @@
* {@inheritDoc}
*/
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip,
- String simulationPrescript) throws RemoteException {
+ SimulationItem simulationItem) throws RemoteException {
+ // get real simulation informations for this launcher
+ SimulationControl control = simulationItem.getControl();
+ File simulationZip = simulationItem.getSimulationZip();
+ String simulationPrescript = simulationItem.getSimulationPrescriptContent();
+
String id = control.getId();
- log.info(_("simulate %s with file %s", id, simulationZip));
+ if (log.isInfoEnabled()) {
+ log.info(_("simulate %s with file %s", id, simulationZip));
+ }
try {
-
+
// remove simulation if already exists
if (SimulationStorage.exists(id)) {
if (log.isWarnEnabled()) {
log.warn("Warning , simulation " + id + " aleady exists");
log.warn("Deleting it before doing simulation");
-
- // storage can be opened (result UI)
- SimulationStorage storage = SimulationStorage.getSimulation(id);
- storage.closeStorage();
-
- FileUtil.deleteRecursively(storage.getFile());
}
+ // storage can be opened (result UI)
+ SimulationStorage storage = SimulationStorage.getSimulation(id);
+ storage.closeStorage();
+
+ FileUtil.deleteRecursively(storage.getFile());
}
if (log.isDebugEnabled()) {
@@ -550,7 +555,7 @@
* Do nothing (no restriction on inprocess launcher).
*/
@Override
- public void simulationStopRequest(SimulationJob job) {
+ public void simulationStopRequest(SimulationControl control) {
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
___________________________________________________________________
Modified: svn:keywords
- Revision Author Date
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -42,10 +42,10 @@
* Launch simulation on remote IsisFish server throw XML-RPC.
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*
* @deprecated Since ... a long time this implementation is unmaintained.
*/
@@ -55,9 +55,13 @@
private static Log log = LogFactory
.getLog(IsisFishServerSimulationLauncher.class);
+ @Override
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip,
- String simulationPreScript) throws RemoteException {
+ SimulationItem simulationItem) throws RemoteException {
+
+ SimulationControl control = simulationItem.getControl();
+ File simulationZip = simulationItem.getSimulationZip();
+
String simulationId = control.getId();
SimulationStorage simulation = null;
try {
@@ -78,6 +82,7 @@
}
+ @Override
public int maxSimulationThread() {
// TODO a rendre configurable
return 1;
@@ -251,7 +256,7 @@
* Do nothing (no restriction on xml rpc launcher).
*/
@Override
- public void simulationStopRequest(SimulationJob job) {
+ public void simulationStopRequest(SimulationControl control) {
}
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -79,9 +79,9 @@
* @see JSch
*
* @author chatellier
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 18 nov. 2008 $ By : $Author: chatellier $
+ * Last update : $Date$ By : $Author$
*/
public class SSHSimulatorLauncher implements SimulatorLauncher {
@@ -184,9 +184,11 @@
/**
* {@inheritDoc}
+ *
+ * Try to send a qdel command.
*/
@Override
- public void simulationStopRequest(SimulationJob job) throws RemoteException {
+ public void simulationStopRequest(SimulationControl control) throws RemoteException {
// make sure user is connected
try {
@@ -197,7 +199,7 @@
}
try {
- sendStopSimulationRequest(sshSession, job.getId());
+ sendStopSimulationRequest(sshSession, control.getId());
} catch (SSHException e) {
throw new RemoteException("Can't connect", e);
}
@@ -206,16 +208,28 @@
/**
* {@inheritDoc}
*
- * Dans le cas de ssh: - upload la simulation - construit le script pour
- * qsub - upload le script qsub - ajoute le script a qsub
+ * Dans le cas de ssh:
+ * <ul>
+ * <li>upload la simulation
+ * <li>construit le script pour qsub
+ * <li>upload le script qsub
+ * <li>ajoute le script a qsub
+ * <ul>
*
- * Et : - lance le thread de control de la simulation
+ * Et :
+ * <ul>
+ * <li>lance le thread de control de la simulation
+ * <ul>
*/
@Override
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip,
- String simulationPrescript) throws RemoteException {
+ SimulationItem simulationItem) throws RemoteException {
+ // get simulation information for this launcher
+ SimulationControl control = simulationItem.getControl();
+ File simulationZip = simulationItem.getSimulationZip();
+ String simulationPrescript = simulationItem.getSimulationPrescriptContent();
+
// check username
if (StringUtils.isBlank(IsisFish.config.getSimulatorSshUsername())) {
throw new RemoteException("Username is empty");
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
___________________________________________________________________
Deleted: svn:mergeinfo
-
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -41,10 +41,10 @@
* Il est aussi possible d'ecoute l'etat de l'attribut pause
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationExecutor extends ThreadPoolExecutor {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -25,35 +25,46 @@
import fr.ifremer.isisfish.simulator.SimulationParameter;
/**
- * Objet representant un simulation qui doit etre faite.
+ * Objet representant une simulation qui doit être faite.
*
* Elle est composée :
* - d'un fichier zip (la simulation a simuler)
* - les parametres de la simulation
* - d'un pre-script
+ * - d'informations suplémentaires utiles à certains launcher :
+ * -
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationItem {
/** Le control pour la simulation. */
protected SimulationControl control;
-
+
/** Les parametres de simulation. */
protected SimulationParameter parameter;
-
+
/** Le zip contenant la simulation prete a etre executee. */
protected File simulationZip;
+ /** Simulation prescript. */
+ protected String simulationPrescriptContent;
+
+ protected boolean standaloneSimulation;
+
+ protected int simulationNumber;
+
+ protected int simulationsCount;
+
/**
* Constructor.
*
- * @param control Le control pour la simulation.
- * @param param Les parametres de simulation.
+ * @param control le control pour la simulation.
+ * @param param les parametres de simulation.
*/
public SimulationItem(SimulationControl control, SimulationParameter param) {
this.control = control;
@@ -62,6 +73,7 @@
/**
* Retourne le control pour la simulation.
+ *
* @return le control pour la simulation.
*/
public SimulationControl getControl() {
@@ -69,7 +81,11 @@
}
/**
- * Retorune les parametres de simulation.
+ * Retourne les parametres de simulation.
+ *
+ * Attention, ce ne sont pas forcement les parametres de la simulation
+ * en cours, mais ceux ayant servit à la générer.
+ *
* @return les parametres de simulation.
*/
public SimulationParameter getParameter() {
@@ -81,22 +97,37 @@
* car la construction du zip prend du temps, et on souhaite pouvoir le
* monitorer et donc il faut que l'item exist pour etre vu dans la console
* de queue de simulation.
- * <p>
- * Normalement seul l'objet SimulationService doit pouvoir appeler cette
- * method, elle est donc protected
*
- * @param simulationZip
+ * @param simulationZip zip to set
*/
- protected void setSimulationZip(File simulationZip) {
+ public void setSimulationZip(File simulationZip) {
this.simulationZip = simulationZip;
}
/**
- * Retourne le zip contenant la simulation prete a etre executee.
+ * Retourne le zip contenant la simulation prete a etre executée.
*
* @return le zip contenant la simulation prete a etre executee.
*/
public File getSimulationZip() {
return simulationZip;
}
+
+ /**
+ * Get simulation prescript.
+ *
+ * @return the simulationPrescriptPath
+ */
+ public String getSimulationPrescriptContent() {
+ return simulationPrescriptContent;
+ }
+
+ /**
+ * Set simulation prescript.
+ *
+ * @param simulationPrescriptContent the simulationPrescriptContent to set
+ */
+ public void setSimulationPrescriptContent(String simulationPrescriptContent) {
+ this.simulationPrescriptContent = simulationPrescriptContent;
+ }
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
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-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -43,10 +43,10 @@
* {@link SimulationService#reportError}.
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationJob implements Runnable, Comparable<SimulationJob> {
@@ -262,15 +262,16 @@
//SimulationStorage simulation = null;
if (!onlyCheckControl) {
- File zip = item.getSimulationZip();
-
+ //File zip = item.getSimulationZip();
+
// get prescript content, only if UsePreScript is set to true
String simulationPrescript = null;
if(param.getUsePreScript()) {
simulationPrescript = param.getPreScript();
+ item.setSimulationPrescriptContent(simulationPrescript);
}
-
- launcher.simulate(simulationService, control, zip, simulationPrescript);
+
+ launcher.simulate(simulationService, item);
}
// simulation ended
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
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-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2009 Code Lutin
+ * Copyright (C) 2009 Ifremer, Code Lutin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -520,7 +520,7 @@
}
if (control.isStopSimulationRequest()) {
- launcher.simulationStopRequest(job); // to release one resource
+ launcher.simulationStopRequest(control); // to release one resource
simulationEnded = true;
}
} catch (RemoteException e) {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java
___________________________________________________________________
Modified: svn:keywords
- Revision Date Author
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -28,10 +28,10 @@
* Multi tail PriorityBlockingQueue.
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationQueue extends JDKPriorityBlockingQueue<SimulationJob> {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
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-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -103,10 +103,10 @@
* Il est alors suspendu pour ne plus etre utilise pour les simulations.
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationService {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -20,14 +20,13 @@
package fr.ifremer.isisfish.simulator.launcher;
/**
- * Ecouteur sur les evenenements de changement
- * d'états des simulations.
+ * Ecouteur sur les evenenements de changement d'états des simulations.
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public interface SimulationServiceListener {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -43,10 +43,10 @@
* simulations
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationServiceTableModel extends AbstractTableModel {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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
@@ -19,20 +19,20 @@
package fr.ifremer.isisfish.simulator.launcher;
+import java.rmi.RemoteException;
+
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.simulator.SimulationControl;
-import java.io.File;
-import java.rmi.RemoteException;
/**
* Interface devant etre implantée par les classes souhaitants etre utilisees
* comme plugin de simulation (InProcess, SubProcess, CapArmor, ...)
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public interface SimulatorLauncher {
@@ -40,10 +40,9 @@
* Execute une simulation.
*
* @param simulationService le {@link SimulationService} qui a initie
- * la simulation
- * @param control le control de la simulation
- * @param simulationZip le zip contenant la simulation prete a etre executee
- * @param simulationPrescript script de pre simulation
+ * la simulation
+ * @param simulationItem l'item contenant toutes les infos nécessaire au
+ * lancement de la simulation
*
* <b>IMPORTANT</b> Quoi qu'il arrive
* @throws RemoteException Si pour l'execution de la simulation
@@ -52,8 +51,7 @@
* exception est levee.
*/
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip,
- String simulationPrescript) throws RemoteException;
+ SimulationItem simulationItem) throws RemoteException;
/**
* Retourne le nombre maximal de thread de simulations simultanées supporté.
@@ -84,11 +82,9 @@
*
* @throws RemoteException Si pour l'execution de la simulation
* on utilise des resources distantes (serveurs) et que ceux si non pas pu
- * etre contacte. Dans ce cas la simulation n'a pas ete faite et cette
- * exception est levee.
+ * etre contacte.
*/
- public SimulationStorage getSimulationStorage(
- SimulationService simulationService, SimulationControl control)
+ public SimulationStorage getSimulationStorage(SimulationService simulationService, SimulationControl control)
throws RemoteException;
/**
@@ -100,16 +96,20 @@
*
* @throws RemoteException Si pour l'execution de la simulation
* on utilise des resources distantes (serveurs) et que ceux si non pas pu
- * etre contacte. Dans ce cas la simulation n'a pas ete faite et cette
- * exception est levee.
+ * etre contacte.
*/
public void updateControl(SimulationService simulationService,
SimulationControl control) throws RemoteException;
/**
- * Called if a started simulation has been ask to stop.
+ * Called if a started simulation has been ask to stop. Tell launcher to
+ * stop simulation if possible.
*
- * TODO review this mecanism (some resource could be not released)
+ * @param control le control de la simulation
+ *
+ * @throws RemoteException Si pour l'execution de la simulation
+ * on utilise des resources distantes (serveurs) et que ceux si non pas pu
+ * etre contacte.
*/
- public void simulationStopRequest(SimulationJob job) throws RemoteException;
+ public void simulationStopRequest(SimulationControl control) throws RemoteException;
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-11-05 09:29:50 UTC (rev 2740)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-11-05 14:29:02 UTC (rev 2741)
@@ -1,20 +1,20 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 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 published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+ * USA.
*##%*/
package fr.ifremer.isisfish.simulator.launcher;
@@ -48,10 +48,10 @@
* @see Process
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SubProcessSimulationLauncher implements SimulatorLauncher {
@@ -68,8 +68,13 @@
@Override
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip,
- String simulationPrescript) throws RemoteException {
+ SimulationItem simulationItem) throws RemoteException {
+
+ // get simulation information for this launcher
+ SimulationControl control = simulationItem.getControl();
+ File simulationZip = simulationItem.getSimulationZip();
+ String simulationPrescript = simulationItem.getSimulationPrescriptContent();
+
String simulationId = control.getId();
SimulationStorage simulation = null;
try {
@@ -323,7 +328,7 @@
* Do nothing (no restriction on subprocess launcher).
*/
@Override
- public void simulationStopRequest(SimulationJob job) {
+ public void simulationStopRequest(SimulationControl control) {
// TODO kill -9 sub process
}
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/package-info.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
1
0
r2740 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish java/fr/ifremer/isisfish/simulator/launcher java/fr/ifremer/isisfish/ui/config resources/i18n
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
by chatellier@users.labs.libre-entreprise.org 05 Nov '09
05 Nov '09
Author: chatellier
Date: 2009-11-05 09:29:50 +0000 (Thu, 05 Nov 2009)
New Revision: 2740
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx
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:
Remove simultaneous simulation limit, prepare multijobs use.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-11-04 18:15:48 UTC (rev 2739)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2009-11-05 09:29:50 UTC (rev 2740)
@@ -514,28 +514,6 @@
}
/**
- * Retourne le nombre simultané de simulations authorisées sur
- * caparmor.
- *
- * Utilisé pour l'envoie des simulations.
- *
- * @return le nombre de simulations authorisé
- */
- public int getSimulatorSshMaxSimultaneousSimulation() {
- int result = getOptionAsInt(Option.SIMULATOR_SSH_MAX_SIMULTANEOUS_SIMULATION.key);
- return result;
- }
-
- /**
- * Change max simultaneous simulation at a time.
- *
- * @param max max
- */
- public void setSimulatorSshMaxSimultaneousSimulation(int max) {
- setOption(Option.SIMULATOR_SSH_MAX_SIMULTANEOUS_SIMULATION.key, String.valueOf(max));
- }
-
- /**
* Retourne la clé privée de l'utilisteur courant.
*
* @return private ssh key path
@@ -936,8 +914,6 @@
SIMULATOR_SSH_PBSBINPATH("simulation.ssh.pbsbinpath", _("isisfish.config.main.simulation.ssh.pbsbinpath.description"), "/usr/pbs/bin"),
/** Serveur accessible par SSH : interval de check du fichier de control */
SIMULATOR_SSH_CONTROLCHECKINTERVAL("simulation.ssh.control.check.interval", _("isisfish.config.main.simulation.ssh.control.check.interval.description"), "120"),
- /** Serveur accessible par SSH : nombre de simulations simultanées sur caparmor */
- SIMULATOR_SSH_MAX_SIMULTANEOUS_SIMULATION("simulation.ssh.max.simultaneous.simulation", _("isisfish.config.main.simulation.max.simultaneous.simulation.description"), "20"),
LOCALE("locale", _("isisfish.config.main.locale.description"), "fr_FR"),
// REGION_MAP("regionMap", _("isisfish.config.main.regionMap.description"), "maps"),
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-04 18:15:48 UTC (rev 2739)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-05 09:29:50 UTC (rev 2740)
@@ -31,7 +31,6 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import java.util.concurrent.Semaphore;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
@@ -109,14 +108,6 @@
protected static Session sshSftpSession;
/**
- * Semaphore used to upload only 20 (default) simulations at a time.
- *
- * @deprecated this just a hack to not crash PBS
- */
- protected static Semaphore semaphore = new Semaphore(IsisFish.config
- .getSimulatorSshMaxSimultaneousSimulation());
-
- /**
* Constructor.
*
* Init freemarker.
@@ -179,8 +170,7 @@
// par defaut, pour ssh, on utilise 20 secondes
- int interval = (int) IsisFish.config
- .getSimulatorSshControlCheckInterval();
+ int interval = (int) IsisFish.config.getSimulatorSshControlCheckInterval();
return interval;
}
@@ -193,33 +183,6 @@
}
/**
- * Use semaphore to limit simultaneous simulation number on caparmor.
- * @see Semaphore
- */
- public void simulationStarted() {
- try {
- semaphore.acquire();
- if (log.isDebugEnabled()) {
- log.debug("Semaphore have now " + semaphore.availablePermits() + " available resources");
- }
- } catch (InterruptedException e) {
- if (log.isErrorEnabled()) {
- log.error("Semaphore aquiere has been interrupted", e);
- }
- }
- }
-
- /**
- * Release one resource on semaphore.
- */
- protected void simulationEnded() {
- semaphore.release();
- if (log.isDebugEnabled()) {
- log.debug("Semaphore have now " + semaphore.availablePermits() + " available resources");
- }
- }
-
- /**
* {@inheritDoc}
*/
@Override
@@ -238,8 +201,6 @@
} catch (SSHException e) {
throw new RemoteException("Can't connect", e);
}
-
- simulationEnded();
}
/**
@@ -260,11 +221,6 @@
throw new RemoteException("Username is empty");
}
- // ask for available resources on caparmor
- // blocking until available
- message(control, _("isisfish.simulation.remote.message.waitingavailable"));
- simulationStarted();
-
// start ssh session
try {
@@ -293,7 +249,7 @@
// prescript uploaded, delete
simulationScript.delete();
- sendStartSimulationRequest(sshSession, scriptRemotePath, simulationid);
+ //sendStartSimulationRequest(sshSession, scriptRemotePath, simulationid);
} catch (Exception e) {
if (log.isErrorEnabled()) {
@@ -395,15 +351,8 @@
if (resultArchiveFile != null) {
- // FIXME done here to not break upload during import
- // FIXME je pense que les resources ne sont
- // pas liberees si la simulation a commencé
- // mais qu'elle a demandée a être arrêté
- simulationEnded();
-
// FIXME too slow methods
//SimulationStorage.importZip(resultZipFile);
- //Tbz2Util.uncompress(resultArchiveFile, SimulationStorage.getSimulationDirectory());
//ZipUtil.uncompress(resultArchiveFile, SimulationStorage.getSimulationDirectory());
// FIXME big hacks here, only extract non first simulation
@@ -426,7 +375,7 @@
resultArchiveFile.delete();
- // TODO remove remote md5 and zip
+ // TODO remove remote md5 and zip on remote
}
else {
if (log.isWarnEnabled()) {
@@ -442,11 +391,7 @@
if (log.isDebugEnabled()) {
log.debug(_("Can't download archive : %s", e.getMessage()));
}
- } /*catch (TopiaException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't import result zip file", e);
- }
- }*/
+ }
// INFORMATION file
try {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx 2009-11-04 18:15:48 UTC (rev 2739)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/config/SSHLauncherConfigUI.jaxx 2009-11-05 09:29:50 UTC (rev 2740)
@@ -40,7 +40,6 @@
protected String currentSSHTempPath;
protected String currentSSHPbsBinPath;
protected String currentSSHControlInterval;
- protected String currentSSHSimultaneousSimulation;
// fill default values
resetSSHConfiguration();
@@ -62,7 +61,6 @@
sshTemppathField.setText(IsisFish.config.getSimulatorSshTmpPath());
sshPbsBinPathField.setText(IsisFish.config.getSimulatorSshPbsBinPath());
sshControlIntervalField.setText(String.valueOf(IsisFish.config.getSimulatorSshControlCheckInterval()));
- sshSimultaneousSimulationField.setText(String.valueOf(IsisFish.config.getSimulatorSshMaxSimultaneousSimulation()));
doCheck();
}
@@ -143,14 +141,6 @@
else {
setColor(false, sshControlIntervalField);
}
-
- currentSSHSimultaneousSimulation = sshSimultaneousSimulationField.getText().trim();
- if (!currentSSHSimultaneousSimulation.matches("\\d+")) {
- setColor(true, sshSimultaneousSimulationField);
- }
- else {
- setColor(false, sshSimultaneousSimulationField);
- }
}
/**
@@ -168,7 +158,6 @@
IsisFish.config.setSimulatorSshTmpPath(currentSSHTempPath);
IsisFish.config.setSimulatorSshPbsBinPath(currentSSHPbsBinPath);
IsisFish.config.setSimulatorSshControlCheckInterval(Long.parseLong(currentSSHControlInterval));
- IsisFish.config.setSimulatorSshMaxSimultaneousSimulation(Integer.parseInt(currentSSHSimultaneousSimulation));
IsisFish.config.saveForUser();
dispose();
@@ -434,17 +423,6 @@
onKeyReleased="doCheck()" />
</cell>
</row>
- <row fill='horizontal'>
- <cell>
- <JLabel id='sshSimultaneousSimulationLabel' text='isisfish.config.main.simulation.max.simultaneous.simulation'
- toolTipText='isisfish.config.main.simulation.max.simultaneous.simulation.description' />
- </cell>
- <cell>
- <JTextField id='sshSimultaneousSimulationField'
- toolTipText='isisfish.config.main.simulation.max.simultaneous.simulation.description'
- onKeyReleased="doCheck()" />
- </cell>
- </row>
</Table>
<Table>
<row fill='horizontal'>
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-11-04 18:15:48 UTC (rev 2739)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-11-05 09:29:50 UTC (rev 2740)
@@ -166,8 +166,6 @@
isisfish.config.main.regionMap.description=
isisfish.config.main.remoteCaparmor.description=
isisfish.config.main.resultExport.description=
-isisfish.config.main.simulation.max.simultaneous.simulation=Simultaneous simulation
-isisfish.config.main.simulation.max.simultaneous.simulation.description=Simultaneous simulation to do on Caparmor
isisfish.config.main.simulation.ssh.control.check.interval=Control check interval (seconds)
isisfish.config.main.simulation.ssh.control.check.interval.description=Control check interval (seconds)
isisfish.config.main.simulation.ssh.datapath=Isis-Fish database
@@ -972,7 +970,6 @@
isisfish.simulation.remote.message.connection=Connecting to Caparmor
isisfish.simulation.remote.message.downloadresults=Downloading results
isisfish.simulation.remote.message.upload=Uploading simulation
-isisfish.simulation.remote.message.waitingavailable=Waiting for available resource.
isisfish.simulation.remote.message.waitingstart=Waiting for simulation start
isisfish.simulation.restarting=Restarting...
isisfish.simulation.title=Simulation launcher
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-11-04 18:15:48 UTC (rev 2739)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-11-05 09:29:50 UTC (rev 2740)
@@ -166,8 +166,6 @@
isisfish.config.main.regionMap.description=le nom du r\u00E9pertoire contenant les maps d'une r\u00E9gion
isisfish.config.main.remoteCaparmor.description=lance les simulations sur un serveur distant
isisfish.config.main.resultExport.description=TODO
-isisfish.config.main.simulation.max.simultaneous.simulation=Nombre de simulations simultan\u00E9es
-isisfish.config.main.simulation.max.simultaneous.simulation.description=Nombre maximum de simulations pouvant \u00EAtre envoy\u00E9es au serveur
isisfish.config.main.simulation.ssh.control.check.interval=V\u00E9rification de la progression (secondes)
isisfish.config.main.simulation.ssh.control.check.interval.description=Temps d'attente en secondes entre deux v\u00E9rifications de progression
isisfish.config.main.simulation.ssh.datapath=Base de donn\u00E9es
@@ -972,7 +970,6 @@
isisfish.simulation.remote.message.connection=Connexion \u00E0 Caparmor
isisfish.simulation.remote.message.downloadresults=T\u00E9l\u00E9chargement des r\u00E9sultats
isisfish.simulation.remote.message.upload=Upload de la simulation
-isisfish.simulation.remote.message.waitingavailable=Attente d'une place de simulation
isisfish.simulation.remote.message.waitingstart=Attente du d\u00E9marrage de la simulation
isisfish.simulation.restarting=Red\u00E9marrage...
isisfish.simulation.title=Lanceur de simulation
1
0