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
March 2009
- 5 participants
- 159 discussions
r1924 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 17:22:53 +0000 (Mon, 09 Mar 2009)
New Revision: 1924
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationContext.java
Log:
Add info on SimulationContext to add equation context values
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationContext.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationContext.java 2009-03-09 16:55:55 UTC (rev 1923)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationContext.java 2009-03-09 17:22:53 UTC (rev 1924)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,23 +17,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * SimulationContext.java
- *
- * Created: 3 juil. 2006 17:05:27
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.simulator;
import java.io.File;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
@@ -45,37 +32,67 @@
import fr.ifremer.isisfish.datastore.SimulationStorage;
-
/**
- * keep all information on one simulation.
+ * Keep all information on one simulation.
+ *
* <li> Launch parameter
* <li> Database (TopiaContext)
* <li> SimulationControl
* <li> Effectif by pop (N)
* <li> Result
*
+ * Created: 3 juil. 2006 17:05:27
+ *
* @author poussin
+ * @version $Revision$
*
+ * Last update: $Date$
+ * by : $Author$
*/
+public class SimulationContext {
-public class SimulationContext {
-
/** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(SimulationContext.class);
+ private static Log log = LogFactory.getLog(SimulationContext.class);
+ protected Map<String, Object> values = new HashMap<String, Object>();
+ protected SimulationStorage simulation = null;
+ protected SimulationControl simulationControl = null;
+ protected PopulationMonitor populationMonitor = null;
+ protected MetierMonitor metierMonitor = null;
+ protected RuleMonitor ruleMonitor = null;
+ protected ResultManager resultManager = null;
+ protected Set<SimulationListener> simulationListeners = new LinkedHashSet<SimulationListener>();
+ protected ClassLoader classLoader = null;
+ protected File scriptDirectory;
+
+ /** TopiaContext must be used by rule action to modify data */
+ protected TopiaContext db = null;
+
+ /** TopiaContext must be used to save result */
+ protected TopiaContext dbResult = null;
+
+ /** Context value used in equation. */
+ protected Map<String, Double> contextEquationValue = new HashMap<String, Double>();
+ /** Operator used in equation values */
+ protected Map<String, String> contextEquationOperator = new HashMap<String, String>();
+
private static ThreadLocal<SimulationContext> simulationContext = new ThreadLocal<SimulationContext>() {
protected synchronized SimulationContext initialValue() {
return new SimulationContext();
}
};
+ protected SimulationContext() {
+
+ }
+
/**
* @return simulation context for the current simulation (current thread)
*/
public static SimulationContext get() {
return simulationContext.get();
}
-
+
/**
* remove simulation associate with current thread
*/
@@ -85,36 +102,17 @@
current.classLoader = null;
simulationContext.remove();
}
-
- protected Map<String, Object> values = new HashMap<String, Object>();
- protected SimulationStorage simulation = null;
- protected SimulationControl simulationControl = null;
- protected PopulationMonitor populationMonitor = null;
- protected MetierMonitor metierMonitor = null;
- protected RuleMonitor ruleMonitor = null;
- protected ResultManager resultManager = null;
- protected Set<SimulationListener> simulationListeners = new LinkedHashSet<SimulationListener>();
- protected ClassLoader classLoader = null;
- protected File scriptDirectory;
-
- /** TopiaContext must be used by rule action to modify data */
- protected TopiaContext db = null;
-
- /** TopiaContext must be used to save result */
- protected TopiaContext dbResult = null;
-
- private SimulationContext() {
- }
/**
* Add simulation listener, if listener is {@link SimulationResultListener}, it's
- * automaticaly added as listener on {@link ResultManager}
+ * automatically added as listener on {@link ResultManager}
* @param l
*/
public void addSimulationListener(SimulationListener l) {
simulationListeners.add(l);
if (l instanceof SimulationResultListener) {
- getResultManager().addSimulationResultListener((SimulationResultListener)l);
+ getResultManager().addSimulationResultListener(
+ (SimulationResultListener) l);
}
}
@@ -137,12 +135,13 @@
dbResult.closeContext();
} catch (TopiaException eee) {
if (log.isDebugEnabled()) {
- log.debug("Can't close simulation result topia context", eee);
+ log.debug("Can't close simulation result topia context",
+ eee);
}
}
}
}
-
+
/**
* Remove simulation listener, if listener is {@link SimulationResultListener}, it's
* Automatically removed as listener on {@link ResultManager}
@@ -151,35 +150,37 @@
public void removeSimulationListener(SimulationListener l) {
simulationListeners.remove(l);
if (l instanceof SimulationResultListener) {
- getResultManager().addSimulationResultListener((SimulationResultListener)l);
+ getResultManager().addSimulationResultListener(
+ (SimulationResultListener) l);
}
}
-
+
public void fireBeforeSimulation() {
- for(SimulationListener l : simulationListeners) {
+ for (SimulationListener l : simulationListeners) {
l.beforeSimulation(this);
}
}
+
public void fireAfterSimulation() {
- for(SimulationListener l : simulationListeners) {
+ for (SimulationListener l : simulationListeners) {
l.afterSimulation(this);
- }
+ }
}
-
+
/**
* @return Returns the classLoader.
*/
public ClassLoader getClassLoader() {
return this.classLoader;
}
-
+
/**
* @param classLoader The classLoader to set.
*/
public void setClassLoader(ClassLoader classLoader) {
this.classLoader = classLoader;
}
-
+
/**
* Permet de recuperer une valeur prealablement stocker avec un setValue
* @param name le nom de la valeur souhaitée
@@ -189,7 +190,7 @@
Object result = values.get(name);
return result;
}
-
+
/**
* Permet de stocker une valeur en fonction d'une cle, cela peut-etre util
* pour partager des informations entre Rule ou d'autre objet.
@@ -199,35 +200,35 @@
public void setValue(String name, Object value) {
values.put(name, value);
}
-
+
/**
* @return Returns the topiaContext.
*/
public SimulationStorage getSimulationStorage() {
return this.simulation;
}
-
+
/**
* @param simulation The simulation storage to set.
*/
public void setSimulationStorage(SimulationStorage simulation) {
this.simulation = simulation;
}
-
+
/**
* @return Returns the simulationControl.
*/
public SimulationControl getSimulationControl() {
return this.simulationControl;
}
-
+
/**
* @param simulationControl The simulationControl to set.
*/
public void setSimulationControl(SimulationControl simulationControl) {
this.simulationControl = simulationControl;
}
-
+
/**
* @return Returns the populationMonitor.
*/
@@ -237,7 +238,7 @@
}
return this.populationMonitor;
}
-
+
/**
* @return Returns the metierMonitor.
*/
@@ -247,7 +248,7 @@
}
return this.metierMonitor;
}
-
+
/**
* @return Returns the ruleMonitor.
*/
@@ -258,7 +259,6 @@
return this.ruleMonitor;
}
-
/**
* @return Returns the resultManager.
*/
@@ -266,9 +266,9 @@
if (this.resultManager == null) {
this.resultManager = new ResultManager(this);
}
- return this.resultManager;
+ return this.resultManager;
}
-
+
/**
* This method return TopiaContext that Rule action must used to modify
* data. This TopiaContext is rollbacked after each step.
@@ -281,8 +281,7 @@
}
return db;
}
-
-
+
/**
* this method return TopiaContext that must be used to save result
* @return Returns the dbResult.
@@ -294,14 +293,14 @@
}
return this.dbResult;
}
-
+
/**
* @return Returns the scriptDirectory.
*/
public File getScriptDirectory() {
return this.scriptDirectory;
}
-
+
/**
* @param scriptDirectory
*/
@@ -318,7 +317,56 @@
getSimulationControl().setText(message);
}
}
+
+ /**
+ * Add value/key pair into context.
+ *
+ * @param key key
+ * @param value value
+ * @param operator operator
+ */
+ public void setValue(String key, Double value, String operator) {
+ contextEquationValue.put(key, value);
+ contextEquationOperator.put(key, operator);
+ }
+ /**
+ * Return value from context.
+ *
+ * @param key key
+ * @param defaultValue default value or value to compute
+ * @return computed value or <tt>defaultValue</tt> if not found
+ */
+ public double getValueAndCompute(String key, double defaultValue) {
+
+ double result = defaultValue;
+
+ if (contextEquationValue.containsKey(key) && contextEquationOperator.containsKey(key)) {
+ Double value = contextEquationValue.get(key);
+ String operator = contextEquationOperator.get(key);
+
+ if ("+".equals(operator)) {
+ result = value + defaultValue;
+ }
+ else if ("-".equals(operator)) {
+ result = value - defaultValue;
+ }
+ else if ("*".equals(operator)) {
+ result = value * defaultValue;
+ }
+ else if ("/".equals(operator)) {
+ result = value / defaultValue;
+ }
+ else {
+ throw new IllegalArgumentException("Unknown operator '" + operator + "'");
+ }
+ }
+ else {
+ if (log.isWarnEnabled()) {
+ log.warn("No key defined for key '" + key + "' in context");
+ }
+ }
+
+ return result;
+ }
}
-
-
1
0
r1923 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: sletellier
Date: 2009-03-09 16:55:55 +0000 (Mon, 09 Mar 2009)
New Revision: 1923
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
Log:
Bug esp?\195?\168ce capturable fixed
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-09 16:52:41 UTC (rev 1922)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-09 16:55:55 UTC (rev 1923)
@@ -37,6 +37,7 @@
<fr.ifremer.isisfish.entities.MetierImpl id='bean' javaBean='null'/>
<Boolean id='metierSeasonSelected' javaBean='false'/>
+
<Boolean id='targetSpeciesSelected' javaBean='false'/>
<script><![CDATA[
@@ -206,11 +207,16 @@
}
protected void metierSeasonChanged(){
setMetierSeasonSelected(fieldMetierSeasonInfo.getSelectedItem() != null);
+ if (isMetierSeasonSelected()){
+ getVerifier().addCurrentEntity((TopiaEntity)((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue());
+ }
setTargetSpeciesModel();
+ setTableTargetSpeciesModel();
setAddButton();
}
protected void targetSpeciesChanged(){
setTargetSpeciesSelected(fieldTargetSpecies.getSelectedItem() != null);
+ setTableTargetSpeciesModel();
setAddButton();
}
protected void setAddButton(){
@@ -241,7 +247,7 @@
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
<InputOneEquationUI id='targetFactor' constructorParams='this'
lblText='{_("isisfish.metierSeasonInfoSpecies.targetFactor")}'
- bean='{null}' nameEquation='TargetFactor'
+ bean='{getBean()}' nameEquation='TargetFactor'
clazz='{fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class}'
decorator='boxed' _bean='{MetierImpl.class}' _method='""'/>
</cell>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-09 16:52:41 UTC (rev 1922)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-09 16:55:55 UTC (rev 1923)
@@ -185,7 +185,7 @@
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
<InputOneEquationUI id='selectivityEquation' constructorParams='this'
lblText='{_("isisfish.selectivity.equation")}'
- bean='{null}' nameEquation='Selectivity'
+ bean='{getBean()}' nameEquation='Selectivity'
clazz='{fr.ifremer.isisfish.equation.SelectivityEquation.class}'
decorator='boxed' _bean='{GearImpl.class}' _method='""'/>
</cell>
1
0
r1922 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/mexico/xml main/java/fr/ifremer/isisfish/simulator/sensitivity main/java/fr/ifremer/isisfish/simulator/sensitivity/domain test/java/fr/ifremer/isisfish/mexico test/java/fr/ifremer/isisfish/simulator test/java/fr/ifremer/isisfish/simulator/launcher test/java/fr/ifremer/isisfish/simulator/sensitivity test/java/fr/ifremer/isisfish/ui/sensitivity
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 16:52:41 +0000 (Mon, 09 Mar 2009)
New Revision: 1922
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/package-info.java
Removed:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Scenario.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityScenarios.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/FactorTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java
Log:
Add new domain implementation.
Move domain to "domain" package.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -20,9 +20,9 @@
import java.io.Serializable;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
/**
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -1,132 +0,0 @@
-/* *##%
- * 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.simulator.sensitivity;
-
-import java.io.Serializable;
-
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
-
-/**
- * Domaine continu.
- *
- * Composé d'un borne min et max.
- *
- * @param <E> type des valeurs gérées par le domaine
- *
- * @author chatellier
- * @version $Revision: 1.0 $
- *
- * Last update : $Date: 24 févr. 2009 $
- * By : $Author: chatellier $
- */
-public class ContinuousDomain<E extends Serializable> implements Domain<E> {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -2037768174807839046L;
-
- /** Borne inférieure */
- protected E minBound;
-
- /** Borne supérieure */
- protected E maxBound;
-
- /**
- * Empty constructor.
- */
- public ContinuousDomain() {
-
- }
-
- /**
- * Constructor with bounds.
- *
- * @param minBound min bound
- * @param maxBound max bound
- */
- public ContinuousDomain(E minBound, E maxBound) {
- this();
- this.minBound = minBound;
- this.maxBound = maxBound;
- }
-
- /**
- * @return the minBound
- */
- public E getMinBound() {
- return minBound;
- }
-
- /**
- * @param minBound the minBound to set
- */
- public void setMinBound(E minBound) {
- this.minBound = minBound;
- }
-
- /**
- * @return the maxBound
- */
- public E getMaxBound() {
- return maxBound;
- }
-
- /**
- * @param maxBound the maxBound to set
- */
- public void setMaxBound(E maxBound) {
- this.maxBound = maxBound;
- }
-
- /**
- * {@inheritDoc}.
- *
- * In continuous domain, just return identifier
- */
- public E getValueForIdentifier(Serializable identifier) {
- // FIXME test cast
- return (E)identifier;
- }
-
- /**
- * Accept a new visitor.
- *
- * @param visitor
- */
- public void accept(DomainVisitor visitor) {
- visitor.start(this);
- visitor.visit(this, "min", minBound);
- visitor.visit(this, "max", maxBound);
- visitor.end(this);
- }
-
- /*
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(minBound);
- builder.append(minBound);
-
- return builder.toString();
- }
-}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -22,8 +22,6 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
import fr.ifremer.isisfish.simulator.sensitivity.visitor.DesignPlanVisitor;
/**
@@ -81,16 +79,4 @@
}
visitor.end(this);
}
-
- /*
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(factors);
-
- return builder.toString();
- }
}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -1,118 +0,0 @@
-/* *##%
- * 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.simulator.sensitivity;
-
-import java.io.Serializable;
-import java.util.Map;
-import java.util.SortedMap;
-import java.util.TreeMap;
-
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
-
-/**
- * Domain discret.
- *
- * Ensemble de valeurs.
- *
- * @param <E> type des valeurs gérées par le domaine
- *
- * @author chatellier
- * @version $Revision: 1.0 $
- *
- * Last update : $Date: 24 févr. 2009 $
- * By : $Author: chatellier $
- */
-public class DiscreteDomain<E extends Serializable> implements Domain<E> {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -192647757737396585L;
-
- /**
- * Value for this domain.
- *
- * Each "E" values is identified by a Serializable identifier.
- */
- protected SortedMap<Serializable, E> values;
-
- /**
- * Contructor.
- */
- public DiscreteDomain() {
- values = new TreeMap<Serializable, E>();
- }
-
- /**
- * Get domaine values.
- *
- * @return the values
- */
- public SortedMap<Serializable, E> getValues() {
- return values;
- }
-
- /**
- * Set domain values.
- *
- * @param values the values
- */
- public void setValues(SortedMap<Serializable, E> values) {
- this.values = values;
- }
-
- /**
- * {@inheritDoc}.
- *
- * @throws IllegalArgumentException if identifier is not a valid key
- */
- public E getValueForIdentifier(Serializable identifier) throws IllegalArgumentException{
-
- if( values == null || !values.containsKey(identifier)) {
- throw new IllegalArgumentException("Can't get value for identifier " + identifier);
- }
-
- return values.get(identifier);
- }
-
- /**
- * Accept a new visitor.
- *
- * @param visitor
- */
- public void accept(DomainVisitor visitor) {
- visitor.start(this);
- for(Map.Entry<Serializable, E> value : values.entrySet()) {
- visitor.visit(this, value.getKey(), value.getValue());
- }
- visitor.end(this);
- }
-
- /*
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(values);
-
- return builder.toString();
- }
-}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -20,6 +20,8 @@
import java.io.Serializable;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
/**
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -20,8 +20,8 @@
import java.io.Serializable;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor;
/**
@@ -207,19 +207,4 @@
return f;
}
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(name);
- builder.append(domain);
- builder.append(value);
- builder.append(path);
-
- return builder.toString();
- }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Scenario.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Scenario.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Scenario.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -22,8 +22,6 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
/**
* Scenario d'execution de simulation.
*
@@ -86,16 +84,4 @@
public void setFactors(List<Factor<? extends Serializable>> factors) {
this.factors = factors;
}
-
- /*
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(factors);
-
- return builder.toString();
- }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityScenarios.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityScenarios.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityScenarios.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -21,8 +21,6 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
/**
* Ensemble de {@link Scenario}.
*
@@ -66,16 +64,4 @@
public void setScenarios(List<Scenario> scenarios) {
this.scenarios = scenarios;
}
-
- /*
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(scenarios);
-
- return builder.toString();
- }
}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java (from rev 1915, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -0,0 +1,133 @@
+/* *##%
+ * 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.simulator.sensitivity.domain;
+
+import java.io.Serializable;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
+/**
+ * Domaine continu.
+ *
+ * Composé d'un borne min et max.
+ *
+ * @param <E> type des valeurs gérées par le domaine
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 24 févr. 2009 $
+ * By : $Author: chatellier $
+ */
+public class ContinuousDomain<E extends Serializable> implements Domain<E> {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -2037768174807839046L;
+
+ /** Borne inférieure */
+ protected E minBound;
+
+ /** Borne supérieure */
+ protected E maxBound;
+
+ /**
+ * Empty constructor.
+ */
+ public ContinuousDomain() {
+
+ }
+
+ /**
+ * Constructor with bounds.
+ *
+ * @param minBound min bound
+ * @param maxBound max bound
+ */
+ public ContinuousDomain(E minBound, E maxBound) {
+ this();
+ this.minBound = minBound;
+ this.maxBound = maxBound;
+ }
+
+ /**
+ * @return the minBound
+ */
+ public E getMinBound() {
+ return minBound;
+ }
+
+ /**
+ * @param minBound the minBound to set
+ */
+ public void setMinBound(E minBound) {
+ this.minBound = minBound;
+ }
+
+ /**
+ * @return the maxBound
+ */
+ public E getMaxBound() {
+ return maxBound;
+ }
+
+ /**
+ * @param maxBound the maxBound to set
+ */
+ public void setMaxBound(E maxBound) {
+ this.maxBound = maxBound;
+ }
+
+ /**
+ * {@inheritDoc}.
+ *
+ * In continuous domain, just return identifier
+ */
+ public E getValueForIdentifier(Serializable identifier) {
+ // FIXME test cast
+ return (E)identifier;
+ }
+
+ /**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(DomainVisitor visitor) {
+ visitor.start(this);
+ visitor.visit(this, "min", minBound);
+ visitor.visit(this, "max", maxBound);
+ visitor.end(this);
+ }
+
+ /*
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+
+ ToStringBuilder builder = new ToStringBuilder(this);
+ builder.append(minBound);
+ builder.append(minBound);
+
+ return builder.toString();
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java (from rev 1915, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -0,0 +1,107 @@
+/* *##%
+ * 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.simulator.sensitivity.domain;
+
+import java.io.Serializable;
+import java.util.Map;
+import java.util.SortedMap;
+import java.util.TreeMap;
+
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
+/**
+ * Domain discret.
+ *
+ * Ensemble de valeurs.
+ *
+ * @param <E> type des valeurs gérées par le domaine
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 24 févr. 2009 $
+ * By : $Author: chatellier $
+ */
+public class DiscreteDomain<E extends Serializable> implements Domain<E> {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -192647757737396585L;
+
+ /**
+ * Value for this domain.
+ *
+ * Each "E" values is identified by a Serializable identifier.
+ */
+ protected SortedMap<Serializable, E> values;
+
+ /**
+ * Contructor.
+ */
+ public DiscreteDomain() {
+ values = new TreeMap<Serializable, E>();
+ }
+
+ /**
+ * Get domaine values.
+ *
+ * @return the values
+ */
+ public SortedMap<Serializable, E> getValues() {
+ return values;
+ }
+
+ /**
+ * Set domain values.
+ *
+ * @param values the values
+ */
+ public void setValues(SortedMap<Serializable, E> values) {
+ this.values = values;
+ }
+
+ /**
+ * {@inheritDoc}.
+ *
+ * @throws IllegalArgumentException if identifier is not a valid key
+ */
+ public E getValueForIdentifier(Serializable identifier) throws IllegalArgumentException{
+
+ if( values == null || !values.containsKey(identifier)) {
+ throw new IllegalArgumentException("Can't get value for identifier " + identifier);
+ }
+
+ return values.get(identifier);
+ }
+
+ /**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(DomainVisitor visitor) {
+ visitor.start(this);
+ for(Map.Entry<Serializable, E> value : values.entrySet()) {
+ visitor.visit(this, value.getKey(), value.getValue());
+ }
+ visitor.end(this);
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -0,0 +1,101 @@
+/* *##%
+ * 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.simulator.sensitivity.domain;
+
+import java.io.Serializable;
+
+/**
+ * Domaine continu portant sur variable pouvant prendre diférente
+ * valeur par rapport à une valeur initiale.
+ *
+ * Composé d'un borne min et max et d'un opération.
+ *
+ * @param <E> type des valeurs gérées par le domaine
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 24 févr. 2009 $
+ * By : $Author: chatellier $
+ */
+public class EquationContinuousDomain<E extends Serializable> extends ContinuousDomain<E> {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -2037768174807839046L;
+
+ /** Variable name (must be java valid identifier) */
+ protected String variableName;
+
+ /** Operation. (=,+,-,/) */
+ protected String operator;
+
+ /**
+ * Empty constructor.
+ */
+ public EquationContinuousDomain() {
+
+ }
+
+ /**
+ * Get variable name.
+ *
+ * @return the variableName
+ */
+ public String getVariableName() {
+ return variableName;
+ }
+
+ /**
+ * Set variable name.
+ *
+ * @param variableName the variableName to set
+ */
+ public void setVariableName(String variableName) {
+ this.variableName = variableName;
+ }
+
+ /**
+ * Get operator.
+ *
+ * @return the operator
+ */
+ public String getOperator() {
+ return operator;
+ }
+
+ /**
+ * Set operator.
+ *
+ * @param operator the operator to set
+ */
+ public void setOperator(String operator) {
+ this.operator = operator;
+ }
+
+ /**
+ * {@inheritDoc}.
+ *
+ * In equation continuous domain, value appear in
+ * continuous domain values only.
+ * Here : return identifier.
+ */
+ public E getValueForIdentifier(Serializable identifier) {
+ return (E)identifier;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/MatrixContinuousDomain.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -0,0 +1,100 @@
+/* *##%
+ * 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.simulator.sensitivity.domain;
+
+import java.io.Serializable;
+
+import org.codelutin.math.matrix.MatrixND;
+
+/**
+ * Domaine continu portant sur une matrice.
+ *
+ * Composé d'un borne min et max et d'une matrice.
+ *
+ * @param <E> type des valeurs gérées par le domaine
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 24 févr. 2009 $
+ * By : $Author: chatellier $
+ */
+public class MatrixContinuousDomain<E extends Serializable> extends ContinuousDomain<E> {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -2037768174807839046L;
+
+ /** Matrix */
+ protected MatrixND matrix;
+
+ /** Operation. (=,+,-,/) */
+ protected String operator;
+
+ /**
+ * Empty constructor.
+ */
+ public MatrixContinuousDomain() {
+
+ }
+
+ /**
+ * Get matrix.
+ *
+ * @return the matrix
+ */
+ public MatrixND getMatrix() {
+ return matrix;
+ }
+
+ /**
+ * Set matrix.
+ *
+ * @param matrix the matrix to set
+ */
+ public void setMatrix(MatrixND matrix) {
+ this.matrix = matrix;
+ }
+
+ /**
+ * Get operator.
+ *
+ * @return the operator
+ */
+ public String getOperator() {
+ return operator;
+ }
+
+ /**
+ * Set operator.
+ *
+ * @param operator the operator to set
+ */
+ public void setOperator(String operator) {
+ this.operator = operator;
+ }
+
+ /**
+ * {@inheritDoc}.
+ *
+ * In continuous domain, just return identifier
+ */
+ public E getValueForIdentifier(Serializable identifier) {
+ return (E)identifier;
+ }
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/package-info.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/package-info.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/package-info.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -0,0 +1,5 @@
+/**
+ * Ensembles des implémentation de domaines.
+ */
+package fr.ifremer.isisfish.simulator.sensitivity.domain;
+
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -24,10 +24,10 @@
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
/**
* TODO COMMENT ME.
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -48,10 +48,10 @@
import fr.ifremer.isisfish.entities.PopulationSeasonInfoDAO;
import fr.ifremer.isisfish.entities.VesselType;
import fr.ifremer.isisfish.entities.VesselTypeDAO;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.Scenario;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.util.ConverterUtil;
import freemarker.template.Configuration;
import freemarker.template.Template;
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -36,12 +36,12 @@
import fr.ifremer.isisfish.entities.StrategyImpl;
import fr.ifremer.isisfish.entities.Zone;
import fr.ifremer.isisfish.simulator.SimulationParameter;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculatorRandomMock;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
/**
* Test for {@link SimulationService}.
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/FactorTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/FactorTest.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/FactorTest.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -25,9 +25,9 @@
import org.junit.Assert;
import org.junit.Test;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
/**
* Factors test.
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -29,11 +29,11 @@
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
import fr.ifremer.isisfish.simulator.sensitivity.Domain;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityScenarios;
import fr.ifremer.isisfish.simulator.sensitivity.Scenario;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
/**
* Implementation of SensitivityCalculator that take
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java 2009-03-09 16:50:24 UTC (rev 1921)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java 2009-03-09 16:52:41 UTC (rev 1922)
@@ -38,9 +38,9 @@
import org.codelutin.math.matrix.MatrixND;
import org.junit.Test;
-import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
/**
* Sensitivity tree model test.
1
0
r1921 - isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 16:50:24 +0000 (Mon, 09 Mar 2009)
New Revision: 1921
Modified:
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/TestUtil.java
Log:
FIx import
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/TestUtil.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/TestUtil.java 2009-03-09 16:20:46 UTC (rev 1920)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/logging/TestUtil.java 2009-03-09 16:50:24 UTC (rev 1921)
@@ -1,7 +1,6 @@
package fr.ifremer.isisfish.logging;
import fr.ifremer.TestUtils;
-import fr.ifremer.isisfish.IsisFish;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelutin.log.LutinLogFactory;
1
0
r1920 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/ui/sensitivity test/java/fr/ifremer/isisfish/entity test/java/fr/ifremer/isisfish/ui test/java/fr/ifremer/isisfish/ui/sensitivity
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 16:20:46 +0000 (Mon, 09 Mar 2009)
New Revision: 1920
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/entity/PopulationSeasonInfoTest.java
Log:
Add factor tree model and his test.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 14:40:20 UTC (rev 1919)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -1,7 +1,20 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
+/* *##%
+ * 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
+ * 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.sensitivity;
@@ -21,7 +34,6 @@
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
import jaxx.runtime.JAXXInitialContext;
-import org.apache.commons.beanutils.BeanUtils;
import org.codelutin.math.matrix.MatrixND;
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-09 14:40:20 UTC (rev 1919)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -1,12 +1,23 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
+/* *##%
+ * 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
+ * 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.sensitivity;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
-
/**
*
* @author letellier
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -0,0 +1,72 @@
+/* *##%
+ * 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.sensitivity;
+
+import java.awt.Component;
+import java.util.List;
+
+import javax.swing.JLabel;
+import javax.swing.JTree;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeCellRenderer;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+
+/**
+ * Factor tree cell renderer.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 9 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class FactorTreeCellRenderer extends DefaultTreeCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 1686424876690392268L;
+
+ /*
+ * @see javax.swing.tree.TreeCellRenderer#getTreeCellRendererComponent(javax.swing.JTree, java.lang.Object, boolean, boolean, boolean, int, boolean)
+ */
+ @Override
+ public Component getTreeCellRendererComponent(JTree tree, Object value,
+ boolean selected, boolean expanded, boolean leaf, int row,
+ boolean hasFocus) {
+
+ JLabel c = (JLabel)super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
+
+ if (value instanceof DefaultMutableTreeNode) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
+ Object userObject = node.getUserObject();
+
+ if (userObject instanceof List) {
+ c.setText("Facteurs : ");
+ }
+ else if (userObject instanceof Factor) {
+ Factor<?> factor = (Factor)userObject;
+ //c = new JLabel(factor.getName());
+ c.setText(factor.getName());
+ }
+ }
+
+ return c;
+ }
+
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -0,0 +1,128 @@
+/* *##%
+ * 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
+ * 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.sensitivity;
+
+import java.util.List;
+
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeNode;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+
+/**
+ * Cette classe gere l'affichage d'une liste de facteurs dans l'arbre.
+ *
+ * @author chatellier
+ * @version $Revision: 2011 $
+ *
+ * Last update : $Date: 2008-06-13 11:05:57 +0200 (ven., 13 juin 2008)
+ * $ By : $Author: chatellier $
+ */
+public class FactorTreeModel extends DefaultTreeModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 593284613450915826L;
+
+ /**
+ * Constructor.
+ *
+ * @param root root node
+ */
+ public FactorTreeModel(TreeNode root) {
+ super(root);
+ }
+
+ /*
+ * @see javax.swing.tree.DefaultTreeModel#getChild(java.lang.Object, int)
+ */
+ @Override
+ public Object getChild(Object parent, int index) {
+
+ Object value = null;
+
+ if (parent instanceof DefaultMutableTreeNode) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) parent;
+ Object userObject = node.getUserObject();
+
+ if (userObject instanceof List) {
+ Object localUserObject = ((DefaultMutableTreeNode)root).getUserObject();
+ List<Factor<?>> factors = (List<Factor<?>>)localUserObject;
+ value = new DefaultMutableTreeNode(factors.get(index));
+ }
+ }
+
+ return value;
+ }
+
+ /*
+ * @see org.jdesktop.swingx.treetable.DefaultTreeTableModel#getChildCount(java.lang.Object)
+ */
+ @Override
+ public int getChildCount(Object parent) {
+
+ int childCount = 0;
+
+ if (parent instanceof DefaultMutableTreeNode) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) parent;
+ Object userObject = node.getUserObject();
+
+ if (userObject instanceof List) {
+ Object localUserObject = ((DefaultMutableTreeNode)root).getUserObject();
+ List<Factor<?>> factors = (List<Factor<?>>)localUserObject;
+ childCount = factors.size();
+ }
+ }
+
+ return childCount;
+ }
+
+ /*
+ * @see javax.swing.tree.DefaultTreeModel#getIndexOfChild(java.lang.Object, java.lang.Object)
+ */
+ @Override
+ public int getIndexOfChild(Object parent, Object child) {
+
+ int childIndex = -1;
+
+ if (parent instanceof DefaultMutableTreeNode) {
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode) parent;
+ Object userObject = node.getUserObject();
+ DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) child;
+ Object childUserObject = childNode.getUserObject();
+
+ if (userObject instanceof List) {
+ Object localUserObject = ((DefaultMutableTreeNode)root).getUserObject();
+ List<Factor<?>> factors = (List<Factor<?>>)localUserObject;
+ childIndex = factors.indexOf(childUserObject);
+ }
+ }
+
+ return childIndex;
+ }
+
+ /*
+ * @see javax.swing.tree.DefaultTreeModel#isLeaf(java.lang.Object)
+ */
+ @Override
+ public boolean isLeaf(Object node) {
+ return getChildCount(node) == 0;
+ }
+
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java 2009-03-09 14:40:20 UTC (rev 1919)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -1,7 +1,20 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
+/* *##%
+ * 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
+ * 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.sensitivity;
@@ -28,15 +41,11 @@
import jaxx.runtime.swing.navigation.NavigationTreeSelectionAdapterWithCardLayout;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import static org.codelutin.i18n.I18n._;
import org.codelutin.topia.persistence.TopiaEntity;
-import javax.swing.JOptionPane;
import javax.swing.JPanel;
-import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import java.awt.Component;
-import org.hibernate.transaction.JOTMTransactionManagerLookup;
/** @author letellier */
public class SensitivityNavigationTreeSelectionAdapter extends NavigationTreeSelectionAdapterWithCardLayout {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2009-03-09 14:40:20 UTC (rev 1919)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -1,15 +1,26 @@
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
+/* *##%
+ * 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
+ * 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.sensitivity;
import fr.ifremer.isisfish.ui.input.InputContentUI;
-import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
import java.util.logging.Level;
import java.util.logging.Logger;
-import javax.swing.JOptionPane;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/entity/PopulationSeasonInfoTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/entity/PopulationSeasonInfoTest.java 2009-03-09 14:40:20 UTC (rev 1919)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/entity/PopulationSeasonInfoTest.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -17,8 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-
-
package fr.ifremer.isisfish.entity;
import static org.codelutin.i18n.I18n._;
@@ -212,10 +210,6 @@
log.error("No X11 display available", he);
}
}
- System.out.println("end");
}
-
}
-
-
Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java 2009-03-09 16:20:46 UTC (rev 1920)
@@ -0,0 +1,157 @@
+/* *##%
+ * 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
+ * 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.sensitivity;
+
+import static org.codelutin.i18n.I18n._;
+
+import java.awt.HeadlessException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
+import javax.swing.JTree;
+import javax.swing.SwingUtilities;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreeNode;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.math.matrix.MatrixFactory;
+import org.codelutin.math.matrix.MatrixND;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+
+/**
+ * Sensitivity tree model test.
+ *
+ * Created: 29 juin 2006 20:19:32
+ *
+ * @author poussin
+ * @version $Revision: 1781 $
+ *
+ * Last update: $Date: 2009-02-03 17:44:23 +0100 (mar 03 fév 2009) $
+ * by : $Author: chatellier $
+ */
+public class FactorTreeModelTest{
+
+ /** Logger for this class */
+ private static final Log log = LogFactory.getLog(FactorTreeModelTest.class);
+
+ /**
+ * Return une liste de facteur à afficher.
+ *
+ * @return la liste des facteur
+ */
+ protected List<Factor<? extends Serializable>> getFactors() {
+
+ Factor<Integer> factor1 = new Factor<Integer>("testint");
+ ContinuousDomain<Integer> domain1 = new ContinuousDomain<Integer>();
+ domain1.setMinBound(0);
+ domain1.setMaxBound(50);
+ factor1.setDomain(domain1);
+ factor1.setPath("org.codelutin.factor#1234567890#0.12242345354#name");
+ factor1.setValueForIdentifier(49);
+
+ // matrix 1
+ MatrixND matrix1 = MatrixFactory.getInstance().create("test1",
+ new int[] { 3, 2 }, new String[] { "col1", "col2" });
+ matrix1.setValue(new int[] { 0, 0 }, 13);
+ matrix1.setValue(new int[] { 0, 1 }, -14);
+ matrix1.setValue(new int[] { 1, 0 }, 21);
+ matrix1.setValue(new int[] { 1, 1 }, 2);
+ matrix1.setValue(new int[] { 2, 0 }, 12);
+ matrix1.setValue(new int[] { 2, 1 }, -1);
+
+ // matrix 2
+ MatrixND matrix2 = MatrixFactory.getInstance().create("test2",
+ new int[] { 2, 3 }, new String[] { "col1", "col2" });
+ matrix2.setValue(new int[] { 0, 0 }, 9999);
+ matrix2.setValue(new int[] { 0, 1 }, 15000);
+ matrix2.setValue(new int[] { 0, 2 }, -40000);
+ matrix2.setValue(new int[] { 1, 0 }, 21345);
+ matrix2.setValue(new int[] { 1, 1 }, 81000);
+ matrix2.setValue(new int[] { 1, 2 }, -13000);
+
+ // factor
+ Factor<MatrixND> factor2 = new Factor<MatrixND>("testmatrix");
+ DiscreteDomain<MatrixND> domain2 = new DiscreteDomain<MatrixND>();
+ domain2.getValues().put("m1", matrix1);
+ domain2.getValues().put("m2", matrix2);
+ factor2.setDomain(domain2);
+ factor2.setPath("org.codelutin.math.matrix.MatrixND#563456293453#2.456347646#dim");
+ factor2.setValueForIdentifier("m2");
+
+ List<Factor<? extends Serializable>> factors1 = new ArrayList<Factor<? extends Serializable>>();
+ factors1.add(factor1);
+ factors1.add(factor2);
+
+ return factors1;
+ }
+
+ /*
+ * Test tree rendering.
+ */
+ @Test
+ public void testJTreeModel() throws InterruptedException {
+
+ TreeNode root = new DefaultMutableTreeNode(getFactors());
+ final JTree tree = new JTree(root);
+ tree.setRootVisible(true);
+ FactorTreeModel model = new FactorTreeModel(root);
+ tree.setModel(model);
+ tree.setCellRenderer(new FactorTreeCellRenderer());
+
+ try {
+ final JDialog dialog = new JDialog();
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ JOptionPane.showMessageDialog(dialog, tree,_("Tree factor model"), JOptionPane.INFORMATION_MESSAGE);
+ }
+ });
+
+ Thread t = new Thread(new Runnable() {
+ public void run() {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ // do nothing
+ }
+ dialog.dispose();
+ }
+ });
+ t.start();
+
+ // it would really be nice to wait the thread, otherwise the test
+ // means nothing!!!
+ t.join();
+ } catch (HeadlessException he) {
+ if(log.isErrorEnabled()) {
+ log.error("No X11 display available", he);
+ }
+ }
+ }
+}
+
+
1
0
r1919 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/widget resources
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: sletellier
Date: 2009-03-09 14:40:20 +0000 (Mon, 09 Mar 2009)
New Revision: 1919
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
IntervalPanel can be factored
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-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-03-09 14:40:20 UTC (rev 1919)
@@ -217,7 +217,7 @@
<JLabel text="isisfish.common.season" enabled='{isPopSeasonInfoNotNull()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <IntervalPanel id='ip' enabled='{isPopSeasonInfoNotNull()}'/>
+ <IntervalPanel id='ip' enabled='{isPopSeasonInfoNotNull()}' decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"Interval"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 14:40:20 UTC (rev 1919)
@@ -5,6 +5,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
@@ -34,7 +35,6 @@
public static JComponent getEditor(JComponent c, TopiaEntity e) {
JComponent result = null;
try {
-// TopiaEntity e = (TopiaEntity) c.getClientProperty("bean");
String fieldName = (String) c.getClientProperty("method");
result = c.getClass().newInstance();
@@ -42,14 +42,24 @@
((JTextComponent) result).setText(String.valueOf(callMethod(e, fieldName)));
} else if (result instanceof JTable){
-// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
+ ((JTable) result).setModel(((JTable)c).getModel());
} else if (result instanceof MatrixPanelEditor){
((MatrixPanelEditor) result).setMatrix((MatrixND)callMethod(e, fieldName));
} else if (result instanceof JComboBox){
-// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
+ JComboBox combo = (JComboBox)c;
+ JComboBox comboResult = new JComboBox();
+ comboResult.setModel(combo.getModel());
+ comboResult.setSelectedIndex(combo.getSelectedIndex());
+ result = comboResult;
+ } else if (result instanceof JList){
+ JList list = (JList)c;
+ JList listResult = new JList();
+ listResult.setModel(list.getModel());
+ listResult.setSelectedIndices(list.getSelectedIndices());
+ result = listResult;
} else if (result instanceof JCheckBox){
((JCheckBox) result).setSelected((Boolean)callMethod(e, fieldName));
@@ -69,8 +79,11 @@
ui.refresh();
result = ui;
} else if (result instanceof IntervalPanel){
-// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
-
+ IntervalPanel ipResult = new IntervalPanel();
+ IntervalPanel ip = (IntervalPanel)c;
+ ipResult.setLabelRenderer(Month.MONTH);
+ ipResult.setModel(ip.getModel().clone());
+ result = ipResult;
}
} catch (Exception ex) {
Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-09 14:40:20 UTC (rev 1919)
@@ -38,6 +38,8 @@
<Boolean id='tabVisible' javaBean='false'/>
+ <Boolean id='saveEnabled' javaBean='false'/>
+
<script><![CDATA[
import org.codelutin.topia.persistence.TopiaEntity;
@@ -73,7 +75,7 @@
<JLabel text='isisfish.factor.name'/>
</cell>
<cell columns='3' fill='horizontal' weightx='0.5'>
- <JTextField id='factorName'/>
+ <JTextField id='factorName' onKeyReleased='setSaveEnabled(!factorName.getText().equals(""))'/>
</cell>
</row>
<row>
@@ -121,7 +123,7 @@
<JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/>
</cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
- <JButton id='save' text='isisfish.common.save'/>
+ <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java 2009-03-09 14:40:20 UTC (rev 1919)
@@ -246,6 +246,16 @@
return false;
}
+ @Override
+ public Interval clone(){
+ Interval result = new Interval();
+ result.setFirst(this.getFirst());
+ result.setLast(this.getLast());
+ result.setMax(this.getMax());
+ result.setMin(this.getMin());
+ return result;
+ }
+
public static class IntervalIterator implements Iterator {
private int min;
@@ -282,5 +292,6 @@
public void remove() {
throw new UnsupportedOperationException();
}
+
}
} // Interval
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-09 14:40:20 UTC (rev 1919)
@@ -43,6 +43,7 @@
PopulationSeasonInfo.ImmigrationMatrix
PopulationSeasonInfo.MigrationMatrix
PopulationSeasonInfo.UseEquationMigration
+PopulationSeasonInfo.Interval
Population.MigrationComment
Population.MonthGapBetweenReproRecrutement
Population.RecruitmentDistribution
1
0
r1918 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: . input simulator
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: sletellier
Date: 2009-03-09 13:49:51 +0000 (Mon, 09 Mar 2009)
New Revision: 1918
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
Log:
rowHeight is fixed and AdvancedParams saving work
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -46,6 +46,9 @@
]]>
</script>
<JTabbedPane id="simulTabs" tabPlacement='{JTabbedPane.LEFT}' constraints="BorderLayout.CENTER">
+ <tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'>
+ <fr.ifremer.isisfish.ui.input.InputUI constructorParams='new JAXXInitialContext().add(getContextValue(WelcomeSaveVerifier.class)).add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
+ </tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/simulation.gif"))}'>
<fr.ifremer.isisfish.ui.simulator.SimulUI id='simulUI' constructorParams='new SimulAction()'/>
</tab>
@@ -55,9 +58,6 @@
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'>
<fr.ifremer.isisfish.ui.result.ResultView/>
</tab>
- <tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'>
- <fr.ifremer.isisfish.ui.input.InputUI constructorParams='new JAXXInitialContext().add(getContextValue(WelcomeSaveVerifier.class)).add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
- </tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/bookPage.gif"))}'>
<fr.ifremer.isisfish.ui.script.ScriptUI/>
</tab>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -268,7 +268,7 @@
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
<JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JTable id="tableTargetSpecies" enabled='{isActif()}'/>
+ <JTable id="tableTargetSpecies" rowHeight='24' enabled='{isActif()}'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -184,7 +184,7 @@
</row>
<row>
<cell columns='3' fill='both' weightx='1.0'>
- <JTable id='tableAgeLength' enabled='{isActif()}'/>
+ <JTable id='tableAgeLength' rowHeight='24' enabled='{isActif()}'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -204,7 +204,7 @@
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
<JScrollPane>
- <JTable id="selectivityTable" enabled='{isActif()}'/>
+ <JTable id="selectivityTable" rowHeight='24' enabled='{isActif()}'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -70,6 +70,7 @@
getContextValue(SimulAction.class).addTagValue(fieldTag.getText(), fieldValue.getText());
setTableTagValue();
setRemove(true);
+ valueChanged(true);
}
protected void removeTagValue(){
getContextValue(SimulAction.class).removeTagValue(tableTagValue.getValueAt(tableTagValue.getSelectedRow(),0).toString());
@@ -79,6 +80,7 @@
if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){
getContextValue(SimulAction.class).saveTagValue(fieldSimulAdvParamsSimulatorSelect.getSelectedItem().toString());
}
+ valueChanged(false);
}
protected void setSimulName(){
if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){
@@ -111,65 +113,6 @@
DefaultTableModel model = new DefaultTableModel(columnName, 0);
}
}
- protected void simulationStatistiqueChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected());
- valueChanged(true);
- }
- protected void simulationCacheChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected());
- valueChanged(true);
- }
-
- protected void simulErrorChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error");
- valueChanged(true);
- }
- protected void simulWarnChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn");
- valueChanged(true);
- }
- protected void simulInfoChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info");
- valueChanged(true);
- }
- protected void simulDebugChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug");
- valueChanged(true);
- }
-
- protected void scriptErrorChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error");
- valueChanged(true);
- }
- protected void scriptWarnChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn");
- valueChanged(true);
- }
- protected void scriptInfoChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info");
- valueChanged(true);
- }
- protected void scriptDebugChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug");
- valueChanged(true);
- }
-
- protected void libErrorChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error");
- valueChanged(true);
- }
- protected void libWarnChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn");
- valueChanged(true);
- }
- protected void libInfoChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info");
- valueChanged(true);
- }
- protected void libDebugChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug");
- valueChanged(true);
- }
protected void valueChanged(boolean b){
save.setEnabled(b);
setChanged(b);
@@ -198,13 +141,13 @@
<JPanel/>
</cell>
<cell columns="2" fill="horizontal" weightx="0.3">
- <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" onActionPerformed = 'simulationStatistiqueChanged()'/>
+ <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected())'/>
</cell>
<cell fill="horizontal" weightx="0.2">
<JPanel/>
</cell>
<cell columns="2" fill="horizontal" weightx="0.3">
- <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" onActionPerformed = 'simulationCacheChanged()'/>
+ <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected())'/>
</cell>
</row>
<row>
@@ -212,16 +155,16 @@
<JLabel text="isisfish.advancedParams.simulLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulErrorChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulWarnChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulInfoChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulDebugChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug")'/>
</cell>
</row>
<row>
@@ -229,16 +172,16 @@
<JLabel text="isisfish.advancedParams.scriptLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptErrorChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptWarnChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptInfoChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptDebugChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug")'/>
</cell>
</row>
<row>
@@ -246,16 +189,16 @@
<JLabel text="isisfish.advancedParams.libLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libErrorChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libWarnChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libInfoChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libDebugChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug")'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -567,7 +567,7 @@
</tab>
<tab title='{_("isisfish.params.ruleParameters")}'>
<JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JTable id="simulParamsRules" name="isisfish.params.ruleParameters"/>
+ <JTable id="simulParamsRules" rowHeight='24' name="isisfish.params.ruleParameters"/>
</JScrollPane>
</tab>
</JTabbedPane>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -112,7 +112,7 @@
<row>
<cell columns="4" fill="both" weightx="1.0" weighty="0.5">
<JScrollPane>
- <JTable id="queueTableDone" model='{getContextValue(SimulationServiceTableModel.class, "done")}'/>
+ <JTable id="queueTableDone" rowHeight='24' model='{getContextValue(SimulationServiceTableModel.class, "done")}'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -163,7 +163,7 @@
<row>
<cell columns="2" fill="both" weightx="1.0" weighty="1.0">
<JScrollPane>
- <JTable id="simulParamsAnalysePlans" name="isisfish.sens.planParameters"/>
+ <JTable id="simulParamsAnalysePlans" rowHeight='24' name="isisfish.sens.planParameters"/>
</JScrollPane>
</cell>
</row>
1
0
r1917 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 10:29:53 +0000 (Mon, 09 Mar 2009)
New Revision: 1917
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java
Log:
Test de recover h2 (ne fonctionne pas).
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java 2009-03-09 10:29:01 UTC (rev 1916)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java 2009-03-09 10:29:53 UTC (rev 1917)
@@ -213,7 +213,7 @@
try {
// creation des proprietes pour creer le TopiaContext
Properties config = new Properties();
- IsisH2Config.addDatabaseConfig(config, getDirectory());
+ IsisH2Config.addDatabaseConfig(config, getDirectory(), false);
IsisH2Config.addHibernateMapping(config);
// instanciation du TopiaContext
@@ -292,7 +292,7 @@
// load data
// creation des proprietes pour creer le TopiaContext
Properties config = new Properties();
- IsisH2Config.addDatabaseConfig(config, rootDirDest);
+ IsisH2Config.addDatabaseConfig(config, rootDirDest, false);
IsisH2Config.addHibernateMapping(config);
// instanciation du TopiaContext
1
0
r1916 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: datastore simulator/launcher
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 10:29:01 +0000 (Mon, 09 Mar 2009)
New Revision: 1916
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.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/SimulationService.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
Log:
Test de recover h2 (ne fonctionne pas).
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -1,21 +1,19 @@
-/*
-* ##% Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Code Lutin,
-* Tony Chemit
-*
-* 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.
-* ##% */
+/* ##% Copyright (C) 2002 - 2009 Code Lutin, Tony Chemit
+ *
+ * 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.datastore;
import fr.ifremer.isisfish.IsisConfig;
@@ -29,13 +27,18 @@
import org.hibernate.dialect.H2Dialect;
/**
- * Isis H2 concrete Config implementation
+ * Isis H2 concrete Config implementation.
*
* @author chemit
+ *
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
public class IsisH2Config {
- static final private String commonUrl =
+ protected static final String COMMON_URL =
// on peut aussi utiliser mysql ou postgresql
"MODE=hsqldb;" +
// Sets the default lock timeout (in milliseconds) in this database
@@ -59,7 +62,7 @@
// on system.out: 0=off, 1=error, 2=info, 3=debug.
"TRACE_LEVEL_SYSTEM_OUT=1";
- static final private String h2Url =
+ protected static final String H2_URL =
"jdbc:h2:file:%s;" +
// on peut aussi utiliser file, socket
"FILE_LOCK=file;" +
@@ -69,17 +72,27 @@
// changes is disabled (default), 2: logging of both data and index
// changes are enabled
"LOG=1;" +
- commonUrl;
-
- static final private String h2memUrl =
+ COMMON_URL;
+
+ /**
+ * H2 recover URL.
+ *
+ * Include 'recover=1' parameter.
+ */
+ protected final static String H2_RECOVER_URL =
+ H2_URL +
+ ";recover=1";
+
+ protected static final String H2_MEM_URL =
"jdbc:h2:mem:%s;" +
"LOG=0;" +
- commonUrl;
+ COMMON_URL;
+
/**
* @param rootDir le repertoire de base du DataStorage
* @return le repertoire de donnees d'un Data storage a partir de son repertoire de base
*/
- static public File getStorageDataDirectory(File rootDir) {
+ public static File getStorageDataDirectory(File rootDir) {
return new File(rootDir, "data");
}
@@ -94,7 +107,7 @@
* @param id l'identifiant de la base
* @return l'objet config passe en parametre
*/
- static public Properties addMemDatabaseConfig(Properties config, String id) {
+ public static Properties addMemDatabaseConfig(Properties config, String id) {
config.setProperty(Environment.USER, "sa");
config.setProperty(Environment.PASS, "");
@@ -103,23 +116,24 @@
// correct error : org.hibernate.HibernateException: No CurrentSessionContext configured!
config.setProperty(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");
- // config.setProperty(Environment.SHOW_SQL, "true");
+ // config.setProperty(Environment.SHOW_SQL, "true");
- String url = String.format(h2memUrl, id);
+ String url = String.format(H2_MEM_URL, id);
config.setProperty(Environment.URL, url);
-
+
return config;
}
/**
- * Ajoute differente information au parametre config qui indique comment
- * se connecter a la base de donnees
+ * Ajoute differentes informations au parametre config qui indique comment
+ * se connecter a la base de donnees.
*
* @param config l'objet properties dans lequel il faut ajouter les informations
- * @param directory le repertoire dans lequel la base de donn?es doit se trouver
+ * @param directory le repertoire dans lequel la base de données doit se trouver
+ * @param tryRecover only used with H2 database engine, add recover parameter when db is detected as corrumpted
* @return l'objet config passe en parametre
*/
- static public Properties addDatabaseConfig(Properties config, File directory) {
+ public static Properties addDatabaseConfig(Properties config, File directory, boolean tryRecover) {
File databasePath = getStorageDataDirectory(directory);
databasePath.mkdirs();
@@ -127,7 +141,13 @@
addMemDatabaseConfig(config, "");
// pour h2 on remet STORAGE_DATA car il ne cree pas de repertoire
- String url = String.format(h2Url, getStorageDataDirectory(databasePath).getPath());
+ String url;
+ if (tryRecover) {
+ url = String.format(H2_RECOVER_URL, getStorageDataDirectory(databasePath).getPath());
+ }
+ else {
+ url = String.format(H2_URL, getStorageDataDirectory(databasePath).getPath());
+ }
config.setProperty(Environment.URL, url);
// migration configuration, seulement pour les fichiers, pas pour les bases memoires
@@ -136,20 +156,20 @@
config.put(TopiaMigrationServiceImpl.MIGRATION_MODEL_NAMES, "IsisFish");
config.put(TopiaMigrationServiceImpl.MIGRATION_CALLBACKHANDLERS, SwingMigrationCallbackHandler.class.getName());
config.put("topia.service.migration", TopiaMigrationServiceImpl.class.getName());
-
+
return config;
}
/**
- * Permet d'ajouter les differents mapping hibernate specifique a l'application
+ * Permet d'ajouter les differents mapping hibernate spécifique à l'application.
*
* @param config l'objet properties dans lequel il faut ajouter les informations
* @return l'objet config passe en parametre
*/
- static public Properties addHibernateMapping(Properties config) {
+ public static Properties addHibernateMapping(Properties config) {
config.setProperty("topia.persistence.classes",
- IsisFishDAOHelper.entitiesList
+ IsisFishDAOHelper.getImplementationClassesAsString()
);
return config;
}
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-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -99,13 +99,14 @@
control.setDate(new Date());
control.setProgress(0);
control.setStarted(true);
-
+
// replace prescript if specified on method
- if (simulationPrescript != null && !simulationPrescript.trim().isEmpty()) {
+ if (simulationPrescript != null
+ && !simulationPrescript.trim().isEmpty()) {
param.setUsePreScript(true);
param.setPreScript(simulationPrescript);
}
-
+
int lastYear = param.getNumberOfYear();
int lastDate = lastYear * Month.NUMBER_OF_MONTH;
control.setProgressMax(lastDate);
@@ -246,13 +247,14 @@
protected AspectClassLoader changeClassLoader(Thread thread, File directory) {
try {
URL[] classpath = new URL[] { directory.toURI().toURL(),
- // poussin 20080821
- // il semble ne plus trouve les formules, est-ce mieux avec le compile dir ?
+ // poussin 20080821 : il semble ne plus trouve les formules,
+ // est-ce mieux avec le compile dir ?
IsisFish.config.getCompileDirectory().toURI().toURL() };
//URL [] classpath = new URL[]{directory.toURL()};
AspectClassLoader loader = new AspectClassLoader(classpath,
IsisFish.class.getClassLoader()); //new URLClassLoader(classpath);
- //AspectClassLoader loader = new AspectClassLoader(classpath, ClassLoader.getSystemClassLoader()); //new URLClassLoader(classpath);
+ //AspectClassLoader loader = new AspectClassLoader(classpath, ClassLoader.getSystemClassLoader());
+ //new URLClassLoader(classpath);
thread.setContextClassLoader(loader);
log.info("Classloader used for simulation: " + loader + " "
+ Arrays.toString(loader.getURLs()));
@@ -491,7 +493,7 @@
return this.newObjects;
}
- /* (non-Javadoc)
+ /*
* @see org.codelutin.topia.event.TopiaTransactionListener#commit(org.codelutin.topia.event.TopiaTransactionEvent)
*/
public void commit(TopiaTransactionEvent event) {
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-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -53,10 +53,12 @@
import org.codelutin.util.ListenerSet;
import org.codelutin.util.ObjectUtil;
import org.codelutin.util.ZipUtil;
+import org.h2.jdbc.JdbcSQLException;
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.DataStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
@@ -405,7 +407,7 @@
// init with default "id" must been changed for designPlan
// simulation
SimulationControl controlJustForZip = new SimulationControl(id);
-
+
// on construit le zip de la simulation
// in zip, there will be param "without" prescript
File zip = prepareSimulationZipFile(controlJustForZip, param, true);
@@ -426,12 +428,14 @@
// build new simulation id
String subsimulationId = id + "_" + simulationIndex;
- SimulationControl realSimulationControl = new SimulationControl(subsimulationId);
-
+ SimulationControl realSimulationControl = new SimulationControl(
+ subsimulationId);
+
// new item, with zip
- SimulationItem item = new SimulationItem(realSimulationControl, subParam);
+ SimulationItem item = new SimulationItem(realSimulationControl,
+ subParam);
item.setSimulationZip(zip);
-
+
SimulationJob job = new SimulationJob(this, item, priority);
job.setLauncher(launcher);
fireStartEvent(job);
@@ -777,7 +781,7 @@
doNext = doNext && result;
} catch (Exception eee) {
log.error(_("Stop simulation plan, because can't call afterSimulation correctly on plan %s",
- plan.getClass().getName()), eee);
+ plan.getClass().getName()), eee);
doNext = false;
}
}
@@ -860,7 +864,7 @@
new File(tmpDirectory, RuleStorage.RULE_PATH
+ File.separator + name + ".java"));
}
- // copie des regles reclam?es par les plans d'analyse
+ // copie des regles reclamées par les plans d'analyse
for (String name : param.getExtraRules()) {
FileUtil.copy(new File(RuleStorage.getRuleDirectory(), name
+ ".java"),
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-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -25,8 +25,8 @@
import java.rmi.RemoteException;
/**
- * Interface devant etre implanter par les classes souhaitants etre utilisees
- * comme plugin de simulation (CapArmor, SubProcess, ...)
+ * Interface devant etre implantée par les classes souhaitants etre utilisees
+ * comme plugin de simulation (InProcess, CapArmor, SubProcess, ...)
*
* @author poussin
* @version $Revision: 1.0 $
@@ -43,20 +43,21 @@
* 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
*
* <b>IMPORTANT</b> Quoi qu'il arrive
- *
* @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.
*/
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip, String simulationPrescript)
- throws RemoteException;
+ SimulationControl control, File simulationZip,
+ String simulationPrescript) throws RemoteException;
/**
- * Retourne le nombre maximal de thread de simulation simultane supporte
+ * Retourne le nombre maximal de thread de simulations simultanées supporté.
+ *
* @return un nombre superieur a 0
*/
public int maxSimulationThread();
1
0
r1915 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity resources
by sletellier@users.labs.libre-entreprise.org 05 Mar '09
by sletellier@users.labs.libre-entreprise.org 05 Mar '09
05 Mar '09
Author: sletellier
Date: 2009-03-05 23:48:46 +0000 (Thu, 05 Mar 2009)
New Revision: 1915
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.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/PopulationZonesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
Equations can be factored
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -44,7 +44,10 @@
return getContextValue(FisheryRegion.class);
}
public void setInfoText(String msg){
- getParentContainer(WelcomePanelUI.class).setInfoText(msg);
+ WelcomePanelUI root = getParentContainer(WelcomePanelUI.class);
+ if (root != null){
+ getParentContainer(WelcomePanelUI.class).setInfoText(msg);
+ }
}
protected void goTo(){
getParentContainer(InputUI.class).setTreeSelection(getNextPath());
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-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -35,10 +35,13 @@
<!-- bean property -->
<fr.ifremer.isisfish.entities.Formule id='formule' javaBean='null'/>
-
<String id='lblText' javaBean='null'/>
-
<org.codelutin.topia.persistence.TopiaEntity id='bean' javaBean='null'/>
+ <Class id='clazz' javaBean='null'/>
+ <String id='methodGet' javaBean='null'/>
+ <String id='methodSet' javaBean='null'/>
+ <String id='nameEquation' javaBean='null'/>
+ <fr.ifremer.isisfish.entities.Equation id='selectedEquation' javaBean='null'/>
<script><![CDATA[
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
@@ -55,15 +58,8 @@
import fr.ifremer.isisfish.IsisFishDAOHelper;
import jaxx.runtime.swing.Item;
-protected Class clazz;
-//protected TopiaEntity bean;
-protected String methodGet;
-protected String methodSet;
-protected String name;
-protected Equation selectedEquation;
protected DocumentListener listener = null;
-
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getOldValue() != null || evt.getNewValue() == null) {
@@ -106,21 +102,6 @@
setComboModel();
editor.getCurrentEditor().addDocumentListener(listener);
}
-public void init(String lblText, TopiaEntity bean, String name, String methodGet, String methodSet, Class c){
- editor.getCurrentEditor().removeDocumentListener(listener);
- setLblText(lblText);
-// this.bean = bean;
- setBean(bean);
- this.methodGet = methodGet;
- this.methodSet = methodSet;
- this.name = name;
- this.clazz = c;
- selectedEquation = getEquation();
- setComboModel();
- setFormule((Formule)combo.getSelectedItem());
- setEditorText();
- editor.getCurrentEditor().addDocumentListener(listener);
-}
protected Equation getEquation(){
Equation result = null;
try {
@@ -150,34 +131,34 @@
} catch (IOException ex) {
Logger.getLogger(InputOneEquationUI.class.getName()).log(Level.SEVERE, null, ex);
}
- if (name != null){
+ if (nameEquation != null){
setComboModel();
setFormule((Formule)combo.getSelectedItem());
setEditorText();
+ selectedEquation = getEquation();
}
editor.getCurrentEditor().addDocumentListener(listener);
}
protected void setComboModel(){
- TopiaContext isisContext = getVerifier().getIsisContext();
- if (isisContext == null && getBean() != null){
- isisContext = getBean().getTopiaContext();
- }
- java.util.List<Formule> formules = null;
- if (name != null){
- formules = getAction().getFormules(isisContext, name);
- }
- if (formules != null){
- java.util.List<Item> items = new ArrayList<Item>();
- items.add(new Item("null", " ", null, false));
- for (Formule f : formules) {
- boolean selected = f.equals(selectedEquation);
- items.add(new Item(f.getName(), f.getName(), f, selected));
+ if (getBean() != null){
+ TopiaContext isisContext = getBean().getTopiaContext();
+ java.util.List<Formule> formules = null;
+ if (nameEquation != null){
+ formules = getAction().getFormules(isisContext, nameEquation);
}
- combo.setItems(items);
+ if (formules != null){
+ java.util.List<Item> items = new ArrayList<Item>();
+ items.add(new Item("null", " ", null, false));
+ for (Formule f : formules) {
+ boolean selected = f.equals(selectedEquation);
+ items.add(new Item(f.getName(), f.getName(), f, selected));
+ }
+ combo.setItems(items);
+ }
}
}
protected void saveModel(){
- getContextValue(InputAction.class).saveAsModel(name, "Java", editor.getText());
+ getContextValue(InputAction.class).saveAsModel(nameEquation, "Java", editor.getText());
setComboModel();
setInfoText(_("isisfish.message.saveModel.finished"));
}
@@ -187,7 +168,7 @@
getContextValue(InputAction.class).openEditor(e.getCategory(), e.getName(), clazz, e.getContent(), editor);
}
else{
- getContextValue(InputAction.class).openEditor(name, "new", clazz, editor.getText(), editor);
+ getContextValue(InputAction.class).openEditor(nameEquation, "new", clazz, editor.getText(), editor);
}
}
protected void setEditorText(){
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -63,7 +63,6 @@
if (evt.getOldValue() != null || evt.getNewValue() == null) {
// remove previous binding on getBean()
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");fieldPopulationBasicsName.setText("");
- targetFactor.init(_("isisfish.metierSeasonInfoSpecies.targetFactor"), null, "TargetFactor", null, null, fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -112,8 +111,6 @@
setTargetSpeciesModel();
}
setTableTargetSpeciesModel();
-// TODO : Equation selectionne
- targetFactor.init(_("isisfish.metierSeasonInfoSpecies.targetFactor"), null, "TargetFactor", null, null, fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class);
}
else{
DefaultComboBoxModel seasonModel = new DefaultComboBoxModel();
@@ -242,7 +239,11 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='targetFactor' constructorParams='this'/>
+ <InputOneEquationUI id='targetFactor' constructorParams='this'
+ lblText='{_("isisfish.metierSeasonInfoSpecies.targetFactor")}'
+ bean='{null}' nameEquation='TargetFactor'
+ clazz='{fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class}'
+ decorator='boxed' _bean='{MetierImpl.class}' _method='""'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -60,8 +60,6 @@
fieldPopulationBasicsComment.setText("");
fieldPopulationBasicsMatureClass.setSelectedItem(null);
tableAgeLength.setModel(new DefaultTableModel());
- growthEquation.init(_("isisfish.populationBasics.growth"), null, "Growth", "Growth", "EquationGrowth", fr.ifremer.isisfish.equation.PopulationGrowth.class);
- growthReverseEquation.init(_("isisfish.populationBasics.growthReverse"), null, "GrowthReverse", "GrowthReverse", "EquationGrowthReverse", fr.ifremer.isisfish.equation.PopulationGrowthReverse.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -76,12 +74,9 @@
getVerifier().setNewButton(create, "Population", false);
getVerifier().setDeleteButton(remove);
Population population = getVerifier().getEntity(Population.class);
- getVerifier().addCurrentPanel(growthEquation, growthReverseEquation);
setBean((PopulationImpl) population);
if (getBean() != null){
// TODO : Selection equation
- growthEquation.init(_("isisfish.populationBasics.growth"), getBean(), "Growth", "Growth", "EquationGrowth", fr.ifremer.isisfish.equation.PopulationGrowth.class);
- growthReverseEquation.init(_("isisfish.populationBasics.growthReverse"), getBean(), "GrowthReverse", "GrowthReverse", "EquationGrowthReverse", fr.ifremer.isisfish.equation.PopulationGrowthReverse.class);
if (getBean() != null){
if (getBean().getPopulationGroup() != null){
jaxx.runtime.SwingUtil.fillComboBox(fieldPopulationBasicsMatureClass, getBean().getPopulationGroup(), getBean().getMaturityGroup(), true);
@@ -89,6 +84,7 @@
setTableAgeLengthModel();
}
}
+ getVerifier().addCurrentPanel(growthEquation, growthReverseEquation);
}
protected void createClasses(){
JFrame wizardFrame = new JFrame();
@@ -193,12 +189,20 @@
</row>
<row>
<cell columns='3' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='growthEquation' constructorParams='this'/>
+ <InputOneEquationUI id='growthEquation' constructorParams='this'
+ lblText='{_("isisfish.populationBasics.growth")}'
+ bean='{getBean()}' nameEquation='Growth' methodGet='Growth' methodSet='EquationGrowth'
+ clazz='{fr.ifremer.isisfish.equation.PopulationGrowth.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
<row>
<cell columns='3' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='growthReverseEquation' constructorParams='this'/>
+ <InputOneEquationUI id='growthReverseEquation' constructorParams='this'
+ lblText='{_("isisfish.populationBasics.growthReverse")}'
+ bean='{getBean()}' nameEquation='GrowthReverse' methodGet='GrowthReverse' methodSet='EquationGrowthReverse'
+ clazz='{fr.ifremer.isisfish.equation.PopulationGrowthReverse.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"GrowthReverse"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -48,9 +48,6 @@
if (evt.getOldValue() != null || evt.getNewValue() == null) {
// remove previous binding on getBean()
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");fieldPopulationBasicsName.setText("");
- naturalDeathRate.init(_("isisfish.populationEquation.naturalDeathRate"), null, "NaturalDeathRate", "NaturalDeathRate", "EquationNaturalDeathRate", fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class);
- meanWeight.init(_("isisfish.populationEquation.meanWeight"), null, "MeanWeight", "MeanWeight", "EquationMeanWeight", fr.ifremer.isisfish.equation.PopulationMeanWeight.class);
- price.init(_("isisfish.populationEquation.price"), null, "Price", "Price", "EquationPrice", fr.ifremer.isisfish.equation.PopulationPrice.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -63,9 +60,6 @@
getVerifier().setCancelButton(cancel);
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- naturalDeathRate.init(_("isisfish.populationEquation.naturalDeathRate"), getBean(), "NaturalDeathRate", "NaturalDeathRate", "EquationNaturalDeathRate", fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class);
- meanWeight.init(_("isisfish.populationEquation.meanWeight"), getBean(), "MeanWeight", "MeanWeight", "EquationMeanWeight", fr.ifremer.isisfish.equation.PopulationMeanWeight.class);
- price.init(_("isisfish.populationEquation.price"), getBean(), "Price", "Price", "EquationPrice", fr.ifremer.isisfish.equation.PopulationPrice.class);
getVerifier().addCurrentPanel(naturalDeathRate, meanWeight, price);
}
]]>
@@ -73,17 +67,29 @@
<Table id='body'>
<row>
<cell columns='2' fill='both' weightx='0.5' weighty='0.3'>
- <InputOneEquationUI id='naturalDeathRate' constructorParams='this'/>
+ <InputOneEquationUI id='naturalDeathRate' constructorParams='this'
+ lblText='{_("isisfish.populationEquation.naturalDeathRate")}'
+ bean='{getBean()}' nameEquation='NaturalDeathRate' methodGet='NaturalDeathRate' methodSet='EquationNaturalDeathRate'
+ clazz='{fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"NaturalDeathRate"'/>
</cell>
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='meanWeight' constructorParams='this'/>
+ <InputOneEquationUI id='meanWeight' constructorParams='this'
+ lblText='{_("isisfish.populationEquation.meanWeight")}'
+ bean='{getBean()}' nameEquation='MeanWeight' methodGet='MeanWeight' methodSet='EquationMeanWeight'
+ clazz='{fr.ifremer.isisfish.equation.PopulationMeanWeight.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"MeanWeight"'/>
</cell>
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='price' constructorParams='this'/>
+ <InputOneEquationUI id='price' constructorParams='this'
+ lblText='{_("isisfish.populationEquation.price")}'
+ bean='{getBean()}' nameEquation='Price' methodGet='Price' methodSet='EquationPrice'
+ clazz='{fr.ifremer.isisfish.equation.PopulationPrice.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Price"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -51,9 +51,6 @@
if (evt.getOldValue() != null || evt.getNewValue() == null) {
// remove previous binding on getBean()
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");fieldPopulationBasicsName.setText("");
- migrationEquation.init(_("isisfish.common.migration"), null, "Migration", "MigrationEquation", "MigrationEquationAsString", fr.ifremer.isisfish.equation.MigrationEquation.class);
- emigrationEquation.init(_("isisfish.common.emigration"), null, "Emigration", "EmigrationEquation", "EmigrationEquationAsString", fr.ifremer.isisfish.equation.EmigrationEquation.class);
- immigrationEquation.init(_("isisfish.common.immigration"), null, "Immigration", "ImmigrationEquation", "ImmigrationEquationAsString", fr.ifremer.isisfish.equation.ImmigrationEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -67,9 +64,6 @@
public void refresh(){
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- migrationEquation.init(_("isisfish.common.migration"), getPopInfo(), "Migration", "MigrationEquation", "MigrationEquationAsString", fr.ifremer.isisfish.equation.MigrationEquation.class);
- emigrationEquation.init(_("isisfish.common.emigration"), getPopInfo(), "Emigration", "EmigrationEquation", "EmigrationEquationAsString", fr.ifremer.isisfish.equation.EmigrationEquation.class);
- immigrationEquation.init(_("isisfish.common.immigration"), getPopInfo(), "Immigration", "ImmigrationEquation", "ImmigrationEquationAsString", fr.ifremer.isisfish.equation.ImmigrationEquation.class);
getVerifier().addCurrentPanel(immigrationEquation, emigrationEquation, migrationEquation);
}
]]>
@@ -77,17 +71,29 @@
<Table id='body'>
<row>
<cell fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='migrationEquation' constructorParams='this'/>
+ <InputOneEquationUI id='migrationEquation' constructorParams='this'
+ lblText='{_("isisfish.common.migration")}'
+ bean='{getPopInfo()}' name='Migration' methodGet='MigrationEquation' methodSet='MigrationEquationAsString'
+ clazz='{fr.ifremer.isisfish.equation.MigrationEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
<row>
<cell fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='emigrationEquation' constructorParams='this'/>
+ <InputOneEquationUI id='emigrationEquation' constructorParams='this'
+ lblText='{_("isisfish.common.emigration")}'
+ bean='{getPopInfo()}' nameEquation='Emigration' methodGet='EmigrationEquation' methodSet='EmigrationEquationAsString'
+ clazz='{fr.ifremer.isisfish.equation.EmigrationEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
<row>
<cell fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='immigrationEquation' constructorParams='this'/>
+ <InputOneEquationUI id='immigrationEquation' constructorParams='this'
+ lblText='{_("isisfish.common.immigration")}'
+ bean='{getPopInfo()}' name='Immigration' methodGet='ImmigrationEquation' methodSet='ImmigrationEquationAsString'
+ clazz='{fr.ifremer.isisfish.equation.ImmigrationEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
</Table>
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-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -53,7 +53,6 @@
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
fieldPopulationMonthGapBetweenReproRecrutement.setText("");
fieldPopulationRecruitmentComment.setText("");
- reproductionEquation.init(_("isisfish.populationRecruitment.reproductionEquation"), getBean(), "Reproduction", "ReproductionEquation", "EquationReproductionEquation", fr.ifremer.isisfish.equation.PopulationGrowth.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -79,7 +78,6 @@
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- reproductionEquation.init(_("isisfish.populationRecruitment.reproductionEquation"), getBean(), "Reproduction", "ReproductionEquation", "EquationReproductionEquation", fr.ifremer.isisfish.equation.PopulationReproductionEquation.class);
getVerifier().addCurrentPanel(reproductionEquation);
if(getBean() != null && getBean().getRecruitmentDistribution() != null){
@@ -95,7 +93,11 @@
<Table>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='reproductionEquation' constructorParams='this'/>
+ <InputOneEquationUI id='reproductionEquation' constructorParams='this'
+ lblText='{_("isisfish.populationRecruitment.reproductionEquation")}'
+ bean='{getBean()}' nameEquation='Reproduction' methodGet='ReproductionEquation' methodSet='EquationReproductionEquation'
+ clazz='{fr.ifremer.isisfish.equation.PopulationReproductionEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"ReproductionEquation"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -199,7 +199,7 @@
</row>
<row>
<cell columns='3' fill='both' weightx='1.0' weighty='0.5'>
- <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru' enabled='{isActif()}'/>
+ <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru' enabled='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"MappingZoneReproZoneRecru"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -63,7 +63,6 @@
if (evt.getOldValue() != null || evt.getNewValue() == null) {
// remove previous binding on getBean()
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
- selectivityEquation.init(_("isisfish.selectivity.equation"), null, "Selectivity", null, null, fr.ifremer.isisfish.equation.SelectivityEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -105,9 +104,6 @@
fieldSelectivityPopulation.setModel(getSelectivityPopulationModel());
setSelectivityTableModel();
}
-
-// TODO : Equation selection
- selectivityEquation.init(_("isisfish.selectivity.equation"), null, "Selectivity", null, null, fr.ifremer.isisfish.equation.SelectivityEquation.class);
getVerifier().addCurrentPanel(selectivityEquation);
@@ -187,7 +183,11 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='selectivityEquation' constructorParams='this'/>
+ <InputOneEquationUI id='selectivityEquation' constructorParams='this'
+ lblText='{_("isisfish.selectivity.equation")}'
+ bean='{null}' nameEquation='Selectivity'
+ clazz='{fr.ifremer.isisfish.equation.SelectivityEquation.class}'
+ decorator='boxed' _bean='{GearImpl.class}' _method='""'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -54,7 +54,6 @@
if (evt.getOldValue() != null || evt.getNewValue() == null) {
// remove previous binding on getBean()
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");fieldPopulationBasicsName.setText("");
- technicalEfficiency.init(_("isisfish.setOfVessels.technicalEfficiency"), null, "TechnicalEfficiency", "TechnicalEfficiencyEquation", "EquationTechnicalEfficiency", fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -75,7 +74,6 @@
jaxx.runtime.SwingUtil.fillComboBox(fieldSetOfVesselsPort,getRegion().getPort(), getBean().getPort(), true);
jaxx.runtime.SwingUtil.fillComboBox(fieldSetOfVesselsVesselType,getRegion().getVesselType(), getBean().getVesselType(), true);
init=false;
- technicalEfficiency.init(_("isisfish.setOfVessels.technicalEfficiency"), getBean(), "TechnicalEfficiency", "TechnicalEfficiencyEquation", "EquationTechnicalEfficiency", fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class);
getVerifier().addCurrentPanel(technicalEfficiency);
}
}
@@ -130,12 +128,18 @@
<JLabel text="isisfish.setOfVessels.fixedCosts" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JTextField id="fieldSetOfVesselsFixedCosts" text='{getBean().getFixedCosts()}' onKeyReleased='getBean().setFixedCosts(Double.parseDouble(fieldSetOfVesselsFixedCosts.getText()))' enabled='{isActif()}' decorator='boxed' _bean='{SetOfVesselsImpl.class}' _method='"FixedCosts"'/>
+ <JTextField id="fieldSetOfVesselsFixedCosts" text='{getBean().getFixedCosts()}'
+ onKeyReleased='getBean().setFixedCosts(Double.parseDouble(fieldSetOfVesselsFixedCosts.getText()))'
+ enabled='{isActif()}' decorator='boxed' _bean='{SetOfVesselsImpl.class}' _method='"FixedCosts"'/>
</cell>
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='technicalEfficiency' constructorParams='this'/>
+ <InputOneEquationUI id='technicalEfficiency' constructorParams='this'
+ lblText='{_("isisfish.setOfVessels.technicalEfficiency")}'
+ bean='{getBean()}' nameEquation='TechnicalEfficiency' methodGet='TechnicalEfficiencyEquation' methodSet='EquationTechnicalEfficiency'
+ clazz='{fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class}'
+ decorator='boxed' _bean='{SetOfVesselsImpl.class}' _method='"TechnicalEfficiencyEquation"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -56,7 +56,6 @@
fieldStrategyName.setText("");
fieldStrategyProportionSetOfVessels.setText("0.0");
fieldStrategyComment.setText("");
- strategyInactivity.init("isisfish.strategy.inactivity", null, "Inactivity", "InactivityEquation", "EquationInactivity", fr.ifremer.isisfish.equation.StrategyInactivityEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -73,7 +72,6 @@
Strategy strategy = (Strategy)getVerifier().getEntity(Strategy.class);
setBean((StrategyImpl) strategy);
if (getBean() != null){
- strategyInactivity.init("isisfish.strategy.inactivity", getBean(), "Inactivity", "InactivityEquation", "EquationInactivity", fr.ifremer.isisfish.equation.StrategyInactivityEquation.class);
getVerifier().addCurrentPanel(strategyInactivity);
setSetOfVesselsModel();
}
@@ -114,7 +112,9 @@
<JLabel text="isisfish.strategy.proportionSetOfVessels" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JTextField id="fieldStrategyProportionSetOfVessels" text='{getBean().getProportionSetOfVessels()}' onKeyReleased='getBean().setProportionSetOfVessels(Double.parseDouble(fieldStrategyProportionSetOfVessels.getText()))' enabled='{isActif()}' decorator='boxed' _bean='{StrategyImpl.class}' _method='"ProportionSetOfVessels"'/>
+ <JTextField id="fieldStrategyProportionSetOfVessels" text='{getBean().getProportionSetOfVessels()}'
+ onKeyReleased='getBean().setProportionSetOfVessels(Double.parseDouble(fieldStrategyProportionSetOfVessels.getText()))'
+ enabled='{isActif()}' decorator='boxed' _bean='{StrategyImpl.class}' _method='"ProportionSetOfVessels"'/>
</cell>
</row>
<row>
@@ -127,7 +127,11 @@
</row>
<row>
<cell columns="2" fill='both' weightx='1.0'>
- <InputOneEquationUI id="strategyInactivity" constructorParams='this'/>
+ <InputOneEquationUI id="strategyInactivity" constructorParams='this'
+ lblText='{_("isisfish.strategy.inactivity")}'
+ bean='{getBean()}' nameEquation='Inactivity' methodGet='InactivityEquation' methodSet='EquationInactivity'
+ clazz='{fr.ifremer.isisfish.equation.StrategyInactivityEquation.class}'
+ decorator='boxed' _bean='{StrategyImpl.class}' _method='"Inactivity"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-05 23:48:46 UTC (rev 1915)
@@ -5,6 +5,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
import java.lang.reflect.Method;
@@ -18,6 +19,7 @@
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
+import jaxx.runtime.JAXXInitialContext;
import org.apache.commons.beanutils.BeanUtils;
import org.codelutin.math.matrix.MatrixND;
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
@@ -55,8 +57,17 @@
((JRadioButton) result).setSelected((Boolean)callMethod(e, fieldName));
} else if (result instanceof InputOneEquationUI){
-// ((InputOneEquationUI) result).init(setText(BeanUtils.getProperty(e, fieldName)));
-
+ InputOneEquationUI origine = (InputOneEquationUI) c;
+ InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction()));
+ ui.setLblText(origine.getLblText());
+ ui.setNameEquation(origine.getNameEquation());
+ ui.setClazz(origine.getClazz());
+ ui.setMethodGet(origine.getMethodGet());
+ ui.setMethodSet(origine.getMethodSet());
+ ui.setBean(e);
+ ui.setActif(true);
+ ui.refresh();
+ result = ui;
} else if (result instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -30,7 +30,7 @@
* by : $Author: sletellier $
*/
-->
-<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' modal='true' layout='{new BorderLayout()}'>
+<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' layout='{new BorderLayout()}'>
<Boolean id='continuePossible' javaBean='true'/>
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-05 23:48:46 UTC (rev 1915)
@@ -28,6 +28,9 @@
Population.Comment
Population.Capturability
Population.CapturabilityComment
+Population.MappingZoneReproZoneRecru
+Population.Growth
+Population.GrowthReverse
PopulationGroup.MeanWeight
PopulationGroup.Price
Population.NaturalDeathRateMatrix
1
0