Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
March 2017
- 2 participants
- 20 discussions
Author: echatellier
Date: 2017-03-27 11:58:27 +0200 (Mon, 27 Mar 2017)
New Revision: 4414
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4414
Log:
refs #8733: Export de tous les param?\195?\168tres pour illustrer un papier
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2017-03-27 09:35:09 UTC (rev 4413)
+++ trunk/pom.xml 2017-03-27 09:58:27 UTC (rev 4414)
@@ -373,7 +373,7 @@
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
- <version>2.3.26-incubating</version>
+ <version>2.3.25-incubating</version>
<scope>compile</scope>
</dependency>
1
0
r4413 - in trunk: . src/main src/main/java/fr/ifremer/isisfish/entities src/main/java/fr/ifremer/isisfish/simulator/launcher src/main/java/fr/ifremer/isisfish/ui/input src/main/javascript src/main/javascript/templates src/main/javascript/templates/web src/main/resources/i18n
by echatellier@users.forge.codelutin.com 27 Mar '17
by echatellier@users.forge.codelutin.com 27 Mar '17
27 Mar '17
Author: echatellier
Date: 2017-03-27 11:35:09 +0200 (Mon, 27 Mar 2017)
New Revision: 4413
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4413
Log:
refs #8733: Export de tous les param?\195?\168tres pour illustrer un papier
Added:
trunk/.babelrc
trunk/package.json
trunk/src/main/javascript/
trunk/src/main/javascript/templates/
trunk/src/main/javascript/templates/web/
trunk/src/main/javascript/templates/web/region-web.html
Modified:
trunk/
trunk/pom.xml
trunk/src/main/java/fr/ifremer/isisfish/entities/RegionExportJson.java
trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx
trunk/src/main/resources/i18n/isis-fish_en_GB.properties
trunk/src/main/resources/i18n/isis-fish_fr_FR.properties
Index: trunk
===================================================================
--- trunk 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk 2017-03-27 09:35:09 UTC (rev 4413)
Property changes on: trunk
___________________________________________________________________
Modified: svn:ignore
## -13,3 +13,7 ##
.idea
build
.gradle
+node
+node_modules
+etc
+npm-debug.log
Added: trunk/.babelrc
===================================================================
--- trunk/.babelrc (rev 0)
+++ trunk/.babelrc 2017-03-27 09:35:09 UTC (rev 4413)
@@ -0,0 +1,5 @@
+{
+ "presets": [
+ "env"
+ ]
+}
\ No newline at end of file
Added: trunk/package.json
===================================================================
--- trunk/package.json (rev 0)
+++ trunk/package.json 2017-03-27 09:35:09 UTC (rev 4413)
@@ -0,0 +1,10 @@
+{
+ "devDependencies": {
+ "babel-cli": "^6.24.0",
+ "babel-preset-env": "^1.2.2",
+ "babel-html": "^0.5.0"
+ },
+ "scripts": {
+ "build": "babel-html -s src/main/javascript -d target/classes"
+ }
+}
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/pom.xml 2017-03-27 09:35:09 UTC (rev 4413)
@@ -12,7 +12,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>isis-fish</artifactId>
<version>4.4.1.0-SNAPSHOT</version>
-
+
<!-- POM Relationships : Inheritance : Dependencies -->
<dependencies>
@@ -373,7 +373,7 @@
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
- <version>2.3.25-incubating</version>
+ <version>2.3.26-incubating</version>
<scope>compile</scope>
</dependency>
@@ -608,75 +608,6 @@
</resource>
</resources>
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.nuiton.eugene</groupId>
- <artifactId>eugene-maven-plugin</artifactId>
- <version>2.14</version>
- </plugin>
-
- <plugin>
- <groupId>org.nuiton.jaxx</groupId>
- <artifactId>jaxx-maven-plugin</artifactId>
- <version>${jaxxVersion}</version>
- </plugin>
-
- <plugin>
- <groupId>org.nuiton.i18n</groupId>
- <artifactId>i18n-maven-plugin</artifactId>
- <version>${nuitonI18nVersion}</version>
- </plugin>
-
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <addClasspath>true</addClasspath>
- <mainClass>fr.ifremer.isisfish.IsisFish</mainClass>
- <classpathPrefix>lib/</classpathPrefix>
- </manifest>
- </archive>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <java.io.tmpdir>${project.build.directory}/surefire-workdir</java.io.tmpdir>
- </systemPropertyVariables>
- </configuration>
- <executions>
- <execution>
- <id>surefire-it</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <includes>
- <include>**/*IT.java</include>
- </includes>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-site-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.nuiton.jrst</groupId>
- <artifactId>doxia-module-jrst</artifactId>
- <version>${jrstPluginVersion}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </pluginManagement>
-
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
@@ -710,6 +641,7 @@
<plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>eugene-maven-plugin</artifactId>
+ <version>2.14</version>
<executions>
<execution>
<id>eugene-generation</id>
@@ -739,6 +671,7 @@
<plugin>
<groupId>org.nuiton.jaxx</groupId>
<artifactId>jaxx-maven-plugin</artifactId>
+ <version>${jaxxVersion}</version>
<executions>
<execution>
<goals>
@@ -756,6 +689,7 @@
<plugin>
<groupId>org.nuiton.i18n</groupId>
<artifactId>i18n-maven-plugin</artifactId>
+ <version>${nuitonI18nVersion}</version>
<configuration>
<entries>
<entry>
@@ -813,13 +747,90 @@
</execution>
</executions>
</plugin>
+
<plugin>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <addClasspath>true</addClasspath>
+ <mainClass>fr.ifremer.isisfish.IsisFish</mainClass>
+ <classpathPrefix>lib/</classpathPrefix>
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>com.github.eirslett</groupId>
+ <artifactId>frontend-maven-plugin</artifactId>
+ <version>1.3</version>
+ <configuration>
+ <nodeVersion>v7.7.4</nodeVersion>
+ </configuration>
+ <executions>
+ <execution>
+ <id>install node and npm</id>
+ <goals>
+ <goal>install-node-and-npm</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>npm install</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>install</arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>npm run</id>
+ <goals>
+ <goal>npm</goal>
+ </goals>
+ <configuration>
+ <arguments>run build</arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<argLine>${argLine}</argLine>
+ <systemPropertyVariables>
+ <java.io.tmpdir>${project.build.directory}/surefire-workdir</java.io.tmpdir>
+ </systemPropertyVariables>
</configuration>
+ <executions>
+ <execution>
+ <id>surefire-it</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ <configuration>
+ <includes>
+ <include>**/*IT.java</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
+
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <dependencies>
+ <dependency>
+ <groupId>org.nuiton.jrst</groupId>
+ <artifactId>doxia-module-jrst</artifactId>
+ <version>${jrstPluginVersion}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
</plugins>
</build>
Modified: trunk/src/main/java/fr/ifremer/isisfish/entities/RegionExportJson.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/entities/RegionExportJson.java 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/src/main/java/fr/ifremer/isisfish/entities/RegionExportJson.java 2017-03-27 09:35:09 UTC (rev 4413)
@@ -24,7 +24,6 @@
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonGenerator;
-import com.fasterxml.jackson.databind.ObjectMapper;
import fr.ifremer.isisfish.IsisConfig;
import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.types.RangeOfValues;
@@ -97,7 +96,7 @@
public RegionExportJson(Writer w) {
try {
JsonFactory f = new JsonFactory();
- g = f.createGenerator(w);
+ g = f.createGenerator(w)/*.useDefaultPrettyPrinter()*/;
toVisit = new LinkedList<>();
visited = new HashSet<>();
@@ -231,7 +230,6 @@
public void start() {
try {
g.writeStartObject();
- ObjectMapper m = new ObjectMapper();
} catch (IOException eee) {
throw new RuntimeException(eee);
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2017-03-27 09:35:09 UTC (rev 4413)
@@ -142,7 +142,7 @@
*/
protected void initFreemarker() {
- freemarkerConfiguration = new Configuration(Configuration.VERSION_2_3_0);
+ freemarkerConfiguration = new Configuration(Configuration.VERSION_2_3_25);
// needed to overwrite "Defaults to default system encoding."
// fix encoding issue on some systems
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputHandler.java 2017-03-27 09:35:09 UTC (rev 4413)
@@ -33,6 +33,7 @@
import java.awt.Cursor;
import java.awt.event.ItemEvent;
import java.io.File;
+import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JOptionPane;
@@ -44,9 +45,16 @@
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
+import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.entities.FisheryRegionImpl;
import fr.ifremer.isisfish.logging.RegionChangeLogger;
+import fr.ifremer.isisfish.simulator.launcher.SSHSimulatorLauncher;
import fr.ifremer.isisfish.ui.input.spatial.AskNewSpatialUI;
+import freemarker.cache.ClassTemplateLoader;
+import freemarker.ext.beans.BeansWrapper;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -54,6 +62,7 @@
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.nuiton.topia.persistence.TopiaEntityContextable;
+import org.nuiton.util.DesktopUtil;
import org.nuiton.util.FileUtil;
import fr.ifremer.isisfish.IsisFishDAOHelper;
@@ -87,7 +96,12 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
import org.nuiton.topia.persistence.TopiaEntity;
@@ -391,7 +405,7 @@
/**
* Exporter une entite json gzip
*/
- protected void exportJson(TopiaEntity e) {
+ protected void exportJson(TopiaEntity e) {
try {
File file = FileUtil.getFile(t("isisfish.input.menu.exportJson"), t("isisfish.common.export"), (Component)null,
".*" + RegionExportJson.FORMAT_EXTENSION + "$", t("isisfish.message.import.json.zipped"));
@@ -755,4 +769,43 @@
askNewSpatialUI.setVisible(true);
}
}
+
+ /**
+ * Realise un export JSON et affiche la page de visualisation dans un navigateur.
+ */
+ public void exportWeb() {
+ try {
+ StringWriter outJson = new StringWriter();
+ RegionExportJson json = new RegionExportJson(outJson);
+
+ FisheryRegion fisheryRegion = inputUI.getContextValue(FisheryRegion.class);
+ json.export(fisheryRegion);
+
+ Configuration freemarkerConfiguration = new Configuration(Configuration.VERSION_2_3_25);
+ freemarkerConfiguration.setDefaultEncoding("utf-8");
+ ClassTemplateLoader templateLoader = new ClassTemplateLoader(InputHandler.class, "/");
+ freemarkerConfiguration.setTemplateLoader(templateLoader);
+ freemarkerConfiguration.setObjectWrapper(new BeansWrapper(Configuration.VERSION_2_3_25));
+
+ // get template
+ Template template = freemarkerConfiguration.getTemplate("templates/web/region-web.html");
+ Map<String, Object> root = new HashMap<>();
+ root.put("fisheryRegion", fisheryRegion);
+ root.put("jsonExport", "\nvar jsonExport = " + outJson.toString() + ";");
+
+ // render template
+ File outFile = File.createTempFile("isis-export-", ".html");
+ outFile.deleteOnExit();
+ Writer outWriter = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(outFile)), StandardCharsets.UTF_8);
+ template.process(root, outWriter);
+ outWriter.flush();
+
+ // open file
+ DesktopUtil.browse(outFile.toURI());
+
+ } catch (IOException|TemplateException ex) {
+ throw new IsisFishRuntimeException("Can't export web", ex);
+ }
+
+ }
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputUI.jaxx 2017-03-27 09:35:09 UTC (rev 4413)
@@ -42,9 +42,11 @@
<JMenuItem id="menuRegionExport" text="isisfish.input.menu.exportRegion" enabled='{isRegionLoaded()}' onActionPerformed="handler.exportRegion()" />
<JMenuItem id="menuExportJson" text="isisfish.input.menu.exportJson" enabled='{isRegionLoaded()}' onActionPerformed="handler.exportEntityJson()" />
<JMenuItem id="menuImportJson" text="isisfish.input.menu.importJson" enabled='{isRegionLoaded()}' onActionPerformed="handler.importEntityJson()" />
- <JMenuItem id="menuChangeResolution" text="isisfish.input.menu.changeResolution" enabled='{isRegionLoaded()}' onActionPerformed="handler.changeSpatialResolution()" />
<JMenuItem id="menuRegionCopy" text="isisfish.input.menu.copyRegion" enabled='{isRegionLoaded()}' onActionPerformed="handler.copyRegion()" />
<JSeparator/>
+ <JMenuItem id="menuChangeResolution" text="isisfish.input.menu.changeResolution" enabled='{isRegionLoaded()}' onActionPerformed="handler.changeSpatialResolution()" />
+ <JMenuItem id="menuExportWeb" text="isisfish.input.menu.exportWeb" enabled='{isRegionLoaded()}' onActionPerformed="handler.exportWeb()" />
+ <JSeparator/>
<JMenuItem text="isisfish.input.menu.removeLocaly" enabled='{isRegionLoaded()}' onActionPerformed="handler.removeRegion(false)" />
</JMenu>
<JMenu text="isisfish.input.menu.server">
Added: trunk/src/main/javascript/templates/web/region-web.html
===================================================================
--- trunk/src/main/javascript/templates/web/region-web.html (rev 0)
+++ trunk/src/main/javascript/templates/web/region-web.html 2017-03-27 09:35:09 UTC (rev 4413)
@@ -0,0 +1,601 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Region ${fisheryRegion.name}</title>
+ <meta charset="UTF-8">
+
+ <style type="text/css">
+ .exportTitle {
+ text-align: center;
+ }
+ .category {
+
+ }
+ .category > .title {
+ color: #044F90;
+ border-bottom: 1px solid;
+ }
+ .category .entity {
+ margin-left: 15px;
+ }
+ .category .entity > .detailblock {
+ margin-left: 15px;
+ }
+ .category .entity > .title {
+ text-decoration: underline;
+ cursor: pointer;
+ }
+ .warning {
+ color: #FFA500;
+ }
+ .error {
+ color: red;
+ }
+ </style>
+
+ <script>
+ function render(json) {
+ let content = renderJsonExport(json);
+ document.getElementById("render").innerHTML = content;
+ }
+
+ function renderJsonExport(json) {
+ return `<div class='category' id="regions">
+ <div class='title'>Region</div>
+ ${renderCollection(json, json.FisheryRegion, renderFisheryRegion)}
+ </div>
+ <div class='category' id="cells">
+ <div class='title'>Mailles</div>
+ ${renderCollection(json, json.Cell, renderCell)}
+ </div>
+ <div class='category' id="zones">
+ <div class='title'>Zones</div>
+ ${renderCollection(json, json.Zone, renderZone)}
+ </div>
+ <div class='category' id="ports">
+ <div class='title'>Ports</div>
+ ${renderCollection(json, json.Port, renderPort)}
+ </div>
+ <div class='category' id="species">
+ <div class='title'>Species</div>
+ ${renderCollection(json, json.Species, renderSpecies)}
+ </div>
+ <div class='category' id='populations'>
+ <div class='title'>Population</div>
+ ${renderCollection(json, json.Population, renderPopulation)}
+ </div>
+ <div class='category' id='gears'>
+ <div class='title'>Gears</div>
+ ${renderCollection(json, json.Gear, renderGear)}
+ </div>
+ <div class='category' id='metiers'>
+ <div class='title'>Metiers</div>
+ ${renderCollection(json, json.Metier, renderMetier)}
+ </div>
+ <div class='category' id='triptypes'>
+ <div class='title'>Trip types</div>
+ ${renderCollection(json, json.TripType, renderTripType)}
+ </div>
+ <div class='category' id='vesselTypes'>
+ <div class='title'>Vessel types</div>
+ ${renderCollection(json, json.VesselType, renderVesselType)}
+ </div>
+ <div class='category' id='setofvessels'>
+ <div class='title'>Set of vessels</div>
+ ${renderCollection(json, json.SetOfVessels, renderSetOfVessels)}
+ </div>
+ <div class='category' id='strategies'>
+ <div class='title'>Strategies</div>
+ ${renderCollection(json, json.Strategy, renderStrategy)}
+ </div>
+ <div class='category' id='observations'>
+ <div class='title'>Observation</div>
+ ${renderCollection(json, json.Observation, renderObservation)}
+ </div>
+ `;
+ }
+
+ function renderFisheryRegion(json, fisheryRegion) {
+ return `<!-- ${JSON.stringify(fisheryRegion)} -->
+ <div class='entity' id='${cleanEntityId(fisheryRegion)}'>
+ <span class='title' onclick='switchDetail(this)'>${fisheryRegion.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Latitude minimale : ${fisheryRegion.minLatitude}</div>
+ <div class='detail'>Latitude maximale : ${fisheryRegion.maxLatitude}</div>
+ <div class='detail'>Longitude minimale : ${fisheryRegion.minLongitude}</div>
+ <div class='detail'>Longitude maximale : ${fisheryRegion.maxLongitude}</div>
+ <div class='detail'>Longitude maximale : ${fisheryRegion.maxLongitude}</div>
+ <div class='detail'>Latitude : ${fisheryRegion.cellLengthLatitude}</div>
+ <div class='detail'>Longitude : ${fisheryRegion.cellLengthLongitude}</div>
+ <div class='detail'>Commentaire : ${fisheryRegion.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderCell(json, cell) {
+ return `<!-- ${JSON.stringify(cell)} -->
+ <div class='entity' id='${cleanEntityId(cell)}'>
+ <span class='title' onclick='switchDetail(this)'>${cell.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Latitude : ${cell.latitude}</div>
+ <div class='detail'>Longitude : ${cell.longitude}</div>
+ <div class='detail'>Terre : ${cell.land}</div>
+ <div class='detail'>Comment : ${cell.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderZone(json, zone) {
+ return `<!-- ${JSON.stringify(zone)} -->
+ <div class='entity' id='${cleanEntityId(zone)}'>
+ <span class='title' onclick='switchDetail(this)'>${zone.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Cell : ${entityIdsLinks(json, zone.cell)}</div>
+ <div class='detail'>Comment : ${zone.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderPort(json, port) {
+ return `<!-- ${JSON.stringify(port)} -->
+ <div class='entity' id='${cleanEntityId(port)}'>
+ <span class='title' onclick='switchDetail(this)'>${port.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Cell : ${entityIdLink(json, port.cell)}</div>
+ <div class='detail'>Comment : ${port.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderSpecies(json, species) {
+ return `<!-- ${JSON.stringify(species)} -->
+ <div class='entity' id='${cleanEntityId(species)}'>
+ <span class='title' onclick='switchDetail(this)'>${species.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Scientific name : ${species.scientificName}</div>
+ <div class='detail'>Code rubbin : ${species.codeRubbin}</div>
+ <div class='detail'>Code CEE : ${species.codeCEE}</div>
+ <div class='detail'>Age group type : ${species.ageGroupType}</div>
+ <div class='detail'>Populations : ${entityIdsLinks(json, species.population)}</div>
+ <div class='detail'>Comment : ${species.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderPopulation(json, population) {
+ return `<!-- ${JSON.stringify(population)} -->
+ <div class='entity' id='${cleanEntityId(population)}'>
+ <span class='title' onclick='switchDetail(this)'>${population.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Geographic Id : ${population.geographicId}</div>
+ <div class='detail'>plusGroup : ${population.plusGroup}</div>
+ ${renderEquation(json, "growth", population.growth)}
+ ${renderEquation(json, "growthReverse", population.growthReverse)}
+ <div class='detail'>Comment : ${population.comment}</div>
+
+ <div class='detail'>Population zones : ${entityIdsLinks(json, population.populationZone)}</div>
+ <div class='detail'>Reproduction zones : ${entityIdsLinks(json, population.reproductionZone)}</div>
+ <div class='detail'>Recruitment zones : ${entityIdsLinks(json, population.reproductionZone)}</div>
+ ${renderMatrix(json, "Mapping of reproduction zones and recruitment zones", population.mappingZoneReproZoneRecru)}
+
+ ${renderCollection(json, population.populationSeasonInfo, renderPopulationSeasonInfo)}
+
+ ${renderEquation(json, "naturalDeathRate", population.naturalDeathRate)}
+ ${renderEquation(json, "meanWeight", population.meanWeight)}
+ ${renderEquation(json, "maturityOgive", population.maturityOgiveEquation)}
+ ${renderEquation(json, "reproductionRateEquation", population.reproductionRateEquation)}
+
+ ${renderEquation(json, "reproduction", population.reproductionEquation)}
+ <div class='detail'>Month gap between repro and recruitment : ${population.monthGapBetweenReproRecrutement}</div>
+ ${renderMatrix1D(json, "Recruitment distribution", population.recruitmentDistribution)}
+ ${renderEquation(json, "Recruitment equation", population.recruitmentEquation)}
+ <div class='detail'>Recruitment comment : ${population.recruitmentComment}</div>
+
+ ${renderCollection(json, population.populationGroup, renderPopulationGroup)}
+
+ ${renderMatrix(json, "Accessibility", population.capturability)}
+ ${renderEquation(json, "Accessibility equation", population.capturabilityEquation)}
+ <div class='detail'>Accessibility comment : ${population.capturabilityComment}</div>
+
+ ${renderCollection(json, population.populationSeasonInfo, renderPopulationSeasonInfoMigration)}
+ <div class='detail'>Migration comment : ${population.migrationComment}</div>
+
+ ${renderEquation(json, "Price", population.price)}
+
+ <div class='detail'>Fbar Group Min : ${population.fbarGroupMin}</div>
+ <div class='detail'>Fbar Group Max : ${population.fbarGroupMax}</div>
+ <div class='detail'>Abundance reference month : ${population.abundanceReferenceMonth}</div>
+ <div class='detail'>F computing : ${population.computeFOnLandings}</div>
+ ${renderEquation(json, "Fishing mortality other fleets", population.fishingMortalityOtherFleets)}
+ </div>
+ </div>`;
+ }
+
+ function renderPopulationSeasonInfo(json, psi) {
+ return `<!-- ${JSON.stringify(psi)} -->
+ <div class='entity' id='${cleanEntityId(psi)}'>
+ <span class='title' onclick='switchDetail(this)'>${psi.firstMonth} - ${psi.lastMonth}</span>
+ <div class='detailblock'>
+ <div class='detail'>Group change : ${psi.groupChange}</div>
+ <div class='detail'>Reproduction : ${psi.reproduction}</div>
+ ${renderMatrix(json, "Reproduction distribution", psi.reproductionDistribution)}
+ <div class='detail'>Comment : ${psi.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderPopulationSeasonInfoMigration(json, psi) {
+ return `<!-- ${JSON.stringify(psi)} -->
+ <div class='entity' id='${cleanEntityId(psi)}'>
+ <span class='title' onclick='switchDetail(this)'>${psi.firstMonth} - ${psi.lastMonth}</span>
+ <div class='detailblock'>
+ <div class='detail'>Use migration equation : ${psi.useEquationMigration}</div>
+ ${renderEquation(json, "reproductionRateEquation", psi.migrationEquation)}
+ ${renderEquation(json, "reproductionRateEquation", psi.immigrationEquation)}
+ ${renderEquation(json, "reproductionRateEquation", psi.emigrationEquation)}
+ ${renderMatrix(json, "Migration matrix", psi.migrationMatrix)}
+ ${renderMatrix(json, "Immigration matrix", psi.immigrationMatrix)}
+ ${renderMatrix(json, "Emmigration matrix", psi.emigrationMatrix)}
+ </div>
+ </div>`;
+ }
+
+ function renderPopulationGroup(json, pg) {
+ return `<!-- ${JSON.stringify(pg)} -->
+ <div class='entity' id='${cleanEntityId(pg)}'>
+ <span class='title' onclick='switchDetail(this)'>${pg["#toString"]}</span>
+ <div class='detailblock'>
+ <div class='detail'>Age : ${pg.age}</div>
+ <div class='detail'>Min length : ${pg.minLength}</div>
+ <div class='detail'>Max length : ${pg.maxLength}</div>
+ <div class='detail'>Comment : ${pg.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderGear(json, gear) {
+ return `<!-- ${JSON.stringify(gear)} -->
+ <div class='entity' id='${cleanEntityId(gear)}'>
+ <span class='title' onclick='switchDetail(this)'>${gear.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Effort unit : ${gear.effortUnit}</div>
+ <div class='detail'>Standardisation factor : ${gear.standardisationFactor}</div>
+ <div class='detail'>Technical parameter : ${gear.parameterName}</div>
+ <div class='detail'>Range of values : ${gear.possibleValue}</div>
+ <div class='detail'>Comment : ${gear.comment}</div>
+ ${renderCollection(json, gear.populationSelectivity, renderSelectivity)}
+ </div>
+ </div>`;
+ }
+
+ function renderSelectivity(json, selectivity) {
+ return `<!-- ${JSON.stringify(selectivity)} -->
+ <div class='entity' id='${cleanEntityId(selectivity)}'>
+ <span class='title' onclick='switchDetail(this)'>${selectivity['#toString']}</span>
+ <div class='detailblock'>
+ <div class='detail'>Population : ${entityIdLink(json, selectivity.population)}</div>
+ ${renderEquation(json, "Equation", selectivity.equation)}
+ </div>
+ </div>`;
+ }
+
+ function renderMetier(json, metier) {
+ return `<!-- ${JSON.stringify(metier)} -->
+ <div class='entity' id='${cleanEntityId(metier)}'>
+ <span class='title' onclick='switchDetail(this)'>${metier.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Gear : ${entityIdLink(json, metier.gear)}</div>
+ <div class='detail'>Range of values : ${metier.gearParameterValue}</div>
+ <div class='detail'>Comment : ${metier.comment}</div>
+ ${renderCollection(json, metier.metierSeasonInfo, renderMetierSeasonInfo)}
+ </div>
+ </div>`;
+ }
+
+ function renderMetierSeasonInfo(json, msi) {
+ return `<!-- ${JSON.stringify(msi)} -->
+ <div class='entity' id='${cleanEntityId(msi)}'>
+ <span class='title' onclick='switchDetail(this)'>${msi['#toString']}</span>
+ <div class='detailblock'>
+ <div class='detail'>Zones : ${entityIdsLinks(json, msi.zone)}</div>
+ <div class='detail'>Comment : ${msi.comment}</div>
+ ${renderCollection(json, msi.speciesTargetSpecies, renderTargetSpecies)}
+ </div>
+ </div>`;
+ }
+
+ function renderTargetSpecies(json, ts) {
+ return `<!-- ${JSON.stringify(ts)} -->
+ <div class='entity' id='${cleanEntityId(ts)}'>
+ <span class='title' onclick='switchDetail(this)'>${ts['#toString']}</span>
+ <div class='detailblock'>
+ <div class='detail'>Species : ${entityIdLink(json, ts.species)}</div>
+ ${renderEquation(json, "Target factor", ts.targetFactorEquation)}
+ <div class='detail'>Main species for the metier : ${ts.primaryCatch}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderTripType(json, tripType) {
+ return `<!-- ${JSON.stringify(tripType)} -->
+ <div class='entity' id='${cleanEntityId(tripType)}'>
+ <span class='title' onclick='switchDetail(this)'>${tripType.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Duration : ${tripType.tripDuration}</div>
+ <div class='detail'>Minimum time between trips : ${tripType.minTimeBetweenTrip}</div>
+ <div class='detail'>Comment : ${tripType.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderVesselType(json, vesselType) {
+ return `<!-- ${JSON.stringify(vesselType)} -->
+ <div class='entity' id='${cleanEntityId(vesselType)}'>
+ <span class='title' onclick='switchDetail(this)'>${vesselType.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Length : ${vesselType.length}</div>
+ <div class='detail'>Speed : ${vesselType.speed}</div>
+ <div class='detail'>Max trip duration : ${vesselType.maxTripDuration}</div>
+ <div class='detail'>Activity range : ${vesselType.activityRange}</div>
+ <div class='detail'>Minimum Crew Size : ${vesselType.minCrewSize}</div>
+ <div class='detail'>Travel fuel cost : ${vesselType.unitFuelCostOfTravel}</div>
+ <div class='detail'>Trip type : ${entityIdsLinks(json, vesselType.tripType)}</div>
+ <div class='detail'>Comment : ${vesselType.comment}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderSetOfVessels(json, setOfVessels) {
+ return `<!-- ${JSON.stringify(setOfVessels)} -->
+ <div class='entity' id='${cleanEntityId(setOfVessels)}'>
+ <span class='title' onclick='switchDetail(this)'>${setOfVessels.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Port : ${entityIdLink(json, setOfVessels.port)}</div>
+ <div class='detail'>Vessel type : ${entityIdLink(json, setOfVessels.vesselType)}</div>
+ <div class='detail'>numberOfVessels : ${setOfVessels.numberOfVessels}</div>
+ <div class='detail'>fixedCosts : ${setOfVessels.fixedCosts}</div>
+ ${renderEquation(json, "Technical efficiency", setOfVessels.technicalEfficiencyEquation)}
+ <div class='detail'>Comment : ${setOfVessels.comment}</div>
+ ${renderCollection(json, setOfVessels.possibleMetiers, renderEffortDescription)}
+ </div>
+ </div>`;
+ }
+
+ function renderEffortDescription(json, ed) {
+ return `<!-- ${JSON.stringify(ed)} -->
+ <div class='entity' id='${cleanEntityId(ed)}'>
+ <span class='title' onclick='switchDetail(this)'>${ed['#toString']}</span>
+ <div class='detailblock'>
+ <div class='detail'>Possible metier : ${entityIdLink(json, ed.possibleMetiers)}</div>
+ <div class='detail'>Fishing operation : ${ed.fishingOperation}</div>
+ <div class='detail'>fishingOperationDuration : ${ed.fishingOperationDuration}</div>
+ <div class='detail'>gearsNumberPerOperation : ${ed.gearsNumberPerOperation}</div>
+ <div class='detail'>crewSize : ${ed.crewSize}</div>
+ <div class='detail'>unitCostOfFishing : ${ed.unitCostOfFishing}</div>
+ <div class='detail'>fixedCrewSalary : ${ed.fixedCrewSalary}</div>
+ <div class='detail'>crewShareRate : ${ed.crewShareRate}</div>
+ <div class='detail'>repairAndMaintenanceGearCost : ${ed.repairAndMaintenanceGearCost}</div>
+ <div class='detail'>landingCosts : ${ed.landingCosts}</div>
+ <div class='detail'>otherRunningCost : ${ed.otherRunningCost}</div>
+ </div>
+ </div>`;
+ }
+
+ function renderStrategy(json, strategy) {
+ return `<!-- ${JSON.stringify(strategy)} -->
+ <div class='entity' id='${cleanEntityId(strategy)}'>
+ <span class='title' onclick='switchDetail(this)'>${strategy.name}</span>
+ <div class='detailblock'>
+ <div class='detail'>Set of vessels : ${entityIdLink(json, strategy.setOfVessels)}</div>
+ <div class='detail'>Set of vessels proportion : ${strategy.proportionSetOfVessels}</div>
+ <div class='detail'>Use inactivity equation : ${strategy.inactivityEquationUsed}</div>
+ ${renderEquation(json, "Inactivity equation", strategy.inactivityEquation)}
+ <div class='detail'>Comment : ${strategy.comment}</div>
+ ${renderCollection(json, strategy.strategyMonthInfo, renderStrategyMonthInfo)}
+ </div>
+ </div>`;
+ }
+
+ function renderStrategyMonthInfo(json, smi) {
+ return `<!-- ${JSON.stringify(smi)} -->
+ <div class='entity' id='${cleanEntityId(smi)}'>
+ <span class='title' onclick='switchDetail(this)'>${smi['#toString']}</span>
+ <div class='detailblock'>
+ <div class='detail'>Trip type : ${entityIdLink(json, smi.tripType)}</div>
+ <div class='detail'>numberOfTrips : ${smi.numberOfTrips}</div>
+ <div class='detail'>minInactivityDays : ${smi.minInactivityDays}</div>
+ ${renderMatrix1D(json, "Proportion metier", smi.proportionMetier)}
+ </div>
+ </div>`;
+ }
+
+ function renderObservation(json, observation) {
+ return `<!-- ${JSON.stringify(observation)} -->
+ <div class='entity' id='${cleanEntityId(observation)}'>
+ <span class='title' onclick='switchDetail(this)'>${observation.name}</span>
+ <div class='detailblock'>
+ ${renderMatrix(json, "Value", observation.value)}
+ </div>
+ </div>`;
+ }
+
+ // apply "f" function for each entity of each id of collection
+ function renderCollection(json, ids, f) {
+ return ids.map(id => f(json, json["#entities"][id])).join("\n")
+ }
+
+ // clean entity id to be used in anchor
+ function cleanEntityId(entity) {
+ return entity["#id"].replace(/#/g,'_');
+ }
+
+ // generate entity link on id with name as content
+ function entityLink(entity) {
+ return `<a href='#${cleanEntityId(entity)}'>${entity.name || entity["#toString"]}</a>`;
+ }
+
+ // generate link on entity represented by his id
+ function entityIdLink(json, entityId) {
+ let entity = json["#entities"][entityId];
+ let result = "";
+ if (entity) { //entity found
+ result = entityLink(entity);
+ } else if (!entityId || entityId == "null") { // entity id empty
+ result = "";
+ } else if (entityId.indexOf("fr.") == 0) { // topia id, but not found
+ result = `<span class='error' title='${entityId}'>Todo</span>`;
+ } else { // other case "Month 0" ...
+ result = `<span class='warning'>${entityId}</span>`;
+ }
+ return result;
+ }
+
+ // generate link on entity for each id of collection
+ function entityIdsLinks(json, entityIds) {
+ return entityIds.map(id => entityIdLink(json, id)).join(", ");
+ }
+
+ // render equation
+ function renderEquation(json, name, id) {
+ let equation = json["#entities"][id];
+ let result = "";
+ if (equation) {
+ result = `<div class='detail'>${name} : <pre class='highlight java'>${equation.content}</pre></div>`;
+ }
+ return result;
+ }
+
+ // render matrix 1D
+ function renderMatrix1D(json, name, content) {
+ if (!content) {
+ return "";
+ }
+
+ // convert semantics
+ let contentLines = content.split('\n');
+ let semantique0 = contentLines[1].substring(contentLines[1].indexOf(":") + 1).split(";").map(s => s.substring(0, s.indexOf(":")));
+
+ // create matrix filled with 0
+ let matrix = new Array(semantique0.length);
+ for (var i = 0; i < semantique0.length; i++) {
+ matrix[i] = 0;
+ }
+ // add values in matrix with coordinate
+ for (let index = 3; index < contentLines.length; index++) {
+ if (contentLines[index]) {
+ let values = contentLines[index].split(";");
+ matrix[values[0]] = values[1];
+ }
+ }
+
+ // render matrix
+ let html = `${name} : <table border='1'>` +
+ "<tr>";
+ semantique0.forEach(sem => html += "<th>" + entityIdLink(json, sem) + "</th>");
+ html += "</tr>";
+ html += "<tr>";
+ for (let i = 0; i < matrix.length; i++) {
+ html += "<td>" + matrix[i] + "</td>";
+ }
+ html += "</tr>";
+ html += "</table>";
+ return html;
+ }
+
+ // render matrix 2D
+ function renderMatrix(json, name, content) {
+ if (!content) {
+ return "";
+ }
+
+ // convert semantics
+ let contentLines = content.split('\n');
+ let semantique0 = contentLines[1].substring(contentLines[1].indexOf(":") + 1).split(";").map(s => s.substring(0, s.indexOf(":")));
+ let semantique1 = contentLines[2].substring(contentLines[2].indexOf(":") + 1).split(";").map(s => s.substring(0, s.indexOf(":")));
+
+ // create matrix filled with 0
+ let matrix = new Array(semantique0.length);
+ for (var i = 0; i < semantique0.length; i++) {
+ matrix[i] = new Array(semantique1.length);
+ for (var j = 0; j < semantique1.length; j++) {
+ matrix[i][j] = 0;
+ }
+ }
+ // add values in matrix with coordinate
+ for (let index = 4; index < contentLines.length; index++) {
+ if (contentLines[index]) {
+ let values = contentLines[index].split(";");
+ matrix[values[0]][values[1]] = values[2];
+ }
+ }
+
+ // render matrix
+ let html = `${name} : <table border='1'>` +
+ "<tr><th />";
+ semantique1.forEach(sem => html += "<th>" + entityIdLink(json, sem) + "</th>");
+ html += "</tr>";
+ for (let i = 0; i < matrix.length; i++) {
+ html += "<tr><th>" + entityIdLink(json, semantique0[i]) + "</th>";
+ for (let j = 0; j < matrix[i].length; j++) {
+ html += "<td>" + matrix[i][j] + "</td>";
+ }
+ html += "</tr>";
+ }
+ html += "</table>";
+ return html;
+ }
+
+ // display or hide details
+ function switchDetail(element) {
+ let detailBlock = element.parentNode.getElementsByClassName("detailblock")[0];
+ if (detailBlock.style.display == "none") {
+ detailBlock.style.display = "block"
+ } else {
+ detailBlock.style.display = "none"
+ }
+ }
+
+ // ${jsonExport}
+ </script>
+ </head>
+
+ <body>
+ <h1 class="exportTitle">Region XXX</h1>
+
+ Menu:
+ <div id="toc">
+ <ul>
+ <li><a href="#regions">Region</a></li>
+ <li><a href="#cells">Mailles</a></li>
+ <li><a href="#ports">Ports</a></li>
+ <li><a href="#species">Species</a></li>
+ <li><a href="#populations">Populations</a></li>
+ <li><a href="#gears">Gears</a></li>
+ <li><a href="#metiers">Metier</a></li>
+ <li><a href="#triptypes">Trip types</a></li>
+ <li><a href="#vesseltypes">Vessel types</a></li>
+ <li><a href="#setofvessels">Set of vessels</a></li>
+ <li><a href="#strategies">Strategies</a></li>
+ <li><a href="#observations">Observations</a></li>
+ </ul>
+ <div>
+ <div id="render">
+
+ </div>
+
+ <script>
+ render(jsonExport)
+ </script>
+
+ <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/styles/default.mi…" />
+ <script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.10.0/highlight.min.js"></script>
+ <script>
+ if (window.hljs) {
+ for (let block of document.getElementsByClassName("highlight")) {
+ hljs.highlightBlock(block)
+ }
+ }
+ </script>
+
+ </body>
+</html>
\ No newline at end of file
Modified: trunk/src/main/resources/i18n/isis-fish_en_GB.properties
===================================================================
--- trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2017-03-27 09:35:09 UTC (rev 4413)
@@ -491,6 +491,7 @@
isisfish.input.menu.copyRegion=Copy region
isisfish.input.menu.exportJson=Export current object in JSON
isisfish.input.menu.exportRegion=Export region
+isisfish.input.menu.exportWeb=Export web
isisfish.input.menu.importJson=Import objets from JSON
isisfish.input.menu.importRegion=Import region
isisfish.input.menu.importRegionSimulation=Import region from simulation
Modified: trunk/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2017-03-17 16:43:07 UTC (rev 4412)
+++ trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2017-03-27 09:35:09 UTC (rev 4413)
@@ -491,6 +491,7 @@
isisfish.input.menu.copyRegion=Copier région
isisfish.input.menu.exportJson=Exporter l'objet courant en JSON
isisfish.input.menu.exportRegion=Exporter la région
+isisfish.input.menu.exportWeb=Export web
isisfish.input.menu.importJson=Importer des objets JSON
isisfish.input.menu.importRegion=Importer une région
isisfish.input.menu.importRegionSimulation=Importer la région d'une simulation
1
0
The ISIS-Fish team is pleased to announce the isis-fish-4.4.1.0-rc-1 release!
Simulateur de pecherie complexe.
Documentation of the project can be found here:
http://doc.codelutin.com/isis-fish
Changes
-------
Changes in this version include:
New features:
o Pouvoir copier/coller une partie de base dans une autre base Issue: 429. Thanks to Jean Couteau. Resolved by bpoussin.
o Lorsqu'on utilise ses propres fichiers cartes, ne pas utiliser de couleur de fond Issue: 8833. Thanks to Benjamin Poussin. Resolved by bpoussin.
o Export / Import des éléments d'une région, soit pour import dans une autre région, soit pour fusion de deux régions. Issue: 8737. Thanks to Benjamin Poussin. Resolved by bpoussin.
o Améliorer l'affichage du temps de progression des simulations Issue: 8484. Thanks to Benjamin Poussin. Resolved by bpoussin.
o Log de toutes les modifications de la base Issue: 8451. Thanks to Eric Chatellier. Resolved by echatellier.
o Amélioration du fond de carte Issue: 419. Thanks to Jean Couteau. Resolved by bpoussin.
o Supprimer l'option -Xmx des scripts de lancement Issue: 8834. Thanks to Benjamin Poussin. Resolved by echatellier.
o Pouvoir utilisé des objets natifs java pour les semantiques dans IsisMatrixSemanticMapper Issue: 8972. Thanks to Benjamin Poussin. Resolved by bpoussin.
o Pouvoir charger des matrice d'observation avec sémantique Issue: 8971. Thanks to Benjamin Poussin. Resolved by bpoussin.
o Modification de la finesse de la résolution spatiale Issue: 8734. Thanks to Benjamin Poussin. Resolved by echatellier.
Fixed Bugs:
o getRecruitment Issue: 8968. Thanks to Sigrid Lehuta. Resolved by bpoussin.
o Impossible d'utiliser R via le package rJava en x64 Issue: 8787. Thanks to Eric Chatellier. Resolved by echatellier.
o Les resultats nécéssaires aux exports sont mal pris en compte par le cache Issue: 8802. Thanks to Eric Chatellier. Resolved by echatellier.
o Lors du changement des shp file, la carte ne se met pas a jour Issue: 8827. Thanks to Benjamin Poussin. Resolved by echatellier.
o Les shapes chargés dans l'onglet de définition de la pêcherie, n'apparaissents pas dans l'onglet zones Issue: 9085. Thanks to Sigrid Lehuta. Resolved by echatellier.
Changes:
o Update to h2 1.4.194 Issue: 7988. Thanks to Eric Chatellier. Resolved by echatellier.
Downloads
---------
For a manual installation, you can download files here:
https://forge.codelutin.com/projects/isis-fish/files
* isis-fish-4.4.1.0-rc-1-bin.zip - https://forge.codelutin.com/attachments/download/4558
Maven artifacts
---------------
Artifacts are deployed in nuiton maven repository
http://maven.nuiton.org/other-releases/
Have fun!
-ISIS-Fish team
1
0
Author: echatellier
Date: 2017-03-17 17:43:07 +0100 (Fri, 17 Mar 2017)
New Revision: 4412
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4412
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2017-03-17 16:43:05 UTC (rev 4411)
+++ trunk/pom.xml 2017-03-17 16:43:07 UTC (rev 4412)
@@ -11,7 +11,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>isis-fish</artifactId>
- <version>4.4.1.0-rc-1</version>
+ <version>4.4.1.0-SNAPSHOT</version>
<!-- POM Relationships : Inheritance : Dependencies -->
<dependencies>
@@ -827,9 +827,9 @@
<!-- *** Build Environment ************************************** -->
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.1.0-rc-1</connection>
- <developerConnection>scm:svn:https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.1.0-rc-1</developerConnection>
- <url>https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.1.0-rc-1</url>
+ <connection>scm:svn:https://svn.codelutin.com/isis-fish/trunk</connection>
+ <developerConnection>scm:svn:https://svn.codelutin.com/isis-fish/trunk</developerConnection>
+ <url>https://svn.codelutin.com/isis-fish/trunk</url>
</scm>
<repositories>
1
0
Author: echatellier
Date: 2017-03-17 17:43:05 +0100 (Fri, 17 Mar 2017)
New Revision: 4411
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4411
Log:
[maven-release-plugin] copy for tag isis-fish-4.4.1.0-rc-1
Added:
tags/isis-fish-4.4.1.0-rc-1/
1
0
Author: echatellier
Date: 2017-03-17 17:42:26 +0100 (Fri, 17 Mar 2017)
New Revision: 4410
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4410
Log:
[maven-release-plugin] prepare release isis-fish-4.4.1.0-rc-1
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2017-03-17 16:09:55 UTC (rev 4409)
+++ trunk/pom.xml 2017-03-17 16:42:26 UTC (rev 4410)
@@ -11,7 +11,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>isis-fish</artifactId>
- <version>4.4.1.0-SNAPSHOT</version>
+ <version>4.4.1.0-rc-1</version>
<!-- POM Relationships : Inheritance : Dependencies -->
<dependencies>
@@ -827,9 +827,9 @@
<!-- *** Build Environment ************************************** -->
<!-- ************************************************************* -->
<scm>
- <connection>scm:svn:https://svn.codelutin.com/isis-fish/trunk</connection>
- <developerConnection>scm:svn:https://svn.codelutin.com/isis-fish/trunk</developerConnection>
- <url>https://svn.codelutin.com/isis-fish/trunk</url>
+ <connection>scm:svn:https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.1.0-rc-1</connection>
+ <developerConnection>scm:svn:https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.1.0-rc-1</developerConnection>
+ <url>https://svn.codelutin.com/isis-fish/tags/isis-fish-4.4.1.0-rc-1</url>
</scm>
<repositories>
1
0
r4409 - in trunk/src: main/java/fr/ifremer/isisfish/map main/java/fr/ifremer/isisfish/ui/input/spatial test/java/fr/ifremer/isisfish/logging
by echatellier@users.forge.codelutin.com 17 Mar '17
by echatellier@users.forge.codelutin.com 17 Mar '17
17 Mar '17
Author: echatellier
Date: 2017-03-17 17:09:55 +0100 (Fri, 17 Mar 2017)
New Revision: 4409
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4409
Log:
Fix headers
Modified:
trunk/src/main/java/fr/ifremer/isisfish/map/DatabaseDataProvider.java
trunk/src/main/java/fr/ifremer/isisfish/map/MapDataListener.java
trunk/src/main/java/fr/ifremer/isisfish/map/MapDataProvider.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/SpatialChangeDataProvider.java
trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java
Modified: trunk/src/main/java/fr/ifremer/isisfish/map/DatabaseDataProvider.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/map/DatabaseDataProvider.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/main/java/fr/ifremer/isisfish/map/DatabaseDataProvider.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -1,5 +1,27 @@
package fr.ifremer.isisfish.map;
+/*
+ * #%L
+ * ISIS-Fish
+ * %%
+ * Copyright (C) 1999 - 2017 Ifremer, Codelutin
+ * %%
+ * 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 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 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-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.isisfish.IsisFishDAOHelper;
import fr.ifremer.isisfish.IsisFishRuntimeException;
import fr.ifremer.isisfish.entities.Cell;
Modified: trunk/src/main/java/fr/ifremer/isisfish/map/MapDataListener.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/map/MapDataListener.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/main/java/fr/ifremer/isisfish/map/MapDataListener.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -8,13 +8,13 @@
* it under the terms of the GNU 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 Public License for more details.
- *
- * You should have received createNewCells copy of the GNU General Public
+ *
+ * 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-3.0.html>.
* #L%
Modified: trunk/src/main/java/fr/ifremer/isisfish/map/MapDataProvider.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/map/MapDataProvider.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/main/java/fr/ifremer/isisfish/map/MapDataProvider.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -16,7 +16,7 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received createNewCells copy of the GNU General Public
+ * 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-3.0.html>.
* #L%
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -8,12 +8,12 @@
* it under the terms of the GNU 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 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-3.0.html>.
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -8,12 +8,12 @@
* it under the terms of the GNU 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 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-3.0.html>.
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/SpatialChangeDataProvider.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/SpatialChangeDataProvider.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/SpatialChangeDataProvider.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -8,12 +8,12 @@
* it under the terms of the GNU 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 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-3.0.html>.
Modified: trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java 2017-03-17 14:33:31 UTC (rev 4408)
+++ trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java 2017-03-17 16:09:55 UTC (rev 4409)
@@ -1,5 +1,27 @@
package fr.ifremer.isisfish.logging;
+/*
+ * #%L
+ * ISIS-Fish
+ * %%
+ * Copyright (C) 2017 Ifremer, Codelutin
+ * %%
+ * 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 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 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-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.isisfish.AbstractIsisFishTest;
import fr.ifremer.isisfish.IsisFishDAOHelper;
import fr.ifremer.isisfish.datastore.RegionStorage;
1
0
r4408 - trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial
by echatellier@users.forge.codelutin.com 17 Mar '17
by echatellier@users.forge.codelutin.com 17 Mar '17
17 Mar '17
Author: echatellier
Date: 2017-03-17 15:33:31 +0100 (Fri, 17 Mar 2017)
New Revision: 4408
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4408
Log:
fixes #8734: Affichage des mailles s?\195?\169lectionn?\195?\169es
Modified:
trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java
trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewUI.jaxx
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java 2017-03-17 14:32:17 UTC (rev 4407)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/AskNewSpatialHandler.java 2017-03-17 14:33:31 UTC (rev 4408)
@@ -27,13 +27,16 @@
import fr.ifremer.isisfish.entities.Port;
import fr.ifremer.isisfish.entities.Zone;
import fr.ifremer.isisfish.util.CellPointcomparator;
+import org.nuiton.topia.persistence.TopiaId;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Set;
/**
* Handler for new fishery region resolution dialog.
@@ -98,6 +101,7 @@
// n'existe pas on la cree
Cell cell = new CellImpl();
+ cell.setTopiaId(TopiaId.create(Cell.class));
cell.setName("La" + lati + "Lo" + longi);
cell.setLatitude(lati);
cell.setLongitude(longi);
@@ -135,7 +139,7 @@
Rectangle2D.Float intersect = new Rectangle2D.Float();
for (Zone zone : zones) {
- List<Cell> zoneNewCells = new ArrayList<>();
+ Set<Cell> zoneNewCells = new HashSet<>();
for (Cell newCell : newCells) {
Rectangle2D.Float newCellRect = new Rectangle2D.Float(newCell.getLatitude(), newCell.getLongitude(),
newFisheryRegion.getCellLengthLatitude(), newFisheryRegion.getCellLengthLongitude());
@@ -148,7 +152,7 @@
}
}
}
- zonesAndNewCells.put(zone, zoneNewCells);
+ zonesAndNewCells.put(zone, new ArrayList<>(zoneNewCells));
}
return zonesAndNewCells;
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java 2017-03-17 14:32:17 UTC (rev 4407)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewHandler.java 2017-03-17 14:33:31 UTC (rev 4408)
@@ -21,8 +21,6 @@
*/
package fr.ifremer.isisfish.ui.input.spatial;
-import static org.nuiton.i18n.I18n.t;
-
import com.bbn.openmap.event.SelectMouseMode;
import fr.ifremer.isisfish.IsisFishDAOHelper;
import fr.ifremer.isisfish.entities.Cell;
@@ -37,12 +35,16 @@
import fr.ifremer.isisfish.ui.input.InputUI;
import fr.ifremer.isisfish.ui.models.common.GenericComboModel;
import jaxx.runtime.JAXXUtil;
+import org.apache.commons.lang3.StringUtils;
import javax.swing.JOptionPane;
import java.awt.event.MouseEvent;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import static org.nuiton.i18n.I18n.t;
+
/**
* Handler fro preview spatial change UI.
*/
@@ -108,8 +110,9 @@
new OpenMapEvents(inputUI.newZoneMap, new SelectMouseMode(false), CellSelectionLayer.MULT_SELECTION) {
@Override
public boolean mouseClicked(MouseEvent e) {
- Zone selectedValue = (Zone)inputUI.currentZones.getSelectedItem();
+ Zone selectedValue = (Zone) inputUI.currentZones.getSelectedItem();
zoneMap.put(selectedValue, inputUI.newZoneMap.getSelectedCells());
+ updateZoneCellDetails();
return false;
}
};
@@ -116,11 +119,12 @@
new OpenMapEvents(inputUI.newPortMap, new SelectMouseMode(false), CellSelectionLayer.SINGLE_SELECTION) {
@Override
public boolean mouseClicked(MouseEvent e) {
- Port selectedValue = (Port)inputUI.currentPorts.getSelectedItem();
+ Port selectedValue = (Port) inputUI.currentPorts.getSelectedItem();
List<Cell> selectedCells = inputUI.newPortMap.getSelectedCells();
if (!selectedCells.isEmpty()) {
portMap.put(selectedValue, selectedCells.get(0));
}
+ updatePortCellDetails();
return false;
}
};
@@ -151,19 +155,55 @@
List<Cell> newCells = zoneMap.get(selectedValue);
inputUI.newZoneMap.setSelectedCells(newCells);
+ updateZoneCellDetails();
}
+ protected void updateZoneCellDetails() {
+ Zone selectedValue = (Zone) inputUI.currentZones.getSelectedItem();
+ if (selectedValue != null) {
+ List<Cell> currentCells = selectedValue.getCell();
+ inputUI.currentZoneCells.setText(cellToString(currentCells));
+
+ List<Cell> newCells = zoneMap.get(selectedValue);
+ inputUI.newZoneCells.setText(cellToString(newCells));
+ }
+ }
+
+ protected String cellToString(List<Cell> cells) {
+ List<String> strings = new ArrayList<>();
+ for (Cell cell : cells) {
+ strings.add(cell.getName());
+ }
+ return StringUtils.join(strings, ", ");
+ }
+
/**
* Action when a port is selected in combo.
*/
public void currentPortChanged() {
- Port selectedValue = (Port)inputUI.currentPorts.getSelectedItem();
+ Port selectedValue = (Port) inputUI.currentPorts.getSelectedItem();
inputUI.currentPortMap.setSelectedCells(selectedValue.getCell());
Cell newPort = portMap.get(selectedValue);
inputUI.newPortMap.setSelectedCells(newPort);
+ updatePortCellDetails();
}
+ protected void updatePortCellDetails() {
+ Port selectedValue = (Port) inputUI.currentPorts.getSelectedItem();
+ if (selectedValue != null) {
+ Cell cell = selectedValue.getCell();
+ if (cell != null) {
+ inputUI.currentPortCell.setText(cell.getName());
+ }
+
+ Cell newPort = portMap.get(selectedValue);
+ if (newPort != null) {
+ inputUI.newPortCell.setText(newPort.getName());
+ }
+ }
+ }
+
/**
* Ask fro user to perform database change and commit.
*/
@@ -217,11 +257,11 @@
// update current zones
for (Map.Entry<Zone, List<Cell>> zoneListEntry : zoneMap.entrySet()) {
- Zone zone = zoneListEntry.getKey();
- List<Cell> newCell = zoneListEntry.getValue();
+ Zone zone = zoneListEntry.getKey();
+ List<Cell> newCell = zoneListEntry.getValue();
- zone.clearCell();
- zone.addAllCell(newCell);
+ zone.clearCell();
+ zone.addAllCell(newCell);
}
// update current ports
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewUI.jaxx
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewUI.jaxx 2017-03-17 14:32:17 UTC (rev 4407)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/input/spatial/ChangeSpatialPreviewUI.jaxx 2017-03-17 14:33:31 UTC (rev 4408)
@@ -42,7 +42,9 @@
javaBean='new fr.ifremer.isisfish.map.IsisMapBean()'
selectionMode="{fr.ifremer.isisfish.map.CellSelectionLayer.MULT_SELECTION}"
decorator='boxed' constraints='BorderLayout.CENTER'/>
- <JLabel id="currentZoneCells" constraints='BorderLayout.SOUTH' text="" />
+ <JScrollPane constraints='BorderLayout.SOUTH'>
+ <JTextArea id="currentZoneCells" editable="false" rows="3" />
+ </JScrollPane>
</JPanel>
<JPanel layout='{new BorderLayout()}'>
<fr.ifremer.isisfish.map.IsisMapBean id='newZoneMap'
@@ -49,7 +51,9 @@
javaBean='new fr.ifremer.isisfish.map.IsisMapBean()'
selectionMode="{fr.ifremer.isisfish.map.CellSelectionLayer.MULT_SELECTION}"
decorator='boxed' constraints='BorderLayout.CENTER'/>
- <JLabel id="newZoneCells" constraints='BorderLayout.SOUTH' text="" />
+ <JScrollPane constraints='BorderLayout.SOUTH'>
+ <JTextArea id="newZoneCells" editable="false" rows="3" />
+ </JScrollPane>
</JPanel>
</JSplitPane>
</JPanel>
@@ -67,7 +71,9 @@
javaBean='new fr.ifremer.isisfish.map.IsisMapBean()'
selectionMode="{fr.ifremer.isisfish.map.CellSelectionLayer.MULT_SELECTION}"
decorator='boxed' constraints='BorderLayout.CENTER'/>
- <JLabel id="currentPortCell" constraints='BorderLayout.SOUTH' text="" />
+ <JScrollPane constraints='BorderLayout.SOUTH'>
+ <JTextArea id="currentPortCell" editable="false" />
+ </JScrollPane>
</JPanel>
<JPanel layout='{new BorderLayout()}'>
<fr.ifremer.isisfish.map.IsisMapBean id='newPortMap'
@@ -74,7 +80,9 @@
javaBean='new fr.ifremer.isisfish.map.IsisMapBean()'
selectionMode="{fr.ifremer.isisfish.map.CellSelectionLayer.MULT_SELECTION}"
decorator='boxed' constraints='BorderLayout.CENTER'/>
- <JLabel id="newPortCell" constraints='BorderLayout.SOUTH' text="" />
+ <JScrollPane constraints='BorderLayout.SOUTH'>
+ <JTextArea id="newPortCell" editable="false" />
+ </JScrollPane>
</JPanel>
</JSplitPane>
</JPanel>
1
0
Author: echatellier
Date: 2017-03-17 15:32:17 +0100 (Fri, 17 Mar 2017)
New Revision: 4407
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4407
Log:
Utilisation des releases des libs
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2017-03-17 09:57:57 UTC (rev 4406)
+++ trunk/pom.xml 2017-03-17 14:32:17 UTC (rev 4407)
@@ -90,7 +90,7 @@
<dependency>
<groupId>org.nuiton.matrix</groupId>
<artifactId>nuiton-matrix</artifactId>
- <version>2.5.2-SNAPSHOT</version>
+ <version>2.5.2</version>
<scope>compile</scope>
</dependency>
@@ -97,7 +97,7 @@
<dependency>
<groupId>org.nuiton.matrix</groupId>
<artifactId>nuiton-matrix-gui</artifactId>
- <version>2.5.2-SNAPSHOT</version>
+ <version>2.5.2</version>
<scope>compile</scope>
</dependency>
@@ -185,7 +185,7 @@
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-j2r</artifactId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.2</version>
<scope>compile</scope>
</dependency>
@@ -561,7 +561,7 @@
<!-- Dependencies version -->
<jaxxVersion>2.41</jaxxVersion>
- <topiaVersion>2.12-SNAPSHOT</topiaVersion>
+ <topiaVersion>2.12</topiaVersion>
<hibernateVersion>5.1.5.Final</hibernateVersion>
<nuitonI18nVersion>3.6.3</nuitonI18nVersion>
@@ -577,7 +577,7 @@
<jarPluginVersion>3.0.2</jarPluginVersion>
<surefirePluginVersion>2.19.1</surefirePluginVersion>
<sitePluginVersion>3.6</sitePluginVersion>
- <jrstPluginVersion>2.3-SNAPSHOT</jrstPluginVersion>
+ <jrstPluginVersion>2.2</jrstPluginVersion>
<maven.javadoc.skip>false</maven.javadoc.skip>
<animalSnifferPluginVersion>1.15</animalSnifferPluginVersion>
<sonarPluginVersion>3.2</sonarPluginVersion>
1
0
17 Mar '17
Author: echatellier
Date: 2017-03-17 10:57:57 +0100 (Fri, 17 Mar 2017)
New Revision: 4406
Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/4406
Log:
Mise ?\195?\160 jour des libs
Retrait des deprecated (commons-io)
Modified:
trunk/pom.xml
trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java
trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java
trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java
trunk/src/main/java/fr/ifremer/isisfish/actions/ValidateSimulationAction.java
trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java
trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
trunk/src/main/java/fr/ifremer/isisfish/logging/console/LogMail.java
trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
trunk/src/main/java/fr/ifremer/isisfish/mexico/export/RegionExportFactorXML.java
trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java
trunk/src/main/java/fr/ifremer/isisfish/ui/logging/LoggingFrame.java
trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassHandler.java
trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java
trunk/src/main/java/fr/ifremer/isisfish/util/RUtil.java
trunk/src/main/resources/i18n/isis-fish_fr_FR.properties
trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java
trunk/src/test/java/fr/ifremer/isisfish/IsisFishMiscTest.java
trunk/src/test/java/fr/ifremer/isisfish/datastore/ScriptStorageTest.java
trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java
trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java
trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
trunk/src/test/java/fr/ifremer/isisfish/mexico/export/RegionExplorerTest.java
trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/pom.xml 2017-03-17 09:57:57 UTC (rev 4406)
@@ -104,7 +104,7 @@
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>nuiton-widgets</artifactId>
- <version>${nuitonWidgetsVersion}</version>
+ <version>1.1.1</version>
<scope>compile</scope>
</dependency>
@@ -229,7 +229,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
- <version>1.7.24</version>
+ <version>1.7.25</version>
<scope>runtime</scope>
</dependency>
@@ -561,11 +561,9 @@
<!-- Dependencies version -->
<jaxxVersion>2.41</jaxxVersion>
- <eugeneVersion>2.14</eugeneVersion>
<topiaVersion>2.12-SNAPSHOT</topiaVersion>
- <hibernateVersion>5.1.4.Final</hibernateVersion>
+ <hibernateVersion>5.1.5.Final</hibernateVersion>
<nuitonI18nVersion>3.6.3</nuitonI18nVersion>
- <nuitonWidgetsVersion>1.1.1</nuitonWidgetsVersion>
<redmine.releaseFiles>target/isis-fish-${project.version}-bin.zip</redmine.releaseFiles>
<skipPostRelease>false</skipPostRelease>
@@ -615,7 +613,7 @@
<plugin>
<groupId>org.nuiton.eugene</groupId>
<artifactId>eugene-maven-plugin</artifactId>
- <version>${eugeneVersion}</version>
+ <version>2.14</version>
</plugin>
<plugin>
Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -28,6 +28,7 @@
import static org.nuiton.i18n.I18n.t;
import java.io.File;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -202,7 +203,7 @@
throw new IllegalArgumentException(t("could not found %s", name));
}
String content = storage.getContent();
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
}
@Step(IsisConfig.STEP_AFTER_INIT_VCS)
@@ -215,7 +216,7 @@
throw new IllegalArgumentException(t("could not found %s", name));
}
String content = storage.getContent();
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
}
@Step(IsisConfig.STEP_AFTER_INIT_VCS)
@@ -228,7 +229,7 @@
throw new IllegalArgumentException(t("could not found %s", name));
}
String content = storage.getContent();
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
}
@Step(IsisConfig.STEP_AFTER_INIT_VCS)
@@ -241,7 +242,7 @@
throw new IllegalArgumentException(t("could not found %s", name));
}
String content = storage.getContent();
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
}
@Step(IsisConfig.STEP_AFTER_INIT_VCS)
@@ -254,7 +255,7 @@
throw new IllegalArgumentException(t("could not found %s", name));
}
String content = storage.getContent();
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
}
@Step(IsisConfig.STEP_AFTER_INIT_VCS)
@@ -267,7 +268,7 @@
throw new IllegalArgumentException(t("could not found %s", name));
}
String content = storage.getContent();
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
}
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -28,6 +28,7 @@
import static org.nuiton.i18n.I18n.t;
import java.io.File;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
@@ -64,7 +65,7 @@
if(!force && storage.exists()) {
throw new IllegalArgumentException(t("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
- String content = FileUtils.readFileToString(file);
+ String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
storage.setContent(content);
}
@@ -74,7 +75,7 @@
if(!force && storage.exists()) {
throw new IllegalArgumentException(t("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
- String content = FileUtils.readFileToString(file);
+ String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
storage.setContent(content);
}
@@ -84,7 +85,7 @@
if(!force && storage.exists()) {
throw new IllegalArgumentException(t("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
- String content = FileUtils.readFileToString(file);
+ String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
storage.setContent(content);
}
@@ -94,7 +95,7 @@
if(!force && storage.exists()) {
throw new IllegalArgumentException(t("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
- String content = FileUtils.readFileToString(file);
+ String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
storage.setContent(content);
}
@@ -104,7 +105,7 @@
if(!force && storage.exists()) {
throw new IllegalArgumentException(t("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
- String content = FileUtils.readFileToString(file);
+ String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
storage.setContent(content);
}
@@ -117,7 +118,7 @@
if(!force && storage.exists()) {
throw new IllegalArgumentException(t("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
- String content = FileUtils.readFileToString(file);
+ String content = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
storage.setContent(content);
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -29,6 +29,7 @@
import java.io.File;
import java.io.FileInputStream;
+import java.nio.charset.StandardCharsets;
import java.util.Properties;
import org.apache.commons.io.FileUtils;
@@ -140,7 +141,7 @@
//simulation.getStorage().closeContext();
String generatedPrescriptContent = null;
if (simulationPrescript != null && simulationPrescript.canRead()) {
- generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript);
+ generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript, StandardCharsets.UTF_8);
}
SimulationControl control = new SimulationControl(name);
@@ -220,7 +221,7 @@
//simulation.getStorage().closeContext();
String generatedPrescriptContent = null;
if (simulationPrescript != null && simulationPrescript.canRead()) {
- generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript);
+ generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript, StandardCharsets.UTF_8);
}
SimulationControl control = new SimulationControl(name);
Modified: trunk/src/main/java/fr/ifremer/isisfish/actions/ValidateSimulationAction.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/actions/ValidateSimulationAction.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/actions/ValidateSimulationAction.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -41,6 +41,7 @@
import org.nuiton.math.matrix.MatrixND;
import java.io.File;
+import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -125,7 +126,7 @@
//simulation.getStorage().closeContext();
String generatedPrescriptContent = null;
if (simulationPrescript != null && simulationPrescript.canRead()) {
- generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript);
+ generatedPrescriptContent = FileUtils.readFileToString(simulationPrescript, StandardCharsets.UTF_8);
}
SimulationControl control = new SimulationControl(name);
Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -27,6 +27,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.List;
@@ -194,7 +195,7 @@
content = "";
} else {
try {
- content = FileUtils.readFileToString(getFile());
+ content = FileUtils.readFileToString(getFile(), StandardCharsets.UTF_8);
lastContentUpdate = System.nanoTime();
lastContentLength = getFile().length();
} catch (IOException eee) {
Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -44,6 +44,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -106,7 +107,7 @@
public String getCommentForNextCommit() throws IOException {
commentForNextCommitFile.createNewFile();
String result;
- result = FileUtils.readFileToString(commentForNextCommitFile);
+ result = FileUtils.readFileToString(commentForNextCommitFile, StandardCharsets.UTF_8);
return result;
}
@@ -116,7 +117,7 @@
*/
public void setCommentForNextCommit(String commentForNextCommit) throws IOException {
commentForNextCommitFile.createNewFile();
- FileUtils.writeStringToFile(commentForNextCommitFile, commentForNextCommit);
+ FileUtils.writeStringToFile(commentForNextCommitFile, commentForNextCommit, StandardCharsets.UTF_8);
}
/**
@@ -124,7 +125,7 @@
* must be used in user application after commit
*/
public void clearCommentForNextCommit() {
- String date = DateFormatUtils.ISO_DATETIME_FORMAT.format(new Date());
+ String date = DateFormatUtils.ISO_8601_EXTENDED_DATETIME_FORMAT.format(new Date());
File dest = new File(commentForNextCommitFile, date);
commentForNextCommitFile.renameTo(dest);
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -31,6 +31,7 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -223,7 +224,7 @@
if (objective == null) {
File ObjFile = getObjectiveFile();
if (file.exists()) {
- String s = FileUtils.readFileToString(ObjFile);
+ String s = FileUtils.readFileToString(ObjFile, StandardCharsets.UTF_8);
objective = Double.parseDouble(s);
}
}
@@ -232,7 +233,7 @@
public void setObjective(double d) throws IOException {
objective = d;
- FileUtils.writeStringToFile(getObjectiveFile(), String.valueOf(d));
+ FileUtils.writeStringToFile(getObjectiveFile(), String.valueOf(d), StandardCharsets.UTF_8);
}
/**
Modified: trunk/src/main/java/fr/ifremer/isisfish/logging/console/LogMail.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/logging/console/LogMail.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/logging/console/LogMail.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -39,6 +39,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.Properties;
import java.util.zip.ZipEntry;
@@ -170,7 +171,7 @@
ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream);
BufferedWriter zipWriter = new BufferedWriter(new OutputStreamWriter(zipOutputStream));
zipOutputStream.putNextEntry(new ZipEntry(zipFile.getName()));
- String content = FileUtils.readFileToString(zipFile);
+ String content = FileUtils.readFileToString(zipFile, StandardCharsets.UTF_8);
zipWriter.write(content);
zipWriter.flush();
Modified: trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -30,6 +30,7 @@
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -118,7 +119,7 @@
public static void writeDesignPlanToFile(File file, DesignPlan designPlan) {
String content = getDesignPlanAsXML(designPlan);
try {
- FileUtils.writeStringToFile(file, content);
+ FileUtils.writeStringToFile(file, content, StandardCharsets.UTF_8);
} catch (IOException ex) {
throw new IsisFishRuntimeException("Can't export factors to xml file", ex);
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/mexico/export/RegionExportFactorXML.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/mexico/export/RegionExportFactorXML.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/mexico/export/RegionExportFactorXML.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -27,6 +27,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.RandomStringUtils;
@@ -150,7 +151,7 @@
String xml = MexicoHelper.formatXML(stringBuffer.toString());
try {
- FileUtils.writeStringToFile(outputFile, xml);
+ FileUtils.writeStringToFile(outputFile, xml, StandardCharsets.UTF_8);
} catch (IOException ex) {
if (log.isErrorEnabled()) {
log.error("Can't wrtie xml content to output file", ex);
Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -34,6 +34,7 @@
import java.io.InputStream;
import java.io.StringWriter;
import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import java.rmi.RemoteException;
import java.util.HashMap;
import java.util.List;
@@ -395,7 +396,7 @@
if (md5ControlFile != null) {
control.setText(t("isisfish.simulation.remote.message.downloadresults"));
- String md5sum = FileUtils.readFileToString(md5ControlFile);
+ String md5sum = FileUtils.readFileToString(md5ControlFile, StandardCharsets.UTF_8);
if (log.isDebugEnabled()) {
log.debug("MD5 Control file have been downloaded : " + md5ControlFile.getAbsolutePath());
@@ -616,7 +617,7 @@
try {
// use usefull readLines from commons-io
- List<String> contents = FileUtils.readLines(publicKey);
+ List<String> contents = FileUtils.readLines(publicKey, StandardCharsets.UTF_8);
// only one line
if (contents != null && contents.size() == 1) {
Modified: trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -29,6 +29,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -375,7 +376,7 @@
String simulResult = "";
try {
- simulResult = FileUtils.readFileToString(importFile);
+ simulResult = FileUtils.readFileToString(importFile, StandardCharsets.UTF_8);
} catch (IOException ioe) {
log.error("An error occured trying to read a result file : ", ioe);
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/logging/LoggingFrame.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/logging/LoggingFrame.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/logging/LoggingFrame.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -27,6 +27,7 @@
import java.awt.Frame;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import javax.swing.JFrame;
import javax.swing.JMenu;
@@ -82,7 +83,7 @@
SimulationStorage storage = SimulationStorage.getSimulation(simulationName);
File logFile = new File(storage.getSimulationLogFile());
- String content = FileUtils.readFileToString(logFile);
+ String content = FileUtils.readFileToString(logFile, StandardCharsets.UTF_8);
editor.setText(content);
}
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassHandler.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassHandler.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassHandler.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -25,6 +25,7 @@
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.SortedMap;
@@ -123,7 +124,7 @@
for(File file : files) {
content += "Fichier " + file.getName() + "\n";
content += "------------------------------\n";
- content += FileUtils.readFileToString(file) + "\n";
+ content += FileUtils.readFileToString(file, StandardCharsets.UTF_8) + "\n";
content += "\n";
}
sensitivitySecondPassUI.textAreaSensitivitySecondpassResult.setText(content);
Modified: trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -31,6 +31,7 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Method;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -84,7 +85,7 @@
// on verifie dans le fichier
if (fileCheckSum.exists()) {
try {
- result = FileUtils.readFileToString(fileCheckSum);
+ result = FileUtils.readFileToString(fileCheckSum, StandardCharsets.UTF_8);
} catch (IOException eee) {
log.info("Can't read old checkSum: " + fileCheckSum, eee);
}
@@ -107,7 +108,7 @@
// on est pas dans une simulation
// on ecrit dans le fichier
try {
- FileUtils.writeStringToFile(fileCheckSum, hashcode);
+ FileUtils.writeStringToFile(fileCheckSum, hashcode, StandardCharsets.UTF_8);
} catch (IOException eee) {
log.info("Can't write checkSum: " + fileCheckSum, eee);
}
Modified: trunk/src/main/java/fr/ifremer/isisfish/util/RUtil.java
===================================================================
--- trunk/src/main/java/fr/ifremer/isisfish/util/RUtil.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/java/fr/ifremer/isisfish/util/RUtil.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -29,6 +29,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
+import java.nio.charset.StandardCharsets;
import java.util.List;
import org.apache.commons.io.IOUtils;
@@ -66,7 +67,7 @@
// R trouvé, mais la commande R a échoué
InputStream err = process.getErrorStream();
if (log.isErrorEnabled()) {
- log.error("Can't call Rscript : " + IOUtils.toString(err));
+ log.error("Can't call Rscript : " + IOUtils.toString(err, StandardCharsets.UTF_8));
}
}
} catch (IOException ex) {
@@ -88,7 +89,7 @@
* @throws IOException
*/
protected static void parseRscriptOutput(InputStream is) throws IOException {
- List<String> output = IOUtils.readLines(is);
+ List<String> output = IOUtils.readLines(is, StandardCharsets.UTF_8);
// 1 lignes = commande OK, mais rJava n'est pas installé
// 2 lignes = commande OK et rJava est installé
Modified: trunk/src/main/resources/i18n/isis-fish_fr_FR.properties
===================================================================
--- trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2017-03-17 09:57:57 UTC (rev 4406)
@@ -1,3 +1,4 @@
+%s\ has\ a\ discrete\ domain,\ this\ is\ not\ acceptable\ for\ this\ method.=
%s\ has\ a\ non\ uniform\ distribution,\ this\ is\ not\ acceptable\ for\ this\ method.=
Add\ to\ default\ queue=
Analyse\ plan\ error,\ too\ many\ simulation\ for\ %s\ \:\ %s=
Modified: trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/AbstractIsisFishTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -152,7 +152,7 @@
* @return freemarker {@link Configuration}
*/
protected static Configuration getFreemarkerConfiguration() {
- Configuration freemarkerConfiguration = new Configuration();
+ Configuration freemarkerConfiguration = new Configuration(Configuration.VERSION_2_3_25);
// needed to overwrite "Defaults to default system encoding."
// fix encoding issue on some systems
@@ -162,7 +162,7 @@
ClassTemplateLoader templateLoader = new ClassTemplateLoader(AbstractIsisFishTest.class, "/");
freemarkerConfiguration.setTemplateLoader(templateLoader);
- freemarkerConfiguration.setObjectWrapper(new BeansWrapper());
+ freemarkerConfiguration.setObjectWrapper(new BeansWrapper(Configuration.VERSION_2_3_25));
return freemarkerConfiguration;
}
Modified: trunk/src/test/java/fr/ifremer/isisfish/IsisFishMiscTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/IsisFishMiscTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/IsisFishMiscTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -27,6 +27,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
import org.junit.Assert;
@@ -55,7 +56,7 @@
File batFile = new File("src" + File.separator + "main" + File.separator + "assembly" + File.separator + "isisfish.bat");
batFile = batFile.getAbsoluteFile(); // for maven
- String content = FileUtils.readFileToString(batFile);
+ String content = FileUtils.readFileToString(batFile, StandardCharsets.UTF_8);
System.out.println(content);
String[] lines = content.split("\n");
Modified: trunk/src/test/java/fr/ifremer/isisfish/datastore/ScriptStorageTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/datastore/ScriptStorageTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/datastore/ScriptStorageTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -27,6 +27,7 @@
import java.io.StringWriter;
import java.io.Writer;
+import java.nio.charset.StandardCharsets;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -84,7 +85,7 @@
//System.out.println("Content: '" + script.getContent() + "'");
Assert.assertEquals(content1, script.getContent());
- FileUtils.writeStringToFile(script.getFile(), content2);
+ FileUtils.writeStringToFile(script.getFile(), content2, StandardCharsets.UTF_8);
//System.out.println("Content: '" + script.getContent() + "'");
Assert.assertEquals(content2, script.getContent());
} finally {
Modified: trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/logging/RegionChangeLoggerTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -24,10 +24,9 @@
* Test que les evenements sur les entités existantes sont bien logués.
*
* @throws IOException si le fichier ne peux pas être lu
- * @throws StorageException
*/
@Test
- public void testLoggingOnExistingEntities() throws IOException, StorageException {
+ public void testLoggingOnExistingEntities() throws IOException {
RegionStorage regionStorage = RegionStorage.getRegion("BaseMotosICA");
TopiaContext storage = regionStorage.getStorage();
TopiaContext topiaContext = storage.beginTransaction();
@@ -58,7 +57,7 @@
*/
@Test
public void testLoggingOnNewEntities() throws IOException, StorageException {
- RegionStorage regionStorage = RegionStorage.getRegion("BaseMotosICA");
+ RegionStorage regionStorage = RegionStorage.create("test");
TopiaContext storage = regionStorage.getStorage();
TopiaContext topiaContext = storage.beginTransaction();
RegionChangeLogger regionChangeLogger = new RegionChangeLogger(regionStorage, topiaContext);
Modified: trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/logging/SimulationLoggerUtilTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -26,6 +26,7 @@
package fr.ifremer.isisfish.logging;
import java.io.File;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
@@ -116,7 +117,7 @@
File logFile = new File(loggerFile);
- String logFileContent = FileUtils.readFileToString(logFile);
+ String logFileContent = FileUtils.readFileToString(logFile, StandardCharsets.UTF_8);
log.info("++ File content ----------------------------------------------------------");
for (Object o : logFileContent.split("\n")) {
@@ -207,7 +208,7 @@
File logFile = new File(loggerFile);
- String logFileContent = FileUtils.readFileToString(logFile);
+ String logFileContent = FileUtils.readFileToString(logFile, StandardCharsets.UTF_8);
log.info("++ File content ----------------------------------------------------------");
for (Object o : logFileContent.split("\n")) {
Modified: trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -29,6 +29,7 @@
import java.io.IOException;
import java.io.StringReader;
import java.net.URL;
+import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@@ -489,7 +490,7 @@
String content = MexicoHelper.getDesignPlanAsXML(testDesignPlan);
File tempFile = File.createTempFile("testdesignplan", ".xml");
tempFile.deleteOnExit();
- FileUtils.writeStringToFile(tempFile, content);
+ FileUtils.writeStringToFile(tempFile, content, StandardCharsets.UTF_8);
// test to read it and get content
DesignPlan plan = MexicoHelper.getDesignPlanFromXML(tempFile, null);
@@ -528,7 +529,7 @@
File tempFile = File.createTempFile("testdesignplan", ".xml");
tempFile.deleteOnExit();
- FileUtils.writeStringToFile(tempFile, content);
+ FileUtils.writeStringToFile(tempFile, content, StandardCharsets.UTF_8);
// test to read it and get content
DesignPlan plan = MexicoHelper.getDesignPlanFromXML(tempFile, null);
Modified: trunk/src/test/java/fr/ifremer/isisfish/mexico/export/RegionExplorerTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/mexico/export/RegionExplorerTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/mexico/export/RegionExplorerTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -27,6 +27,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
@@ -79,7 +80,7 @@
// explore region (export as xml)
RegionExplorer explorer = new RegionExplorer();
explorer.explore(fisheryRegion, xmlFactorExport);
- String xmlExport = FileUtils.readFileToString(file);
+ String xmlExport = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
if (log.isDebugEnabled()) {
log.debug("Export xml is : \n" + xmlExport);
@@ -123,7 +124,7 @@
// explore region (export as xml)
RegionExplorer explorer = new RegionExplorer();
explorer.explore(fisheryRegion, xmlFactorExport);
- String xmlExport = FileUtils.readFileToString(file);
+ String xmlExport = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
// test that all sensitivity properties appear in xml content
// entity part and property part must appear in factors names
Modified: trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -29,6 +29,7 @@
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -109,7 +110,7 @@
File f = File.createTempFile("testCompile", ".java", getTestDirectory());
String filename = FileUtil.basename(f, ".java");
String code = getFirstClassContent(filename);
- FileUtils.writeStringToFile(f, code);
+ FileUtils.writeStringToFile(f, code, StandardCharsets.UTF_8);
List<File> classpath = new ArrayList<>();
classpath.add(f.getParentFile());
@@ -143,12 +144,12 @@
File fA = File.createTempFile("testCompileA", ".java", getTestDirectory());
String filenameA = FileUtil.basename(fA, ".java");
String codeA = getFirstClassContent(filenameA);
- FileUtils.writeStringToFile(fA, codeA);
+ FileUtils.writeStringToFile(fA, codeA, StandardCharsets.UTF_8);
File fB = File.createTempFile("testCompileB", ".java", getTestDirectory());
String filenameB = FileUtil.basename(fB, ".java");
String codeB = getSecondClassContent(filenameB, filenameA);
- FileUtils.writeStringToFile(fB, codeB);
+ FileUtils.writeStringToFile(fB, codeB, StandardCharsets.UTF_8);
File dest = new File(fB.getParentFile(), "testCompile");
Modified: trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java
===================================================================
--- trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java 2017-03-17 09:15:03 UTC (rev 4405)
+++ trunk/src/test/java/fr/ifremer/isisfish/vcs/VCSSVNTest.java 2017-03-17 09:57:57 UTC (rev 4406)
@@ -51,6 +51,7 @@
import java.io.File;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -128,7 +129,7 @@
new File(template, "scripts").mkdirs();
FileUtils.writeStringToFile(new File(template, "scripts" + File.separator
- + "version.txt"), FILECONTENTTAG);
+ + "version.txt"), FILECONTENTTAG, StandardCharsets.UTF_8);
// creation du repo pour les tests
SVNRepositoryFactory.createLocalRepository(remoteRepo, false, true);
@@ -298,12 +299,12 @@
File version = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
Assert.assertTrue(version.exists());
- Assert.assertEquals(FILECONTENTTAG, FileUtils.readFileToString(version));
+ Assert.assertEquals(FILECONTENTTAG, FileUtils.readFileToString(version, StandardCharsets.UTF_8));
// modification du fichier version.txt
- FileUtils.writeStringToFile(version, FILECONTENTTRUNK);
+ FileUtils.writeStringToFile(version, FILECONTENTTRUNK, StandardCharsets.UTF_8);
vcs.commit(null, "modif du fichier version");
- Assert.assertEquals(FILECONTENTTRUNK, FileUtils.readFileToString(version));
+ Assert.assertEquals(FILECONTENTTRUNK, FileUtils.readFileToString(version, StandardCharsets.UTF_8));
// recuperation de DemoRegion
File demo = new File(vcs.getLocalRepository(), "regions"
@@ -318,13 +319,13 @@
// ajout d'un fichier sur le trunk avant passage sur le tag
File fileToAdd = new File(vcs.getLocalRepository(), "newfile.txt");
String lecontent = "Le nouveau fichier";
- FileUtils.writeStringToFile(fileToAdd, lecontent);
+ FileUtils.writeStringToFile(fileToAdd, lecontent, StandardCharsets.UTF_8);
vcs.add(Arrays.asList(fileToAdd), "ajout d'un fichier");
// test switchTag
vcs.setTag(Versions.valueOf("3.1.0"));
Assert.assertTrue(vcs.getTag().startsWith("/tags/3.1.0"));
- Assert.assertEquals(FILECONTENTTAG, FileUtils.readFileToString(version));
+ Assert.assertEquals(FILECONTENTTAG, FileUtils.readFileToString(version, StandardCharsets.UTF_8));
Assert.assertTrue(demo.exists());
// recherche du status des fichiers
@@ -341,7 +342,7 @@
Assert.assertTrue(map.containsKey(newfileAdded));
// modif dans repo trunk de version pour qu'il y ait un conflit
- FileUtils.writeStringToFile(fileVersion, "Le nouveau content de version");
+ FileUtils.writeStringToFile(fileVersion, "Le nouveau content de version", StandardCharsets.UTF_8);
// update global du repo trunk
List<File> conflictFile = trunk.update(null, true);
@@ -352,7 +353,7 @@
Assert.assertTrue(conflictFile.contains(fileVersion));
File fileAdded = new File(trunk.getLocalRepository(), "newfile.txt");
- Assert.assertEquals(lecontent, FileUtils.readFileToString(fileAdded));
+ Assert.assertEquals(lecontent, FileUtils.readFileToString(fileAdded, StandardCharsets.UTF_8));
Assert.assertFalse(fileDeleted.exists());
// recherche du status des fichiers en remote, il ne doit plus y avoir de diff
@@ -397,7 +398,7 @@
// now, make a modification, on LOCAL repo
File firstFile = new File(vcs.getLocalRepository() + File.separator
+ "scripts" + File.separator + "version.txt");
- FileUtils.writeStringToFile(firstFile, "Version 3.2.1");
+ FileUtils.writeStringToFile(firstFile, "Version 3.2.1", StandardCharsets.UTF_8);
List<File> files = Collections.singletonList(firstFile);
@@ -462,8 +463,8 @@
vcs.checkout(null, true);
// now, make a modification, on LOCAL repo
- FileUtils.writeStringToFile(firstFile, "version 3.2.1");
- FileUtils.writeStringToFile(secondFile, "name = test1");
+ FileUtils.writeStringToFile(firstFile, "version 3.2.1", StandardCharsets.UTF_8);
+ FileUtils.writeStringToFile(secondFile, "name = test1", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
svnManager.getWCClient().doAdd(secondFile, // File path
true, // boolean force
@@ -504,7 +505,7 @@
vcs.checkout(null, true);
// now, make a modification, on LOCAL repo
- FileUtils.writeStringToFile(firstFile, "Version 3.2.1");
+ FileUtils.writeStringToFile(firstFile, "Version 3.2.1", StandardCharsets.UTF_8);
String result = vcs.getDiff(firstFile);
@@ -860,7 +861,7 @@
// modif on local repo
File file = new File(vcs.getLocalRepository() + File.separator
+ "test.txt");
- FileUtils.writeStringToFile(file, "name = test1");
+ FileUtils.writeStringToFile(file, "name = test1", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
svnManager.getWCClient().doAdd(file, // File path
true, // boolean force
@@ -934,7 +935,7 @@
// modif on local repo
File file = new File(vcs.getLocalRepository() + File.separator
+ "test.txt");
- FileUtils.writeStringToFile(file, "name = test1");
+ FileUtils.writeStringToFile(file, "name = test1", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
svnManager.getWCClient().doAdd(file, // File path
true, // boolean force
@@ -1009,7 +1010,7 @@
// modif on remote repo
File file = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file, "aaaaaz");
+ FileUtils.writeStringToFile(file, "aaaaaz", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
SVNCommitInfo rev = svnManager.getCommitClient().doCommit(
new File[] { file },// File[] paths,
@@ -1079,7 +1080,7 @@
// modif on remote repo
File file = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file, "aaaaaz");
+ FileUtils.writeStringToFile(file, "aaaaaz", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
SVNCommitInfo rev = svnManager.getCommitClient().doCommit(
new File[] { file },// File[] paths,
@@ -1108,7 +1109,7 @@
// modify one file
File file2 = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file2, "oooooo");
+ FileUtils.writeStringToFile(file2, "oooooo", StandardCharsets.UTF_8);
// try to update...
List<File> filesInConflict = vcs.update(null, true);
@@ -1145,7 +1146,7 @@
// modif on remote repo on tag :)
File file = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file, "aaaaaz");
+ FileUtils.writeStringToFile(file, "aaaaaz", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
SVNCommitInfo rev = svnManager.getCommitClient().doCommit(
new File[] { file },// File[] paths,
@@ -1166,7 +1167,7 @@
// modify one file
File file2 = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file2, "oooooo");
+ FileUtils.writeStringToFile(file2, "oooooo", StandardCharsets.UTF_8);
// try to update...
List<File> filesInConflict = vcs.setTag(Versions.valueOf("3.1.0"));
@@ -1203,7 +1204,7 @@
// modif on remote repo
File file = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file, "aaaaaz");
+ FileUtils.writeStringToFile(file, "aaaaaz", StandardCharsets.UTF_8);
SVNClientManager svnManager = SVNClientManager.newInstance();
SVNCommitInfo rev = svnManager.getCommitClient().doCommit(
new File[] { file },// File[] paths,
@@ -1232,7 +1233,7 @@
// modify one file
File file2 = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file2, "oooooo");
+ FileUtils.writeStringToFile(file2, "oooooo", StandardCharsets.UTF_8);
// try to update...
List<File> filesInConflict = vcs.checkFileStatus();
@@ -1272,7 +1273,7 @@
// modif on remote repo
File file = new File(vcs.getLocalRepository(), "scripts"
+ File.separator + "version.txt");
- FileUtils.writeStringToFile(file, "modified content");
+ FileUtils.writeStringToFile(file, "modified content", StandardCharsets.UTF_8);
Assert.assertEquals(Status.STATUS_MODIFIED, vcs.getLocalStatus(file));
}
1
0