From chatellier@users.labs.libre-entreprise.org Mon Jun 15 04:19:39 2026
From: chatellier@users.labs.libre-entreprise.org
To: coser-commits@list.forge.codelutin.com
Subject: [Coser-commits] r417 - in trunk:
coser-business/src/main/java/fr/ifremer/coser/services
coser-business/src/main/resources/i18n
coser-business/src/test/java/fr/ifremer/coser/services
coser-ui/src/main/java/fr/ifremer/coser/ui/control
coser-ui/src/main/java/fr/ifremer/coser/ui/selection
coser-ui/src/main/resources/i18n
Date: Wed, 15 Dec 2010 16:35:37 +0100
Message-ID: <20101215153537.CC5DC2F259@labs.libre-entreprise.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1818761539883638911=="
--===============1818761539883638911==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Author: chatellier
Date: 2010-12-15 15:35:37 +0000 (Wed, 15 Dec 2010)
New Revision: 417
Log:
Modification des rapports (controle/selection)
Modified:
trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationSe=
rvice.java
trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.properti=
es
trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.properti=
es
trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationSe=
rviceTest.java
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.ja=
va
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlView.jaxx
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionDetail=
sView.jaxx
trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandle=
r.java
trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties
trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties
Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/services/Public=
ationService.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationS=
ervice.java 2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-business/src/main/java/fr/ifremer/coser/services/PublicationS=
ervice.java 2010-12-15 15:35:37 UTC (rev 417)
@@ -65,7 +65,9 @@
import fr.ifremer.coser.CoserBusinessException;
import fr.ifremer.coser.CoserConstants.Category;
import fr.ifremer.coser.bean.AbstractDataContainer;
+import fr.ifremer.coser.bean.Control;
import fr.ifremer.coser.bean.Project;
+import fr.ifremer.coser.bean.Selection;
import fr.ifremer.coser.command.Command;
import fr.ifremer.coser.control.ControlError;
import fr.ifremer.coser.control.ControlErrorGroup;
@@ -417,7 +419,7 @@
}
=20
/**
- * Extrait les logs des modifications faites sur un conteneur au format =
html.
+ * Extrait les logs des modifications faites sur un control au format ht=
ml.
*=20
* @param project project
* @param container data container
@@ -426,7 +428,7 @@
*=20
* @see AbstractDataContainer#getHistoryCommand()
*/
- public File extractLogAsHTML(Project project, AbstractDataContainer cont=
ainer) throws CoserBusinessException {
+ public File extractControlLogAsHTML(Project project, Control container) =
throws CoserBusinessException {
File exportHtmlFile =3D null;
PrintStream out =3D null;
try {
@@ -438,13 +440,15 @@
out =3D new PrintStream(exportHtmlFile, "utf-8");
=20
out.println("
");
- out.println("" + _("coser.business.publication.logexportt=
itle", project.getName())+ "");
+ out.println("" + _("coser.business.publication.controllog=
exporttitle", project.getName())+ "");
out.println("");
out.println("");
=20
- out.println("" + _("coser.busine=
ss.publication.logexporttitle", project.getName()) + "
");
+ // header
+ out.println("" + _("coser.busine=
ss.publication.controllogexporttitle", project.getName()) + "
");
=20
// partie specific : commandes
+ out.println("" + _("coser.business.publication.datamodificat=
ion") + "
");
out.println("");
for (Command command : container.getHistoryCommand()) {
out.println("- " + command.getLogString(container) + "
");
@@ -460,4 +464,59 @@
}
return exportHtmlFile;
}
+ =20
+ /**
+ * Extrait les logs des modifications faites sur une selection au format=
html.
+ *=20
+ * @param project project
+ * @param selection data container
+ * @return extractedFile
+ * @throws CoserBusinessException=20
+ *=20
+ * @see AbstractDataContainer#getHistoryCommand()
+ */
+ public File extractSelectionLogAsHTML(Project project, Selection selecti=
on) throws CoserBusinessException {
+ File exportHtmlFile =3D null;
+ PrintStream out =3D null;
+ try {
+ exportHtmlFile =3D File.createTempFile("log-", ".html");
+ if (log.isInfoEnabled()) {
+ log.info("Generating HTML report to " + exportHtmlFile.getAb=
solutePath());
+ }
+
+ out =3D new PrintStream(exportHtmlFile, "utf-8");
+
+ out.println("");
+ out.println("" + _("coser.business.publication.selectionl=
ogexporttitle", selection.getName(), project.getName())+ "");
+ out.println("");
+ out.println("");
+ =20
+ // header
+ out.println("" + _("coser.busine=
ss.publication.selectionlogexporttitle", selection.getName(), project.getName=
()) + "
");
+
+ // partie resum=C3=A9 de selection
+ out.println("" + _("coser.business.publication.selectionchoi=
ces") + "
");
+ out.println("");
+ out.println("- " + _("coser.business.common.years") + " : " + =
StringUtils.join(selection.getSelectedYears(), " ,") + "
");
+ out.println("- " + _("coser.business.common.strata") + " : " +=
StringUtils.join(selection.getSelectedStrata(), " ,") + "
");
+ out.println("- " + _("coser.business.common.species") + " : " =
+ StringUtils.join(selection.getSelectedSpecies(), " ,") + "
");
+ out.println("
");
+ =20
+ // partie specific : commandes
+ out.println("" + _("coser.business.publication.datamodificat=
ion") + "
");
+ out.println("");
+ for (Command command : selection.getHistoryCommand()) {
+ out.println("- " + command.getLogString(selection) + "
");
+ }
+ out.println("
");
+ out.println("");
+ }
+ catch (IOException ex) {
+ throw new CoserBusinessException("Can't export logs", ex);
+ }
+ finally {
+ IOUtils.closeQuietly(out);
+ }
+ return exportHtmlFile;
+ }
}
Modified: trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.p=
roperties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.propert=
ies 2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-business/src/main/resources/i18n/coser-business_en_GB.propert=
ies 2010-12-15 15:35:37 UTC (rev 417)
@@ -71,11 +71,14 @@
coser.business.matrix.lengthstructure=3DLength structures
coser.business.matrix.occurrence=3DOccurrence
coser.business.matrix.samplingeffort=3DSampling effort
+coser.business.publication.controllogexporttitle=3DSelection report for %s (=
project %s)
+coser.business.publication.datamodification=3DData modifications
coser.business.publication.errorexportlines=3DLines
coser.business.publication.errorexporttitle=3DError report for project %s
coser.business.publication.errorgraph=3DGraph
coser.business.publication.errorgraphs=3DGraphs
-coser.business.publication.logexporttitle=3DModifications list for project %s
+coser.business.publication.selectionchoices=3DSelection choices
+coser.business.publication.selectionlogexporttitle=3D
coser.business.result.rsufiResultAlreadyExists=3DResult %s already exists \!
coser.business.selection.notValidatedControl=3DNot validated control \!
coser.config.control.diffcatchlength.description=3DPercentage difference all=
owed between catch and length (in percent, for example 5% set 5.0)
Modified: trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.p=
roperties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.propert=
ies 2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-business/src/main/resources/i18n/coser-business_fr_FR.propert=
ies 2010-12-15 15:35:37 UTC (rev 417)
@@ -71,11 +71,14 @@
coser.business.matrix.lengthstructure=3DStructures en taille
coser.business.matrix.occurrence=3DOccurrence
coser.business.matrix.samplingeffort=3DEffort d'\u00E9chantillonnage
+coser.business.publication.controllogexporttitle=3DRapport de contr\u00F4le =
(projet %s)
+coser.business.publication.datamodification=3DModifications sur les donn\u00=
E9es
coser.business.publication.errorexportlines=3DLignes
coser.business.publication.errorexporttitle=3DRapport d'erreur pour le proje=
t %s
coser.business.publication.errorgraph=3DGraphique
coser.business.publication.errorgraphs=3DGraphiques
-coser.business.publication.logexporttitle=3DListe des modifications pour le =
projet %s
+coser.business.publication.selectionchoices=3DChoix de s\u00E9lections
+coser.business.publication.selectionlogexporttitle=3DRapport de la s\u00E9le=
ction %s (projet %s)
coser.business.result.rsufiResultAlreadyExists=3DLe r\u00E9sultat %D existe =
d\u00E9j\u00E0 \!
coser.business.selection.notValidatedControl=3DContr\u00F4le non valid\u00E9=
\!
coser.config.control.diffcatchlength.description=3DPourcentage d'\u00E9cart =
tol\u00E9r\u00E9 entre les captures et les tailles (en pourcent, par exemple =
pour 5% mettre 5.0)
Modified: trunk/coser-business/src/test/java/fr/ifremer/coser/services/Public=
ationServiceTest.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationS=
erviceTest.java 2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-business/src/test/java/fr/ifremer/coser/services/PublicationS=
erviceTest.java 2010-12-15 15:35:37 UTC (rev 417)
@@ -30,6 +30,7 @@
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
=20
@@ -47,7 +48,9 @@
import fr.ifremer.coser.CoserConstants.Category;
import fr.ifremer.coser.CoserConstants.ValidationLevel;
import fr.ifremer.coser.bean.Project;
+import fr.ifremer.coser.bean.Selection;
import fr.ifremer.coser.command.DeleteLineCommand;
+import fr.ifremer.coser.command.MergeSpeciesCommand;
import fr.ifremer.coser.command.ModifyFieldCommand;
import fr.ifremer.coser.control.DiffCatchLengthControlError;
import fr.ifremer.coser.control.ControlError;
@@ -140,16 +143,15 @@
}
=20
/**
- * Test le rapport de log en html.
+ * Test le rapport de control en html.
*=20
* @throws CoserBusinessException
* @throws IOException
*/
@Test
- public void testLogExportHtml() throws CoserBusinessException, IOExcepti=
on {
+ public void testControlLogExportHtml() throws CoserBusinessException, IO=
Exception {
=20
Project project =3D createTestProject(projectService, false);
- Assert.assertEquals(30, project.getControl().getLength().size());
=20
// delete line 2
DeleteLineCommand command =3D new DeleteLineCommand();
@@ -166,7 +168,7 @@
=20
commandService.doAction(command2, project, project.getControl());
=20
- File htmlExport =3D publicationService.extractLogAsHTML(project, pro=
ject.getControl());
+ File htmlExport =3D publicationService.extractControlLogAsHTML(proje=
ct, project.getControl());
=20
// some asserts
String fileContent =3D FileUtils.readFileToString(htmlExport);
@@ -175,6 +177,45 @@
Assert.assertTrue(fileContent.indexOf("from \"251.86\" to \"392.98\"=
") > 0);
=20
// clean all
+ //htmlExport.delete();
+ }
+ =20
+ /**
+ * Test le rapport de selection en html.
+ *=20
+ * @throws CoserBusinessException
+ * @throws IOException
+ */
+ @Test
+ public void testSelectionLogExportHtml() throws CoserBusinessException, =
IOException {
+ =20
+ Project project =3D createTestProject(projectService, true);
+ Selection selection =3D projectService.initProjectSelection(project);
+ selection.setSelectedYears(Collections.singletonList("2010"));
+ selection.setSelectedStrata(Collections.singletonList("EG34EB"));
+ selection.setSelectedSpecies(Collections.singletonList("COSER_SPECIE=
S1"));
+
+ // merge species
+ MergeSpeciesCommand command =3D new MergeSpeciesCommand();
+ command.setComment("marged because i wanted to !");
+ command.setNewSpecyName("TESTMERGE");
+ command.setSpeciesNames(new String[]{"COSER_SPECIES2","COSER_SPECIES=
3"});
+ commandService.doAction(command, project, selection);
+
+ commandService.doAction(command, project, selection);
+ =20
+ File htmlExport =3D publicationService.extractSelectionLogAsHTML(pro=
ject, selection);
+
+ // some asserts
+ String fileContent =3D FileUtils.readFileToString(htmlExport);
+ Assert.assertTrue(fileContent.indexOf("COSER_SPECIES1") > 0);
+ Assert.assertTrue(fileContent.indexOf("2010") > 0);
+ Assert.assertTrue(fileContent.indexOf("EG34EB") > 0);
+ Assert.assertTrue(fileContent.indexOf("TESTMERGE") > 0);
+ Assert.assertTrue(fileContent.indexOf("COSER_SPECIES2") > 0);
+ Assert.assertTrue(fileContent.indexOf("COSER_SPECIES3") > 0);
+
+ // clean all
htmlExport.delete();
}
}
Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHan=
dler.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.j=
ava 2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlHandler.j=
ava 2010-12-15 15:35:37 UTC (rev 417)
@@ -1045,7 +1045,7 @@
=20
File htmlFile =3D null;
try {
- htmlFile =3D publicationService.extractLogAsHTML(project, projec=
t.getControl());
+ htmlFile =3D publicationService.extractControlLogAsHTML(project,=
project.getControl());
browseFile(controlView, htmlFile);
} catch (CoserBusinessException ex) {
throw new CoserException("Can't generate html report", ex);
Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlVie=
w.jaxx
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlView.jaxx=
2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/control/ControlView.jaxx=
2010-12-15 15:35:37 UTC (rev 417)
@@ -60,7 +60,7 @@
onActionPerformed=3D"getHandler().displayLengthStructure=
Graph(this)"/>
+ text=3D"coser.ui.control.controlreport" />
+ text=3D"coser.ui.selection.selectionreport" />
Modified: trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/Selectio=
nHandler.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandl=
er.java 2010-12-15 15:01:13 UTC (rev 416)
+++ trunk/coser-ui/src/main/java/fr/ifremer/coser/ui/selection/SelectionHandl=
er.java 2010-12-15 15:35:37 UTC (rev 417)
@@ -1180,7 +1180,7 @@
=20
File htmlFile =3D null;
try {
- htmlFile =3D publicationService.extractLogAsHTML(project, select=
ion);
+ htmlFile =3D publicationService.extractSelectionLogAsHTML(projec=
t, selection);
browseFile(view, htmlFile);
} catch (CoserBusinessException ex) {
throw new CoserException("Can't generate html report", ex);
Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-12-=
15 15:01:13 UTC (rev 416)
+++ trunk/coser-ui/src/main/resources/i18n/coser-ui_en_GB.properties 2010-12-=
15 15:35:37 UTC (rev 417)
@@ -28,6 +28,7 @@
coser.ui.control.controlSaved=3DControl saved.
coser.ui.control.controlTitle=3DControl
coser.ui.control.controlValidated=3DControl validated and saved.
+coser.ui.control.controlreport=3DControl report
coser.ui.control.dataMenuDeleteSelected=3DDeleted selected lines
coser.ui.control.dataMenuLabel=3DData menu
coser.ui.control.dataMenuReplace=3DReplace in %s for selection
@@ -39,7 +40,6 @@
coser.ui.control.globalErrorMenuGenerateHTML=3DExport as HTML
coser.ui.control.globalErrorMenuSelectAll=3DSelect all lines
coser.ui.control.graph.species=3DSpecies \:
-coser.ui.control.logreport=3DModification report
coser.ui.control.progressStep=3DStep %d/%d \: %s
coser.ui.control.project.requiredauthor=3DAuthor field is required
coser.ui.control.project.requiredcatchFile=3DCatch file is required
@@ -184,7 +184,6 @@
coser.ui.selection.fusion.title=3DMerge
coser.ui.selection.fusionError=3DMerge error
coser.ui.selection.invalidFusionName=3DSelection fusion name not found in re=
ferential \!
-coser.ui.selection.logreport=3DModification report
coser.ui.selection.maturitySpecies=3DL4 \: Species with maturity (%d/%d)
coser.ui.selection.nonJustifiedMaturity=3DMaturity species list is not all s=
elected.\nYou must justify this selection with a comment.
coser.ui.selection.nonJustifiedOccurenceDensity=3DFiltered list selection do=
esn't match filter selection.\nYou must justify this selection with a comment.
@@ -203,6 +202,7 @@
coser.ui.selection.selectionSaved=3DSelection saved.
coser.ui.selection.selectionTitle=3DSelection
coser.ui.selection.selectionValidated=3DSelection validated and saved.
+coser.ui.selection.selectionreport=3DSelection report
coser.ui.selection.sizeAllYearSpecies=3DL3 \: Species with size all year (%d=
/%d)
coser.ui.selection.speciesMenuFusion=3DMerge
coser.ui.selection.speciesMerged=3DSpecies merged.
Modified: trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-12-=
15 15:01:13 UTC (rev 416)
+++ trunk/coser-ui/src/main/resources/i18n/coser-ui_fr_FR.properties 2010-12-=
15 15:35:37 UTC (rev 417)
@@ -28,6 +28,7 @@
coser.ui.control.controlSaved=3DContr\u00F4le sauv\u00E9.
coser.ui.control.controlTitle=3DContr\u00F4le
coser.ui.control.controlValidated=3DContr\u00F4le valid\u00E9 et sauv\u00E9.
+coser.ui.control.controlreport=3DRapport de contr\u00F4le
coser.ui.control.dataMenuDeleteSelected=3DSupprimer les lignes s\u00E9lectio=
nn\u00E9es
coser.ui.control.dataMenuLabel=3DMenu des donn\u00E9es
coser.ui.control.dataMenuReplace=3DRemplacer dans %s pour la s\u00E9lection
@@ -39,7 +40,6 @@
coser.ui.control.globalErrorMenuGenerateHTML=3DExporter en HTML
coser.ui.control.globalErrorMenuSelectAll=3DS\u00E9lectionner toutes les lig=
nes
coser.ui.control.graph.species=3DEsp\u00E8ces \:
-coser.ui.control.logreport=3DRapport des modifications
coser.ui.control.progressStep=3D\u00C9tape %d/%d \: %s
coser.ui.control.project.requiredauthor=3DLe champ 'auteur' est requis
coser.ui.control.project.requiredcatchFile=3DLe fichier 'capture' est requis
@@ -184,7 +184,6 @@
coser.ui.selection.fusion.title=3DFusion
coser.ui.selection.fusionError=3DErreur de fusion
coser.ui.selection.invalidFusionName=3DLe nom de fusion choisit n'est pas pr=
\u00E9sent de le r\u00E9f\u00E9rentiel \!
-coser.ui.selection.logreport=3DRapport des modifications
coser.ui.selection.maturitySpecies=3DL4 \: Esp\u00E8ces avec maturit\u00E9 (=
%d/%d)
coser.ui.selection.nonJustifiedMaturity=3DLa liste esp\u00E8ces avec maturit=
\u00E9 n'est pas enti\u00E8rement s\u00E9lectionn\u00E9e.\nVous devez justifi=
er cette s\u00E9lection par un commentaire.
coser.ui.selection.nonJustifiedOccurenceDensity=3DLa s\u00E9lection de la li=
ste filtr\u00E9e ne correspond pas \u00E0 la s\u00E9lection op\u00E9r\u00E9e =
par le filtre.\nVous devez justifier cette s\u00E9lection par un commentaire.
@@ -203,6 +202,7 @@
coser.ui.selection.selectionSaved=3DS\u00E9lection sauv\u00E9e.
coser.ui.selection.selectionTitle=3DS\u00E9lection
coser.ui.selection.selectionValidated=3DS\u00E9lection valid\u00E9e et sauv\=
u00E9e.
+coser.ui.selection.selectionreport=3DRapport de la s\u00E9lection
coser.ui.selection.sizeAllYearSpecies=3DL3 \: Esp\u00E8ces avec taille pour =
toutes les ann\u00E9es (%d/%d)
coser.ui.selection.speciesMenuFusion=3DFusion
coser.ui.selection.speciesMerged=3DEsp\u00E8ces fusionn\u00E9es.
--===============1818761539883638911==--