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
May 2011
- 3 participants
- 39 discussions
24 May '11
Author: chatellier
Date: 2011-05-24 08:35:50 +0000 (Tue, 24 May 2011)
New Revision: 3335
Log:
Update to freemarker 2.3.18
Modified:
isis-fish/branches/3.3.1/pom.xml
Modified: isis-fish/branches/3.3.1/pom.xml
===================================================================
--- isis-fish/branches/3.3.1/pom.xml 2011-05-20 15:29:55 UTC (rev 3334)
+++ isis-fish/branches/3.3.1/pom.xml 2011-05-24 08:35:50 UTC (rev 3335)
@@ -344,7 +344,7 @@
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
- <version>2.3.16</version>
+ <version>2.3.18</version>
<scope>compile</scope>
</dependency>
@@ -499,7 +499,6 @@
<nuitonUtilsVersion>2.2</nuitonUtilsVersion>
<nuitonI18nVersion>2.4</nuitonI18nVersion>
<nuitonWidgetsVersion>1.1.2-SNAPSHOT</nuitonWidgetsVersion>
- <jrstPluginVersion>1.2</jrstPluginVersion>
<aspectwerkzVersion>2.0</aspectwerkzVersion>
<!-- jnlp (disabled until retested)
@@ -764,13 +763,11 @@
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<links>
- <link>http://java.sun.com/javase/6/docs/api/</link>
- <link>http://maven-site.nuiton.org/nuiton-utils/apidocs/</link>
- <link>http://maven-site.nuiton.org/nuiton-matrix/apidocs/</link>
+ <link>http://download.oracle.com/javase/6/docs/api/</link>
+ <link>http://maven-site.nuiton.org/nuiton-utils/nuiton-utils/apidocs/</link>
+ <link>http://maven-site.nuiton.org/nuiton-matrix/nuiton-matrix/apidocs/</link>
<link>http://maven-site.nuiton.org/nuiton-j2r/apidocs/</link>
- <link>
- http://maven-site.nuiton.org/topia/topia-persistence/apidocs/
- </link>
+ <link>http://maven-site.nuiton.org/topia/topia-persistence/apidocs/</link>
</links>
</configuration>
</plugin>
1
0
r3334 - in isis-fish/branches/3.3.1/src: main/java/fr/ifremer/isisfish/mexico/xml test/java/fr/ifremer/isisfish/mexico test/resources/mexico
by chatellier@users.labs.libre-entreprise.org 20 May '11
by chatellier@users.labs.libre-entreprise.org 20 May '11
20 May '11
Author: chatellier
Date: 2011-05-20 15:29:55 +0000 (Fri, 20 May 2011)
New Revision: 3334
Log:
Gestion des types de facteur min/max et pourcentage pour l'import/export xml.
Added:
isis-fish/branches/3.3.1/src/test/resources/mexico/mexicohelper_designplanV2.xml
Modified:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinuousDomainXMLVisitor.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java
isis-fish/branches/3.3.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinuousDomainXMLVisitor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinuousDomainXMLVisitor.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinuousDomainXMLVisitor.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -50,14 +50,28 @@
ContinuousDomain cDomain = (ContinuousDomain)domain;
xmlBuffer.append(" cardinality=\"" + cDomain.getCardinality() + "\">");
+ appendDomain(cDomain);
+ }
+
+ /**
+ * Default ContinuousDomain implementation for double.
+ * Maybe overridden by specific continuous domains.
+ *
+ * @param domain domain to print
+ */
+ protected void appendDomain(ContinuousDomain domain) {
// facteur continue pourcentage
- if (cDomain.getCoefficient() != null || cDomain.getReferenceValue() != null) {
- xmlBuffer.append("<percentage coefficient=\"" + cDomain.getCoefficient() + "\"");
- xmlBuffer.append(" reference=\"" + cDomain.getReferenceValue() + "\" />");
+ if (domain.getCoefficient() != null || domain.getReferenceValue() != null) {
+ xmlBuffer.append("<reference coefficient=\"" + domain.getCoefficient() + "\">");
+ xmlBuffer.append(domain.getReferenceValue());
+ xmlBuffer.append("</reference>");
}
else {
// facteur continue min/max
- xmlBuffer.append("<range min=\"" + cDomain.getMinBound() + "\" max=\"" + cDomain.getMaxBound() + "\" />");
+ xmlBuffer.append("<range>");
+ xmlBuffer.append("<min>" + domain.getMinBound() + "</min>");
+ xmlBuffer.append("<max>" + domain.getMaxBound() + "</max>");
+ xmlBuffer.append("</range>");
}
}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -42,10 +42,15 @@
/**
* {@inheritDoc}
+ *
+ * Changes :
+ * v2 : depuis la v2, meilleur gestion des min/max, pourcentage poru quasiment
+ * tous les facteurs continue
+ * v0 : version original
*/
@Override
public void start(DesignPlan designPlan) {
- xmlBuffer.append("<experimentalDesign>");
+ xmlBuffer.append("<experimentalDesign version=\"2\">");
}
/**
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -66,10 +66,18 @@
DesignPlan plan = new DesignPlan();
+ // could return "2" or null
+ String version = rootElement.attributeValue("version");
+
List<Element> factorGroupElements = rootElement.selectNodes("child::factors");
FactorGroup factorGroup = null;
if (!factorGroupElements.isEmpty()) {
- factorGroup = parseFactorGroup(factorGroupElements.get(0), topiaContext);
+ if ("2".equals(version)) {
+ factorGroup = parseFactorGroupV2(factorGroupElements.get(0), topiaContext);
+ }
+ else {
+ factorGroup = parseFactorGroup(factorGroupElements.get(0), topiaContext);
+ }
}
plan.setFactorGroup(factorGroup);
@@ -85,7 +93,12 @@
* @return factor group
*
* @see FactorGroup#isMixed()
+ *
+ * @deprecated since 3.4.0.0, this parsing method parse experimentalDesign
+ * in version "0" or "null" version, don't remove for
+ * data reading purpose, but could be removed in a future version
*/
+ @Deprecated
protected static FactorGroup parseFactorGroup(Element fgElement, TopiaContext topiaContext) {
String factorGroupName = fgElement.attributeValue("name");
@@ -266,105 +279,235 @@
return factorGroup;
}
-
- /*
- * Parse element root node as Sensitivity Scenarios.
+
+ /**
+ * Recursive parse of factor group elements (>factors<).
*
- * @return a {@link SensitivityScenarios}
+ * This version handle xml file with min/max and percentage factor
+ * in each continuous factors.
*
- * TODO : non finished and untested
- *
- public static SensitivityScenarios parseSensitivityScenarios(
- Element rootElement) {
+ * @param fgElement factor group element (>factors<)
+ * @param topiaContext context
+ * @param mixed {@code true} if create factor group need to be mixed
+ * @return factor group
+ *
+ * @see FactorGroup#isMixed()
+ */
+ protected static FactorGroup parseFactorGroupV2(Element fgElement, TopiaContext topiaContext) {
- SensitivityScenarios scenarios = new SensitivityScenarios();
+ String factorGroupName = fgElement.attributeValue("name");
+ FactorGroup factorGroup = new FactorGroup(factorGroupName);
- List<Element> scenarioElements = rootElement
- .selectNodes("child::scenarios/scenario");
+ // sub factor group
+ List<Element> factorGroupElements = fgElement.selectNodes("child::factors");
+ for (Element factorGroupElement : factorGroupElements) {
+ FactorGroup subFactorGroup = parseFactorGroupV2(factorGroupElement, topiaContext);
+ factorGroup.addFactor(subFactorGroup);
+ }
+
+ // normal factors
+ List<Element> factorElements = fgElement.selectNodes("child::factor");
- for (Element scenarioElement : scenarioElements) {
+ for (Element factorElement : factorElements) {
+ String type = factorElement.attributeValue("type");
+ String name = factorElement.attributeValue("name");
+ String property = factorElement.attributeValue("property");
+ String path = factorElement.element("target").getText().trim();
- Scenario scenario = new Scenario();
- List<Element> factorElements = scenarioElement.elements("factor");
+ // double
+ if ("real".equals(type)) {
+ Factor factor = new Factor(name);
+ factor.setPath(path);
+ Element fixedElement = factorElement.element("domain").element("fixed");
+ // tous les domaines continues
+ if (property.endsWith("continuous")) {
- for (Element factorElement : factorElements) {
- String type = factorElement.attributeValue("type");
- String name = factorElement.attributeValue("name");
- String property = factorElement.attributeValue("property");
- String path = factorElement.element("target").getText().trim();
+ ContinuousDomain domain;
+ if(property.equals("matrixcontinuous")) {
+
+ MatrixContinuousDomain mdomain = new MatrixContinuousDomain();
+ Element referenceElement = fixedElement.element("reference");
+ if (referenceElement != null) {
+ // matrix specific
+ // <coefficient operator="-" value="0.799"/>
+ mdomain.setCoefficient(Double.valueOf(referenceElement.attributeValue("coefficient")));
+ // <mx name="test1" step="0">...
+ Element matrixElement = referenceElement.element("mx");
+ MatrixND matrix = MexicoHelper.getMatrixFromXml(matrixElement, topiaContext);
+ mdomain.setMatrix(matrix);
+ }
+ else {
+ Element rangeElement = fixedElement.element("range");
+ Element minElement = rangeElement.element("min");
+ Element maxElement = rangeElement.element("max");
+ MatrixND minMatrix = MexicoHelper.getMatrixFromXml(minElement.element("mx"), topiaContext);
+ MatrixND maxMatrix = MexicoHelper.getMatrixFromXml(maxElement.element("mx"), topiaContext);
+ mdomain.setMinBound(minMatrix);
+ mdomain.setMaxBound(maxMatrix);
+ }
- // double
- if ("real".equals(type)) {
- Factor<Double> factor = new Factor<Double>(name);
- factor.setPath(path);
- factor.setValue(Double.valueOf(factorElement.element(
- "value").getText().trim()));
+ domain = mdomain;
+ }
+ else if (property.equals("equationcontinuous")) {
+ // equation specific
+ EquationContinuousDomain edomain = new EquationContinuousDomain();
+ edomain.setVariableName(fixedElement.attributeValue("variable"));
+ Element referenceElement = fixedElement.element("reference");
+ if (referenceElement != null) {
+ edomain.setCoefficient(Double.valueOf(referenceElement.attributeValue("coefficient")));
+ edomain.setReferenceValue(Double.valueOf(referenceElement.getTextTrim()));
+ }
+ else {
+ Element rangeElement = fixedElement.element("range");
+ Element minElement = rangeElement.element("min");
+ Element maxElement = rangeElement.element("max");
+ edomain.setMinBound(Double.valueOf(minElement.getTextTrim()));
+ edomain.setMaxBound(Double.valueOf(maxElement.getTextTrim()));
+ }
- Element fixedElement = factorElement.element("domain")
- .element("fixed");
- if ("continuous".equals(property)) {
- ContinuousDomain domain = new ContinuousDomain();
- domain.setCardinality(Integer.valueOf(fixedElement
- .attributeValue("cardinality")));
- Element rangeElement = fixedElement.element("range");
- domain.setMinBound(Double.valueOf(rangeElement
- .attributeValue("min")));
- domain.setMaxBound(Double.valueOf(rangeElement
- .attributeValue("max")));
- factor.setDomain(domain);
- } else if ("discrete".equals(property)) {
- DiscreteDomain domain = new DiscreteDomain();
- List<Element> valueElements = fixedElement.element(
- "enumeration").elements("value");
- int label = 0;
- for (Element valueElement : valueElements) {
- domain.getValues().put(
- Integer.valueOf(label),
- Double.valueOf(valueElement.getText()
- .trim()));
- ++label;
+ domain = edomain;
+ }
+ else {
+ // continous domain
+ domain = new ContinuousDomain();
+
+ Element referenceElement = fixedElement.element("reference");
+ if (referenceElement != null) {
+ domain.setCoefficient(Double.valueOf(referenceElement.attributeValue("coefficient")));
+ domain.setReferenceValue(Double.valueOf(referenceElement.getTextTrim()));
}
- factor.setDomain(domain);
+ else {
+ // <range max="1.0" min="0.0"/>
+ Element rangeElement = fixedElement.element("range");
+ Element minElement = rangeElement.element("min");
+ Element maxElement = rangeElement.element("max");
+ domain.setMinBound(Double.valueOf(minElement.getTextTrim()));
+ domain.setMaxBound(Double.valueOf(maxElement.getTextTrim()));
+ }
}
- scenario.getFactors().add(factor);
- } else if ("integer".equals(type)) {
- Factor factor = new Factor(name);
- factor.setPath(path);
- factor.setValue(Integer.valueOf(factorElement.element(
- "value").getText().trim()));
- Element fixedElement = factorElement.element("domain")
- .element("fixed");
- if ("continuous".equals(property)) {
- ContinuousDomain domain = new ContinuousDomain();
- domain.setCardinality(Integer.valueOf(fixedElement
- .attributeValue("cardinality")));
- Element rangeElement = fixedElement.element("range");
- domain.setMinBound(Integer.valueOf(rangeElement
- .attributeValue("min")));
- domain.setMaxBound(Integer.valueOf(rangeElement
- .attributeValue("max")));
- factor.setDomain(domain);
- } else if ("discrete".equals(property)) {
- DiscreteDomain domain = new DiscreteDomain();
- List<Element> valueElements = fixedElement.element(
- "enumeration").elements("value");
- int label = 0;
- for (Element valueElement : valueElements) {
- domain.getValues().put(
- Integer.valueOf(label),
- Integer.valueOf(valueElement.getText()
- .trim()));
- ++label;
+ domain.setCardinality(Integer.valueOf(fixedElement.attributeValue("cardinality")));
+
+ factor.setDomain(domain);
+ } else if ("discrete".equals(property)) {
+ DiscreteDomain domain = new DiscreteDomain();
+ List<Element> valueElements = fixedElement.element(
+ "enumeration").elements("value");
+ int label = 0;
+ for (Element valueElement : valueElements) {
+ domain.getValues().put(Integer.valueOf(label),
+ Double.valueOf(valueElement.getTextTrim()));
+ ++label;
+ }
+ factor.setDomain(domain);
+ }
+ factorGroup.addFactor(factor);
+ } else if ("integer".equals(type)) {
+ Factor factor = new Factor(name);
+ factor.setPath(path);
+ Element fixedElement = factorElement.element("domain").element("fixed");
+ if ("continuous".equals(property)) {
+ ContinuousDomain domain = null;
+
+ if(property.equals("matrixcontinuous")) {
+
+ MatrixContinuousDomain mdomain = new MatrixContinuousDomain();
+ Element referenceElement = fixedElement.element("reference");
+ if (referenceElement != null) {
+ // matrix specific
+ // <coefficient operator="-" value="0.799"/>
+ mdomain.setCoefficient(Double.valueOf(referenceElement.attributeValue("coefficient")));
+ // <mx name="test1" step="0">...
+ Element matrixElement = referenceElement.element("mx");
+ MatrixND matrix = MexicoHelper.getMatrixFromXml(matrixElement, topiaContext);
+ mdomain.setMatrix(matrix);
}
- factor.setDomain(domain);
+ else {
+ Element rangeElement = fixedElement.element("range");
+ Element minElement = rangeElement.element("min");
+ Element maxElement = rangeElement.element("max");
+ MatrixND minMatrix = MexicoHelper.getMatrixFromXml(minElement.element("mx"), topiaContext);
+ MatrixND maxMatrix = MexicoHelper.getMatrixFromXml(maxElement.element("mx"), topiaContext);
+ mdomain.setMinBound(minMatrix);
+ mdomain.setMaxBound(maxMatrix);
+ }
+
+ domain = mdomain;
}
- scenario.getFactors().add(factor);
+ else if (property.equals("equationcontinuous")) {
+ // equation specific
+ EquationContinuousDomain edomain = new EquationContinuousDomain();
+ edomain.setVariableName(fixedElement.attributeValue("variable"));
+ Element referenceElement = fixedElement.element("reference");
+ if (referenceElement != null) {
+ edomain.setCoefficient(Double.valueOf(referenceElement.attributeValue("coefficient")));
+ edomain.setReferenceValue(Double.valueOf(referenceElement.getTextTrim()));
+ }
+ else {
+ Element rangeElement = fixedElement.element("range");
+ Element minElement = rangeElement.element("min");
+ Element maxElement = rangeElement.element("max");
+ edomain.setMinBound(Double.valueOf(minElement.getTextTrim()));
+ edomain.setMaxBound(Double.valueOf(maxElement.getTextTrim()));
+ }
+
+ domain = edomain;
+ }
+ else {
+ // continous domain
+ domain = new ContinuousDomain();
+
+ Element referenceElement = fixedElement.element("reference");
+ if (referenceElement != null) {
+ domain.setCoefficient(Double.valueOf(referenceElement.attributeValue("coefficient")));
+ domain.setReferenceValue(Double.valueOf(referenceElement.getTextTrim()));
+ }
+ else {
+ // <range max="1.0" min="0.0"/>
+ Element rangeElement = fixedElement.element("range");
+ Element minElement = rangeElement.element("min");
+ Element maxElement = rangeElement.element("max");
+ domain.setMinBound(Integer.valueOf(minElement.getTextTrim()));
+ domain.setMaxBound(Integer.valueOf(maxElement.getTextTrim()));
+ }
+ }
+
+ domain.setCardinality(Integer.valueOf(fixedElement.attributeValue("cardinality")));
+
+ factor.setDomain(domain);
+ } else if ("discrete".equals(property)) {
+ DiscreteDomain domain = new DiscreteDomain();
+ List<Element> valueElements = fixedElement.element(
+ "enumeration").elements("value");
+ int label = 0;
+ for (Element valueElement : valueElements) {
+ domain.getValues().put(Integer.valueOf(label),
+ Integer.valueOf(valueElement.getTextTrim()));
+ ++label;
+ }
+ factor.setDomain(domain);
}
+ factorGroup.addFactor(factor);
+ } else if ("rule".equals(type)) {
+ Factor factor = new Factor(name);
+ factor.setPath(path);
+ Element fixedElement = factorElement.element("domain").element("fixed");
+ if ("discrete".equals(property)) {
+ RuleDomain domain = new RuleDomain();
+ List<Element> valueElements = fixedElement.element("enumeration").elements("value");
+ int label = 0;
+ for (Element valueElement : valueElements) {
+ Element rulesElement = valueElement.element("rules");
+ List<Rule> rulesValue = MexicoHelper.getRulesFromXml(rulesElement, topiaContext);
+ domain.getValues().put(Integer.valueOf(label), rulesValue);
+ ++label;
+ }
+ factor.setDomain(domain);
+ }
+ factorGroup.addFactor(factor);
}
- scenarios.getScenarios().add(scenario);
}
- return scenarios;
- }*/
+ return factorGroup;
+ }
}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -26,6 +26,7 @@
package fr.ifremer.isisfish.mexico.xml;
import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
/**
@@ -44,12 +45,36 @@
*/
@Override
public void start(Domain domain) {
- super.start(domain);
+ xmlBuffer.append("<domain>");
+ xmlBuffer.append("<fixed");
EquationContinuousDomain eDomain = (EquationContinuousDomain)domain;
- // since 3.3.0.0 coefficient element is outside equation element
- xmlBuffer.append("<coefficient value=\"" + eDomain.getCoefficient() + "\" />");
- xmlBuffer.append("<equation variable=\"" + eDomain.getVariableName()+ "\"");
- xmlBuffer.append(" reference=\"" + eDomain.getReferenceValue() + "\" />");
+ // this version add variable name
+ xmlBuffer.append(" cardinality=\"" + eDomain.getCardinality() + "\" variable=\"" + eDomain.getVariableName()+ "\">");
+
+ appendDomain(eDomain);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected void appendDomain(ContinuousDomain domain) {
+
+ EquationContinuousDomain eDomain = (EquationContinuousDomain)domain;
+
+ // facteur continue pourcentage
+ if (domain.getCoefficient() != null || domain.getReferenceValue() != null) {
+ xmlBuffer.append("<reference coefficient=\"" + eDomain.getCoefficient() + "\">");
+ xmlBuffer.append(eDomain.getReferenceValue());
+ xmlBuffer.append("</reference>");
+ }
+ else {
+ // facteur continue min/max
+ xmlBuffer.append("<range>");
+ xmlBuffer.append("<min>" + domain.getOriginalMinBound() + "</min>");
+ xmlBuffer.append("<max>" + domain.getOriginalMaxBound() + "</max>");
+ xmlBuffer.append("</range>");
+ }
+ }
}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -27,6 +27,8 @@
import java.io.Serializable;
+import org.nuiton.math.matrix.MatrixND;
+
import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.simulator.sensitivity.Domain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
@@ -59,15 +61,24 @@
// property attribute
if (factor.getDomain() instanceof MatrixContinuousDomain) {
xmlBuffer.append(" property=\"matrixcontinuous\"");
- referenceValueForType = ((MatrixContinuousDomain)factor.getDomain()).getMinBound();
+ referenceValueForType = ((ContinuousDomain)factor.getDomain()).getReferenceValue();
+ if (referenceValueForType == null) {
+ referenceValueForType = ((ContinuousDomain)factor.getDomain()).getOriginalMinBound();
+ }
}
else if (factor.getDomain() instanceof EquationContinuousDomain) {
xmlBuffer.append(" property=\"equationcontinuous\"");
- referenceValueForType = ((ContinuousDomain)factor.getDomain()).getMinBound();
+ referenceValueForType = ((ContinuousDomain)factor.getDomain()).getReferenceValue();
+ if (referenceValueForType == null) {
+ referenceValueForType = ((ContinuousDomain)factor.getDomain()).getOriginalMinBound();
+ }
}
else if (factor.getDomain() instanceof ContinuousDomain) {
xmlBuffer.append(" property=\"continuous\"");
- referenceValueForType = ((ContinuousDomain)factor.getDomain()).getMinBound();
+ referenceValueForType = ((ContinuousDomain)factor.getDomain()).getReferenceValue();
+ if (referenceValueForType == null) {
+ referenceValueForType = ((ContinuousDomain)factor.getDomain()).getOriginalMinBound();
+ }
}
else if (factor.getDomain() instanceof DiscreteDomain) {
xmlBuffer.append(" property=\"discrete\"");
@@ -75,7 +86,8 @@
referenceValueForType = ((DiscreteDomain)factor.getDomain()).getValues().get(firstKey);
}
// type attribute
- if (referenceValueForType instanceof Double || referenceValueForType instanceof Float) {
+ if (referenceValueForType instanceof Double || referenceValueForType instanceof Float
+ || referenceValueForType instanceof MatrixND) {
xmlBuffer.append(" type=\"real\"");
}
else if (referenceValueForType instanceof Integer) {
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -25,8 +25,10 @@
package fr.ifremer.isisfish.mexico.xml;
+import org.nuiton.math.matrix.MatrixND;
+
import fr.ifremer.isisfish.mexico.MexicoHelper;
-import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
/**
@@ -44,12 +46,22 @@
* {@inheritDoc}
*/
@Override
- public void start(Domain domain) {
- super.start(domain);
+ protected void appendDomain(ContinuousDomain domain) {
MatrixContinuousDomain mDomain = (MatrixContinuousDomain)domain;
- // since 3.3.0.0 coefficient element is outside matrix element
- xmlBuffer.append("<coefficient value=\"" + mDomain.getCoefficient() + "\" />");
- xmlBuffer.append(MexicoHelper.getMatrixAsXML(mDomain.getMatrix()));
+
+ // facteur continue pourcentage
+ if (domain.getCoefficient() != null || domain.getReferenceValue() != null) {
+ xmlBuffer.append("<reference coefficient=\"" + mDomain.getCoefficient() + "\">");
+ xmlBuffer.append(MexicoHelper.getMatrixAsXML(mDomain.getMatrix()));
+ xmlBuffer.append("</reference>");
+ }
+ else {
+ // facteur continue min/max
+ xmlBuffer.append("<range>");
+ xmlBuffer.append("<min>" + MexicoHelper.getMatrixAsXML((MatrixND)mDomain.getOriginalMaxBound()) + "</min>");
+ xmlBuffer.append("<max>" + MexicoHelper.getMatrixAsXML((MatrixND)mDomain.getOriginalMaxBound()) + "</max>");
+ xmlBuffer.append("</range>");
+ }
}
}
Modified: isis-fish/branches/3.3.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- isis-fish/branches/3.3.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2011-05-19 15:30:08 UTC (rev 3333)
+++ isis-fish/branches/3.3.1/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2011-05-20 15:29:55 UTC (rev 3334)
@@ -33,12 +33,14 @@
import java.util.SortedMap;
import java.util.TreeMap;
+import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.nuiton.math.matrix.MatrixFactory;
+import org.nuiton.math.matrix.MatrixHelper;
import org.nuiton.math.matrix.MatrixND;
import org.nuiton.topia.TopiaContext;
@@ -222,18 +224,20 @@
String xml = MexicoHelper.getDesignPlanAsXML(testDesignPlan);
// factor 1
- Assert.assertTrue(xml.indexOf("<range min=\"0.0\" max=\"50.0\"/>") != -1);
+ Assert.assertTrue(xml.contains("<min>0.0</min>"));
+ Assert.assertTrue(xml.contains("<max>50.0</max>"));
// factor 2
- Assert.assertTrue(xml.indexOf("<factor name=\"factor 2 (double discrete)\"") != -1);
- Assert.assertTrue(xml.indexOf("<value>70.9</value>") != -1);
+ Assert.assertTrue(xml.contains("<factor name=\"factor 2 (double discrete)\""));
+ Assert.assertTrue(xml.contains("<value>70.9</value>"));
// factor 3
- Assert.assertTrue(xml.indexOf("<value>14</value>") != -1);
+ Assert.assertTrue(xml.contains("<value>14</value>"));
// factor 4
- Assert.assertTrue(xml.indexOf("<d>-14.0</d>") != -1);
- Assert.assertTrue(xml.indexOf("0.799") != -1);
- Assert.assertTrue(xml.indexOf("<mx name=\"test1\">") != -1);
+ Assert.assertTrue(xml.contains("<d>-14.0</d>"));
+ Assert.assertTrue(xml.contains("0.799"));
+ Assert.assertTrue(xml.contains("<mx name=\"test1\">"));
// factor 5
- Assert.assertTrue(xml.indexOf("variable=\"L1\" reference=\"45.0\"") != -1);
+ Assert.assertTrue(xml.contains("<fixed cardinality=\"0\" variable=\"L1\">"));
+ Assert.assertTrue(xml.contains("<reference coefficient=\"0.1\">45.0</reference>"));
if (log.isDebugEnabled()) {
log.debug("testGetDesignPlanAsXML xml = " + xml);
@@ -352,4 +356,91 @@
}
Assert.assertEquals(xml1, xml2);
}
+
+ /**
+ * Test l'ajout des nouveaux type de facteurs, min/max et pourcentage.
+ *
+ * @throws IOException
+ * @throws IsisFishException
+ */
+ @Test
+ public void testPercentageMinMaxFactor() throws IOException, IsisFishException {
+
+ // get test plan and add some STRANGES factors
+ DesignPlan testDesignPlan = getTestDesignPlan(false);
+
+ // matrix 1
+ MatrixND matrix1 = MatrixFactory.getInstance().create("test1",
+ new int[] { 3, 2 }, new String[] { "col1", "col2" });
+ matrix1 = MatrixHelper.convertToId(matrix1);
+
+ // factor x1
+ Factor factorContinuous = new Factor("factor x1");
+ ContinuousDomain domain1 = new ContinuousDomain();
+ domain1.setReferenceValue(42.0);
+ domain1.setCoefficient(0.05);
+ factorContinuous.setDomain(domain1);
+ factorContinuous.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength");
+
+ // factor x4
+ Factor factorMatrixContinuous = new Factor("factor x4");
+ MatrixContinuousDomain domain4 = new MatrixContinuousDomain();
+ domain4.setMinBound(matrix1);
+ domain4.setMaxBound(matrix1);
+ factorMatrixContinuous.setDomain(domain4);
+ factorMatrixContinuous.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength");
+
+ // factor x5
+ Factor factorEquationContinuous = new Factor("factor x5");
+ EquationContinuousDomain domain5 = new EquationContinuousDomain();
+ domain5.setMinBound(40.0);
+ domain5.setMaxBound(50.0);
+ domain5.setVariableName("Lx1");
+ factorEquationContinuous.setDomain(domain5);
+ factorEquationContinuous.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#maxLength");
+
+ testDesignPlan.addFactor(factorContinuous);
+ testDesignPlan.addFactor(factorMatrixContinuous);
+ testDesignPlan.addFactor(factorEquationContinuous);
+
+ // test write
+ String content = MexicoHelper.getDesignPlanAsXML(testDesignPlan);
+ File tempFile = File.createTempFile("testdesignplan", ".xml");
+ tempFile.deleteOnExit();
+ FileUtils.writeStringToFile(tempFile, content);
+
+ // test to read it and get content
+ DesignPlan plan = MexicoHelper.getDesignPlanFromXML(tempFile, null);
+ String reReadContent = MexicoHelper.getDesignPlanAsXML(plan);
+
+ Assert.assertEquals(content, reReadContent);
+ }
+
+ /**
+ * Test que l'export XML de l'import XML produise le meme xml.
+ * Pareil, mais pour une version v2 du schema xml.
+ *
+ * @throws IOException
+ * @throws IsisFishException
+ */
+ @Test
+ public void testExportImportV2() throws IOException, IsisFishException {
+
+ // first export
+ DesignPlan testDesignPlan = getTestDesignPlan(false);
+ String xml1 = MexicoHelper.getDesignPlanAsXML(testDesignPlan);
+ if (log.isDebugEnabled()) {
+ log.debug("xml 1 = " + xml1);
+ }
+
+ // export
+ File testFile = new File("src/test/resources/mexico/mexicohelper_designplanV2.xml");
+ // topia context can be null in tests
+ DesignPlan plan = MexicoHelper.getDesignPlanFromXML(testFile, regionContext);
+ String xml2 = MexicoHelper.getDesignPlanAsXML(plan);
+ if (log.isDebugEnabled()) {
+ log.debug("xml 2 = " + xml2);
+ }
+ Assert.assertEquals(xml1, xml2);
+ }
}
Added: isis-fish/branches/3.3.1/src/test/resources/mexico/mexicohelper_designplanV2.xml
===================================================================
--- isis-fish/branches/3.3.1/src/test/resources/mexico/mexicohelper_designplanV2.xml (rev 0)
+++ isis-fish/branches/3.3.1/src/test/resources/mexico/mexicohelper_designplanV2.xml 2011-05-20 15:29:55 UTC (rev 3334)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<experimentalDesign version="2">
+ <factors>
+ <factor name="factor 1 (double continuous)" property="continuous" type="real">
+ <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target>
+ <domain>
+ <fixed cardinality="0">
+ <range>
+ <min>0.0</min>
+ <max>50.0</max>
+ </range>
+ </fixed>
+ </domain>
+ </factor>
+ <factor name="factor 2 (double discrete)" property="discrete" type="real">
+ <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target>
+ <domain>
+ <fixed cardinality="5">
+ <enumeration>
+ <value>12.3</value>
+ <value>70.9</value>
+ <value>21.0</value>
+ <value>-12.1</value>
+ <value>-8.45</value>
+ </enumeration>
+ </fixed>
+ </domain>
+ </factor>
+ <factor name="factor 3 (integer discrete)" property="discrete" type="integer">
+ <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target>
+ <domain>
+ <fixed cardinality="3">
+ <enumeration>
+ <value>13</value>
+ <value>14</value>
+ <value>45</value>
+ </enumeration>
+ </fixed>
+ </domain>
+ </factor>
+ <factor name="factor 4 (MatrixContinuous)" property="matrixcontinuous" type="real">
+ <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target>
+ <domain>
+ <fixed cardinality="0">
+ <reference coefficient="0.799">
+ <mx name="test1">
+ <dimension name="col1" size="3">
+ <label>null()</label>
+ <label>null()</label>
+ <label>null()</label>
+ </dimension>
+ <dimension name="col2" size="2">
+ <label>null()</label>
+ <label>null()</label>
+ </dimension>
+ <d>13.0</d>
+ <d>-14.0</d>
+ <d>21.0</d>
+ <d>2.0</d>
+ <d>12.0</d>
+ <d>-1.0</d>
+ </mx>
+ </reference>
+ </fixed>
+ </domain>
+ </factor>
+ <factor name="factor 5 (EquationContinuous)" property="equationcontinuous" type="real">
+ <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#maxLength</target>
+ <domain>
+ <fixed cardinality="0" variable="L1">
+ <reference coefficient="0.1">45.0</reference>
+ </fixed>
+ </domain>
+ </factor>
+ <factor name="factor 6 (double continuous percentage)" property="continuous" type="real">
+ <target>fr.ifremer.isisfish.entities.PopulationGroup#1142003453434#0.223499349929004#size</target>
+ <domain>
+ <fixed cardinality="5">
+ <reference coefficient="5.0">14.0</reference>
+ </fixed>
+ </domain>
+ </factor>
+ </factors>
+</experimentalDesign>
1
0
r3333 - in isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui: models/rule simulator
by chatellier@users.labs.libre-entreprise.org 19 May '11
by chatellier@users.labs.libre-entreprise.org 19 May '11
19 May '11
Author: chatellier
Date: 2011-05-19 15:30:08 +0000 (Thu, 19 May 2011)
New Revision: 3333
Log:
Suppression des facteurs lorsqu'une regle est supprim?\195?\169e.
Pas bien fait mais bon...
Modified:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java 2011-05-18 15:54:41 UTC (rev 3332)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleListModel.java 2011-05-19 15:30:08 UTC (rev 3333)
@@ -60,7 +60,6 @@
* @param rules rules
*/
public RuleListModel(List<Rule> rules) {
- super();
this.rules = rules;
}
@@ -80,6 +79,7 @@
*/
public void setRules(List<Rule> rules) {
this.rules = rules;
+ fireContentsChanged(this, 0, rules.size() - 1);
}
/*
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java 2011-05-18 15:54:41 UTC (rev 3332)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java 2011-05-19 15:30:08 UTC (rev 3333)
@@ -28,10 +28,12 @@
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.util.EventObject;
import javax.swing.AbstractCellEditor;
import javax.swing.Icon;
import javax.swing.JButton;
+import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;
@@ -83,17 +85,15 @@
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
- Icon icon = Resource.getIcon("/icons/building_add.png");
- JButton button = new JButton(icon);
+ Component comp = null;
- boolean enabled = false;
final String paramName = (String)value;
try {
Object paramValue = RuleStorage.getParameterValue(rule, paramName);
//SensitivityInputHandler handler = ruleChooser.getContextValue(SensitivityInputHandler.class);
// FIXME chatellier : number n'est pas correct ici mais j'ai pas d'idée :(
if (/*handler.canBeContinue(paramValue) || */paramValue instanceof Number) {
- enabled = true;
+ JButton button = new JButton(Resource.getIcon("/icons/building_add.png"));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -102,6 +102,7 @@
simulAction.addRuleParameterFactor(ruleChooser, rule, paramName);
}
});
+ comp = button;
}
} catch (IsisFishException ex) {
if (log.isWarnEnabled()) {
@@ -109,12 +110,13 @@
}
}
- button.setEnabled(enabled);
+ if (comp == null) {
+ comp = new JLabel();
+ }
- return button;
+ return comp;
}
-
/*
* @see javax.swing.CellEditor#getCellEditorValue()
*/
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java 2011-05-18 15:54:41 UTC (rev 3332)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java 2011-05-19 15:30:08 UTC (rev 3333)
@@ -27,8 +27,8 @@
import java.awt.Component;
-import javax.swing.Icon;
import javax.swing.JButton;
+import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
@@ -74,17 +74,15 @@
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
- Icon icon = Resource.getIcon("/icons/building_add.png");
- JButton button = new JButton(icon);
+ Component comp = null;
- boolean enabled = false;
String paramName = (String)value;
try {
Object paramValue = RuleStorage.getParameterValue(rule, paramName);
//SensitivityInputHandler handler = ruleChooser.getContextValue(SensitivityInputHandler.class);
// FIXME chatellier : number n'est pas correct ici mais j'ai pas d'idée :(
if (/*handler.canBeContinue(paramValue) || */paramValue instanceof Number) {
- enabled = true;
+ comp = new JButton(Resource.getIcon("/icons/building_add.png"));
}
} catch (IsisFishException ex) {
if (log.isWarnEnabled()) {
@@ -92,8 +90,11 @@
}
}
- button.setEnabled(enabled);
- return button;
+ if (comp == null) {
+ comp = super.getTableCellRendererComponent(table, "", isSelected, hasFocus, row, column);
+ }
+
+ return comp;
}
}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2011-05-18 15:54:41 UTC (rev 3332)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2011-05-19 15:30:08 UTC (rev 3333)
@@ -217,6 +217,10 @@
}
}
break;
+ case 2:
+ // appelé parce qu'on ne peut pas l'empecher
+ // pour la colonne Action,
+ break;
default:
throw new IndexOutOfBoundsException("Can't edit column "
+ columnIndex);
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2011-05-18 15:54:41 UTC (rev 3332)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2011-05-19 15:30:08 UTC (rev 3333)
@@ -36,7 +36,9 @@
<import>
java.beans.PropertyChangeEvent
java.beans.PropertyChangeListener
+ java.util.List
fr.ifremer.isisfish.IsisFishException
+ fr.ifremer.isisfish.IsisFishRuntimeException
fr.ifremer.isisfish.datastore.RuleStorage
fr.ifremer.isisfish.rule.Rule
fr.ifremer.isisfish.ui.models.rule.RuleListModel
@@ -46,6 +48,7 @@
fr.ifremer.isisfish.ui.models.rule.RuleParametersFactorTableCellRenderer
fr.ifremer.isisfish.ui.models.rule.RuleParametersFactorTableCellEditor
fr.ifremer.isisfish.ui.util.ErrorHelper
+ fr.ifremer.isisfish.ui.SimulationUI
fr.ifremer.isisfish.datastore.RegionStorage
</import>
@@ -55,11 +58,11 @@
addPropertyChangeListener(PROPERTY_RULES_LIST, new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getNewValue() == null) {
- selectedRulesList.setModel(new fr.ifremer.isisfish.ui.models.rule.RuleListModel());
+ selectedRulesList.setModel(new RuleListModel());
}
else /*if (evt.getNewValue() != null)*/ {
- java.util.List<fr.ifremer.isisfish.rule.Rule> rules = (java.util.List<fr.ifremer.isisfish.rule.Rule>)evt.getNewValue();
- selectedRulesList.setModel(new fr.ifremer.isisfish.ui.models.rule.RuleListModel(rules));
+ List<Rule> rules = (List<Rule>)evt.getNewValue();
+ selectedRulesList.setModel(new RuleListModel(rules));
}
}
});
@@ -67,8 +70,6 @@
// fix colums size for buttons
if (isShowFactorColumn()) {
SwingUtil.fixTableColumnWidth(selectedRuleParameterTable, 2, 30);
-
-
}
}
@@ -83,37 +84,50 @@
RuleStorage ruleStorage = RuleStorage.getRule(availableRuleName);
Rule ruleTmp = ruleStorage.getNewRuleInstance();
rulesList.add(ruleTmp);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't add rule", e);
- }
- ErrorHelper.showErrorDialog(_("isisfish.error.simulation.addrule"), e);
+ } catch (IsisFishException ex) {
+ throw new IsisFishRuntimeException("Can't add rule", ex);
}
}
-
- //TODO replace this by a better fire() event
- selectedRulesList.setModel(new RuleListModel(rulesList));
+ selectedRulesListModel.setRules(rulesList);
}
/**
* Remove selected rules for selected rules list.
*/
protected void removeSelectedRules() {
+ SimulAction simulAction = getContextValue(SimulAction.class);
Object[] selectedRuleValues = selectedRulesList.getSelectedValues();
for (Object selectedRuleValue : selectedRuleValues) {
+
+ // condition pour savoir si on est dans l'instance principal
+ // de définition d'une simulation (hack)
+ if (isShowFactorColumn()) {
+ int ruleIndex = rulesList.indexOf(selectedRuleValue);
+ simulAction.preRemoveRule(ruleIndex);
+ getContextValue(SimulationUI.class, "SimulationUI").refreshFactorTree();
+ }
+
+ // real rule remove
rulesList.remove(selectedRuleValue);
}
- //TODO replace this by a better fire() event
- selectedRulesList.setModel(new RuleListModel(rulesList));
+ selectedRulesListModel.setRules(rulesList);
}
/**
* Clear selected rule list.
*/
protected void clearAllRules() {
- rulesList.clear();
- //TODO replace this by a better fire() event
- selectedRulesList.setModel(new RuleListModel(rulesList));
+ // condition pour savoir si on est dans l'instance principal
+ // de définition d'une simulation (hack)
+ if (isShowFactorColumn()) {
+ SimulAction simulAction = getContextValue(SimulAction.class);
+ for (Rule rule : rulesList) {
+ int ruleIndex = rulesList.indexOf(rule);
+ simulAction.preRemoveRule(ruleIndex);
+ }
+ getContextValue(SimulationUI.class, "SimulationUI").refreshFactorTree();
+ }
+ selectedRulesListModel.setRules(rulesList);
}
/**
@@ -171,8 +185,9 @@
</cell>
<cell fill="both" rows="3" weightx="1" weighty="1">
<JScrollPane>
+ <fr.ifremer.isisfish.ui.models.rule.RuleListModel id="selectedRulesListModel" />
<JList id="selectedRulesList" selectionMode="{javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}"
- model='{new fr.ifremer.isisfish.ui.models.rule.RuleListModel(rulesList)}'
+ model='{selectedRulesListModel}'
cellRenderer='{new fr.ifremer.isisfish.ui.models.rule.RuleListCellRenderer()}'
onValueChanged='removeRuleButton.setEnabled(selectedRulesList.getSelectedIndex() != -1);clearRulesButton.setEnabled(selectedRulesList.getSelectedIndex() != -1);displayRuleParameters()'
enabled="{isActive()}"/>
@@ -181,12 +196,14 @@
</row>
<row>
<cell fill='horizontal'>
- <JButton id="removeRuleButton" text="isisfish.common.remove" enabled="false" onActionPerformed='removeSelectedRules()'/>
+ <JButton id="removeRuleButton" text="isisfish.common.remove"
+ enabled="false" onActionPerformed='removeSelectedRules()'/>
</cell>
</row>
<row>
<cell fill='horizontal' anchor="north">
- <JButton id="clearRulesButton" text="isisfish.common.clear" enabled="false" onActionPerformed='clearAllRules()'/>
+ <JButton id="clearRulesButton" text="isisfish.common.clear"
+ enabled="false" onActionPerformed='clearAllRules()'/>
</cell>
</row>
<row weightx="2" weighty="2" columns="3">
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2011-05-18 15:54:41 UTC (rev 3332)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2011-05-19 15:30:08 UTC (rev 3333)
@@ -33,7 +33,6 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import java.io.IOException;
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -43,6 +42,8 @@
import java.util.Properties;
import java.util.SortedMap;
import java.util.TreeMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import javax.swing.AbstractAction;
import javax.swing.JButton;
@@ -51,6 +52,7 @@
import jaxx.runtime.SwingUtil;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -188,14 +190,7 @@
}
ErrorHelper.showErrorDialog(_("isisfish.error.simulation.importparameter"), e);
} finally {
- try {
- fos.close();
- } catch (IOException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't import simulation", e);
- }
- ErrorHelper.showErrorDialog(_("isisfish.error.simulation.importparameter"), e);
- }
+ IOUtils.closeQuietly(fos);
}
}
@@ -217,16 +212,7 @@
}
ErrorHelper.showErrorDialog(_("isisfish.error.simulation.savesimulation"), e);
} finally {
- try {
- if (fos != null) {
- fos.close();
- }
- } catch (IOException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't save simulation", e);
- }
- ErrorHelper.showErrorDialog(_("isisfish.error.simulation.savesimulation"), e);
- }
+ IOUtils.closeQuietly(fos);
}
}
@@ -325,70 +311,68 @@
}
}
- /*
- ************
- * ParamsUI
- ************
- */
-
/**
- * Get simulation parameters rule list.
+ * Called by RuleChooser component before rule deletion.
+ * Used to remove factor associated to rule to delete.
*
- * @return rules
- */
- public List<Rule> getRules() {
- return param.getRules();
- }
-
- /**
- * Add new rule.
+ * Factor path reference rule with factor path containing rule index
+ * in rule list :
+ * for example :
+ * <pre>
+ * parameters.rule.2.tacPoids
+ * </pre>
*
- * Get a new instance of ruleItem, and add it to rule list.
+ * Must also rename all next indices.
*
- * @param ruleName rule to get copy
+ * @param ruleIndex rule index to to delete
*/
- public void addNewRule(String ruleName) {
- try {
- RuleStorage ruleStorage = RuleStorage.getRule(ruleName);
- Rule ruleTmp = ruleStorage.getNewRuleInstance();
- param.addRule(ruleTmp);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't add rule", e);
- }
- ErrorHelper.showErrorDialog(_("isisfish.error.simulation.addrule"), e);
- }
+ public void preRemoveRule(int ruleIndex) {
+ preRemoveRule(factorGroup, ruleIndex);
}
/**
- * Retire une regle.
+ * Recursive rename and delete rule factor path.
*
- * @param rule rule to removes
- * @return <tt>true</tt> if this list contained the specified element
+ * @param ruleIndex rule index to to delete
*/
- public boolean removeRule(Rule rule) {
- return param.removeRule(rule);
+ protected void preRemoveRule(FactorGroup factorGroup, int ruleIndex) {
+ Collection<Factor> factorCopy = new ArrayList<Factor>(factorGroup.getFactors());
+ for (Factor factor : factorCopy) {
+ if (factor instanceof FactorGroup) {
+ preRemoveRule((FactorGroup)factor, ruleIndex);
+ }
+ else {
+ Pattern factorPathPattern = Pattern.compile("^(parameters\\.rule\\.)(\\d+)(.*)$");
+ Matcher factorPathMatcher = factorPathPattern.matcher(factor.getPath());
+ if (factorPathMatcher.find()) {
+ Integer index = Integer.parseInt(factorPathMatcher.group(2));
+ if (index == ruleIndex) {
+ // meme index, suppression
+ if (log.isDebugEnabled()) {
+ log.debug("Removing factor for index " + ruleIndex + " : " + factor.getPath());
+ }
+ factorGroup.remove(factor);
+ }
+ else if (index > ruleIndex) {
+ // index supérieur, renommage
+ // avec un index de moins
+ String factorPath = factorPathMatcher.group(1) +
+ String.valueOf(index - 1) + factorPathMatcher.group(3);
+ if (log.isDebugEnabled()) {
+ log.debug("Renammed factor for index " + ruleIndex + " : " + factor.getPath());
+ }
+ factor.setPath(factorPath);
+ factor.setName(factorPath); // also factor name
+ }
+ }
+ }
+ }
}
-
/**
- * Retourne une liste d'instance de toutes les regles disponible.
+ * Get strategies list to fill Jlist in ParamUI.
*
- * Instancié (utile pour les modeles).
- *
- * @return instance rule list
+ * @return strategies list
*/
- public List<String> getAvailableRuleNames() {
- List<String> result = new ArrayList<String>();
- for (String ruleName : RuleStorage.getRuleNames()) {
- // remove last .java
- String shortRuleName = ruleName.substring(0, ruleName.length() - 5);
- result.add(shortRuleName);
- }
- return result;
- }
-
- // Strategies
-
public List<Strategy> getStrategies() {
List<Strategy> result = new ArrayList<Strategy>();
try {
@@ -405,6 +389,11 @@
return result;
}
+ /**
+ * Set parameters strategies.
+ *
+ * @param strategies
+ */
public void setStrategies(Object[] strategies) {
List<Strategy> result = new ArrayList<Strategy>();
for (Object o : strategies) {
@@ -413,8 +402,11 @@
param.setStrategies(result);
}
- // Population
-
+ /**
+ * Get population list to fill JList in paramUI.
+ *
+ * @return populations list
+ */
public List<Population> getPopulations() {
List<Population> result = new ArrayList<Population>();
@@ -444,6 +436,11 @@
return result;
}
+ /**
+ * Set parameter population.
+ *
+ * @param populations populations to set
+ */
public void setPopulations(Object[] populations) {
List<Population> result = new ArrayList<Population>();
for (Object o : populations) {
@@ -453,7 +450,6 @@
}
// Years
-
public int getNumberOfYear() {
return param.getNumberOfYear();
}
@@ -545,13 +541,17 @@
}
public void removeTagValue(String tag) {
- log.debug("removeTagValue: " + tag);
+ if (log.isDebugEnabled()) {
+ log.debug("removeTagValue: " + tag);
+ }
param.getTagValue().remove(tag);
}
public void saveTagValue(String simulatorName) {
Map<String, String> tagValues = param.getTagValue();
- log.debug("call saveTagValue: " + tagValues);
+ if (log.isDebugEnabled()) {
+ log.debug("call saveTagValue: " + tagValues);
+ }
IsisFish.config.setDefaultTagValues(tagValues);
IsisFish.config.setSimulatorClassfile(simulatorName);
1
0
r3332 - in isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui: input models/rule sensitivity simulator util
by chatellier@users.labs.libre-entreprise.org 18 May '11
by chatellier@users.labs.libre-entreprise.org 18 May '11
18 May '11
Author: chatellier
Date: 2011-05-18 15:54:41 +0000 (Wed, 18 May 2011)
New Revision: 3332
Log:
On peut maintenant ajouter des facteurs sur les parametres de regles.
Pas encore utilisable et non utilis?\195?\169.
Added:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java
Removed:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
Modified:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/util/ErrorHelper.java
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2011-05-18 15:54:41 UTC (rev 3332)
@@ -65,7 +65,6 @@
javax.swing.event.ChangeListener
fr.ifremer.isisfish.entities.FisheryRegion
fr.ifremer.isisfish.ui.sensitivity.SensitivityUtils
- fr.ifremer.isisfish.ui.sensitivity.SensitivityTabbedPaneListener
fr.ifremer.isisfish.ui.WelcomePanelUI
org.nuiton.topia.persistence.TopiaEntityContextable
org.nuiton.topia.TopiaContext
@@ -77,8 +76,6 @@
</import>
<script><![CDATA[
-protected ChangeListener tabbedPaneChangeListener;
-
/*
* Overriden with generic type
*/
@@ -180,21 +177,13 @@
* @param tabbedPane tabbed pane to install change listener
*/
protected void installChangeListener(JTabbedPane tabbedPane) {
-
- // remove already registred listeners
- for (ChangeListener changeListener : tabbedPane.getChangeListeners()) {
- tabbedPane.removeChangeListener(changeListener);
+ // in fichery input, we must listener for tab switch
+ // to ask user for saving
+ // in sensitivity, fishery can't be saved
+ if (!isSensitivity()) {
+ ChangeListener tabbedPaneChangeListener = new InputTabbedPaneListener();
+ tabbedPane.addChangeListener(tabbedPaneChangeListener);
}
-
- if (tabbedPaneChangeListener == null) {
- if (isSensitivity()) {
- tabbedPaneChangeListener = new SensitivityTabbedPaneListener();
- } else {
- tabbedPaneChangeListener = new InputTabbedPaneListener();
- }
- }
-
- tabbedPane.addChangeListener(tabbedPaneChangeListener);
}
]]></script>
Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java (rev 0)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -0,0 +1,125 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.AbstractCellEditor;
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JTable;
+import javax.swing.table.TableCellEditor;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.Resource;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.ui.simulator.RuleChooser;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class RuleParametersFactorTableCellEditor extends AbstractCellEditor
+ implements TableCellEditor {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ private static Log log = LogFactory.getLog(RuleParametersFactorTableCellEditor.class);
+
+ protected RuleChooser ruleChooser;
+
+ protected Rule rule;
+
+ /**
+ * Constructor.
+ *
+ * Super dependant de l'ui {@link RuleChooser} et de {@link SimulAction}.
+ *
+ * @param ruleChooser rule chooser ui
+ * @param rule rule
+ */
+ public RuleParametersFactorTableCellEditor(RuleChooser ruleChooser, Rule rule) {
+ this.ruleChooser = ruleChooser;
+ this.rule = rule;
+ }
+
+ @Override
+ public Component getTableCellEditorComponent(JTable table, Object value,
+ boolean isSelected, int row, int column) {
+
+ Icon icon = Resource.getIcon("/icons/building_add.png");
+ JButton button = new JButton(icon);
+
+ boolean enabled = false;
+ final String paramName = (String)value;
+ try {
+ Object paramValue = RuleStorage.getParameterValue(rule, paramName);
+ //SensitivityInputHandler handler = ruleChooser.getContextValue(SensitivityInputHandler.class);
+ // FIXME chatellier : number n'est pas correct ici mais j'ai pas d'idée :(
+ if (/*handler.canBeContinue(paramValue) || */paramValue instanceof Number) {
+ enabled = true;
+ button.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ cancelCellEditing();
+ SimulAction simulAction = ruleChooser.getContextValue(SimulAction.class);
+ simulAction.addRuleParameterFactor(ruleChooser, rule, paramName);
+ }
+ });
+ }
+ } catch (IsisFishException ex) {
+ if (log.isWarnEnabled()) {
+ log.warn("Can't get value type", ex);
+ }
+ }
+
+ button.setEnabled(enabled);
+
+ return button;
+ }
+
+
+ /*
+ * @see javax.swing.CellEditor#getCellEditorValue()
+ */
+ @Override
+ public Object getCellEditorValue() {
+ return null;
+ }
+}
Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellEditor.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java (rev 0)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -0,0 +1,99 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.rule;
+
+import java.awt.Component;
+
+import javax.swing.Icon;
+import javax.swing.JButton;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.Resource;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.rule.Rule;
+import fr.ifremer.isisfish.ui.simulator.RuleChooser;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class RuleParametersFactorTableCellRenderer extends DefaultTableCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ /** Class logger. */
+ private static Log log = LogFactory.getLog(RuleParametersFactorTableCellRenderer.class);
+
+ protected RuleChooser ruleChooser;
+
+ protected Rule rule;
+
+ public RuleParametersFactorTableCellRenderer(RuleChooser ruleChooser, Rule rule) {
+ this.ruleChooser = ruleChooser;
+ this.rule = rule;
+ }
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ Icon icon = Resource.getIcon("/icons/building_add.png");
+ JButton button = new JButton(icon);
+
+ boolean enabled = false;
+ String paramName = (String)value;
+ try {
+ Object paramValue = RuleStorage.getParameterValue(rule, paramName);
+ //SensitivityInputHandler handler = ruleChooser.getContextValue(SensitivityInputHandler.class);
+ // FIXME chatellier : number n'est pas correct ici mais j'ai pas d'idée :(
+ if (/*handler.canBeContinue(paramValue) || */paramValue instanceof Number) {
+ enabled = true;
+ }
+ } catch (IsisFishException ex) {
+ if (log.isWarnEnabled()) {
+ log.warn("Can't get value type", ex);
+ }
+ }
+
+ button.setEnabled(enabled);
+ return button;
+ }
+
+}
Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersFactorTableCellRenderer.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableCellRenderer.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 Ifremer, Code Lutin
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -30,7 +30,6 @@
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.rule.Rule;
@@ -46,8 +45,7 @@
* Last update : $Date$
* By : $Author$
*/
-public class RuleParametersTableCellRenderer extends DefaultTableCellRenderer
- implements TableCellRenderer {
+public class RuleParametersTableCellRenderer extends DefaultTableCellRenderer {
/** serialVersionUID. */
private static final long serialVersionUID = -1655744662816030649L;
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/models/rule/RuleParametersTableModel.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 Ifremer, Code Lutin
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -46,6 +46,7 @@
* Columns :
* <li>Parameter name</li>
* <li>Parameter value</li>
+ * <li>Parameter factor (if enabled)</li>
*
* @author chatellier
* @version $Revision$
@@ -56,35 +57,36 @@
public class RuleParametersTableModel extends AbstractTableModel {
/** Log. */
- private static Log log = LogFactory
- .getLog(RuleParametersTableModel.class);
+ private static Log log = LogFactory.getLog(RuleParametersTableModel.class);
/** serialVersionUID. */
private static final long serialVersionUID = 3169786638868209920L;
/** Columns names. */
- public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
- _("isisfish.common.value") };
+ public final static String[] COLUMN_NAMES = {
+ _("isisfish.common.name"),
+ _("isisfish.common.value"),
+ _("isisfish.common.ellipsis")};
protected Rule rule;
+
protected List<String> ruleParametersNames;
- /**
- * Constructor.
- */
- public RuleParametersTableModel() {
- this(null);
+ /** If {@code true} display optional. */
+ protected boolean showFactorColumn;
+
+ public void setShowFactorColumn(boolean showFactorColumn) {
+ this.showFactorColumn = showFactorColumn;
+ fireTableStructureChanged();
}
/**
- * Constructor with data.
- *
- * @param rule rule to edit parameters
+ * Set new rule, and fire changed event.
+ *
+ * @param rule
*/
- public RuleParametersTableModel(Rule rule) {
- super();
+ public void setRule(Rule rule) {
this.rule = rule;
-
//TODO map may be sorted
ruleParametersNames = new ArrayList<String>();
if (rule != null) {
@@ -94,6 +96,7 @@
ruleParametersNames.add(names);
}
}
+ fireTableDataChanged();
}
/*
@@ -101,7 +104,11 @@
*/
@Override
public int getColumnCount() {
- return COLUMN_NAMES.length;
+ int result = 2;
+ if (showFactorColumn) {
+ result = 3;
+ }
+ return result;
}
/*
@@ -109,7 +116,11 @@
*/
@Override
public int getRowCount() {
- return ruleParametersNames.size();
+ int result = 0;
+ if (ruleParametersNames != null) {
+ result = ruleParametersNames.size();
+ }
+ return result;
}
/*
@@ -134,6 +145,9 @@
}
}
break;
+ case 2:
+ result = name;
+ break;
default:
throw new IndexOutOfBoundsException("No such column " + columnIndex);
}
@@ -156,6 +170,9 @@
case 1:
result = Object.class;
break;
+ case 2:
+ result = String.class;
+ break;
default:
throw new IndexOutOfBoundsException("No such column " + columnIndex);
}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -355,6 +355,31 @@
factorWizardUI.setContinueSelected(continueSelected);
factorWizardUI.getContinueRadio().setSelected(continueSelected);
}
+
+ /**
+ * Permet d'intialiser le wizard avec une valeur independante de la
+ * provenance (utile pour les facteurs sur les parametres de regles).
+ *
+ * TODO chatellier : ne doit pas fonctionner pour des equations.
+ *
+ * @param factorWizardUI factorWizardUI
+ * @param value value
+ */
+ public void initNewFactorWithValue(FactorWizardUI factorWizardUI, Object value) {
+ boolean continuePossible = canBeContinue(value);
+ boolean continueSelected = isContinue(value);
+
+ // init panel
+ if (continuePossible) {
+ factorWizardUI.continuousPanel = getContinuousPanel(value, null, null);
+ factorWizardUI.getContinuousPanelContainer().add(factorWizardUI.continuousPanel, BorderLayout.CENTER);
+ }
+
+ // after, for binding on continuePossible, continueSelected to work
+ factorWizardUI.setContinuePossible(continuePossible);
+ factorWizardUI.setContinueSelected(continueSelected);
+ factorWizardUI.getContinueRadio().setSelected(continueSelected);
+ }
/**
* Reaffiche un facteur existant.
@@ -558,13 +583,9 @@
result = true;
}
- /*if (log.isDebugEnabled()) {
- log.debug("Component " + component.getClass().getSimpleName() +
- " with value " + value + "(" + value.getClass().getSimpleName() + ") can be continuous : " + result);
- }*/
return result;
}
-
+
/**
* Return if value is is continue factor enable.
*
@@ -651,6 +672,7 @@
*
* @param domain domain
* @param factor factor
+ * @param topiaContext context used to get database value in case of equation factors
* @return component copy
*/
public ContinuousPanelContainerUI getContinuousPanelWithValue(Factor factor, ContinuousDomain domain, TopiaContext topiaContext) {
@@ -823,14 +845,21 @@
}
}
else {
-
- // dans ce cas c'est des regles ou pop de départ
+ // dans ce cas c'est des regles, pop de départ ou parametres de regles
+ // c'est un peu galere car le code n'a rien a voir avec le reste
+ // donc, c'est du cas par cas
if (factorPath.equals("parameters.rules")) {
result = new RuleChooser(factorWizardUI);
}
else if (factorPath.startsWith("parameters.population.")) {
- // todo
+ MatrixContinuousPanelUI currentPanel = (MatrixContinuousPanelUI)factorWizardUI.continuousPanel;
+ // on copie une des matrices du composant
+ MatrixND matrix = currentPanel.getReferenceValuePanel().getMatrix().copy();
+ result = new MatrixPanelEditor(matrix, false);
}
+ else if (factorPath.startsWith("parameters.rule.")) {
+ result = new JTextField("");
+ }
else {
if (log.isWarnEnabled()) {
log.warn("Can't find component for path " + factorPath);
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2011-05-18 15:54:41 UTC (rev 3332)
@@ -45,6 +45,7 @@
javax.swing.JMenuItem
java.awt.event.ActionEvent
</import>
+
<SensitivityInputHandler id="handler" />
<fr.ifremer.isisfish.entities.FisheryRegion id='fisheryRegion' javaBean='null'/>
Deleted: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -1,79 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.sensitivity;
-
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * Sensitivity change listener to control tab swapping.
- *
- * @author letellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityTabbedPaneListener implements ChangeListener {
-
- /** Class logger. */
- private static Log log = LogFactory.getLog(SensitivityTabbedPaneListener.class);
-
- protected int cacheSelectedIndex = -1;
-
- @Override
- public void stateChanged(ChangeEvent e) {
- /*try {
- JTabbedPane pane = (JTabbedPane)e.getSource();
- pane.removeChangeListener(this);
- int selectedIndex = pane.getSelectedIndex();
- if (cacheSelectedIndex != -1){
- pane.setSelectedIndex(cacheSelectedIndex);
- }
- InputContentUI ui = (InputContentUI) pane.getSelectedComponent();
- pane.setSelectedIndex(selectedIndex);
- ui = (InputContentUI) pane.getSelectedComponent();
- //ui.setSensitivity(true);
- //ui.setLayer(true);
- // otherwise save.cancel buttons are active in last
- // refreshed ui
- TopiaEntityContextable entity = ui.getBean();
- // refresh ui
- ui.setBean(null);
- ui.setBean(entity);
- cacheSelectedIndex = pane.getSelectedIndex();
- pane.addChangeListener(this);
-
- // bug suis les UI autre que nimbus
- // la selection des onglet ne se rafraichit pas tres bien
- pane.repaint();
- } catch (Exception ex) {
- log.error(ex);
- }*/
- }
-}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2011-05-18 15:54:41 UTC (rev 3332)
@@ -28,15 +28,13 @@
fr.ifremer.isisfish.ui.input.InputAction
fr.ifremer.isisfish.ui.sensitivity.SensitivitySaveVerifier
jaxx.runtime.context.JAXXInitialContext
+ jaxx.runtime.JAXXContext
</import>
- <script><![CDATA[
- /*protected void $afterCompleteSetup() {
- super.$afterCompleteSetup();
- // both ParamsUI and SensitivityTabUI
- setContextValue(new SensitivityAction());
- }*/
+ <SensitivityInputHandler id="handler" />
+ <script><![CDATA[
+
/**
* Refresh all simulation launch UI.
*/
@@ -75,11 +73,11 @@
<JTabbedPane id="bodyTabbedPane">
<tab title='isisfish.params.title'>
<fr.ifremer.isisfish.ui.simulator.ParamsUI id='paramsUI' sensitivity='{true}' regionStorage="{getRegionStorage()}"
- constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add("SimulationUI", this).add(this)'/>
+ constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add("SimulationUI", this).add(this)' />
</tab>
<tab title='isisfish.sensitivity.title' enabled="false">
<fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI id="sensitivityTabUI"
- constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add("SimulationUI", this).add(this)'/>
+ constructorParams='new JAXXInitialContext().add(new InputAction()).add(new SensitivitySaveVerifier()).add("SimulationUI", this).add(this)' />
</tab>
<tab title='isisfish.sensitivityChooser.title' enabled="false">
<SensitivityChooserUI id="sensitivityChooserUI" constructorParams='this'/>
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2011-05-18 15:54:41 UTC (rev 3332)
@@ -495,9 +495,10 @@
<row>
<cell fill="both" weightx="1" weighty="1">
<RuleChooser id="ruleChooser" constructorParams='this'
- active="{getRegionStorage() != null}" />
+ active="{getRegionStorage() != null}"
+ showFactorColumn="{isSensitivity()}" />
</cell>
- <cell>
+ <cell anchor="north">
<JButton id="addRuleFactorButton"
icon='{SwingUtil.createImageIcon("building_add.png")}'
onActionPerformed="simulAction.addFactorWithComponent(this, ruleChooser)"
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/RuleChooser.jaxx 2011-05-18 15:54:41 UTC (rev 3332)
@@ -31,18 +31,22 @@
<!-- Active enabled binding property -->
<Boolean id="active" javaBean="true"/>
+ <Boolean id="showFactorColumn" javaBean="false" />
+
<import>
- java.beans.PropertyChangeEvent;
- java.beans.PropertyChangeListener;
- fr.ifremer.isisfish.IsisFishException;
- fr.ifremer.isisfish.datastore.RuleStorage;
- fr.ifremer.isisfish.rule.Rule;
- fr.ifremer.isisfish.ui.models.rule.RuleListModel;
- fr.ifremer.isisfish.ui.models.rule.RuleParametersTableModel;
- fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellEditor;
- fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellRenderer;
- fr.ifremer.isisfish.ui.util.ErrorHelper;
- fr.ifremer.isisfish.datastore.RegionStorage;
+ java.beans.PropertyChangeEvent
+ java.beans.PropertyChangeListener
+ fr.ifremer.isisfish.IsisFishException
+ fr.ifremer.isisfish.datastore.RuleStorage
+ fr.ifremer.isisfish.rule.Rule
+ fr.ifremer.isisfish.ui.models.rule.RuleListModel
+ fr.ifremer.isisfish.ui.models.rule.RuleParametersTableModel
+ fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellEditor
+ fr.ifremer.isisfish.ui.models.rule.RuleParametersTableCellRenderer
+ fr.ifremer.isisfish.ui.models.rule.RuleParametersFactorTableCellRenderer
+ fr.ifremer.isisfish.ui.models.rule.RuleParametersFactorTableCellEditor
+ fr.ifremer.isisfish.ui.util.ErrorHelper
+ fr.ifremer.isisfish.datastore.RegionStorage
</import>
<script><![CDATA[
@@ -59,6 +63,13 @@
}
}
});
+
+ // fix colums size for buttons
+ if (isShowFactorColumn()) {
+ SwingUtil.fixTableColumnWidth(selectedRuleParameterTable, 2, 30);
+
+
+ }
}
/**
@@ -111,16 +122,25 @@
protected void displayRuleParameters() {
Rule selectedRule = (Rule)selectedRulesList.getSelectedValue();
if (selectedRule != null) {
- RuleParametersTableModel model = new RuleParametersTableModel(selectedRule);
- selectedRuleParameterTable.setModel(model);
+ selectedRuleParameterTableModel.setRule(selectedRule);
+
+ RuleParametersTableCellRenderer cellRenderer = new RuleParametersTableCellRenderer(selectedRule);
+ selectedRuleParameterTable.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
+
+
RuleParametersTableCellEditor cellEditor = new RuleParametersTableCellEditor(selectedRule);
cellEditor.setRegionStorage(getContextValue(RegionStorage.class));
- RuleParametersTableCellRenderer cellRenderer = new RuleParametersTableCellRenderer(selectedRule);
- selectedRuleParameterTable.getColumnModel().getColumn(0).setCellRenderer(cellRenderer);
selectedRuleParameterTable.getColumnModel().getColumn(1).setCellEditor(cellEditor);
+
+ if (isShowFactorColumn()) {
+ RuleParametersFactorTableCellRenderer sensitivityRenderer = new RuleParametersFactorTableCellRenderer(this, selectedRule);
+ selectedRuleParameterTable.getColumnModel().getColumn(2).setCellRenderer(sensitivityRenderer);
+ RuleParametersFactorTableCellEditor sensitivityEditor = new RuleParametersFactorTableCellEditor(this, selectedRule);
+ selectedRuleParameterTable.getColumnModel().getColumn(2).setCellEditor(sensitivityEditor);
+ }
}
else {
- selectedRuleParameterTable.setModel(new RuleParametersTableModel());
+ selectedRuleParameterTableModel.setRule(null);
}
}
]]></script>
@@ -172,9 +192,10 @@
<row weightx="2" weighty="2" columns="3">
<cell fill='both'>
<JScrollPane>
+ <fr.ifremer.isisfish.ui.models.rule.RuleParametersTableModel
+ id="selectedRuleParameterTableModel" showFactorColumn="{isShowFactorColumn()}" />
<JTable id="selectedRuleParameterTable" rowHeight='24'
- model="{new fr.ifremer.isisfish.ui.models.rule.RuleParametersTableModel()}"
- enabled="{isActive()}" />
+ model="{selectedRuleParameterTableModel}" enabled="{isActive()}" />
</JScrollPane>
</cell>
</row>
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -1214,7 +1214,7 @@
/**
* Population selection changed.
*
- * Fill matrix panel with population effectif of selected population.
+ * Fill matrix panel with population effective of selected population.
*
* @param paramsUI paramsUI
*/
@@ -1222,7 +1222,7 @@
CardLayout layout = (CardLayout)paramsUI.getPopulationEffectivesPanel().getLayout();
Object[] selectedPopulationsValues = paramsUI.getListSimulParamsPopulations().getSelectedValues();
- if (!ArrayUtils.isEmpty(selectedPopulationsValues)) {
+ if (ArrayUtils.isNotEmpty(selectedPopulationsValues)) {
paramsUI.getPopulationEffectivesTabbedPane().removeAll();
setPopulations(selectedPopulationsValues);
@@ -1239,18 +1239,17 @@
if (paramsUI.isSensitivity()) {
matrixPanel.putClientProperty("sensitivityPopulation", selectedPopulation);
// TODO add another thing that action
- JButton addFactorButton = new JButton();
+ JButton addFactorButton = new JButton(SwingUtil.createImageIcon("building_add.png"));
addFactorButton.setAction(new AbstractAction() {
-
public void actionPerformed(ActionEvent e) {
addFactorWithComponent(paramsUI, matrixPanel);
}
});
- addFactorButton.setIcon(SwingUtil.createImageIcon("building_add.png"));
matrixPanelComponent.add(addFactorButton, BorderLayout.EAST);
}
- paramsUI.getPopulationEffectivesTabbedPane().add(matrixPanelComponent, _("isisfish.params.populationEffectives", selectedPopulation.getName()));
+ paramsUI.getPopulationEffectivesTabbedPane().add(matrixPanelComponent,
+ _("isisfish.params.populationEffectives", selectedPopulation.getName()));
}
layout.show(paramsUI.getPopulationEffectivesPanel(), "specific");
@@ -1313,4 +1312,42 @@
wizard.setVisible(true);
}
}
+
+ /**
+ * Ajout d'un nouveau facteur sur un parametres de règles.
+ *
+ * Le facteur est directement crée avec un nom et un path correct.
+ *
+ * @param ruleChooser rule chooser
+ * @param rule rule
+ * @param paramName rule parameter name
+ */
+ public void addRuleParameterFactor(RuleChooser ruleChooser, Rule rule, String paramName) {
+
+ // get sensitivity handler (this break package rules)
+ // but no other choice :(
+ SensitivityInputHandler handler = new SensitivityInputHandler();
+
+ // get index of rule in rule list
+ // warning, factor path must always be cohérent
+ // with rule list, if a rule is deleted, factor on it must
+ // be deleted too, et next factor must be renamed
+ int index = ruleChooser.getRulesList().indexOf(rule);
+ String factorName = "parameters.rule." + index + "." + paramName;
+ try {
+ // arrivé ici, on doit pouvoir la mettre en facteur
+ Object object = RuleStorage.getParameterValue(rule, paramName);
+
+ // init new factor wizard ui
+ FactorWizardUI factorWizardUI = new FactorWizardUI(ruleChooser);
+ factorWizardUI.getFactorNameField().setText(factorName);
+ factorWizardUI.setFactorPath(factorName);
+ handler.initNewFactorWithValue(factorWizardUI, object);
+ factorWizardUI.pack();
+ factorWizardUI.setLocationRelativeTo(ruleChooser);
+ factorWizardUI.setVisible(true);
+ } catch (IsisFishException ex) {
+ throw new IsisFishRuntimeException("Can't add factor on rule", ex);
+ }
+ }
}
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/util/ErrorHelper.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/util/ErrorHelper.java 2011-05-16 14:53:00 UTC (rev 3331)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/util/ErrorHelper.java 2011-05-18 15:54:41 UTC (rev 3332)
@@ -109,11 +109,14 @@
email.setHostName("smtp");
// to
email.addTo(emailTo, "Support");
+
// from
email.setFrom("no-reply at isis-fish.org", "Isis-Fish");
// subject
email.setSubject("Project error notification : Isis-Fish");
-
+ // add reply-to for spam
+ email.addReplyTo("no-reply at isis-fish.org");
+
// message description
String message = formatMessage("Project", "Isis-Fish " + IsisConfig.getVersion());
message += formatMessage("Date", new Date().toString());
1
0
r3331 - in isis-fish/branches/3.3.1/src/main: java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/sensitivity/equation resources/i18n
by chatellier@users.labs.libre-entreprise.org 16 May '11
by chatellier@users.labs.libre-entreprise.org 16 May '11
16 May '11
Author: chatellier
Date: 2011-05-16 14:53:00 +0000 (Mon, 16 May 2011)
New Revision: 3331
Log:
Ajout du support des facteurs min/max et pourcentage pour les equations
Added:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainListModel.java
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainRenderer.java
Modified:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java
isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties
isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx 2011-05-15 20:44:38 UTC (rev 3330)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx 2011-05-16 14:53:00 UTC (rev 3331)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2009 - 2010 Ifremer, CodeLutin
+ Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
@@ -53,107 +53,49 @@
<!-- bean property -->
<fr.ifremer.isisfish.entities.Formule id='formule' javaBean='null'/>
+ <Boolean id="selectedDomain" javaBean="false" />
+ <Boolean id="percentageTypeDomain" javaBean="false" />
+
<script><![CDATA[
-protected String[] columnNames = {
- _("isisfish.sensitivity.equation.variable.name"),
- _("isisfish.sensitivity.equation.variable.value"),
- _("isisfish.sensitivity.equation.variable.coefficient"),
- _("isisfish.sensitivity.equation.variable.action")};
+
protected List<EquationContinuousDomain> domains = new ArrayList<EquationContinuousDomain>();
-protected List<JButton> actions = new ArrayList<JButton>();
public List<EquationContinuousDomain> getDomains() {
return domains;
}
-public void setDomains(List<EquationContinuousDomain> newDomains) {
- domains.clear();
- for (EquationContinuousDomain d : newDomains) {
- addDomain(d);
- }
-}
-
-public void addDomain(EquationContinuousDomain domain) {
- newButton();
+protected void addDomain(EquationContinuousDomain domain) {
domains.add(domain);
+ // fire data change
+ variablesListModel.setDomains(domains);
}
-protected AbstractTableModel getTableModel() {
- AbstractTableModel model = new AbstractTableModel() {
- @Override
- public int getRowCount() {
- return domains.size();
- }
-
- @Override
- public int getColumnCount() {
- return columnNames.length;
- }
-
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return true;
- }
-
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
- if (columnIndex == 0) {
- return domains.get(rowIndex).getVariableName();
- } else if (columnIndex == 1) {
- return domains.get(rowIndex).getReferenceValue();
- } else if (columnIndex == 2) {
- Double result = domains.get(rowIndex).getCoefficient() * 100;
- return result;
- } else if (columnIndex == 3) {
- return _("isisfish.sensitivity.validDiscretNumber");
- }
- return null;
- }
-
- @Override
- public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
- if (String.class.isInstance(aValue)) {
- if (!((String)aValue).equals("")) {
- if (columnIndex == 0){
- domains.get(rowIndex).setVariableName((String)aValue);
- } else if (columnIndex == 1) {
- domains.get(rowIndex).setReferenceValue(Double.parseDouble((String)aValue));
- } else if (columnIndex == 2) {
- domains.get(rowIndex).setCoefficient(Double.parseDouble((String)aValue) / 100);
- }
- }
- }
- }
-
- @Override
- public String getColumnName(int col) {
- return columnNames[col].toString();
- }
-
- };
- return model;
-}
-
-protected void newButton() {
- JButton result = new JButton();
- result.setText(_("isisfish.sensitivity.validDiscretNumber"));
- actions.add(result);
- result.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- JButton source = (JButton)e.getSource();
- int i = actions.indexOf(source);
- valid(i);
- }
- });
-}
-
-protected JButton getActionButton(int i) {
- return actions.get(i);
-}
-
-protected void valid(int i) {
- String variableName = domains.get(i).getVariableName();
+/**
+ * Valid selected domain.
+ */
+protected void validSelectedDomain() {
+ // fill selected
+ EquationContinuousDomain selectedDomain = (EquationContinuousDomain)variablesList.getSelectedValue();
+ selectedDomain.setVariableName(variableNameField.getText().trim());
+ if (isPercentageTypeDomain()) {
+ selectedDomain.setMinBound(null); // important
+ selectedDomain.setMaxBound(null); // important
+ selectedDomain.setReferenceValue(Double.parseDouble(referenceValueField.getText()));
+ selectedDomain.setCoefficient(Double.parseDouble(coefficientField.getText()) / 100);
+ } else {
+ selectedDomain.setMinBound(Double.parseDouble(minBoundField.getText()));
+ selectedDomain.setMaxBound(Double.parseDouble(maxBoundField.getText()));
+ selectedDomain.setReferenceValue(null); // important
+ selectedDomain.setCoefficient(null); // important
+ }
+
+
+ // parse equation content to replace
+ // double xxx = 4.0;
+ // by
+ // double xxx = context.getValueAndCompute("myfactorname.xxx", 4.0)
+ // if xxx is the variable name to replace
+ String variableName = selectedDomain.getVariableName();
String[] lines = editor.getEditor().getText().split("\n");
String result = "";
for (String line : lines) {
@@ -166,78 +108,77 @@
result += line + "\n";
}
editor.getEditor().setText(result);
+
+ // fire data change
+ variablesListModel.setDomains(domains);
}
-protected void setTable() {
- params.setModel(getTableModel());
- params.getColumnModel().getColumn(3).setCellEditor(new TableCellEditor() {
+protected void addNewVariable() {
+ EquationContinuousDomain domain = new EquationContinuousDomain();
+ domain.setVariableName("X");
+ addDomain(domain);
+
+ // auto select
+ variablesList.setSelectedValue(domain, true);
+}
- @Override
- public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
- return getActionButton(row);
+protected void displaySelectedDomain() {
+ EquationContinuousDomain selectedDomain = (EquationContinuousDomain)variablesList.getSelectedValue();
+ if (selectedDomain != null) {
+ setSelectedDomain(true);
+ variableNameField.setText(selectedDomain.getVariableName());
+ setPercentageTypeDomain(selectedDomain.getCoefficient() != null);
+ if (selectedDomain.getCoefficient() != null) {
+ coefficientField.setText(String.valueOf(selectedDomain.getCoefficient() * 100));
+ } else {
+ coefficientField.setText("");
}
-
- @Override
- public Object getCellEditorValue() {
- return null;
+ if (selectedDomain.getReferenceValue() != null) {
+ referenceValueField.setText(selectedDomain.getReferenceValue().toString());
+ } else {
+ referenceValueField.setText("");
}
-
- @Override
- public boolean isCellEditable(EventObject anEvent) {
- return true;
+ if (selectedDomain.getOriginalMinBound() != null) {
+ minBoundField.setText(selectedDomain.getOriginalMinBound().toString());
+ } else {
+ minBoundField.setText("");
}
-
- @Override
- public boolean shouldSelectCell(EventObject anEvent) {
- return true;
+ if (selectedDomain.getOriginalMaxBound() != null) {
+ maxBoundField.setText(selectedDomain.getOriginalMaxBound().toString());
+ } else {
+ maxBoundField.setText("");
}
-
- @Override
- public boolean stopCellEditing() {
- return true;
- }
-
- @Override
- public void cancelCellEditing() {
- }
-
- @Override
- public void addCellEditorListener(CellEditorListener l) {
- }
-
- @Override
- public void removeCellEditorListener(CellEditorListener l) {
- }
- });
+ } else {
+ setSelectedDomain(false);
+ }
}
-protected void addNewVariable() {
- EquationContinuousDomain domain = new EquationContinuousDomain();
- // fixe NPE in table model renderer
- domain.setCoefficient(1.0);
- domains.add(domain);
- newButton();
- setTable();
-}
-protected void removeVariable() {
- int selectedRow = params.getSelectedRow();
- domains.remove(selectedRow);
- actions.remove(selectedRow);
- setTable();
+protected void removeSelectedVariable() {
+ int selectedIndex = variablesList.getSelectedIndex();
+ domains.remove(selectedIndex);
+
+ // fire data change
+ variablesListModel.setDomains(domains);
}
@Override
public boolean isFactorValid() {
boolean valid = true;
- for (EquationContinuousDomain domain : domains) {
- if (domain.getReferenceValue() == null
- || domain.getCoefficient() == null
- || domain.getCoefficient() > 100
- || domain.getCoefficient() <= 0
- || domain.getVariableName() == null) {
- valid = false;
+ try {
+ for (EquationContinuousDomain domain : domains) {
+ if (StringUtils.isBlank(domain.getVariableName())) {
+ valid = false;
+ }
+ else if (domain.getCoefficient() == null) {
+ valid = domain.getOriginalMinBound() != null && domain.getOriginalMaxBound() != null;
+ }
+ else {
+ valid = domain.getReferenceValue() != null;
+ }
}
+ } catch (NumberFormatException ex) {
+ valid = false;
}
return valid;
@@ -246,23 +187,112 @@
<JPanel id='content'>
<Table constraints='BorderLayout.CENTER'>
<row>
- <cell fill='both' columns='2' weightx='1' weighty='1'>
+ <cell fill='both' weightx='1' weighty='1'>
<JScrollPane preferredSize="{new Dimension(200, 150)}">
- <JTable id='params' visible='{isContinuePossible()}' model='{getTableModel()}'
- enabled='{isContinueSelected()}' />
- <ListSelectionModel initializer="params.getSelectionModel()"
- onValueChanged="remove.setEnabled(params.getSelectedRow() != -1)" />
+ <fr.ifremer.isisfish.ui.sensitivity.equation.EquationDomainListModel
+ id="variablesListModel" constructorParams="domains" />
+ <JList id="variablesList" model="{variablesListModel}"
+ cellRenderer="{new fr.ifremer.isisfish.ui.sensitivity.equation.EquationDomainRenderer()}"/>
+ <ListSelectionModel initializer="variablesList.getSelectionModel()"
+ onValueChanged="displaySelectedDomain();setSelectedDomain(variablesList.getSelectedIndex() != -1)" />
</JScrollPane>
</cell>
+ <cell fill='both' weightx='1' weighty='1'>
+ <Table>
+ <row>
+ <cell>
+ <JLabel text="isisfish.sensitivity.equation.variablename" enabled='{isSelectedDomain()}' />
+ </cell>
+ <cell fill="horizontal">
+ <JTextField id="variableNameField" enabled='{isSelectedDomain()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill="horizontal" columns="2">
+ <JRadioButton id="percentageTypeButton" text="isisfish.sensitivity.continuouspercentagetype"
+ onActionPerformed="setPercentageTypeDomain(percentageTypeButton.isSelected())"
+ selected="{isPercentageTypeDomain()}"
+ enabled='{isSelectedDomain()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" weightx='1' weighty='1' columns="2">
+ <Table border='{BorderFactory.createTitledBorder("")}'>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.sensitivity.referencevalue' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && isPercentageTypeDomain()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JTextField id='referenceValueField' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && isPercentageTypeDomain()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.sensitivity.coefficient' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && isPercentageTypeDomain()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JTextField id='coefficientField' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && isPercentageTypeDomain()}'/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ <row>
+ <cell fill="horizontal" columns="2">
+ <JRadioButton id="minMaxButton" text="isisfish.sensitivity.continuousminmaxtype"
+ onActionPerformed="setPercentageTypeDomain(!minMaxButton.isSelected())"
+ selected="{!isPercentageTypeDomain()}"
+ enabled='{isSelectedDomain() && isContinueSelected()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" weightx='1' weighty='1' columns="2">
+ <Table border='{BorderFactory.createTitledBorder("")}'>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.sensitivity.firstValue' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && !isPercentageTypeDomain()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JTextField id='minBoundField' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && !isPercentageTypeDomain()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.sensitivity.lastValue' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && !isPercentageTypeDomain()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JTextField id='maxBoundField' visible='{isContinuePossible()}'
+ enabled='{isSelectedDomain() && !isPercentageTypeDomain()}'/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ <row>
+ <cell fill="horizontal" columns="2">
+ <JButton text="isisfish.sensitivity.equation.valid"
+ enabled='{isSelectedDomain()}'
+ onActionPerformed='validSelectedDomain()' />
+ </cell>
+ </row>
+ </Table>
+ </cell>
</row>
<row>
- <cell fill='horizontal' weightx='1'>
+ <cell fill='horizontal'>
<JButton id='add' text='isisfish.common.add' visible='{isContinuePossible()}'
enabled='{isContinueSelected()}' onActionPerformed='addNewVariable()'/>
</cell>
- <cell fill='horizontal' weightx='1'>
+ <cell fill='horizontal'>
<JButton id='remove' text='isisfish.common.remove' visible='{isContinuePossible()}'
- enabled='false' onActionPerformed='removeVariable()'/>
+ enabled='{isSelectedDomain()}' onActionPerformed='removeSelectedVariable()'/>
</cell>
</row>
<row>
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java 2011-05-15 20:44:38 UTC (rev 3330)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityInputHandler.java 2011-05-16 14:53:00 UTC (rev 3331)
@@ -682,7 +682,6 @@
EquationContinuousDomain equationDomain = (EquationContinuousDomain) domain;
ui.addDomain(equationDomain);
- ui.setTable();
result = ui;
} catch (Exception ex) {
@@ -922,6 +921,11 @@
// Save equation
bean.update();
topiaContext.commitTransaction();
+
+ List<EquationContinuousDomain> domains = equationPanel.getDomains();
+ for (EquationContinuousDomain domain : domains) {
+ action.addContinuousEquationFactor(name, comment, path, domain, exist);
+ }
} catch (Exception ex) {
if (log.isErrorEnabled()) {
log.error("Can't call method : ", ex);
Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainListModel.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainListModel.java (rev 0)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainListModel.java 2011-05-16 14:53:00 UTC (rev 3331)
@@ -0,0 +1,92 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, CodeLutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.sensitivity.equation;
+
+import java.util.List;
+
+import javax.swing.DefaultListModel;
+
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
+
+/**
+ * Model pour la liste des {@link EquationContinuousDomain}.
+ *
+ * Pas de selection par defaut.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class EquationDomainListModel extends DefaultListModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 2281927104735245489L;
+
+ /** EquationContinuousDomain list */
+ protected List<EquationContinuousDomain> domains;
+
+ /**
+ * Constructor with domains list.
+ *
+ * @param domains domains list
+ */
+ public EquationDomainListModel(List<EquationContinuousDomain> domains) {
+ this.domains = domains;
+ }
+
+ /**
+ * Change data list and fire data change event.
+ *
+ * @param domains new data list
+ */
+ public void setDomains(List<EquationContinuousDomain> domains) {
+ this.domains = domains;
+ fireContentsChanged(this, 0, domains.size());
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return domains.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (domains != null) {
+ size = domains.size();
+ }
+ return size;
+ }
+}
Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainListModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainRenderer.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainRenderer.java (rev 0)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainRenderer.java 2011-05-16 14:53:00 UTC (rev 3331)
@@ -0,0 +1,60 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Codelutin, Chatellier Eric
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.sensitivity.equation;
+
+import java.awt.Component;
+
+import javax.swing.JList;
+
+import org.jdesktop.swingx.renderer.DefaultListRenderer;
+
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
+
+/**
+ * Renderer for equation factor variables list.
+ * Renderer as variable name string.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class EquationDomainRenderer extends DefaultListRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -8210763862382993163L;
+
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ EquationContinuousDomain domain = (EquationContinuousDomain)value;
+ String stringValue = domain.getVariableName();
+ return super.getListCellRendererComponent(list, stringValue, index, isSelected, cellHasFocus);
+ }
+
+}
Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/sensitivity/equation/EquationDomainRenderer.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties
===================================================================
--- isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties 2011-05-15 20:44:38 UTC (rev 3330)
+++ isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties 2011-05-16 14:53:00 UTC (rev 3331)
@@ -910,11 +910,13 @@
isisfish.sensitivity.discret=Discret factor
isisfish.sensitivity.discretevaluelabel=Value %d
isisfish.sensitivity.displaysecondpass=Display results
+isisfish.sensitivity.equation.valid=Valid variable
isisfish.sensitivity.equation.variable.action=Action
isisfish.sensitivity.equation.variable.coefficient=Coef. (in %)
isisfish.sensitivity.equation.variable.name=Name
isisfish.sensitivity.equation.variable.operator=Operator
isisfish.sensitivity.equation.variable.value=Value
+isisfish.sensitivity.equation.variablename=Varaible name \:
isisfish.sensitivity.export=Export
isisfish.sensitivity.factor=Factor
isisfish.sensitivity.factor.notvalid=Factor not valid \!
Modified: isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-05-15 20:44:38 UTC (rev 3330)
+++ isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-05-16 14:53:00 UTC (rev 3331)
@@ -910,11 +910,13 @@
isisfish.sensitivity.discret=Facteur discret
isisfish.sensitivity.discretevaluelabel=Valeur %d
isisfish.sensitivity.displaysecondpass=Afficher les résultats
+isisfish.sensitivity.equation.valid=Valider la variable
isisfish.sensitivity.equation.variable.action=Action
isisfish.sensitivity.equation.variable.coefficient=Coef (en %)
isisfish.sensitivity.equation.variable.name=Nom
isisfish.sensitivity.equation.variable.operator=Opérateur
isisfish.sensitivity.equation.variable.value=Valeur
+isisfish.sensitivity.equation.variablename=Variable name \:
isisfish.sensitivity.export=Export
isisfish.sensitivity.factor=Facteur
isisfish.sensitivity.factor.notvalid=Facteur non valide \!
1
0
r3330 - isis-fish/branches/3.3.1/src/main/resources/i18n
by tchemit@users.labs.libre-entreprise.org 15 May '11
by tchemit@users.labs.libre-entreprise.org 15 May '11
15 May '11
Author: tchemit
Date: 2011-05-15 20:44:38 +0000 (Sun, 15 May 2011)
New Revision: 3330
Log:
with i18n 2.4, i18n translation files are now in UTF8
Modified:
isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties
isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties
Modified: isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties
===================================================================
--- isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties 2011-05-15 20:44:09 UTC (rev 3329)
+++ isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_en_GB.properties 2011-05-15 20:44:38 UTC (rev 3330)
@@ -216,7 +216,7 @@
isisfish.effortDescription.crewFoodCost=Crew food cost
isisfish.effortDescription.crewShareRate=Crew share rate
isisfish.effortDescription.crewSize=Crew size
-isisfish.effortDescription.economicTitle=\u00C9conomiques parameters
+isisfish.effortDescription.economicTitle=Économiques parameters
isisfish.effortDescription.effortTitle=Fishing effort parameters
isisfish.effortDescription.fishingOperation=Fishing operation
isisfish.effortDescription.fishingOperationDuration=Fishing operation duration
@@ -225,7 +225,7 @@
isisfish.effortDescription.gearsNumberPerOperation=Gears number per operation
isisfish.effortDescription.landingCosts=Landing costs
isisfish.effortDescription.otherRunningCost=Other running cost
-isisfish.effortDescription.parametersTitle=M\u00E9tiers parameters
+isisfish.effortDescription.parametersTitle=Métiers parameters
isisfish.effortDescription.repairAndMaintenanceGearCost=Repair and maintenance gear cost
isisfish.effortDescription.title=Practiced metier
isisfish.effortDescription.toString=EffortDescription for %1$s with %2$s
@@ -242,7 +242,7 @@
isisfish.error.compile.fileerror=File %s can't be compiled \!
isisfish.error.compile.script=Can't compile script\: %1$s
isisfish.error.compiled.parameter=Can't get rule parameter from compiled class
-isisfish.error.conversion.data=Erreur lors de la conversion du fichier de donn\u00E9es
+isisfish.error.conversion.data=Erreur lors de la conversion du fichier de données
isisfish.error.create.equation=Can't create equation
isisfish.error.delete.database=Can't delete database
isisfish.error.delete.file=could not delete file %1$s
@@ -277,7 +277,7 @@
isisfish.error.immigration.negative=immigration negative
isisfish.error.import.convertible=Erreur lors de l'import, la version du fichier que vous souhaitez importer n'est pas transformable en une version importable.
isisfish.error.import.file=Can't import file %1$s
-isisfish.error.import.recent.files=Erreur lors de l'import, la version du fichier que vous souhaitez importer est plus r\u00E9cente que la version souhait\u00E9e.
+isisfish.error.import.recent.files=Erreur lors de l'import, la version du fichier que vous souhaitez importer est plus récente que la version souhaitée.
isisfish.error.init.map=Can't init map.
isisfish.error.input.addentity=Can't add entity "%s"
isisfish.error.input.cancelentity=Can't cancel modification on entity
@@ -288,7 +288,7 @@
isisfish.error.input.spacializematrix=
isisfish.error.instanciate=Can't instanciate %1$s
isisfish.error.instanciate.export=Can't instanciate export %1$s
-isisfish.error.invalid.costs.fix=les co\u00FBts fixes sont invalides
+isisfish.error.invalid.costs.fix=les coûts fixes sont invalides
isisfish.error.invalid.distribution.recruitment=distribution de recrutement invalide
isisfish.error.invalid.equation=Invalid equation
isisfish.error.invalid.equation.name=Invalid equation name
@@ -311,7 +311,7 @@
isisfish.error.log.console.dispose=Une erreur est survenue pendant la fermeture de la console %1$s de log, raison %2$s
isisfish.error.log.createAppender=could not create appender [%1$s] \: %2$s for reason %3$s
isisfish.error.log.foundAppender=\=could not found log appender %1$s for category %2$s
-isisfish.error.matrix.more.2d=Matrice de plus de 2 dimensions\!\!\nS\u00E9lectionnez moins d'\u00E9l\u00E9ments ou utilisez l'op\u00E9rateur somme.
+isisfish.error.matrix.more.2d=Matrice de plus de 2 dimensions\!\!\nSélectionnez moins d'éléments ou utilisez l'opérateur somme.
isisfish.error.migration.negative=Migration negative
isisfish.error.missing.distribution.recruitment=Missing recruitment distribution equation
isisfish.error.no.matrix=No matrix for \: %s
@@ -326,7 +326,7 @@
isisfish.error.not.null.class.grown=Null value for grown class
isisfish.error.not.null.mean.weight=Null mean weight
isisfish.error.not.null.natural.death=Null natural mortality
-isisfish.error.not.possible.metier=Pas de m\u00E9tier possible
+isisfish.error.not.possible.metier=Pas de métier possible
isisfish.error.not.support.class=this class does not support
isisfish.error.null.semantics=Null semantics for %s
isisfish.error.number.classes.upper.zero=Error, the number of classes must be upper than 0
@@ -628,7 +628,7 @@
isisfish.message.remove.canceled=Remove canceled
isisfish.message.remove.finished=Remove finished
isisfish.message.removing.region=Removing region %1$s ...
-isisfish.message.result.verif.region=R\u00E9sultat de la v\u00E9rification de la r\u00E9gion
+isisfish.message.result.verif.region=Résultat de la vérification de la région
isisfish.message.save.finished=Save finished
isisfish.message.saveModel.dialog=Input equation model name
isisfish.message.saveModel.finished=Save model finished
@@ -656,7 +656,7 @@
isisfish.metierSeasonInfoZone.season=Season
isisfish.metierSeasonInfoZone.selectSeason=Select a season
isisfish.metierSeasonInfoZone.title=Seasons / Zones
-isisfish.misc.databasemigration.question=La base de donn\u00E9e est en version \: %s.\n\nUne migration en version %s est n\u00E9c\u00E9ssaire.\nVoulez vous migrer la base de donn\u00E9es ?
+isisfish.misc.databasemigration.question=La base de donnée est en version \: %s.\n\nUne migration en version %s est nécéssaire.\nVoulez vous migrer la base de données ?
isisfish.misc.databasemigration.title=Database migration
isisfish.misc.nuitonmigration=IsisFish has detected some code based on CodeLutin libraries in following user scripts.\nDo you want to migrate those script on new nuiton libraries ?
isisfish.monitor.title=Application Monitor
@@ -688,7 +688,7 @@
isisfish.params.simulationName=Simulation name
isisfish.params.stategiesAndPopulations=Stategies and populations
isisfish.params.title=Parameters
-isisfish.params.toString.fishery=P\u00EAcherie\: %1$s\n\n
+isisfish.params.toString.fishery=Pêcherie\: %1$s\n\n
isisfish.params.toString.lib.logger.level=Level of libraries' logger \: %1$s
isisfish.params.toString.number.years=Number of years\: %1$s\n\n
isisfish.params.toString.plan=Plan\: %1$s
@@ -699,7 +699,7 @@
isisfish.params.toString.script.presimulation=Script de presimulation
isisfish.params.toString.simul.logger.level=Level of simulator's logger \: %1$s
isisfish.params.toString.simulation.done=Simulation done with \: %1$s
-isisfish.params.toString.strategies=Strat\u00E9gies \:
+isisfish.params.toString.strategies=Stratégies \:
isisfish.params.useAnalysePlan=Use simulation plan
isisfish.params.usePreSimulationScript=Use pre simulation script
isisfish.population.capturability=Capturability
Modified: isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-05-15 20:44:09 UTC (rev 3329)
+++ isis-fish/branches/3.3.1/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-05-15 20:44:38 UTC (rev 3330)
@@ -40,7 +40,7 @@
Not\ start\ simulation\ %s\ because\ user\ ask\ stop=
Process\ template\ error=
Region\ %s\ allready\ exist\ in\ repository.\ Can't\ import=
-Region\ %s\ already\ inited=La r\u00E9gion %s a d\u00E9j\u00E0 \u00E9t\u00E9 initialis\u00E9e
+Region\ %s\ already\ inited=La région %s a déjà été initialisée
Remote\ control\ file\ doesn't\ exists\ %s=
Remote\ information\ file\ doesn't\ exists\ %s=
Rename\ data\ directory\ to\ %s=
@@ -71,22 +71,22 @@
directory\ %s\ must\ be\ a\ directory=
filter\ loaded\ in\ %1$s\ ms\ \:\ found\ %2$s\ lines.=filter loaded in %1$s ms \: found %2$s lines.
isisfish.about.abouthtmltext=<html><b>Isis-Fish (%s)</b><br /><br />Copyright IFREMER-MAERHA 2000-2011.<br /><br /><a href\="http\://isis-fish.labs.libre-entreprise.org">http\://isis-fish.labs.libre-entreprise.org</a><br /><br />Merci de rapporter les bugs.<html>
-isisfish.about.licensetext=Vous pouvez modifier et redistribuer ce programme sous les conditions \u00E9nonc\u00E9es par la licence GNU GPL (version 2 ou ult\u00E9rieure). Une copie de la licence GPL est dans le fichier \u00AB\u00A0LICENSE.txt\u00A0\u00BB fourni avec Isis-Fish. Tous droits r\u00E9serv\u00E9s. Aucune garantie n'est fournie pour l'utilisation de ce programme.
-isisfish.about.title=\u00C0 propos de Isis-Fish...
-isisfish.advancedParameters.title=Param\u00E8tres avanc\u00E9s
-isisfish.advancedParams.freeParameters=Param\u00E8tres libres
+isisfish.about.licensetext=Vous pouvez modifier et redistribuer ce programme sous les conditions énoncées par la licence GNU GPL (version 2 ou ultérieure). Une copie de la licence GPL est dans le fichier « LICENSE.txt » fourni avec Isis-Fish. Tous droits réservés. Aucune garantie n'est fournie pour l'utilisation de ce programme.
+isisfish.about.title=À propos de Isis-Fish...
+isisfish.advancedParameters.title=Paramètres avancés
+isisfish.advancedParams.freeParameters=Paramètres libres
isisfish.advancedParams.libLevelLogger=Niveau de tracage des librairies
isisfish.advancedParams.scriptLevelLogger=Niveau de tracage des scripts
isisfish.advancedParams.simulLevelLogger=Niveau de tracage du simulateur
isisfish.advancedParams.simulationCache=Simulation cache
isisfish.advancedParams.simulationStatistique=Simulation statistique
-isisfish.advancedParams.simulatorUse=Simulateur \u00E0 utiliser
+isisfish.advancedParams.simulatorUse=Simulateur à utiliser
isisfish.cell.comments=Commentaires
isisfish.cell.land=Terre
isisfish.cell.latitude=Latitude
isisfish.cell.longitude=Longitude
isisfish.cell.name=Nom
-isisfish.change.equation=Ne peut pas changer l'\u00E9quation
+isisfish.change.equation=Ne peut pas changer l'équation
isisfish.commit.message=Entrer un message de commit
isisfish.common.add=Ajouter
isisfish.common.add.short=Aj.
@@ -94,7 +94,7 @@
isisfish.common.apply=Appliquer
isisfish.common.blank=\
isisfish.common.cancel=Annuler
-isisfish.common.check=V\u00E9rifier
+isisfish.common.check=Vérifier
isisfish.common.clear=Effacer
isisfish.common.close=Fermer
isisfish.common.confirm=Confirmation
@@ -103,7 +103,7 @@
isisfish.common.delete=Supprimer
isisfish.common.duration.inhours=En heures
isisfish.common.ellipsis=...
-isisfish.common.emigration=\u00E9migration
+isisfish.common.emigration=émigration
isisfish.common.equation=Equation
isisfish.common.error=Erreur
isisfish.common.file=Fichier
@@ -119,29 +119,29 @@
isisfish.common.newMatrix=Nouvelle matrice
isisfish.common.next=Suivant
isisfish.common.ok=Ok
-isisfish.common.openEditor=Ouvrir l'\u00E9diteur
+isisfish.common.openEditor=Ouvrir l'éditeur
isisfish.common.population=Population
isisfish.common.populationGroup=Groupe de population
isisfish.common.populations=Populations
isisfish.common.port=Port
-isisfish.common.prev=Pr\u00E9c\u00E9dent
-isisfish.common.region=R\u00E9gion
+isisfish.common.prev=Précédent
+isisfish.common.region=Région
isisfish.common.remove=Supprimer
-isisfish.common.reset=R\u00E9initialiser
+isisfish.common.reset=Réinitialiser
isisfish.common.save=Sauver
-isisfish.common.saveModel=Sauver comme mod\u00E8le
+isisfish.common.saveModel=Sauver comme modèle
isisfish.common.saveNextSimulation=Sauver pour la prochaine simulation
isisfish.common.season=Saison
isisfish.common.setOfVessels=Flottille
isisfish.common.simulate=Simuler
-isisfish.common.strategies=Strat\u00E9gies
+isisfish.common.strategies=Stratégies
isisfish.common.sum=somme
isisfish.common.tag=Tag
isisfish.common.tripType=Type de trajet
isisfish.common.valid=Valider
isisfish.common.value=Valeur
isisfish.common.warn=Warning
-isisfish.common.year=ann\u00E9e
+isisfish.common.year=année
isisfish.common.zone=Zone
isisfish.config.category.main=Globale
isisfish.config.category.main.description=Configuration globale
@@ -149,100 +149,100 @@
isisfish.config.category.misc.description=Divers
isisfish.config.category.versioning=VCS
isisfish.config.category.versioning.description=Gestionnaire de version
-isisfish.config.database.lockmode.description=M\u00E9thode de v\u00E9rouillage \u00E0 utiliser pour la base de donn\u00E9es
-isisfish.config.main.compileDirectory.description=le r\u00E9pertoire o\u00F9 sont compil\u00E9s les scripts
-isisfish.config.main.configFileName.description=le fichier de configuration \u00E0 utiliser
-isisfish.config.main.defaultBackupDirectory.description=le r\u00E9pertoire o\u00F9 stocker les backups des donn\u00E9es
-isisfish.config.main.defaultExportNames.description=les noms des exports \u00E0 effectuer apr\u00E8s une simulation
-isisfish.config.main.defaultMapFile.description=noms de la carte par d\u00E9faut pour une base sans cartes
-isisfish.config.main.defaultResultNames.description=les noms des r\u00E9sultats \u00E0 traiter durant une simulation
-isisfish.config.main.defaultSimulator.description=le nom du simulateur par d\u00E9faut \u00E0 utiliser lors d'une simulation
+isisfish.config.database.lockmode.description=Méthode de vérouillage à utiliser pour la base de données
+isisfish.config.main.compileDirectory.description=le répertoire où sont compilés les scripts
+isisfish.config.main.configFileName.description=le fichier de configuration à utiliser
+isisfish.config.main.defaultBackupDirectory.description=le répertoire où stocker les backups des données
+isisfish.config.main.defaultExportNames.description=les noms des exports à effectuer après une simulation
+isisfish.config.main.defaultMapFile.description=noms de la carte par défaut pour une base sans cartes
+isisfish.config.main.defaultResultNames.description=les noms des résultats à traiter durant une simulation
+isisfish.config.main.defaultSimulator.description=le nom du simulateur par défaut à utiliser lors d'une simulation
isisfish.config.main.defaultTagValue.description=
-isisfish.config.main.encoding.description=l'encoding du syst\u00E8me
-isisfish.config.main.javadocDirectory.description=dossier de g\u00E9n\u00E9ration de la javadoc des scripts
+isisfish.config.main.encoding.description=l'encoding du système
+isisfish.config.main.javadocDirectory.description=dossier de génération de la javadoc des scripts
isisfish.config.main.javadocURL.description=l'url de la javadoc des scripts
isisfish.config.main.launchUI.description=Affiche l'interface utilisateur
isisfish.config.main.localSimulator.description=Nom du simulateur local (processus courant)
isisfish.config.main.locale.description=la locale utilisateur
isisfish.config.main.monitoringDirectory.description=Dossier contenant les informations permettant de relancer les simulations
-isisfish.config.main.performcron.description=D\u00E9marre toutes les t\u00E2ches d\u00E9finies dans le service cron
-isisfish.config.main.performmigration.description=Migre les donn\u00E9es
-isisfish.config.main.performvcsupdate.description=Met \u00E0 jour le d\u00E9p\u00F4t VCS
+isisfish.config.main.performcron.description=Démarre toutes les tâches définies dans le service cron
+isisfish.config.main.performmigration.description=Migre les données
+isisfish.config.main.performvcsupdate.description=Met à jour le dépôt VCS
isisfish.config.main.remoteCaparmor.description=Nom du lanceur de simulation distante
-isisfish.config.main.simulation.ssh.control.check.interval=V\u00E9rification de la progression (secondes)
-isisfish.config.main.simulation.ssh.control.check.interval.description=Temps d'attente en secondes entre deux v\u00E9rifications de progression
-isisfish.config.main.simulation.ssh.datapath=Base de donn\u00E9es
-isisfish.config.main.simulation.ssh.datapath.description=Emplacement de la base de donn\u00E9es (isis-database)
+isisfish.config.main.simulation.ssh.control.check.interval=Vérification de la progression (secondes)
+isisfish.config.main.simulation.ssh.control.check.interval.description=Temps d'attente en secondes entre deux vérifications de progression
+isisfish.config.main.simulation.ssh.datapath=Base de données
+isisfish.config.main.simulation.ssh.datapath.description=Emplacement de la base de données (isis-database)
isisfish.config.main.simulation.ssh.isis.home=Installation d'Isis-Fish
isisfish.config.main.simulation.ssh.isis.home.description=Emplacement d'installation d'Isis-Fish sur le serveur
isisfish.config.main.simulation.ssh.javapath=Emplacement de java
-isisfish.config.main.simulation.ssh.javapath.description=Emplacement de java sur le serveur (chemin total, ou relatif au $PATH, par d\u00E9faut la valeur est celle de caparmor)
+isisfish.config.main.simulation.ssh.javapath.description=Emplacement de java sur le serveur (chemin total, ou relatif au $PATH, par défaut la valeur est celle de caparmor)
isisfish.config.main.simulation.ssh.max.threads=Nombre de thread SSH
-isisfish.config.main.simulation.ssh.max.threads.description=Nombre de simulation simultan\u00E9e \u00E0 faire en SSH. Attention, ne doit \u00EAtre utilis\u00E9 que pour faire plusieurs plans d'analyse d\u00E9pendants en m\u00EAme temps, sinon laisser '1'.
+isisfish.config.main.simulation.ssh.max.threads.description=Nombre de simulation simultanée à faire en SSH. Attention, ne doit être utilisé que pour faire plusieurs plans d'analyse dépendants en même temps, sinon laisser '1'.
isisfish.config.main.simulation.ssh.pbsbinpath=Emplacement des executables PBS
isisfish.config.main.simulation.ssh.pbsbinpath.description=Emplacement des commandes PBS (qsub, qdel...) sur le serveur
isisfish.config.main.simulation.ssh.pbsqsuboptions=Arguments qsub
-isisfish.config.main.simulation.ssh.pbsqsuboptions.description=Arguments utilis\u00E9s lors de la soumission des jobs. Par d\u00E9faut '-m n' pas d'envoi de mails.
+isisfish.config.main.simulation.ssh.pbsqsuboptions.description=Arguments utilisés lors de la soumission des jobs. Par défaut '-m n' pas d'envoi de mails.
isisfish.config.main.simulation.ssh.server=Serveur de simulation
isisfish.config.main.simulation.ssh.server.description=Adresse du serveur de simulation
isisfish.config.main.simulation.ssh.sftpserver.description=Adresse du serveur de transfert de fichier (laisser vide pour utiliser directement scp sur le serveur de simulation)
isisfish.config.main.simulation.ssh.tmppath=Dossier temporaire
isisfish.config.main.simulation.ssh.tmppath.description=Emplacement du dossier temporaire
-isisfish.config.main.simulation.ssh.userhome=R\u00E9pertoire d'accueil
-isisfish.config.main.simulation.ssh.userhome.description=R\u00E9pertoire d'accueil de l'utilisateur
+isisfish.config.main.simulation.ssh.userhome=Répertoire d'accueil
+isisfish.config.main.simulation.ssh.userhome.description=Répertoire d'accueil de l'utilisateur
isisfish.config.main.simulation.ssh.username=Identifiant
isisfish.config.main.simulation.ssh.username.description=Identifiant SSH pour se connecter au serveur
-isisfish.config.main.simulationShowOnlyError.description=pour indiquer si l'on doit conserver dans l'UI des simulations termin\u00E9es uniquement celles avec erreur
-isisfish.config.main.smtpServer.description=le nom du serveur smtp \u00E0 utiliser pour envoyer les courriels
+isisfish.config.main.simulationShowOnlyError.description=pour indiquer si l'on doit conserver dans l'UI des simulations terminées uniquement celles avec erreur
+isisfish.config.main.smtpServer.description=le nom du serveur smtp à utiliser pour envoyer les courriels
isisfish.config.main.subSimulator.description=Nom du simulateur en sous processus
isisfish.config.main.userMail.description=le courriel de l'utilisateur
-isisfish.config.main.userName.description=le nom - pr\u00E9nom de l'utilisateur
-isisfish.config.ssh.key.file=Cl\u00E9 SSH
-isisfish.config.ssh.key.file.description=Emplacement de la cl\u00E9 priv\u00E9e SSH
-isisfish.config.title=Pr\u00E9f\u00E9rences
-isisfish.config.vcs.hostName.description=le nom du serveur vcs \u00E0 utiliser
+isisfish.config.main.userName.description=le nom - prénom de l'utilisateur
+isisfish.config.ssh.key.file=Clé SSH
+isisfish.config.ssh.key.file.description=Emplacement de la clé privée SSH
+isisfish.config.title=Préférences
+isisfish.config.vcs.hostName.description=le nom du serveur vcs à utiliser
isisfish.config.vcs.localDatabasePath.description=
-isisfish.config.vcs.noPassPhrase.description=pour indiquer si la clef priv\u00E9e ssh2 utilis\u00E9e pour communiquer avec le serveur vcs est prot\u00E9g\u00E9 par une passe-phrase
-isisfish.config.vcs.passphrase.description=la passe-phrase utilis\u00E9e pour prot\u00E9ger la clef priv\u00E9e ssh
-isisfish.config.vcs.remotePath.description=le chemin jusqu'au parent du module de donn\u00E9es sur le serveur vcs
-isisfish.config.vcs.type.description=le type de communication vcs utilis\u00E9
-isisfish.config.vcs.useSshConnexion.description=pour indiquer si l'on utilise une connexion s\u00E9curis\u00E9e pour communiquer avec le serveur vcs (ssh2)
+isisfish.config.vcs.noPassPhrase.description=pour indiquer si la clef privée ssh2 utilisée pour communiquer avec le serveur vcs est protégé par une passe-phrase
+isisfish.config.vcs.passphrase.description=la passe-phrase utilisée pour protéger la clef privée ssh
+isisfish.config.vcs.remotePath.description=le chemin jusqu'au parent du module de données sur le serveur vcs
+isisfish.config.vcs.type.description=le type de communication vcs utilisé
+isisfish.config.vcs.useSshConnexion.description=pour indiquer si l'on utilise une connexion sécurisée pour communiquer avec le serveur vcs (ssh2)
isisfish.config.vcs.userName.description=le login de l'utilisateur sur le serveur vcs
isisfish.config.vcs.userPassword.description=
isisfish.dataResult.export.csv=Exporter en CSV
isisfish.dataResult.label=Valeur
isisfish.date.toString=%1$s %2$s
-isisfish.editor.parametersnameandtypes=Param\u00E8tres (nom et type)
-isisfish.effortDescription.crewFoodCost=Co\u00FBt de l'alimentation pour l'\u00E9quipage
-isisfish.effortDescription.crewShareRate=Taux de partage de l'\u00E9quipage
-isisfish.effortDescription.crewSize=Taille de l'\u00E9quipage
-isisfish.effortDescription.economicTitle=Param\u00E8tres \u00E9conomiques
-isisfish.effortDescription.effortTitle=Param\u00E8tres d'effort de p\u00EAche
-isisfish.effortDescription.fishingOperation=Op\u00E9ration de p\u00EAche
-isisfish.effortDescription.fishingOperationDuration=Dur\u00E9e de la p\u00EAche
+isisfish.editor.parametersnameandtypes=Paramètres (nom et type)
+isisfish.effortDescription.crewFoodCost=Coût de l'alimentation pour l'équipage
+isisfish.effortDescription.crewShareRate=Taux de partage de l'équipage
+isisfish.effortDescription.crewSize=Taille de l'équipage
+isisfish.effortDescription.economicTitle=Paramètres économiques
+isisfish.effortDescription.effortTitle=Paramètres d'effort de pêche
+isisfish.effortDescription.fishingOperation=Opération de pêche
+isisfish.effortDescription.fishingOperationDuration=Durée de la pêche
isisfish.effortDescription.fishingOperationDuration.tooltip=En heures
-isisfish.effortDescription.fixedCrewSalary=Salaire d'\u00E9quipage fixe
-isisfish.effortDescription.gearsNumberPerOperation=Nombre d'engins par op\u00E9ration
-isisfish.effortDescription.landingCosts=Co\u00FBts d'accastillage
-isisfish.effortDescription.otherRunningCost=Autres co\u00FBts
-isisfish.effortDescription.parametersTitle=Param\u00E8tres des m\u00E9tiers
-isisfish.effortDescription.repairAndMaintenanceGearCost=Co\u00FBts de maintenance
-isisfish.effortDescription.title=M\u00E9tiers pratiqu\u00E9s
+isisfish.effortDescription.fixedCrewSalary=Salaire d'équipage fixe
+isisfish.effortDescription.gearsNumberPerOperation=Nombre d'engins par opération
+isisfish.effortDescription.landingCosts=Coûts d'accastillage
+isisfish.effortDescription.otherRunningCost=Autres coûts
+isisfish.effortDescription.parametersTitle=Paramètres des métiers
+isisfish.effortDescription.repairAndMaintenanceGearCost=Coûts de maintenance
+isisfish.effortDescription.title=Métiers pratiqués
isisfish.effortDescription.toString=EffortDescription for %1$s with %2$s
-isisfish.effortDescription.unitCostOfFishing=Co\u00FBt unitaire de la p\u00EAche
-isisfish.equation.editor.title=Editeur d'\u00E9quation
+isisfish.effortDescription.unitCostOfFishing=Coût unitaire de la pêche
+isisfish.equation.editor.title=Editeur d'équation
isisfish.error.acceptable.population=La nouvelle valeur n'est pas une valeur valide pour cette population
-isisfish.error.add.card=Erreur lors de l'ajout du r\u00E9sultat \u00E0 la carte.
+isisfish.error.add.card=Erreur lors de l'ajout du résultat à la carte.
isisfish.error.add.logger.simulation=isisfish.error.add.logger.simulation
-isisfish.error.add.result.data=Erreur lors de l'ajout du r\u00E9sultat au data.
-isisfish.error.add.result.graph=Erreur lors de l'ajout du r\u00E9sultat au graph.
+isisfish.error.add.result.data=Erreur lors de l'ajout du résultat au data.
+isisfish.error.add.result.graph=Erreur lors de l'ajout du résultat au graph.
isisfish.error.add.tray=Impossible d'ajouter une icone de notification
isisfish.error.change.classloader=Can't change classloader because can't create URL from file %1$s
isisfish.error.change.equation=Can't change equation
isisfish.error.compile.fileerror=Le fichier %s contient des erreurs \!
isisfish.error.compile.script=Impossible de compiler le script \: %s
isisfish.error.compiled.parameter=Can't get rule parameter from compiled class
-isisfish.error.conversion.data=Erreur lors de la conversion du fichier de donn\u00E9es
+isisfish.error.conversion.data=Erreur lors de la conversion du fichier de données
isisfish.error.create.equation=Can't create equation
isisfish.error.delete.database=Can't delete database
isisfish.error.delete.file=could not delete file %1$s
@@ -251,24 +251,24 @@
isisfish.error.emigration.negative=emigration negative
isisfish.error.empty.code.rubbin=le code rubbin est vide
isisfish.error.empty.emigration=emigration vide
-isisfish.error.empty.id.geographic=l'identifiant g\u00E9ographique est vide
+isisfish.error.empty.id.geographic=l'identifiant géographique est vide
isisfish.error.empty.immigration=immigration vide
isisfish.error.empty.migration=Migration vide
isisfish.error.empty.name=le nom est vide
-isisfish.error.empty.params.name=le nom du param\u00E8tre est vide
+isisfish.error.empty.params.name=le nom du paramètre est vide
isisfish.error.empty.population=Population est vide
isisfish.error.empty.scientific.name=le nom scientifique est vide
isisfish.error.empty.season=info saison vide
-isisfish.error.empty.selectivity=s\u00E9lectivit\u00E9 est vide
+isisfish.error.empty.selectivity=sélectivité est vide
isisfish.error.empty.species=espece capturable vide
isisfish.error.empty.species.name=le nom d'espece est vide
-isisfish.error.empty.unit=l'unit\u00E9 de mesure est vide
-isisfish.error.equation.openeditor=Impossible d'ouvrir l'editeur d'\u00E9quation
+isisfish.error.empty.unit=l'unité de mesure est vide
+isisfish.error.equation.openeditor=Impossible d'ouvrir l'editeur d'équation
isisfish.error.equation.return.number=EquationImpl doit retourner un nombre \: %1$s
-isisfish.error.equation.savemodel=Impossible de sauver l'\u00E9quation en tant que mod\u00E8le
-isisfish.error.errorpane.htmlmessage=<html><b>IsisFish a d\u00E9tect\u00E9 une erreur \:</b><br />%s</b></html>
+isisfish.error.equation.savemodel=Impossible de sauver l'équation en tant que modèle
+isisfish.error.errorpane.htmlmessage=<html><b>IsisFish a détecté une erreur \:</b><br />%s</b></html>
isisfish.error.errorpane.title=Erreur
-isisfish.error.evaluate.equation=Impossible d'\u00E9valuer l'\u00E9quation\: %1$s
+isisfish.error.evaluate.equation=Impossible d'évaluer l'équation\: %1$s
isisfish.error.evaluate.preplan.script=
isisfish.error.evalute.plan.script=Can't evaluate plan script
isisfish.error.factor.invalid=Le facteur n'est pas valide
@@ -277,32 +277,32 @@
isisfish.error.immigration.negative=immigration negative
isisfish.error.import.convertible=Erreur lors de l'import, la version du fichier que vous souhaitez importer n'est pas transformable en une version importable.
isisfish.error.import.file=Can't import file %1$s
-isisfish.error.import.recent.files=Erreur lors de l'import, la version du fichier que vous souhaitez importer est plus r\u00E9cente que la version souhait\u00E9e.
+isisfish.error.import.recent.files=Erreur lors de l'import, la version du fichier que vous souhaitez importer est plus récente que la version souhaitée.
isisfish.error.init.map=Can't init map.
-isisfish.error.input.addentity=Impossible d'ajouter l'entit\u00E9 "%s"
+isisfish.error.input.addentity=Impossible d'ajouter l'entité "%s"
isisfish.error.input.cancelentity=Impossible d'annuler les modifications
-isisfish.error.input.createentity=Impossible de cr\u00E9er une nouvelle entit\u00E9
-isisfish.error.input.removeentity=Impossible de supprimer l'entit\u00E9 "%s"
+isisfish.error.input.createentity=Impossible de créer une nouvelle entité
+isisfish.error.input.removeentity=Impossible de supprimer l'entité "%s"
isisfish.error.input.save=Impossible de sauver les modifications
isisfish.error.input.saveentity=Impossible de sauver les modifications
isisfish.error.input.spacializematrix=
isisfish.error.instanciate=Can't instanciate %1$s
isisfish.error.instanciate.export=Can't instanciate export %1$s
-isisfish.error.invalid.costs.fix=les co\u00FBts fixes sont invalides
+isisfish.error.invalid.costs.fix=les coûts fixes sont invalides
isisfish.error.invalid.distribution.recruitment=distribution de recrutement invalide
isisfish.error.invalid.equation=Equation invalide
-isisfish.error.invalid.equation.name=Nom d'\u00E9quation invalide
+isisfish.error.invalid.equation.name=Nom d'équation invalide
isisfish.error.invalid.file.name=Le nom du script %1$s n'est pas valide.
isisfish.error.invalid.interval.reproduction.recruitment=interval entre la reproduction et le recrutement invalide
isisfish.error.invalid.mean.weight=poids moyen invalide
-isisfish.error.invalid.natural.death=mortalit\u00E9 naturelle sur les classes naissantes invalide
-isisfish.error.invalid.nullequation=L'\u00E9quation %s n'existe pas \!
+isisfish.error.invalid.natural.death=mortalité naturelle sur les classes naissantes invalide
+isisfish.error.invalid.nullequation=L'équation %s n'existe pas \!
isisfish.error.invalid.number=le nombre est invalide
isisfish.error.invalid.range=La gamme possible n'a pas de valeur acceptable
-isisfish.error.invalid.values.params=Param\u00E8tre controlable hors valeurs possibles
+isisfish.error.invalid.values.params=Paramètre controlable hors valeurs possibles
isisfish.error.invalidate.natural.death=mortalite naturelle invalide
isisfish.error.invoke.method=Can't invoke method '%1$s' for class %2$s
-isisfish.error.linkageerror.message=Isis-Fish a d\u00E9tect\u00E9 une erreur d'utilisation des scripts.\nLe dossier de compilation a \u00E9t\u00E9 supprim\u00E9 pour forcer leur recompilation.\n\nMerci de relancer Isis-Fish.
+isisfish.error.linkageerror.message=Isis-Fish a détecté une erreur d'utilisation des scripts.\nLe dossier de compilation a été supprimé pour forcer leur recompilation.\n\nMerci de relancer Isis-Fish.
isisfish.error.linkageerror.title=Erreur d'initialisation
isisfish.error.load.class=Can't load class\: %1$s
isisfish.error.load.classloader=Can't create ClassLoader for script, bad directory\: %1$s for reason %2$s
@@ -311,12 +311,12 @@
isisfish.error.log.console.dispose=Une erreur est survenue pendant la fermeture de la console %1$s de log, raison %2$s
isisfish.error.log.createAppender=n'a pas pu creer l'appender [%1$s] \: %2$s pour la raison %3$s
isisfish.error.log.foundAppender=n'a pas trouve l'appender %1$s pour la categorie %2$s
-isisfish.error.matrix.more.2d=Matrice de plus de 2 dimensions\!\!\nS\u00E9lectionnez moins d'\u00E9l\u00E9ments ou utilisez l'op\u00E9rateur somme.
+isisfish.error.matrix.more.2d=Matrice de plus de 2 dimensions\!\!\nSélectionnez moins d'éléments ou utilisez l'opérateur somme.
isisfish.error.migration.negative=Migration negative
isisfish.error.missing.distribution.recruitment=Equation de distribution de recrutement manquante
isisfish.error.no.matrix=Pas de matrice pour \: %s
isisfish.error.no.null.time.step=Error, the time step should not be null
-isisfish.error.no.sector=il n'y a pas de secteur de d\u00E9finit
+isisfish.error.no.sector=il n'y a pas de secteur de définit
isisfish.error.no.select.simulation=could not select simulation
isisfish.error.no.target.species=no target species in %1$s for %2$s
isisfish.error.not.found.code=could not found codeclass for %1$s
@@ -326,7 +326,7 @@
isisfish.error.not.null.class.grown=classe mature vaut nul
isisfish.error.not.null.mean.weight=poids moyen nul
isisfish.error.not.null.natural.death=mortalite naturelle nulle
-isisfish.error.not.possible.metier=Pas de m\u00E9tier possible
+isisfish.error.not.possible.metier=Pas de métier possible
isisfish.error.not.support.class=La classe %s ne supporte pas les descritions
isisfish.error.null.semantics=Semantiques nulle pour %s
isisfish.error.number.classes.upper.zero=Error, the number of classes must be upper than 0
@@ -338,22 +338,22 @@
isisfish.error.prepare.data=Can't prepare data
isisfish.error.prepare.information.simulation=Can't prepare information for simulation
isisfish.error.read.simulation=Can't read simulation information %1$s
-isisfish.error.read.simulation.parameters=Impossible de lire les param\u00E8tres du fichier \: %1$s
+isisfish.error.read.simulation.parameters=Impossible de lire les paramètres du fichier \: %1$s
isisfish.error.region.addmap=Impossible d'ajouter une carte
-isisfish.error.region.already.exists=Cette r\u00E9gion existe d\u00E9j\u00E0
+isisfish.error.region.already.exists=Cette région existe déjà
isisfish.error.region.cancel=
-isisfish.error.region.check=Impossible de v\u00E9rifier la r\u00E9gion
-isisfish.error.region.commit=Impossible de committer la r\u00E9gion
-isisfish.error.region.copy=Impossible de copier la r\u00E9gion
-isisfish.error.region.create=Impossible de cr\u00E9er une nouvelle r\u00E9gion
-isisfish.error.region.export=Impossible d'exporter la r\u00E9gion
-isisfish.error.region.import=Impossible d'importer la r\u00E9gion
-isisfish.error.region.load=Impossible de charger la r\u00E9gion
-isisfish.error.region.name.empty=Le nom de la R\u00E9gion est vide
+isisfish.error.region.check=Impossible de vérifier la région
+isisfish.error.region.commit=Impossible de committer la région
+isisfish.error.region.copy=Impossible de copier la région
+isisfish.error.region.create=Impossible de créer une nouvelle région
+isisfish.error.region.export=Impossible d'exporter la région
+isisfish.error.region.import=Impossible d'importer la région
+isisfish.error.region.load=Impossible de charger la région
+isisfish.error.region.name.empty=Le nom de la Région est vide
isisfish.error.region.new=
-isisfish.error.region.remove=Impossible de supprimer la r\u00E9gion
-isisfish.error.region.removemap=Impossible de supprimer une carte de la r\u00E9gion
-isisfish.error.region.save=Impossible de sauver la r\u00E9gion
+isisfish.error.region.remove=Impossible de supprimer la région
+isisfish.error.region.removemap=Impossible de supprimer une carte de la région
+isisfish.error.region.save=Impossible de sauver la région
isisfish.error.remove.directory=Can't remove directory %1$s
isisfish.error.rename.region=Can't rename region to %1$s
isisfish.error.save.checkSum.compilation=Can't save checkSum to compilation\: %1$s
@@ -364,48 +364,48 @@
isisfish.error.script.import=N'a pas pu importer pour la raison suivante %1$s
isisfish.error.script.load=N'a pas pu charger le fichier %1$s pour la raison suivante %2$s
isisfish.error.script.save=N'a pas pu sauver le fichier %1$s pour la raison suivante %2$s
-isisfish.error.sensitivity.export=Error lors de l'export des facteurs de la r\u00E9gion
+isisfish.error.sensitivity.export=Error lors de l'export des facteurs de la région
isisfish.error.simulation.addanalyseplan=Impossible d'ajouter un plan d'analyze
-isisfish.error.simulation.addrule=Impossible d'ajouter une r\u00E8gle
-isisfish.error.simulation.getparametervalue=Impossible d'obtenir la valeur du param\u00E8tre
-isisfish.error.simulation.getresultname=Impossible d'obtenir la liste des r\u00E9sultat
-isisfish.error.simulation.importparameter=Impossible d'importer les param\u00E8tres de simulation
+isisfish.error.simulation.addrule=Impossible d'ajouter une règle
+isisfish.error.simulation.getparametervalue=Impossible d'obtenir la valeur du paramètre
+isisfish.error.simulation.getresultname=Impossible d'obtenir la liste des résultat
+isisfish.error.simulation.importparameter=Impossible d'importer les paramètres de simulation
isisfish.error.simulation.initsimulaction=Impossible d'initialiser la simulation
isisfish.error.simulation.launchsimulation=Impossible de lancer la simulation
isisfish.error.simulation.listoldsimulation=Impossible de lister les anciennes simulations
isisfish.error.simulation.listpopulation=Impossible d'obtenir la liste des populations
-isisfish.error.simulation.liststrategies=Impossible d'obtenir la liste des stat\u00E9gies
+isisfish.error.simulation.liststrategies=Impossible d'obtenir la liste des statégies
isisfish.error.simulation.loadoldsimulation=Impossible de charger une ancienne simulation
isisfish.error.simulation.log.openAppender=n'a pas pu ouvrir l'appender de la simulation %1$s pour la raison %2$s
-isisfish.error.simulation.openregion=Impossible d'ouvrir la r\u00E9gion
+isisfish.error.simulation.openregion=Impossible d'ouvrir la région
isisfish.error.simulation.remote.global=Impossible de lancer une simulation sur serveur distant
isisfish.error.simulation.remote.wrongportvalue=Le port de connexion a une valeur incorrecte \: %s
isisfish.error.simulation.resultXml.close=Can't close simulation result XML for reason %1$s
isisfish.error.simulation.resultXml.open=Can't open simulation result XML for reason %1$s
isisfish.error.simulation.resultXml.write=Can't write simulation result XML for reason %1$s
-isisfish.error.simulation.savesimulation=Impossible de sauver les param\u00E8tres de simulation
-isisfish.error.simulation.setparametervalue=Impossible d'affecter la valeur du param\u00E8tre
+isisfish.error.simulation.savesimulation=Impossible de sauver les paramètres de simulation
+isisfish.error.simulation.setparametervalue=Impossible d'affecter la valeur du paramètre
isisfish.error.source.parameter=Can't get parameter from source
isisfish.error.strategy.order=Strategy %1$s don't have 12 StrategyMonthInfo but %2$s. Recreate them
-isisfish.error.undefined.classes=pas de classes d\u00E9finies
+isisfish.error.undefined.classes=pas de classes définies
isisfish.error.undefined.correspondence.zones.reproduction.recruitment=pas de correspondance entre les zones de reproduction et les zones de recrutement
-isisfish.error.undefined.gear=l'engin n'est pas d\u00E9fini
-isisfish.error.undefined.mesh=aucune maille de d\u00E9fini
+isisfish.error.undefined.gear=l'engin n'est pas défini
+isisfish.error.undefined.mesh=aucune maille de défini
isisfish.error.undefined.mesh.sector=aucune maille dans le secteur
-isisfish.error.undefined.meta.population=aucune meta population de d\u00E9fini
-isisfish.error.undefined.natural.death=pas de mortalit\u00E9 naturelle sur les classes naissantes
-isisfish.error.undefined.sector=aucun secteur de d\u00E9fini
-isisfish.error.undefined.stategy=aucune strat\u00E9gie de d\u00E9fini
-isisfish.error.undefined.stategy.months=La strat\u00E9gie n'est pas d\u00E9finie pour certain mois
-isisfish.error.undefined.zone.population=il n'y a pas de zone de population de d\u00E9finie
-isisfish.error.undefined.zone.recruitment=il n'y a pas de zone de recrutement de d\u00E9finie
-isisfish.error.undefined.zone.reproduction=il n'y a pas de zone de reproduction de d\u00E9finie
+isisfish.error.undefined.meta.population=aucune meta population de défini
+isisfish.error.undefined.natural.death=pas de mortalité naturelle sur les classes naissantes
+isisfish.error.undefined.sector=aucun secteur de défini
+isisfish.error.undefined.stategy=aucune stratégie de défini
+isisfish.error.undefined.stategy.months=La stratégie n'est pas définie pour certain mois
+isisfish.error.undefined.zone.population=il n'y a pas de zone de population de définie
+isisfish.error.undefined.zone.recruitment=il n'y a pas de zone de recrutement de définie
+isisfish.error.undefined.zone.reproduction=il n'y a pas de zone de reproduction de définie
isisfish.error.unsupported.equation.langage=unsupported langage '%1$s' for equation\: %2$s
isisfish.error.wait.simThread=Can't wait SimThread
isisfish.error.warning.title=Attention
isisfish.error.write.simulation=Can't write information %1$s
-isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s
-isisfish.export.title=Export des r\u00E9sultats
+isisfish.export.saved=Exports des résultats sauvegardés
+isisfish.export.title=Export des résultats
isisfish.filter=Filtrer
isisfish.filter.apply=Appliquer le filtre
isisfish.filter.cancel=Annuler
@@ -415,37 +415,37 @@
isisfish.filter.log.levelInfo=info
isisfish.filter.log.levelTrace=trace
isisfish.filter.log.levelWarn=warning
-isisfish.filter.log.tooltip.levelDebug=s\u00E9lectionner pour filtrer ce niveau
-isisfish.filter.log.tooltip.levelError=s\u00E9lectionner pour filtrer ce niveau
-isisfish.filter.log.tooltip.levelFatal=s\u00E9lectionner pour filtrer ce niveau
-isisfish.filter.log.tooltip.levelInfo=s\u00E9lectionner pour filtrer ce niveau
-isisfish.filter.log.tooltip.levelTrace=s\u00E9lectionner pour filtrer ce niveau
-isisfish.filter.log.tooltip.levelWarn=s\u00E9lectionner pour filtrer ce niveau
-isisfish.filter.log.tooltip.message=Entrer un terme \u00E0 rechercher et appuyer sur Entr\u00E9e
-isisfish.filter.reset=R\u00E9initialiser
-isisfish.filter.result=R\u00E9sultats
-isisfish.filter.result.found=R\u00E9sultats (%d/%d)
-isisfish.filter.select=S\u00E9lectionner
-isisfish.filter.select.simulation=S\u00E9lectionner une simulation
+isisfish.filter.log.tooltip.levelDebug=sélectionner pour filtrer ce niveau
+isisfish.filter.log.tooltip.levelError=sélectionner pour filtrer ce niveau
+isisfish.filter.log.tooltip.levelFatal=sélectionner pour filtrer ce niveau
+isisfish.filter.log.tooltip.levelInfo=sélectionner pour filtrer ce niveau
+isisfish.filter.log.tooltip.levelTrace=sélectionner pour filtrer ce niveau
+isisfish.filter.log.tooltip.levelWarn=sélectionner pour filtrer ce niveau
+isisfish.filter.log.tooltip.message=Entrer un terme à rechercher et appuyer sur Entrée
+isisfish.filter.reset=Réinitialiser
+isisfish.filter.result=Résultats
+isisfish.filter.result.found=Résultats (%d/%d)
+isisfish.filter.select=Sélectionner
+isisfish.filter.select.simulation=Sélectionner une simulation
isisfish.filter.simulation=Filtrer les simulations
-isisfish.filter.simulation.analysePlanNumber=num\u00E9ro d'analyse
+isisfish.filter.simulation.analysePlanNumber=numéro d'analyse
isisfish.filter.simulation.description=description
isisfish.filter.simulation.local=locale
-isisfish.filter.simulation.numberOfYear=nombre d'ann\u00E9e(s)
-isisfish.filter.simulation.regionName=nom de r\u00E9gion
+isisfish.filter.simulation.numberOfYear=nombre d'année(s)
+isisfish.filter.simulation.regionName=nom de région
isisfish.filter.simulation.simulationEnd=date de fin (dd/MM/yyyy)
isisfish.filter.simulation.simulationName=nom de simulation
-isisfish.filter.simulation.simulationStart=date de d\u00E9but (dd/MM/yyyy)
+isisfish.filter.simulation.simulationStart=date de début (dd/MM/yyyy)
isisfish.filter.simulation.simulatorName=nom du simulateur
-isisfish.filter.simulation.tooltip.analysePlanNumber=filter sur le num\u00E9ro d'analyse (uniquement pour les simulations avec plan d'analyse)
+isisfish.filter.simulation.tooltip.analysePlanNumber=filter sur le numéro d'analyse (uniquement pour les simulations avec plan d'analyse)
isisfish.filter.simulation.tooltip.description=filtrer sur la description (format regex)
isisfish.filter.simulation.tooltip.local=filter uniquement les simulations locales
-isisfish.filter.simulation.tooltip.numberOfYear=filter sur le nombre d'ann\u00E9e(s) (recherche exacte)
-isisfish.filter.simulation.tooltip.regionName=filtrer sur le nom de la r\u00E9gion (format regex)
+isisfish.filter.simulation.tooltip.numberOfYear=filter sur le nombre d'année(s) (recherche exacte)
+isisfish.filter.simulation.tooltip.regionName=filtrer sur le nom de la région (format regex)
isisfish.filter.simulation.tooltip.simulationEnd=filtrer sur la date de fin de simulation (format dd/MM/yyyy)
isisfish.filter.simulation.tooltip.simulationName=filtrer sur le nom de simulation (format regex)
-isisfish.filter.simulation.tooltip.simulationStart=filtrer sur la date de d\u00E9but de simulation (format dd/MM/yyyy)
-isisfish.filter.simulation.tooltip.simulatorName=filter sur le nom du simulateur utilis\u00E9 (format regex)
+isisfish.filter.simulation.tooltip.simulationStart=filtrer sur la date de début de simulation (format dd/MM/yyyy)
+isisfish.filter.simulation.tooltip.simulatorName=filter sur le nom du simulateur utilisé (format regex)
isisfish.filter.simulation.tooltip.useAnalysePlan=filter uniquement les simulations avec plan d'analyse
isisfish.filter.simulation.tooltip.useOptimization=filter uniquement les simulations avec optimisation
isisfish.filter.simulation.tooltip.usePreScript=filter uniquement les simulations avec Prescript
@@ -455,7 +455,7 @@
isisfish.filter.simulation.usePreScript=prescript
isisfish.filter.simulation.useStatistic=statistiques
isisfish.fisheryRegion.addMap=Ajouter une carte
-isisfish.fisheryRegion.area=Extr\u00E9mit\u00E9s de la zone de p\u00EAche
+isisfish.fisheryRegion.area=Extrémités de la zone de pêche
isisfish.fisheryRegion.comments=Commentaires
isisfish.fisheryRegion.delMap=Supprimer la carte
isisfish.fisheryRegion.latitude=Lat.
@@ -464,94 +464,94 @@
isisfish.fisheryRegion.longitude=Long.
isisfish.fisheryRegion.longitude.max=Long. max.
isisfish.fisheryRegion.longitude.min=Long. min.
-isisfish.fisheryRegion.name=Nom de la r\u00E9gion
+isisfish.fisheryRegion.name=Nom de la région
isisfish.fisheryRegion.ofCells=de mailles (option)
-isisfish.fisheryRegion.selectFile=S\u00E9lectionnez un fichier
-isisfish.fisheryRegion.spatial=R\u00E9solution spatiale
+isisfish.fisheryRegion.selectFile=Sélectionnez un fichier
+isisfish.fisheryRegion.spatial=Résolution spatiale
isisfish.gear.comments=Commentaires
-isisfish.gear.effortUnit=Unit\u00E9 d'effort
+isisfish.gear.effortUnit=Unité d'effort
isisfish.gear.name=Nom
isisfish.gear.rangeValues=Gamme de valeurs
isisfish.gear.standardisationFactor=Facteur de standardisation
-isisfish.gear.technicalParameter=Param\u00E8tre technique
+isisfish.gear.technicalParameter=Paramètre technique
isisfish.gear.title=Engin
isisfish.graphBean.graph.render=Choisir un rendu de graphe
isisfish.graphCombo.render.bar=Rendu en barres verticales
isisfish.graphCombo.render.bar.3d=Rendu en barres verticales 3D
-isisfish.graphCombo.render.bar.stacked=Rendu en barres verticales empil\u00E9es
+isisfish.graphCombo.render.bar.stacked=Rendu en barres verticales empilées
isisfish.graphCombo.render.line=Rendu en ligne
isisfish.graphCombo.render.line.3d=Rendu en ligne 3D
isisfish.graphCombo.render.min.max=Rendu en MinMax
isisfish.graphCombo.render.surface=Rendu en aire
-isisfish.graphCombo.render.surface.stacked=Rendu en aires empil\u00E9es
+isisfish.graphCombo.render.surface.stacked=Rendu en aires empilées
isisfish.infoItem.label=defaultToolTip-fr.ifremer.resultat.InfoItem.label
-isisfish.infoItem.sum=Somme de tous les \u00E9l\u00E9ments
-isisfish.infoItem.sum.year=Somme des \u00E9l\u00E9ments par ann\u00E9e
+isisfish.infoItem.sum=Somme de tous les éléments
+isisfish.infoItem.sum.year=Somme des éléments par année
isisfish.input.continueCells=Continuer vers les mailles
isisfish.input.continueGears=Continuer vers les engins
isisfish.input.continueMetiers=Continuer vers les metiers
isisfish.input.continuePopulations=Continuer vers les populations
isisfish.input.continuePorts=Continuer vers les ports
isisfish.input.continueSetOfVessels=Continuer vers les flottilles
-isisfish.input.continueSpecies=Continuer vers les esp\u00E8ces
-isisfish.input.continueStrategies=Continuer vers les strat\u00E9gies
+isisfish.input.continueSpecies=Continuer vers les espèces
+isisfish.input.continueStrategies=Continuer vers les stratégies
isisfish.input.continueTripTypes=Continuer vers les types de trajets
isisfish.input.continueVesselTypes=Continuer vers les types de navires
isisfish.input.continueZones=Continuer vers les zones
isisfish.input.map.copytoclicboard=Copier vers de presse-papiers
-isisfish.input.menu.addRegion=Ajouter une r\u00E9gion
+isisfish.input.menu.addRegion=Ajouter une région
isisfish.input.menu.commit=Sauvegarder les changements
-isisfish.input.menu.copyRegion=Copier r\u00E9gion
-isisfish.input.menu.exportRegion=Exporter la r\u00E9gion
-isisfish.input.menu.importRegion=Importer une r\u00E9gion
-isisfish.input.menu.importRegionSimulation=Importer la r\u00E9gion d'une simulation
-isisfish.input.menu.importRegionV2=Importer une r\u00E9gion de la v2 d'IsisFish
-isisfish.input.menu.importRenameRegion=Importer une r\u00E9gion et la renommer
+isisfish.input.menu.copyRegion=Copier région
+isisfish.input.menu.exportRegion=Exporter la région
+isisfish.input.menu.importRegion=Importer une région
+isisfish.input.menu.importRegionSimulation=Importer la région d'une simulation
+isisfish.input.menu.importRegionV2=Importer une région de la v2 d'IsisFish
+isisfish.input.menu.importRenameRegion=Importer une région et la renommer
isisfish.input.menu.removeLocaly=Supprimer localement
-isisfish.input.menu.removeLocalyRemotely=Supprimer localement et \u00E0 distance
+isisfish.input.menu.removeLocalyRemotely=Supprimer localement et à distance
isisfish.input.menu.sensitivity=Mexico
isisfish.input.menu.sensitivity.export=Exporter les facteurs
isisfish.input.menu.server=Serveur
-isisfish.input.newRegion=Nouvelle r\u00E9gion
-isisfish.input.selectRegion=S\u00E9lectionnez une r\u00E9gion
-isisfish.input.sensitivity.export.cancel=Export des facteurs annul\u00E9
-isisfish.input.sensitivity.export.complete=Export des facteurs r\u00E9ussit
+isisfish.input.newRegion=Nouvelle région
+isisfish.input.selectRegion=Sélectionnez une région
+isisfish.input.sensitivity.export.cancel=Export des facteurs annulé
+isisfish.input.sensitivity.export.complete=Export des facteurs réussit
isisfish.input.sensitivity.export.running=Export des facteurs en cours...
isisfish.input.sensitivity.export.title=Exporter les facteurs
-isisfish.input.title=Saisie de la p\u00EAcherie
+isisfish.input.title=Saisie de la pêcherie
isisfish.input.tree.cells=Mailles
isisfish.input.tree.gears=Engins
-isisfish.input.tree.metiers=M\u00E9tiers
+isisfish.input.tree.metiers=Métiers
isisfish.input.tree.populations=Populations
isisfish.input.tree.ports=Ports
isisfish.input.tree.setofvessels=Flottilles
-isisfish.input.tree.species=Esp\u00E8ces
-isisfish.input.tree.strategies=Strat\u00E9gies
-isisfish.input.tree.triptypes=Types de mar\u00E9e
+isisfish.input.tree.species=Espèces
+isisfish.input.tree.strategies=Stratégies
+isisfish.input.tree.triptypes=Types de marée
isisfish.input.tree.vesseltypes=Types de navire
isisfish.input.tree.zones=Zones
isisfish.launch.anonymous=lecture seule
isisfish.launch.email=courriel
isisfish.launch.firstname=nom
isisfish.launch.init.done=init done in %1$s.
-isisfish.launch.lasstname=pr\u00E9nom
-isisfish.launch.server.authenticationMethod=droit d'acc\u00E8s au serveur
+isisfish.launch.lasstname=prénom
+isisfish.launch.server.authenticationMethod=droit d'accès au serveur
isisfish.launch.server.login=nom utilisateur
isisfish.launch.server.ssh.confirm.passphrase=confirmer la passphrase
isisfish.launch.server.ssh.key.change=Changer la clef ssh
-isisfish.launch.server.ssh.key.generate=G\u00E9n\u00E9rer la clef ssh
+isisfish.launch.server.ssh.key.generate=Générer la clef ssh
isisfish.launch.server.ssh.no.passphrase=pas de passphrase
isisfish.launch.server.ssh.passphrase=passphrase
-isisfish.launch.server.ssh.privateKeyFile=clef priv\u00E9e ssh
+isisfish.launch.server.ssh.privateKeyFile=clef privée ssh
isisfish.launch.server.ssh.publicKeyFile=clef publique ssh
-isisfish.launch.ssh=lecture-\u00E9criture (ssh)
-isisfish.launch.stop=Arr\u00EAt de la simulation...
+isisfish.launch.ssh=lecture-écriture (ssh)
+isisfish.launch.stop=Arrêt de la simulation...
isisfish.launching=after init done in %1$s.
isisfish.log.addAppender=ajoute un appender [%1$s]
-isisfish.log.body=Message \u00E0 joindre
+isisfish.log.body=Message à joindre
isisfish.log.closeAppender=ferme l'appender [%1$s] pour la categorie %2$s
isisfish.log.mail.failed=Impossible d'envoyer le rapport par courriel. Le serveur smtp fonctionne ? (J'essaye de contacter < %1$s > smtp server)
-isisfish.log.mail.send=Un rapport a \u00E9t\u00E9 envoy\u00E9 \u00E0 %1$s
+isisfish.log.mail.send=Un rapport a été envoyé à %1$s
isisfish.log.mail.send.title=Envoi de la simulation %1$s par email
isisfish.log.mailTo=Adresse du destinataire
isisfish.log.removeAppender=supprime l'appender [%1$s]
@@ -560,110 +560,110 @@
isisfish.log.sendMail=Envoyer par email
isisfish.log.simulation.name=IsisFish simulation %1$s
isisfish.log.swapLogLevel=permute le niveau du logger %1$s du niveau %2$s au niveau %3$s
-isisfish.log.tooltip.body=Le message saisi sera joint au courriel envoy\u00E9
+isisfish.log.tooltip.body=Le message saisi sera joint au courriel envoyé
isisfish.log.tooltip.mailTo=Entrer l'adresse du destinataire du courriel
isisfish.log.tooltip.sendAll=Envoyer toute la simulation, ou uniquement le fichier de log
isisfish.log.tooltip.sendMail=Cliquer pour envoyer le courriel contentant les fichiers
-isisfish.message.add.objets.simulation=Ajout des nouveaux objets cr\u00E9\u00E9s durant la simulation
-isisfish.message.backup.database.finished=backup database termin\u00E9
+isisfish.message.add.objets.simulation=Ajout des nouveaux objets créés durant la simulation
+isisfish.message.backup.database.finished=backup database terminé
isisfish.message.backup.database.progress=backup database en cours
-isisfish.message.cancel.finished=Annulation termin\u00E9e
-isisfish.message.check.finished=V\u00E9rification termin\u00E9e
-isisfish.message.check.inprogress=V\u00E9rification en cours...
+isisfish.message.cancel.finished=Annulation terminée
+isisfish.message.check.finished=Vérification terminée
+isisfish.message.check.inprogress=Vérification en cours...
isisfish.message.checking.cell=
isisfish.message.choose.archive=choose archive file or directory
-isisfish.message.commit.cancelled=commit annul\u00E9
-isisfish.message.commit.finished=commit termin\u00E9
-isisfish.message.commit.region.canceled=Commit de la r\u00E9gion annul\u00E9
-isisfish.message.commiting.region=En train de commiter la r\u00E9gion %1$s ...
+isisfish.message.commit.cancelled=commit annulé
+isisfish.message.commit.finished=commit terminé
+isisfish.message.commit.region.canceled=Commit de la région annulé
+isisfish.message.commiting.region=En train de commiter la région %1$s ...
isisfish.message.compilation.time=Temps de compilation %1$ss
isisfish.message.confirm.delete.object=Voulez-vous vraiment supprimer l'objet %1$s
-isisfish.message.confirm.remove.region=Voulez-vous vraiment supprimer la r\u00E9gion %1$s ?
+isisfish.message.confirm.remove.region=Voulez-vous vraiment supprimer la région %1$s ?
isisfish.message.confirm.remove.script=Voulez-vous vraiment supprimer le script '%1$s' ?
-isisfish.message.copy.finished=Copie termin\u00E9e
-isisfish.message.copy.region=Copier la r\u00E9gion
-isisfish.message.creating.region=En train de cr\u00E9er la r\u00E9gion %1$s
-isisfish.message.creation.finished=Cr\u00E9ation termin\u00E9e
-isisfish.message.delete.canceled=Suppression annul\u00E9e
-isisfish.message.delete.entities=Supprimer les entit\u00E9s
-isisfish.message.delete.entity=Supprimer l'entit\u00E9
-isisfish.message.delete.finished=Suppression termin\u00E9e
-isisfish.message.delete.object=Pour supprimer l'objet %1$s, tous les objets suivants seront aussi supprim\u00E9s \n\n
+isisfish.message.copy.finished=Copie terminée
+isisfish.message.copy.region=Copier la région
+isisfish.message.creating.region=En train de créer la région %1$s
+isisfish.message.creation.finished=Création terminée
+isisfish.message.delete.canceled=Suppression annulée
+isisfish.message.delete.entities=Supprimer les entités
+isisfish.message.delete.entity=Supprimer l'entité
+isisfish.message.delete.finished=Suppression terminée
+isisfish.message.delete.object=Pour supprimer l'objet %1$s, tous les objets suivants seront aussi supprimés \n\n
isisfish.message.directory.not.exists=
-isisfish.message.evaluation.finished=\u00E9valuation termin\u00E9e
-isisfish.message.export.done=Export termin\u00E9
+isisfish.message.evaluation.finished=évaluation terminée
+isisfish.message.export.done=Export terminé
isisfish.message.export.zip=Exporter dans le fichier zip %1$s
-isisfish.message.file.already.exists=Le fichier %s existe, voulez-vous l'\u00E9craser ?
-isisfish.message.file.overwrite=Le fichier existe, voulez-vous l'\u00E9craser ?
+isisfish.message.file.already.exists=Le fichier %s existe, voulez-vous l'écraser ?
+isisfish.message.file.overwrite=Le fichier existe, voulez-vous l'écraser ?
isisfish.message.import=Importer %1$s
-isisfish.message.import.equation.convert=Conversion manuelle de l'\u00E9quation
-isisfish.message.import.finished=Import termin\u00E9
-isisfish.message.import.region.name=Entre le nom de la r\u00E9egion \u00E0 importer
-isisfish.message.import.region.xml=R\u00E9gion XML (Isis-Fish V2.x)
+isisfish.message.import.equation.convert=Conversion manuelle de l'équation
+isisfish.message.import.finished=Import terminé
+isisfish.message.import.region.name=Entre le nom de la réegion à importer
+isisfish.message.import.region.xml=Région XML (Isis-Fish V2.x)
isisfish.message.import.region.zipped=Zipped Region
isisfish.message.import.scripts.file=Importer des scripts depuis une archive zip
-isisfish.message.import.scripts.file.cancelled=Importation des scripts annul\u00E9
-isisfish.message.import.scripts.file.done=Scripts import\u00E9s
+isisfish.message.import.scripts.file.cancelled=Importation des scripts annulé
+isisfish.message.import.scripts.file.done=Scripts importés
isisfish.message.import.scripts.zipped=Archive de script (*.zip)
isisfish.message.import.xml.v2.file=Import xml v2 file
isisfish.message.import.zip=Import zip file
-isisfish.message.launchui.notlaunch=Interface utilisateur non lanc\u00E9e
-isisfish.message.load.finished=Chargement termin\u00E9
+isisfish.message.launchui.notlaunch=Interface utilisateur non lancée
+isisfish.message.load.finished=Chargement terminé
isisfish.message.load.map=Chargement de la carte \: %1$s
isisfish.message.loading.old.simulation=Chargement d'une ancienne simulation...
-isisfish.message.loading.region=Chargement de la r\u00E9gion
-isisfish.message.name.imported.region=Entrez le nom de la r\u00E9gion \u00E0 importer
-isisfish.message.new.filename=Entrez le nom du nouveau du fichier.\n\t (utiliser uniquemment des caract\u00E8res et _ en commencant avec une majuscule)
-isisfish.message.new.formule.category=Choisissez le cat\u00E9gorie de la formule
+isisfish.message.loading.region=Chargement de la région
+isisfish.message.name.imported.region=Entrez le nom de la région à importer
+isisfish.message.new.filename=Entrez le nom du nouveau du fichier.\n\t (utiliser uniquemment des caractères et _ en commencant avec une majuscule)
+isisfish.message.new.formule.category=Choisissez le catégorie de la formule
isisfish.message.new.formule.title=Nouvelle formule
-isisfish.message.new.region.name=Entrer le nom de la nouvelle r\u00E9gion
-isisfish.message.old.simulation.loaded=Ancienne simulation charg\u00E9e
-isisfish.message.page.modified=Cette page a \u00E9t\u00E9 modifi\u00E9, voulez-vous la sauvegarder ?
-isisfish.message.presimulation.script.execution=Ex\u00E9cution des scripts de Presimulation
+isisfish.message.new.region.name=Entrer le nom de la nouvelle région
+isisfish.message.old.simulation.loaded=Ancienne simulation chargée
+isisfish.message.page.modified=Cette page a été modifié, voulez-vous la sauvegarder ?
+isisfish.message.presimulation.script.execution=Exécution des scripts de Presimulation
isisfish.message.recruitment.number.month=Entrez le nombre de mois de recrutement
-isisfish.message.region.commited=R\u00E9gion commit\u00E9e
-isisfish.message.region.loaded=R\u00E9gion charg\u00E9e
-isisfish.message.region.remove.canceled=Suppression de r\u00E9gion annul\u00E9
-isisfish.message.region.removed=R\u00E9gion supprim\u00E9e
-isisfish.message.remove.canceled=Suppression annul\u00E9e
-isisfish.message.remove.finished=Suppresison termin\u00E9
-isisfish.message.removing.region=Suppression de la r\u00E9gion %1$s...
-isisfish.message.result.verif.region=R\u00E9sultat de la v\u00E9rification de la r\u00E9gion
-isisfish.message.save.finished=Sauvegarde termin\u00E9e
-isisfish.message.saveModel.dialog=Entrez le nom du mod\u00E8le d'\u00E9quation
-isisfish.message.saveModel.finished=Sauvegarde du mod\u00E8le termin\u00E9e
-isisfish.message.script.commit=Indiquez un message pour committer les modifications fa\u00EEtes sur %s
+isisfish.message.region.commited=Région commitée
+isisfish.message.region.loaded=Région chargée
+isisfish.message.region.remove.canceled=Suppression de région annulé
+isisfish.message.region.removed=Région supprimée
+isisfish.message.remove.canceled=Suppression annulée
+isisfish.message.remove.finished=Suppresison terminé
+isisfish.message.removing.region=Suppression de la région %1$s...
+isisfish.message.result.verif.region=Résultat de la vérification de la région
+isisfish.message.save.finished=Sauvegarde terminée
+isisfish.message.saveModel.dialog=Entrez le nom du modèle d'équation
+isisfish.message.saveModel.finished=Sauvegarde du modèle terminée
+isisfish.message.script.commit=Indiquez un message pour committer les modifications faîtes sur %s
isisfish.message.setting.cache.aspects=Mise en place des aspects Cache
isisfish.message.setting.trace.aspects=Mise en place des aspects Trace
-isisfish.message.simulation.ended=Simulation termin\u00E9e
+isisfish.message.simulation.ended=Simulation terminée
isisfish.message.simulation.execution=Simulation execution
-isisfish.message.simulation.prepare=Pr\u00E9paration de la simulation
-isisfish.message.tray.disabled=Icone de notification d\u00E9sactiv\u00E9e
+isisfish.message.simulation.prepare=Préparation de la simulation
+isisfish.message.tray.disabled=Icone de notification désactivée
isisfish.metier.comments=Commentaires
isisfish.metier.name=Nom
-isisfish.metier.rangeValues=Param\u00E8tre d'engin
-isisfish.metier.title=M\u00E9tier
-isisfish.metierMonitor.metiers=M\u00E9tiers
-isisfish.metierMonitor.strategies=Strat\u00E9gies
+isisfish.metier.rangeValues=Paramètre d'engin
+isisfish.metier.title=Métier
+isisfish.metierMonitor.metiers=Métiers
+isisfish.metierMonitor.strategies=Stratégies
isisfish.metierSeasonInfo.toString=%1$s saison %2$s-%3$s
-isisfish.metierSeasonInfoSpecies.mainSpecies=Esp\u00E8ces principales pour le m\u00E9tier
-isisfish.metierSeasonInfoSpecies.selectSeason=S\u00E9lectionnez une saison
-isisfish.metierSeasonInfoSpecies.selectSpecies=Choix de l'esp\u00E8ce
-isisfish.metierSeasonInfoSpecies.species=Esp\u00E8ce
+isisfish.metierSeasonInfoSpecies.mainSpecies=Espèces principales pour le métier
+isisfish.metierSeasonInfoSpecies.selectSeason=Sélectionnez une saison
+isisfish.metierSeasonInfoSpecies.selectSpecies=Choix de l'espèce
+isisfish.metierSeasonInfoSpecies.species=Espèce
isisfish.metierSeasonInfoSpecies.targetFactor=Facteur cible
-isisfish.metierSeasonInfoSpecies.title=Esp\u00E8ces capturables
+isisfish.metierSeasonInfoSpecies.title=Espèces capturables
isisfish.metierSeasonInfoZone.comments=Commentaires
isisfish.metierSeasonInfoZone.season=Saison
-isisfish.metierSeasonInfoZone.selectSeason=S\u00E9lectionnez une saison
+isisfish.metierSeasonInfoZone.selectSeason=Sélectionnez une saison
isisfish.metierSeasonInfoZone.title=Saison / Zones
-isisfish.misc.databasemigration.question=La base de donn\u00E9e est en version \: %s.\n\nUne migration en version %s est n\u00E9cessaire.\nVoulez vous migrer la base de donn\u00E9es ?
-isisfish.misc.databasemigration.title=Migration de base de donn\u00E9es
-isisfish.misc.nuitonmigration=IsisFish a d\u00E9tect\u00E9 l'utilisation de librairies CodeLutin dans les scripts suivants.\nVoulez vous migrer ces scripts vers les nouvelles librairies nuiton ?
+isisfish.misc.databasemigration.question=La base de donnée est en version \: %s.\n\nUne migration en version %s est nécessaire.\nVoulez vous migrer la base de données ?
+isisfish.misc.databasemigration.title=Migration de base de données
+isisfish.misc.nuitonmigration=IsisFish a détecté l'utilisation de librairies CodeLutin dans les scripts suivants.\nVoulez vous migrer ces scripts vers les nouvelles librairies nuiton ?
isisfish.monitor.title=Moniteur de l'application
isisfish.month.april=avril
-isisfish.month.august=ao\u00FBt
-isisfish.month.december=d\u00E9cembre
-isisfish.month.february=f\u00E9vrier
+isisfish.month.august=août
+isisfish.month.december=décembre
+isisfish.month.february=février
isisfish.month.january=janvier
isisfish.month.july=juillet
isisfish.month.june=juin
@@ -673,36 +673,36 @@
isisfish.month.october=octobre
isisfish.month.september=septembre
isisfish.params.changeLogLev=Passe du niveau '%1$s' au niveau '%2$s'
-isisfish.params.clearFilter=Remise \u00E0 z\u00E9ro du filtre
+isisfish.params.clearFilter=Remise à zéro du filtre
isisfish.params.description=Description
isisfish.params.filter=Filtrer
isisfish.params.loadOldSimulation=Charger une ancienne simulation
-isisfish.params.nopopulation=Aucune population s\u00E9lectionn\u00E9e
-isisfish.params.numberYear=Nombre d'ann\u00E9es
+isisfish.params.nopopulation=Aucune population sélectionnée
+isisfish.params.numberYear=Nombre d'années
isisfish.params.populationEffectives=Effectifs %s
-isisfish.params.rules=R\u00E8gles
-isisfish.params.rules.availables=R\u00E8gles disponibles
-isisfish.params.rules.selected=R\u00E8gles s\u00E9lectionn\u00E9es
-isisfish.params.sensitivityName=Nom de l'analyse de sensibilit\u00E9
+isisfish.params.rules=Règles
+isisfish.params.rules.availables=Règles disponibles
+isisfish.params.rules.selected=Règles sélectionnées
+isisfish.params.sensitivityName=Nom de l'analyse de sensibilité
isisfish.params.simulationLauncher=Lanceur de simulation
isisfish.params.simulationName=Nom de la simulation
-isisfish.params.stategiesAndPopulations=Strat\u00E9gies et populations
-isisfish.params.title=Param\u00E8tres
-isisfish.params.toString.fishery=P\u00EAcherie\: %1$s\n\n
+isisfish.params.stategiesAndPopulations=Stratégies et populations
+isisfish.params.title=Paramètres
+isisfish.params.toString.fishery=Pêcherie\: %1$s\n\n
isisfish.params.toString.lib.logger.level=niveau du logger de librairies \: %1$s
-isisfish.params.toString.number.years=Nombre d'ann\u00E9es \: %1$s\n\n
+isisfish.params.toString.number.years=Nombre d'années \: %1$s\n\n
isisfish.params.toString.plan=Plan\: %1$s
-isisfish.params.toString.plan.number=Num\u00E9ro de s\u00E9quence dans le plan \: %1$s\n\n
+isisfish.params.toString.plan.number=Numéro de séquence dans le plan \: %1$s\n\n
isisfish.params.toString.populations=Populations \:
-isisfish.params.toString.rule=R\u00E8gle\: %1$s
+isisfish.params.toString.rule=Règle\: %1$s
isisfish.params.toString.script.logger.level=niveau du logger de scripts \: %1$s
isisfish.params.toString.script.presimulation=Script de presimulation
isisfish.params.toString.simul.logger.level=niveau du logger de simulateur \: %1$s
-isisfish.params.toString.simulation.done=Simulation r\u00E9alis\u00E9e avec \: %1$s
-isisfish.params.toString.strategies=Strat\u00E9gies d'exploitation \:
+isisfish.params.toString.simulation.done=Simulation réalisée avec \: %1$s
+isisfish.params.toString.strategies=Stratégies d'exploitation \:
isisfish.params.useAnalysePlan=Utiliser le plan de simulation
-isisfish.params.usePreSimulationScript=Utiliser un script de pr\u00E9-simulation
-isisfish.population.capturability=Capturabilit\u0E009e
+isisfish.params.usePreSimulationScript=Utiliser un script de pré-simulation
+isisfish.population.capturability=Capturabilit?9e
isisfish.population.comments=Commentaires
isisfish.population.group=Groupe
isisfish.population.groups=Groupes
@@ -713,55 +713,55 @@
isisfish.population.reproduction=Reproduction
isisfish.population.season=Saison
isisfish.population.zones=Zones
-isisfish.populationBasics.confirmCreateGroups=Attention, la re-cr\u00E9ation des groupes supprimera les groupes existants et tous les objets qui en d\u00E9pendent.\n\u00CAtes vous sur de vouloir re-cr\u00E9er les groupes ?
-isisfish.populationBasics.geographicID=Identifiant g\u00E9ographique
+isisfish.populationBasics.confirmCreateGroups=Attention, la re-création des groupes supprimera les groupes existants et tous les objets qui en dépendent.\nÊtes vous sur de vouloir re-créer les groupes ?
+isisfish.populationBasics.geographicID=Identifiant géographique
isisfish.populationBasics.growth=Croissance
isisfish.populationBasics.growthReverse=Croissance inverse
-isisfish.populationBasics.maturityGroup=Groupe de maturit\u00E9
+isisfish.populationBasics.maturityGroup=Groupe de maturité
isisfish.populationBasics.name=Nom
isisfish.populationBasics.numberGroup=Nombre de groupes
isisfish.populationBasics.plusGroup=Groupe plus
isisfish.populationBasics.recreateClasses=Reconstruire les groupes
isisfish.populationBasics.title=Saisie des populations
isisfish.populationCapturability.comments=Commentaires
-isisfish.populationCapturability.selectCoefficient=S\u00E9lectionnez un coefficient par saison et par classe
-isisfish.populationCapturability.title=Saisie de la capturabilit\u00E9
+isisfish.populationCapturability.selectCoefficient=Sélectionnez un coefficient par saison et par classe
+isisfish.populationCapturability.title=Saisie de la capturabilité
isisfish.populationEquation.meanWeight=Poids moyen
-isisfish.populationEquation.naturalDeathRate=Taux de mortalit\u00E9 naturelle
+isisfish.populationEquation.naturalDeathRate=Taux de mortalité naturelle
isisfish.populationEquation.price=Prix
-isisfish.populationEquation.title=Saisie des \u00E9quations
+isisfish.populationEquation.title=Saisie des équations
isisfish.populationGroup.age=Age
isisfish.populationGroup.comments=Commentaires
isisfish.populationGroup.length=Longueur
isisfish.populationGroup.maximumLength=Longueur maximale
isisfish.populationGroup.meanWeigth=Poids principal
isisfish.populationGroup.minimumLength=Longueur minimale
-isisfish.populationGroup.naturalDeathRate=Taux de mortalit\u00E9 naturelle
+isisfish.populationGroup.naturalDeathRate=Taux de mortalité naturelle
isisfish.populationGroup.price=Prix
isisfish.populationGroup.reproductionRate=Taux de reproduction
isisfish.populationGroup.title=Saisie des groupes de population
isisfish.populationGroup.toString=%1$s Groupe %2$s
isisfish.populationMigration.comments=Commentaires
-isisfish.populationMigration.selectSeason=S\u00E9lectionnez une saison
+isisfish.populationMigration.selectSeason=Sélectionnez une saison
isisfish.populationMigration.title=Migration
-isisfish.populationMigration.useEquation=Utiliser l'\u00E9quation
+isisfish.populationMigration.useEquation=Utiliser l'équation
isisfish.populationMigrationEmigration.coefficient=Coefficient
-isisfish.populationMigrationEmigration.departureZone=Zone de d\u00E9part
+isisfish.populationMigrationEmigration.departureZone=Zone de départ
isisfish.populationMigrationEmigration.title=Emmigration
-isisfish.populationMigrationImmigration.arrivalZone=Zone d'arriv\u00E9e
+isisfish.populationMigrationImmigration.arrivalZone=Zone d'arrivée
isisfish.populationMigrationImmigration.coefficient=Coefficient
isisfish.populationMigrationImmigration.title=Immigration
-isisfish.populationMigrationMigration.arrivalZone=Zone d'arriv\u00E9e
+isisfish.populationMigrationMigration.arrivalZone=Zone d'arrivée
isisfish.populationMigrationMigration.coefficient=Coefficient
-isisfish.populationMigrationMigration.departureZone=Zone de d\u00E9part
+isisfish.populationMigrationMigration.departureZone=Zone de départ
isisfish.populationMigrationMigration.title=Migration de population
isisfish.populationRecruitment.comments=Commentaires
isisfish.populationRecruitment.monthgapgetweenreprorecruitment=Nombre de mois entre ponte et recrutement
isisfish.populationRecruitment.recruitmentDistribution=Distribution du recrutement
isisfish.populationRecruitment.reproductionEquation=Equation de reproduction
isisfish.populationRecruitment.title=Saisie des reproductions
-isisfish.populationSeasonInfo.arrival=Arriv\u00E9e
-isisfish.populationSeasonInfo.departure=D\u00E9part
+isisfish.populationSeasonInfo.arrival=Arrivée
+isisfish.populationSeasonInfo.departure=Départ
isisfish.populationSeasonInfo.distributionSpawing=Distribution de la reproduction
isisfish.populationSeasonInfo.emigration=Emigration
isisfish.populationSeasonInfo.group=Groupe
@@ -774,42 +774,42 @@
isisfish.populationSeasons.comments=Commentaires
isisfish.populationSeasons.computeCoefficient=Calculer le coefficient
isisfish.populationSeasons.distributionSpawning=Distribution de la reproduction
-isisfish.populationSeasons.noSpacialized=Non spatialis\u00E9
-isisfish.populationSeasons.selectSeason=S\u00E9lectionnez une saison
-isisfish.populationSeasons.showSpacialized=Voir les coefficients spatialis\u00E9s
-isisfish.populationSeasons.spacialized=spatialis\u00E9
-isisfish.populationSeasons.spacialized.visualisation=Coefficients spatialis\u00E9s
+isisfish.populationSeasons.noSpacialized=Non spatialisé
+isisfish.populationSeasons.selectSeason=Sélectionnez une saison
+isisfish.populationSeasons.showSpacialized=Voir les coefficients spatialisés
+isisfish.populationSeasons.spacialized=spatialisé
+isisfish.populationSeasons.spacialized.visualisation=Coefficients spatialisés
isisfish.populationSeasons.title=Saisons
isisfish.populationZones.betweenSpawningRecruitmentAreas=Correspondance entre les zones de reproduction et de recrutement
-isisfish.populationZones.selectPopulationAreas=S\u00E9lectionnez les zones des populations
-isisfish.populationZones.selectRecruitmentAreas=S\u00E9lectionnez les zones de recrutement
-isisfish.populationZones.selectSpawningAreas=S\u00E9lectionnez les zones de reproduction
+isisfish.populationZones.selectPopulationAreas=Sélectionnez les zones des populations
+isisfish.populationZones.selectRecruitmentAreas=Sélectionnez les zones de recrutement
+isisfish.populationZones.selectSpawningAreas=Sélectionnez les zones de reproduction
isisfish.populationZones.title=Zones
isisfish.port.cell=Maille du port
isisfish.port.comments=Commentaires
isisfish.port.name=Nom
-isisfish.preScript.backParameter=Retour aux param\u00E8tres
-isisfish.preScript.title=Script de pr\u00E9-simulation
-isisfish.queue.clearDone=Retirer les simulations termin\u00E9es
+isisfish.preScript.backParameter=Retour aux paramètres
+isisfish.preScript.title=Script de pré-simulation
+isisfish.queue.clearDone=Retirer les simulations terminées
isisfish.queue.id=Identifiant
isisfish.queue.launcher=Lanceur de simulation
isisfish.queue.masterplan=Plan de simulation
-isisfish.queue.notstarted=Non d\u00E9marr\u00E9
+isisfish.queue.notstarted=Non démarré
isisfish.queue.plan=Plan
isisfish.queue.progression=Progression
-isisfish.queue.restartSimulation=Red\u00E9marrer
+isisfish.queue.restartSimulation=Redémarrer
isisfish.queue.showLog=Voir les logs de la simulation
isisfish.queue.simulationLaunch=Lanceur de la queue des simulations
-isisfish.queue.status=\u00C9tat
-isisfish.queue.stopSimulation=Arr\u00EAter la simulation
+isisfish.queue.status=État
+isisfish.queue.stopSimulation=Arrêter la simulation
isisfish.queue.title=Queue
isisfish.result.abundance=Abondance
-isisfish.result.add=Ajouter un r\u00E9sultat
-isisfish.result.begin.simulation=En d\u00E9but de simulation \:
+isisfish.result.add=Ajouter un résultat
+isisfish.result.begin.simulation=En début de simulation \:
isisfish.result.capture=Capturer
-isisfish.result.capture.metier=Capturer par m\u00E9tier
+isisfish.result.capture.metier=Capturer par métier
isisfish.result.choose.simulation=Choisir une simulation
-isisfish.result.datas=Donn\u00E9es
+isisfish.result.datas=Données
isisfish.result.dimension=Dimension
isisfish.result.end.simulation=En fin de Simulation\:
isisfish.result.export=Export
@@ -817,62 +817,62 @@
isisfish.result.file=Fichier
isisfish.result.graph=Graphe
isisfish.result.map=Carte
-isisfish.result.new.window=Ouvrir une nouvelle fen\u00EAtre
+isisfish.result.new.window=Ouvrir une nouvelle fenêtre
isisfish.result.quit=Quitter
isisfish.result.reject.metier=Rejet par metier
isisfish.result.remove.simulation=Supprimer Simulation
-isisfish.result.selectResult=R\u00E9sultat \:
+isisfish.result.selectResult=Résultat \:
isisfish.result.show.simulation.log=Voir les logs
isisfish.result.statusBar=\
isisfish.result.stress.metier=Effort par metier
-isisfish.result.summary=R\u00E9sum\u00E9
-isisfish.result.title=R\u00E9sultat
+isisfish.result.summary=Résumé
+isisfish.result.title=Résultat
isisfish.result.unload.metier=Debarquement par metier
-isisfish.resultChoice.save=R\u00E9sultats \u00E0 sauvegarder
-isisfish.resultChoice.saved=R\u00E9sultats sauvegard\u00E9
-isisfish.resultChoice.title=Choix de r\u00E9sultats
-isisfish.script.check=V\u00E9rifier
-isisfish.script.check.tooltip=V\u00E9rifie la synthaxe du script
+isisfish.resultChoice.save=Résultats à sauvegarder
+isisfish.resultChoice.saved=Résultats sauvegardé
+isisfish.resultChoice.title=Choix de résultats
+isisfish.script.check=Vérifier
+isisfish.script.check.tooltip=Vérifie la synthaxe du script
isisfish.script.commit=Commit
isisfish.script.commit.tooltip=Committer le script sur le serveur SVN
isisfish.script.compilation.failed=%s
-isisfish.script.compilation.ok=Compilation r\u00E9ussie.\n--------------------\n\n%s
+isisfish.script.compilation.ok=Compilation réussie.\n--------------------\n\n%s
isisfish.script.compilingfile=Compilation de %s...
isisfish.script.copy=Copier
-isisfish.script.copy.tooltip=Copier la s\u00E9lection courante (Ctrl-c)
+isisfish.script.copy.tooltip=Copier la sélection courante (Ctrl-c)
isisfish.script.cut=Couper
-isisfish.script.cut.tooltip=Couper la s\u00E9lection courante (Ctrl-x)
-isisfish.script.evaluate=\u00C9valuer
+isisfish.script.cut.tooltip=Couper la sélection courante (Ctrl-x)
+isisfish.script.evaluate=Évaluer
isisfish.script.evaluate.tooltip=Lance le script (doit contenir une methode main() pour fonctionner)
isisfish.script.export=Exporter
-isisfish.script.export.checkAll=Tout (d\u00E9-)s\u00E9lectionner
+isisfish.script.export.checkAll=Tout (dé-)sélectionner
isisfish.script.export.chooseDir=...
-isisfish.script.export.tooltip=Exporter les scripts s\u00E9lectionn\u00E9s vers une archive zip
-isisfish.script.export.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts \u00E0 exporter
-isisfish.script.export.tooltip.chooseDir=Choisir le r\u00E9pertoire o\u00F9 exporter les scripts
+isisfish.script.export.tooltip=Exporter les scripts sélectionnés vers une archive zip
+isisfish.script.export.tooltip.checkAll=(Dé-)Sélectionner tous les scripts à exporter
+isisfish.script.export.tooltip.chooseDir=Choisir le répertoire où exporter les scripts
isisfish.script.import=Importer des scripts depuis une archive zip
isisfish.script.import.cancel=Annuler
-isisfish.script.import.checkAll=Tout (d\u00E9-)s\u00E9lectionner
+isisfish.script.import.checkAll=Tout (dé-)sélectionner
isisfish.script.import.import=Importer
-isisfish.script.import.labelAdd=Le(s) fichier(s) suivant(s) sera(ont) ajout\u00E9(s), Confirmer l'ajout
-isisfish.script.import.labelOverwrite=Le(s) fichier(s) suivant(s) existe(nt) d\u00E9j\u00E0, Confirmer pour l'\u00E9crasement
-isisfish.script.import.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts \u00E0 importer
-isisfish.script.javadoc.ok=Javadoc g\u00E9n\u00E9r\u00E9e avec succ\u00E8s\n---------------------------\n\n%s
-isisfish.script.menu.checkAllSyntax=V\u00E9rifier tous les scripts
-isisfish.script.menu.checkSyntax=V\u00E9rifier la syntaxe
+isisfish.script.import.labelAdd=Le(s) fichier(s) suivant(s) sera(ont) ajouté(s), Confirmer l'ajout
+isisfish.script.import.labelOverwrite=Le(s) fichier(s) suivant(s) existe(nt) déjà, Confirmer pour l'écrasement
+isisfish.script.import.tooltip.checkAll=(Dé-)Sélectionner tous les scripts à importer
+isisfish.script.javadoc.ok=Javadoc générée avec succès\n---------------------------\n\n%s
+isisfish.script.menu.checkAllSyntax=Vérifier tous les scripts
+isisfish.script.menu.checkSyntax=Vérifier la syntaxe
isisfish.script.menu.code=Code
isisfish.script.menu.commit=Commiter des scripts sur le serveur
isisfish.script.menu.copy=Copier
isisfish.script.menu.cut=Couper
isisfish.script.menu.deleteLocaly=Supprimer localement
isisfish.script.menu.deleteLocalyServer=Supprimer localement et sur le serveur
-isisfish.script.menu.diff=Voir les diff\u00E9rences avec la version du serveur
-isisfish.script.menu.edit=\u00C9dition
+isisfish.script.menu.diff=Voir les différences avec la version du serveur
+isisfish.script.menu.edit=Édition
isisfish.script.menu.evaluate=Evaluer
isisfish.script.menu.file=Fichier
-isisfish.script.menu.javadocgenerate=G\u00E9n\u00E9rer la javadoc
-isisfish.script.menu.javadocgenerated=Javadoc g\u00E9n\u00E9r\u00E9e dans %s
-isisfish.script.menu.javadocgenerating=Javadoc en cours de g\u00E9n\u00E9ration dans %s...
+isisfish.script.menu.javadocgenerate=Générer la javadoc
+isisfish.script.menu.javadocgenerated=Javadoc générée dans %s
+isisfish.script.menu.javadocgenerating=Javadoc en cours de génération dans %s...
isisfish.script.menu.javadocshow=Afficher la javadoc
isisfish.script.menu.new=Nouveau
isisfish.script.menu.paste=Coller
@@ -882,25 +882,25 @@
isisfish.script.menu.txtNewAnalysePlan=Nouveau plan d'analyse
isisfish.script.menu.txtNewEquationModel=Nouvelle formule
isisfish.script.menu.txtNewExport=Nouveau script d'export
-isisfish.script.menu.txtNewRule=Nouvelle r\u00E8gle
+isisfish.script.menu.txtNewRule=Nouvelle règle
isisfish.script.menu.txtNewScript=Nouveau script
-isisfish.script.menu.txtNewSensitivity=Nouveau calculateur de sensibilit\u00E9
-isisfish.script.menu.txtNewSensitivityExport=Nouvel export de sensibilit\u00E9
+isisfish.script.menu.txtNewSensitivity=Nouveau calculateur de sensibilité
+isisfish.script.menu.txtNewSensitivityExport=Nouvel export de sensibilité
isisfish.script.menu.txtNewSimulator=Nouveau simulateur
isisfish.script.menu.txtVCS=Serveur
isisfish.script.menu.update=Synchronisation
isisfish.script.new=Nouveau
-isisfish.script.new.tooltip=Cr\u00E9e un nouveau script
+isisfish.script.new.tooltip=Crée un nouveau script
isisfish.script.paste=Coller
-isisfish.script.paste.tooltip=Colle la s\u00E9lection courante (Ctrl-v)
+isisfish.script.paste.tooltip=Colle la sélection courante (Ctrl-v)
isisfish.script.save=Sauver
isisfish.script.save.tooltip=Sauve le script
isisfish.script.title=Editeur de scripts
isisfish.season.toString=saison %1$s-%2$s
isisfish.selectivity.equation=Equation
-isisfish.selectivity.selectPopulation=S\u00E9lectionnez une population
-isisfish.selectivity.title=S\u00E9lectivit\u00E9
-isisfish.sens.backParameter=Retour aux param\u00E8tres
+isisfish.selectivity.selectPopulation=Sélectionnez une population
+isisfish.selectivity.title=Sélectivité
+isisfish.sens.backParameter=Retour aux paramètres
isisfish.sens.title=Plan de simulation
isisfish.sensitivity.coefficient=Coefficient (en %)
isisfish.sensitivity.comment=Commentaires
@@ -909,83 +909,83 @@
isisfish.sensitivity.continuouspercentagetype=Type pourcentage
isisfish.sensitivity.discret=Facteur discret
isisfish.sensitivity.discretevaluelabel=Valeur %d
-isisfish.sensitivity.displaysecondpass=Afficher les r\u00E9sultats
+isisfish.sensitivity.displaysecondpass=Afficher les résultats
isisfish.sensitivity.equation.variable.action=Action
isisfish.sensitivity.equation.variable.coefficient=Coef (en %)
isisfish.sensitivity.equation.variable.name=Nom
-isisfish.sensitivity.equation.variable.operator=Op\u00E9rateur
+isisfish.sensitivity.equation.variable.operator=Opérateur
isisfish.sensitivity.equation.variable.value=Valeur
isisfish.sensitivity.export=Export
isisfish.sensitivity.factor=Facteur
isisfish.sensitivity.factor.notvalid=Facteur non valide \!
isisfish.sensitivity.factors=Facteurs
-isisfish.sensitivity.firstValue=Premi\u00E8re valeur
-isisfish.sensitivity.increment=Cardinalit\u00E9
-isisfish.sensitivity.lastValue=Derni\u00E8re valeur
-isisfish.sensitivity.methodfactorsupported=La m\u00E9thode de sensibilit\u00E9 choisie g\u00E8re les cardinalit\u00E9s des facteurs
-isisfish.sensitivity.moveillegal=Impossible d'ajouter des facteurs discret et continues dans un m\u00EAme groupe de facteurs \!
+isisfish.sensitivity.firstValue=Première valeur
+isisfish.sensitivity.increment=Cardinalité
+isisfish.sensitivity.lastValue=Dernière valeur
+isisfish.sensitivity.methodfactorsupported=La méthode de sensibilité choisie gère les cardinalités des facteurs
+isisfish.sensitivity.moveillegal=Impossible d'ajouter des facteurs discret et continues dans un même groupe de facteurs \!
isisfish.sensitivity.name=Nom du facteur
isisfish.sensitivity.newfactorgroup.tip=Ajouter un groupe de facteur
isisfish.sensitivity.newfactorname=Nom du groupe de facteurs
-isisfish.sensitivity.operator=Op\u00E9rateur
-isisfish.sensitivity.referencevalue=Valeur de r\u00E9f\u00E9rence
-isisfish.sensitivity.secondpass=Analyse des r\u00E9sultats
-isisfish.sensitivity.secondpass.title=Analyse des r\u00E9sultats
-isisfish.sensitivity.select=M\u00E9thode
+isisfish.sensitivity.operator=Opérateur
+isisfish.sensitivity.referencevalue=Valeur de référence
+isisfish.sensitivity.secondpass=Analyse des résultats
+isisfish.sensitivity.secondpass.title=Analyse des résultats
+isisfish.sensitivity.select=Méthode
isisfish.sensitivity.selectDiscretNumber=Nombre de facteurs
-isisfish.sensitivity.title=Analyse de sensibilit\u00E9
+isisfish.sensitivity.title=Analyse de sensibilité
isisfish.sensitivity.validDiscretNumber=Valider
isisfish.sensitivity.value=Valeur
-isisfish.sensitivityChooser.title=M\u00E9thode de la sensibilit\u00E9
-isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
+isisfish.sensitivityChooser.title=Méthode de la sensibilité
+isisfish.server.ssh.generateKey.title=Générer une clé SSH
isisfish.setOfVessels.comments=Commentaires
-isisfish.setOfVessels.fixedCosts=Co\u00FBts fixes
+isisfish.setOfVessels.fixedCosts=Coûts fixes
isisfish.setOfVessels.name=Nom
isisfish.setOfVessels.numberOfVessels=Nombre de navires
-isisfish.setOfVessels.technicalEfficiency=\u00C9fficacit\u00E9 technique
-isisfish.setOfVessels.title=Caract\u00E9ristiques
+isisfish.setOfVessels.technicalEfficiency=Éfficacité technique
+isisfish.setOfVessels.title=Caractéristiques
isisfish.setOfVessels.vesselType=Type de navire
isisfish.simpleResult.more.information=Cliquer sur une cellule pour plus d'informations...
isisfish.simulation.log.console.title=Console de log simulation '%1$s'
isisfish.simulation.log.showConsole=affichage de la console de log pour la simulation %1$s
-isisfish.simulation.menu.import=Restaurer les param\u00E8tres d'une simulation
-isisfish.simulation.menu.save=Sauver les param\u00E8tres de la simulation
+isisfish.simulation.menu.import=Restaurer les paramètres d'une simulation
+isisfish.simulation.menu.save=Sauver les paramètres de la simulation
isisfish.simulation.menu.simulation=Simulation
isisfish.simulation.name=Nom de la simulation
-isisfish.simulation.remote.message.connection=Connexion \u00E0 Caparmor
+isisfish.simulation.remote.message.connection=Connexion à Caparmor
isisfish.simulation.remote.message.deletingfiles=Suppression des fichiers de simulation
-isisfish.simulation.remote.message.downloadresults=T\u00E9l\u00E9chargement des r\u00E9sultats
+isisfish.simulation.remote.message.downloadresults=Téléchargement des résultats
isisfish.simulation.remote.message.upload=Upload de la simulation
-isisfish.simulation.remote.message.waitingstart=Attente du d\u00E9marrage de la simulation
-isisfish.simulation.restarting=Red\u00E9marrage...
+isisfish.simulation.remote.message.waitingstart=Attente du démarrage de la simulation
+isisfish.simulation.restarting=Redémarrage...
isisfish.simulation.title=Lanceur de simulation
isisfish.simulator.configuration.r.cantinit=Impossible d'initialiser R \: %s
-isisfish.simulator.configuration.r.details=Cet \u00E9cran affiche la configuration syst\u00E8me actuelle de R et permet de tester si un appel simple \u00E0 R fonctionne.
+isisfish.simulator.configuration.r.details=Cet écran affiche la configuration système actuelle de R et permet de tester si un appel simple à R fonctionne.
isisfish.simulator.configuration.r.launchtest=Tester
-isisfish.simulator.configuration.r.lhsnotinstalled=La librairie 'lhs' n'est pas install\u00E9e \!
+isisfish.simulator.configuration.r.lhsnotinstalled=La librairie 'lhs' n'est pas installée \!
isisfish.simulator.configuration.r.rhome=R_HOME
isisfish.simulator.configuration.r.rtype=R.type
-isisfish.simulator.configuration.r.sensitivitynotinstalled=La librairie 'sensitivity' n'est pas install\u00E9e \!
+isisfish.simulator.configuration.r.sensitivitynotinstalled=La librairie 'sensitivity' n'est pas installée \!
isisfish.simulator.configuration.r.systempath=PATH
isisfish.simulator.configuration.r.systempathnok=Le path ne contient pas le dossier bin de R (%s)
isisfish.simulator.configuration.r.systempathok=Le path contient le dossier bin de R (%s)
-isisfish.simulator.configuration.r.testok=R test\u00E9 avec succ\u00E8s \!
+isisfish.simulator.configuration.r.testok=R testé avec succès \!
isisfish.simulator.configuration.r.title=Configuration de R
-isisfish.simulator.launcher.inprocess=dans le m\u00EAme processus
+isisfish.simulator.launcher.inprocess=dans le même processus
isisfish.simulator.launcher.remote=sur le serveur Caparmor
isisfish.simulator.launcher.subprocess=dans un sous processus
-isisfish.simulator.simulaction.badid=Impossible de lancer la simulation '%s' \: l'identifiant existe d\u00E9j\u00E0 \!
+isisfish.simulator.simulaction.badid=Impossible de lancer la simulation '%s' \: l'identifiant existe déjà \!
isisfish.simulator.ssh.configuration.connecting=Connexion en cours
-isisfish.simulator.ssh.configuration.connectingpk=Connexion en cours (avec cl\u00E9 publique)
+isisfish.simulator.ssh.configuration.connectingpk=Connexion en cours (avec clé publique)
isisfish.simulator.ssh.configuration.connection=Information de connexion
isisfish.simulator.ssh.configuration.connectionerror=Connexion impossible (%s)
-isisfish.simulator.ssh.configuration.connectionok=Connect\u00E9 avec succ\u00E8s
+isisfish.simulator.ssh.configuration.connectionok=Connecté avec succès
isisfish.simulator.ssh.configuration.environment=Configuration sur Caparmor
-isisfish.simulator.ssh.configuration.freespace=Espace disque utilis\u00E9 \:
-isisfish.simulator.ssh.configuration.freespace.confirmdelete=Attention, la suppression du dossier '%s' est irr\u00E9versible.\nConfirmez-vous la suppression de son contenu ?
+isisfish.simulator.ssh.configuration.freespace=Espace disque utilisé \:
+isisfish.simulator.ssh.configuration.freespace.confirmdelete=Attention, la suppression du dossier '%s' est irréversible.\nConfirmez-vous la suppression de son contenu ?
isisfish.simulator.ssh.configuration.freespace.label=Taille de %s \: %s
isisfish.simulator.ssh.configuration.invalidpassphrase=Passphrase invalide
-isisfish.simulator.ssh.configuration.keygenerate=G\u00E9n\u00E9rer
+isisfish.simulator.ssh.configuration.keygenerate=Générer
isisfish.simulator.ssh.configuration.status=Statut
isisfish.simulator.ssh.configuration.test=Tester la configuration
isisfish.simulator.ssh.configuration.title=Configuration du lanceur Caparmor
@@ -994,21 +994,21 @@
isisfish.species.cee=CEE
isisfish.species.comments=Commentaires
isisfish.species.length=Longueur
-isisfish.species.name=Nom des esp\u00E8ces
+isisfish.species.name=Nom des espèces
isisfish.species.rubbinCode=Code Rubbin
isisfish.species.scientificName=Nom scientifique
-isisfish.species.structured=Structur\u00E9
-isisfish.ssh.askpassphrase.message=Entrez la passphrase pour la cl\u00E9 '%s' \:
-isisfish.ssh.askpassphrase.title=D\u00E9verrouillage de cl\u00E9 SSH
-isisfish.ssh.askpassphrase.wrongpassphrase=Mauvaise cl\u00E9, entrez une nouvelle passphrase '%s' \:
+isisfish.species.structured=Structuré
+isisfish.ssh.askpassphrase.message=Entrez la passphrase pour la clé '%s' \:
+isisfish.ssh.askpassphrase.title=Déverrouillage de clé SSH
+isisfish.ssh.askpassphrase.wrongpassphrase=Mauvaise clé, entrez une nouvelle passphrase '%s' \:
isisfish.strategy.comments=Commentaires
-isisfish.strategy.inactivity=Equation d'inactivit\u00E9
-isisfish.strategy.inactivityEquationUsed=Utiliser une \u00E9quation d'inactivit\u00E9
+isisfish.strategy.inactivity=Equation d'inactivité
+isisfish.strategy.inactivityEquationUsed=Utiliser une équation d'inactivité
isisfish.strategy.name=Nom
isisfish.strategy.proportionSetOfVessels=Proportion de la flottille
-isisfish.strategy.title=Caract\u00E9ristiques
-isisfish.strategyMonthInfo.metier=M\u00E9tier
-isisfish.strategyMonthInfo.minInactivityDays=Jour minimums d'inactivit\u00E9
+isisfish.strategy.title=Caractéristiques
+isisfish.strategyMonthInfo.metier=Métier
+isisfish.strategyMonthInfo.minInactivityDays=Jour minimums d'inactivité
isisfish.strategyMonthInfo.numberOfTrips=Nombre de trajets
isisfish.strategyMonthInfo.proportion=Proportion
isisfish.strategyMonthInfo.title=Saisie des mois
@@ -1019,7 +1019,7 @@
isisfish.tray.simulation.multi=Isis-fish - %s / %s
isisfish.tray.simulation.no=Isis-fish - Pas de simulation
isisfish.tripType.comments=Commentaires
-isisfish.tripType.duration=Dur\u00E9e
+isisfish.tripType.duration=Durée
isisfish.tripType.minTime=Temps minimal entre deux voyages
isisfish.tripType.name=Nom
isisfish.vcs.ask.passphrase=Entrez votre passphrase (si votre clef ssh en contient une).
@@ -1029,80 +1029,80 @@
isisfish.vcs.commit.label=Entrer quelques mots concernant la modification des scripts
isisfish.vcs.commit.ok=confirmer
isisfish.vcs.factory.cantinstanciate=Can't instanciate wanted VCS (%s), use default
-isisfish.vcs.howto.save.key=Comment enregister sa clef publique ssh aupr\u00E8s du labs
-isisfish.vcs.init.notfoundcantdownload=La base de donn\u00E9es pour la version %s n'a ni pu \u00EAtre trouv\u00E9e, ni t\u00E9l\u00E9charg\u00E9e.\nVous devez la t\u00E9l\u00E9charger manullement \u00E0 partir du site d'Isis-Fish.
-isisfish.vcs.init.wrongprotocol=Votre base de donn\u00E9es locale \: %s n'utilise pas un protocole correct.\nVoulez-vous faire une sauvegarde de cette base et r\u00E9cup\u00E9rer une meilleure version ?
-isisfish.vcs.save.key=Acc\u00E9der au labs pour enregister votre clef publique ssh
-isisfish.vcs.switchprotocol.confirm=Le protocole d'acc\u00E8s au d\u00E9p\u00F4t des scripts a chang\u00E9.\nVoulez-vous changer vers le nouveau d\u00E9p\u00F4t ?
-isisfish.vcs.switchtag.warningconflict=Votre base de donn\u00E9es a \u00E9t\u00E9 mise \u00E0 jour mais les fichiers suivants sont en conflit, merci de les v\u00E9rifier \:
-isisfish.vcs.switchversion.confirm=Vous n'utilisez pas le d\u00E9p\u00F4t correct pour votre version d'Isis-Fish \: %s.\nVoulez-vous changer de d\u00E9p\u00F4t ?
-isisfish.vcs.update=R\u00E9sultats de la synchronisation avec le serveur
+isisfish.vcs.howto.save.key=Comment enregister sa clef publique ssh auprès du labs
+isisfish.vcs.init.notfoundcantdownload=La base de données pour la version %s n'a ni pu être trouvée, ni téléchargée.\nVous devez la télécharger manullement à partir du site d'Isis-Fish.
+isisfish.vcs.init.wrongprotocol=Votre base de données locale \: %s n'utilise pas un protocole correct.\nVoulez-vous faire une sauvegarde de cette base et récupérer une meilleure version ?
+isisfish.vcs.save.key=Accéder au labs pour enregister votre clef publique ssh
+isisfish.vcs.switchprotocol.confirm=Le protocole d'accès au dépôt des scripts a changé.\nVoulez-vous changer vers le nouveau dépôt ?
+isisfish.vcs.switchtag.warningconflict=Votre base de données a été mise à jour mais les fichiers suivants sont en conflit, merci de les vérifier \:
+isisfish.vcs.switchversion.confirm=Vous n'utilisez pas le dépôt correct pour votre version d'Isis-Fish \: %s.\nVoulez-vous changer de dépôt ?
+isisfish.vcs.update=Résultats de la synchronisation avec le serveur
isisfish.vcs.update.cancel=annuler
isisfish.vcs.update.checkAll=(de)-select tout
isisfish.vcs.update.local=Systeme local
-isisfish.vcs.update.local.modified=Fichiers modifi\u00E9s
-isisfish.vcs.update.local.outofdateAndModified=Fichiers localement modifi\u00E9s en conflit avec le serveur
-isisfish.vcs.update.local.tooltip.modified=Fichiers localement modifi\u00E9s \n(confirmer pour revenir \u00E0 la version avant modification ou soum\u00EAtre au serveur)
-isisfish.vcs.update.local.tooltip.outofdateAndModified=Fichiers localement modifi\u00E9s mais ayant une version plus r\u00E9cente sur le serveur\n (confirmer pour revenir \u00E0 la version avant modification ou r\u00E9cup\u00E9rer la nouvelle version du serveur)
-isisfish.vcs.update.local.tooltip.unversionned=Fichiers uniquement pr\u00E9sents sur votre systeme \n(confirmer pour les enregister sur le serveur)
+isisfish.vcs.update.local.modified=Fichiers modifiés
+isisfish.vcs.update.local.outofdateAndModified=Fichiers localement modifiés en conflit avec le serveur
+isisfish.vcs.update.local.tooltip.modified=Fichiers localement modifiés \n(confirmer pour revenir à la version avant modification ou soumêtre au serveur)
+isisfish.vcs.update.local.tooltip.outofdateAndModified=Fichiers localement modifiés mais ayant une version plus récente sur le serveur\n (confirmer pour revenir à la version avant modification ou récupérer la nouvelle version du serveur)
+isisfish.vcs.update.local.tooltip.unversionned=Fichiers uniquement présents sur votre systeme \n(confirmer pour les enregister sur le serveur)
isisfish.vcs.update.local.unversionned=Nouveaux fichiers
isisfish.vcs.update.ok=continuer
isisfish.vcs.update.remote=Serveur distant
isisfish.vcs.update.remote.missing=Nouveaux fichiers
-isisfish.vcs.update.remote.outofdate=Fichiers plus r\u00E9cents sur le serveur
-isisfish.vcs.update.remote.tooltip.missing=Nouveaux fichiers uniquement pr\u00E9sents sur le serveur \n(confirmer pour les r\u00E9cup\u00E9rer)
-isisfish.vcs.update.remote.tooltip.outofdate=Fichiers dont il existe une version plus r\u00E9cente sur le serveur \n(confirmer pour les r\u00E9cup\u00E9rer)
-isisfish.vcs.update.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les fichiers (\u00E0 action unique) que vous voulez traiter
+isisfish.vcs.update.remote.outofdate=Fichiers plus récents sur le serveur
+isisfish.vcs.update.remote.tooltip.missing=Nouveaux fichiers uniquement présents sur le serveur \n(confirmer pour les récupérer)
+isisfish.vcs.update.remote.tooltip.outofdate=Fichiers dont il existe une version plus récente sur le serveur \n(confirmer pour les récupérer)
+isisfish.vcs.update.tooltip.checkAll=(Dé-)Sélectionner tous les fichiers (à action unique) que vous voulez traiter
isisfish.vcs.update.tooltip.local=vcs.update.tooltip.local
isisfish.vcs.update.tooltip.remote=vcs.update.tooltip.remote
-isisfish.vcs.update.warningconflict=Votre base de donn\u00E9es a \u00E9t\u00E9 mise \u00E0 jour\nmais les fichiers suivants sont en conflit, merci de les v\u00E9rifier \:\n
-isisfish.vcs.updateconfirm=Confirmation des ope\u00E9rations de synchronisation avec le serveur
+isisfish.vcs.update.warningconflict=Votre base de données a été mise à jour\nmais les fichiers suivants sont en conflit, merci de les vérifier \:\n
+isisfish.vcs.updateconfirm=Confirmation des opeérations de synchronisation avec le serveur
isisfish.vcs.updateconfirm.cancel=annuler
isisfish.vcs.updateconfirm.checkAll=(de)-select tout
-isisfish.vcs.updateconfirm.label=Confirmer les op\u00E9rations qui pourraient \u00E9craser vos fichiers
-isisfish.vcs.updateconfirm.label2='Etes vous sur de vouloir effectuer ces op\u00E9rations ?'
+isisfish.vcs.updateconfirm.label=Confirmer les opérations qui pourraient écraser vos fichiers
+isisfish.vcs.updateconfirm.label2='Etes vous sur de vouloir effectuer ces opérations ?'
isisfish.vcs.updateconfirm.ok=confirmer
-isisfish.vcs.updateconfirm.tooltip.checkAll=(D\u00E9-)S\u00E9lectionner tous les scripts que vous voulez traiter
-isisfish.vcs.updaterepository.confirm=Votre d\u00E9p\u00F4t des scripts n'est pas \u00E0 jour. Voulez-vous mettre \u00E0 jour les fichiers suivants ?
+isisfish.vcs.updateconfirm.tooltip.checkAll=(Dé-)Sélectionner tous les scripts que vous voulez traiter
+isisfish.vcs.updaterepository.confirm=Votre dépôt des scripts n'est pas à jour. Voulez-vous mettre à jour les fichiers suivants ?
isisfish.vcs.vcssvn.add.error=Impossible d'ajouter un fichier
-isisfish.vcs.vcssvn.add.errorreadonly=Vous ne pouver pas ajouter de fichier, ce d\u00E9p\u00F4t est en lecture seule \!
-isisfish.vcs.vcssvn.checkProtocol.error=Impossible d'obtenir l'adresse correspondant au d\u00E9p\u00F4t local
-isisfish.vcs.vcssvn.checkProtocol.relocate=Transfert du d\u00E9p\u00F4t %s de %s vers %s
-isisfish.vcs.vcssvn.checkout.error=Impossible de mettre \u00E0 jour
-isisfish.vcs.vcssvn.cleanup.error=Impossible de d\u00E9verrouiller la copie locale
+isisfish.vcs.vcssvn.add.errorreadonly=Vous ne pouver pas ajouter de fichier, ce dépôt est en lecture seule \!
+isisfish.vcs.vcssvn.checkProtocol.error=Impossible d'obtenir l'adresse correspondant au dépôt local
+isisfish.vcs.vcssvn.checkProtocol.relocate=Transfert du dépôt %s de %s vers %s
+isisfish.vcs.vcssvn.checkout.error=Impossible de mettre à jour
+isisfish.vcs.vcssvn.cleanup.error=Impossible de déverrouiller la copie locale
isisfish.vcs.vcssvn.commit.error=Impossible de commiter
-isisfish.vcs.vcssvn.commit.errorreadonly=Vous ne pouvez pas commiter, le d\u00E9p\u00F4t est en lecture seule
+isisfish.vcs.vcssvn.commit.errorreadonly=Vous ne pouvez pas commiter, le dépôt est en lecture seule
isisfish.vcs.vcssvn.delete.error=Impossible de supprimer des fichiers
-isisfish.vcs.vcssvn.delete.errorreadonly=Vous ne pouvez pas supprimer ce fichier, le d\u00E9p\u00F4t est en lecture seule
+isisfish.vcs.vcssvn.delete.errorreadonly=Vous ne pouvez pas supprimer ce fichier, le dépôt est en lecture seule
isisfish.vcs.vcssvn.diff.error=Impossible d'obtenir le diff
-isisfish.vcs.vcssvn.gettag.error=Erreur lors de la r\u00E9cup\u00E9ration de l'adresse du d\u00E9p\u00F4t local
+isisfish.vcs.vcssvn.gettag.error=Erreur lors de la récupération de l'adresse du dépôt local
isisfish.vcs.vcssvn.getupdate.error=Impossible d'obtenir le statut des fichiers
isisfish.vcs.vcssvn.global.filelocalandremotestatus=Le statut du fichier %s est (l\:%s/d\:%s)
isisfish.vcs.vcssvn.global.filestatus=Le statut de %s est %s
-isisfish.vcs.vcssvn.global.foundUpdatedFile=Ajout de %s comme fichier mis \u00E0 jour
-isisfish.vcs.vcssvn.global.torevision=\u00C0 la r\u00E9vision \: %d
-isisfish.vcs.vcssvn.isconnected.switchoff=Impossible de se connecter au serveur, passage en mode d\u00E9connect\u00E9 \: %s
-isisfish.vcs.vcssvn.isconnected.switchto=Connexion au serveur disponible, passage en mode connect\u00E9 \: %s
+isisfish.vcs.vcssvn.global.foundUpdatedFile=Ajout de %s comme fichier mis à jour
+isisfish.vcs.vcssvn.global.torevision=À la révision \: %d
+isisfish.vcs.vcssvn.isconnected.switchoff=Impossible de se connecter au serveur, passage en mode déconnecté \: %s
+isisfish.vcs.vcssvn.isconnected.switchto=Connexion au serveur disponible, passage en mode connecté \: %s
isisfish.vcs.vcssvn.isonremote.error=Le fichier %s n'est pas sur le serveur
isisfish.vcs.vcssvn.istag.notexist=Le tag %s n'existe pas
isisfish.vcs.vcssvn.isuptodate.error=Impossible d'obtenir le statut de fichier
isisfish.vcs.vcssvn.list.error=Impossible de lister
isisfish.vcs.vcssvn.localstatus.error=Impossible d'obtenir le statut local de fichier
isisfish.vcs.vcssvn.remotestatus.error=Impossible d'obtenir le statut distant de fichier
-isisfish.vcs.vcssvn.setTag.error=Erreur lors de la r\u00E9cup\u00E9ration de l'adresse du d\u00E9p\u00F4t local
-isisfish.vcs.vcssvn.settag.switchfromto=Switch du tag du d\u00E9p\u00F4t de %s \u00E0 %s
-isisfish.vcs.vcssvn.update.error=Impossible de mettre \u00E0 jour
-isisfish.vcs.vcssvn.update.notinlocal=Impossible de mettre \u00E0 jour des fichiers qui ne sont pas pas dans le d\u00E9p\u00F4t
-isisfish.versionStorage.removed=Supprim\u00E9
-isisfish.vesselType.activityRange=Intervalle d'activit\u00E9
+isisfish.vcs.vcssvn.setTag.error=Erreur lors de la récupération de l'adresse du dépôt local
+isisfish.vcs.vcssvn.settag.switchfromto=Switch du tag du dépôt de %s à %s
+isisfish.vcs.vcssvn.update.error=Impossible de mettre à jour
+isisfish.vcs.vcssvn.update.notinlocal=Impossible de mettre à jour des fichiers qui ne sont pas pas dans le dépôt
+isisfish.versionStorage.removed=Supprimé
+isisfish.vesselType.activityRange=Intervalle d'activité
isisfish.vesselType.comments=Commentaires
-isisfish.vesselType.fuelCost=Co\u00FBt fuel en route
+isisfish.vesselType.fuelCost=Coût fuel en route
isisfish.vesselType.length=Longueur
-isisfish.vesselType.maxDuration=Dur\u00E9e maximale du trajet
-isisfish.vesselType.miniCrew=Taille minimale d'\u00E9quipage
+isisfish.vesselType.maxDuration=Durée maximale du trajet
+isisfish.vesselType.miniCrew=Taille minimale d'équipage
isisfish.vesselType.name=Nom
isisfish.vesselType.speed=Vitesse
-isisfish.welcome.menu.about=\u00C0 propos
+isisfish.welcome.menu.about=À propos
isisfish.welcome.menu.api=API
isisfish.welcome.menu.close=Fermer
isisfish.welcome.menu.configuration=Configuration
@@ -1110,7 +1110,7 @@
isisfish.welcome.menu.configuration.sshlauncher=Configuration Caparmor
isisfish.welcome.menu.configuration.vcs=Configuration vcs
isisfish.welcome.menu.file=Fichier
-isisfish.welcome.menu.frame=Fen\u00EAtre
+isisfish.welcome.menu.frame=Fenêtre
isisfish.welcome.menu.help=Aide
isisfish.welcome.menu.help.isisfish=Site d'Isis-Fish
isisfish.welcome.menu.help.isisfishapi=API Isis-Fish
@@ -1118,36 +1118,36 @@
isisfish.welcome.menu.help.matrixapi=API NuitonMatrix
isisfish.welcome.menu.help.topiaapi=API ToPIA
isisfish.welcome.menu.input=Saisie
-isisfish.welcome.menu.monitor=Fen\u00EAtre de logs
+isisfish.welcome.menu.monitor=Fenêtre de logs
isisfish.welcome.menu.queue=Liste des simulations
-isisfish.welcome.menu.result=R\u00E9sultat
+isisfish.welcome.menu.result=Résultat
isisfish.welcome.menu.script=Script
isisfish.welcome.menu.simulation=Lanceur de simulations
isisfish.welcome.menu.synchro=Synchronisation Serveur
isisfish.welcome.title=Simulation Ifremer
-isisfish.wizardGroupCreation.allGroupsSameSize=Tous les groupes ont la m\u00EAme taille
+isisfish.wizardGroupCreation.allGroupsSameSize=Tous les groupes ont la même taille
isisfish.wizardGroupCreation.allValues=Entrer toutes les valeurs
-isisfish.wizardGroupCreation.computedGrowthCurve=Calcul\u00E9 par une courbe de croissance
+isisfish.wizardGroupCreation.computedGrowthCurve=Calculé par une courbe de croissance
isisfish.wizardGroupCreation.firstAge=Premier age
isisfish.wizardGroupCreation.firstAgeHelp=Premier age \= age minimal
isisfish.wizardGroupCreation.firstGroup=Premier groupe
-isisfish.wizardGroupCreation.firstLength=Taille min premi\u00E8re classe
-isisfish.wizardGroupCreation.firstLengthHelp=Taille min premi\u00E8re classe \= taille minimale du premier groupe
+isisfish.wizardGroupCreation.firstLength=Taille min première classe
+isisfish.wizardGroupCreation.firstLengthHelp=Taille min première classe \= taille minimale du premier groupe
isisfish.wizardGroupCreation.gapBetweenGroupsHelp=L'interval entre chaque groupe est de 1 an
isisfish.wizardGroupCreation.groupWidth=Longueur du groupe
isisfish.wizardGroupCreation.groupWidthHelp=Longueur du groupe \= Longueur du groupe
isisfish.wizardGroupCreation.lastAge=Dernier age
isisfish.wizardGroupCreation.lastAgeHelp=Dernier age \= age maximal
isisfish.wizardGroupCreation.maxGroupsLength=Taille maximale de groupes
-isisfish.wizardGroupCreation.maxGroupsLengthHelp=Un point-virgule ';' doit s\u00E9parer les tailles maximales de chaque groupe
+isisfish.wizardGroupCreation.maxGroupsLengthHelp=Un point-virgule ';' doit séparer les tailles maximales de chaque groupe
isisfish.wizardGroupCreation.numberGroup=Nombre de groupe
isisfish.wizardGroupCreation.numberGroupHelp=Nombre de groupe \= Nombre de groupe voulu
isisfish.wizardGroupCreation.numberGroups=Nombre de groupes
-isisfish.wizardGroupCreation.populationCharacteristics=Entrez les caract\u00E9ristiques de la population
+isisfish.wizardGroupCreation.populationCharacteristics=Entrez les caractéristiques de la population
isisfish.wizardGroupCreation.selectGroupLengthType=Choisir la longueur du groupe
isisfish.wizardGroupCreation.timeStep=Pas de temps (en mois)
-isisfish.wizardGroupCreation.title=Cr\u00E9ation du groupe
-isisfish.wizardGroupCreation.undefinedGrowthEquation=L'\u00E9quation utilis\u00E9e est la courbe de croissance de la population. Elle doit \u00EAtre pr\u00E9alablement d\u00E9finie.
+isisfish.wizardGroupCreation.title=Création du groupe
+isisfish.wizardGroupCreation.undefinedGrowthEquation=L'équation utilisée est la courbe de croissance de la population. Elle doit être préalablement définie.
isisfish.zone.cells=Cellules de la zone
isisfish.zone.comments=Commentaires
isisfish.zone.name=Nom
1
0
Author: tchemit
Date: 2011-05-15 20:44:09 +0000 (Sun, 15 May 2011)
New Revision: 3329
Log:
use last stable of i18n, nuiton-utils, eugene and topia
Modified:
isis-fish/branches/3.3.1/pom.xml
Modified: isis-fish/branches/3.3.1/pom.xml
===================================================================
--- isis-fish/branches/3.3.1/pom.xml 2011-05-15 14:44:24 UTC (rev 3328)
+++ isis-fish/branches/3.3.1/pom.xml 2011-05-15 20:44:09 UTC (rev 3329)
@@ -493,11 +493,11 @@
<license.licenseName>gpl_v2</license.licenseName>
<!-- Dependencies version -->
- <jaxxVersion>2.4.2-SNAPSHOT</jaxxVersion>
- <eugeneVersion>2.3.3</eugeneVersion>
- <topiaVersion>2.5.3</topiaVersion>
- <nuitonUtilsVersion>2.2-SNAPSHOT</nuitonUtilsVersion>
- <nuitonI18nVersion>2.3.2</nuitonI18nVersion>
+ <jaxxVersion>2.4.2</jaxxVersion>
+ <eugeneVersion>2.3.4</eugeneVersion>
+ <topiaVersion>2.5.4-SNAPSHOT</topiaVersion>
+ <nuitonUtilsVersion>2.2</nuitonUtilsVersion>
+ <nuitonI18nVersion>2.4</nuitonI18nVersion>
<nuitonWidgetsVersion>1.1.2-SNAPSHOT</nuitonWidgetsVersion>
<jrstPluginVersion>1.2</jrstPluginVersion>
<aspectwerkzVersion>2.0</aspectwerkzVersion>
1
0
r3328 - isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script
by tchemit@users.labs.libre-entreprise.org 15 May '11
by tchemit@users.labs.libre-entreprise.org 15 May '11
15 May '11
Author: tchemit
Date: 2011-05-15 14:44:24 +0000 (Sun, 15 May 2011)
New Revision: 3328
Log:
not use none public java class in JAXX files
Added:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptFileFilter.java
Modified:
isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2011-05-14 11:46:50 UTC (rev 3327)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2011-05-15 14:44:24 UTC (rev 3328)
@@ -86,6 +86,8 @@
import freemarker.template.Configuration;
import freemarker.template.Template;
+// chemit-2011-05-13 Avoid none public classes since JAXX can not parse multi classes in java file...
+/*
class ScriptFileFilter implements FileFilter {
protected FileFilter filter;
@@ -97,6 +99,7 @@
return !filter.accept(dir) || dir.getName().equals("data");
}
}
+*/
/**
* ScriptAction.
Added: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptFileFilter.java
===================================================================
--- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptFileFilter.java (rev 0)
+++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptFileFilter.java 2011-05-15 14:44:24 UTC (rev 3328)
@@ -0,0 +1,41 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2006 - 2010 Ifremer, 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.script;
+
+import java.io.File;
+import java.io.FileFilter;
+
+public class ScriptFileFilter implements FileFilter {
+ protected FileFilter filter;
+
+ public ScriptFileFilter(FileFilter filter) {
+ this.filter = filter;
+ }
+
+ public boolean accept(File dir) {
+ return !filter.accept(dir) || dir.getName().equals("data");
+ }
+}
Property changes on: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/ui/script/ScriptFileFilter.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
1
0
Author: tchemit
Date: 2011-05-14 11:46:50 +0000 (Sat, 14 May 2011)
New Revision: 3327
Log:
Update mavenpom4labs to 2.5.4.
Modified:
isis-fish/trunk/pom.xml
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2011-05-14 11:46:46 UTC (rev 3326)
+++ isis-fish/trunk/pom.xml 2011-05-14 11:46:50 UTC (rev 3327)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4labs</artifactId>
- <version>2.5.3</version>
+ <version>2.5.4</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0
Author: tchemit
Date: 2011-05-14 11:46:46 +0000 (Sat, 14 May 2011)
New Revision: 3326
Log:
Update mavenpom4labs to 2.5.4.
Modified:
isis-fish/branches/3.3.1/pom.xml
Modified: isis-fish/branches/3.3.1/pom.xml
===================================================================
--- isis-fish/branches/3.3.1/pom.xml 2011-05-13 09:59:24 UTC (rev 3325)
+++ isis-fish/branches/3.3.1/pom.xml 2011-05-14 11:46:46 UTC (rev 3326)
@@ -6,7 +6,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4labs</artifactId>
- <version>2.5.3</version>
+ <version>2.5.4</version>
</parent>
<groupId>fr.ifremer</groupId>
1
0