Tutti-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
September 2013
- 4 participants
- 100 discussions
The Tutti team is pleased to announce the tutti-2.5 release!
Outil de saisie de données d'opérations et de captures au
cours des campagnes halieutiques.
Documentation of the project can be found here:
http://forge.codelutin.com/projects/tutti
Changes
-------
Changes in this version include:
New features:
o [DONNEES INDIVIDUELLES] gérer les colonnes du tableau dans le protocole Issue: 3297. Thanks to Tony Chemit. Resolved by tchemit.
o [DONNEES INDIVIDUELLES] liste des espèces possibles. Saisie au km Issue: 3303. Thanks to Tony Chemit. Resolved by tchemit.
o [CAPTURE] pouvoir choisir dans la configuration l'unité de saisie des poids (espèces benthos macro déchets) kg ou g et donc adapter les intitulés des colonnes Issue: 3310. Thanks to Tony Chemit. Resolved by tchemit.
o [MACRO-DECHET] Ajout du champs *Poids* sur l'écran de création Issue: 3311. Thanks to Tony Chemit. Resolved by tchemit.
o [ESPECE] Ajout du contexte d'un lot sur l'écran de catégorisation Issue: 3267. Thanks to Tony Chemit. Resolved by tchemit.
o [ESPECE] pouvoir saisir plusieurs lots pères sans refermer le formulaire Issue: 3270. Thanks to Tony Chemit. Resolved by tchemit.
o [MENSURATION] ajout bouton "enregistrer et passer à l'espèce suivante" dans écran mensurations Issue: 3271. Thanks to Tony Chemit. Resolved by tchemit.
o [CAPTURE] pouvoir saisir aussi le nombre dès la création d'un lot Issue: 3279. Thanks to Tony Chemit. Resolved by tchemit.
o [CAPTURE] à la création d'un lot, scanner le protocole et proposer la catégorisation du protocole Issue: 3280. Thanks to Tony Chemit. Resolved by tchemit.
o [CAPTURES ACCIDENTELLES] Permettre la saisie de plusieurs captures accidentelles sans avoir à fermer l'écran de création Issue: 3292. Thanks to Tony Chemit. Resolved by tchemit.
o [MACRO-DECHETS] Permettre la saisie de plusieurs macro-déchets sans avoir à fermer l'écran de création Issue: 3291. Thanks to Tony Chemit. Resolved by tchemit.
Fixed Bugs:
o [DONNEES INDIVIDUELLES] L'ordre de saisie n'est pas conservé Issue: 3306. Thanks to Tony Chemit. Resolved by tchemit.
o [DONNEES INDIVIDUELLES] Utilisation du code campagne sur les espèces Issue: 3304. Thanks to Tony Chemit. Resolved by tchemit.
o [DONNEES INDIVIDUELLES] Ligne à supprimer non sélectionnée Issue: 3309. Thanks to Tony Chemit. Resolved by tchemit.
o [CAPTURES ACCIDENTELLES] L'ordre de saisie n'est pas conservé Issue: 3308. Thanks to Tony Chemit. Resolved by tchemit.
o [TECH] Problème de génération du fichier des mises à jour Issue: 3262. Thanks to Tony Chemit. Resolved by tchemit.
o [ERGO] Barre de progression trop longue Issue: 3263. Thanks to Tony Chemit. Resolved by tchemit.
o [TRAIT] Vérifier que l'ordre de saisie des captures est bien celui de la configuration de catégorisation Issue: 3265. Thanks to Tony Chemit. Resolved by tchemit.
o [ESPECE] Sur l'écran de création d'un lot, libellé manquant + hors-vrac sélectionné au lieu de vrac Issue: 3264. Thanks to Tony Chemit. Resolved by tchemit.
o suite Evolution #2460, oui on peut suprimer une espèce dans le protocole via clic droit mais la ligne se désélectionne donc on ne sais pas ce que l'on va supprimer Issue: 2881. Thanks to Vincent BADTS. Resolved by tchemit.
o Lors d'un import d'une base, la version affichée dans le gestionnaire reste sur la version avant migration Issue: 3268. Thanks to Tony Chemit. Resolved by tchemit.
o [PROTOCOL] Dans le tableau Benthos la categorie V/HV apparait Issue: 3287. Thanks to Tony Chemit. Resolved by tchemit.
o [CAPTURE] Impossible de créer un lot espèce / benthos (V ou HV) après avoir supprimer le lot pour cette même espèce. Issue: 3289. Thanks to Tony Chemit. Resolved by tchemit.
o [MENSURATION] Ne pas conserver les id des catégories dans la barre de rappel Issue: 3266. Thanks to Tony Chemit. Resolved by tchemit.
Changes:
o Updates mavenpom to 4.1 Issue: 3269. Thanks to Tony Chemit. Resolved by tchemit.
o Updates jaxx to 2.5.26 Issue: 3293. Thanks to Tony Chemit. Resolved by tchemit.
Downloads
---------
No release file deployed. (all files are deployed in the maven repository)
Maven artifacts
---------------
Artifacts are deployed in nuiton maven repository
http://maven.nuiton.org/other-releases/
Have fun!
-Tutti team
1
0
r1211 - in trunk: . tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 23 Sep '13
by maven-release@users.forge.codelutin.com 23 Sep '13
23 Sep '13
Author: maven-release
Date: 2013-09-23 16:32:15 +0200 (Mon, 23 Sep 2013)
New Revision: 1211
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1211
Log:
[maven-release-plugin] prepare for next development iteration
Modified:
trunk/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-09-23 14:32:06 UTC (rev 1210)
+++ trunk/pom.xml 2013-09-23 14:32:15 UTC (rev 1211)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5</version>
+ <version>2.6-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Tutti</name>
@@ -86,12 +86,12 @@
</modules>
<scm>
- <url>http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.5</url>
+ <url>http://svn.forge.codelutin.com/svn/tutti/trunk</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.5
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.5
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
</developerConnection>
</scm>
<distributionManagement>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-09-23 14:32:06 UTC (rev 1210)
+++ trunk/tutti-persistence/pom.xml 2013-09-23 14:32:15 UTC (rev 1211)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5</version>
+ <version>2.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-09-23 14:32:06 UTC (rev 1210)
+++ trunk/tutti-service/pom.xml 2013-09-23 14:32:15 UTC (rev 1211)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5</version>
+ <version>2.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-09-23 14:32:06 UTC (rev 1210)
+++ trunk/tutti-ui-swing/pom.xml 2013-09-23 14:32:15 UTC (rev 1211)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5</version>
+ <version>2.6-SNAPSHOT</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
Author: maven-release
Date: 2013-09-23 16:32:06 +0200 (Mon, 23 Sep 2013)
New Revision: 1210
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1210
Log:
[maven-release-plugin] copy for tag tutti-2.5
Added:
tags/tutti-2.5/
1
0
r1209 - in trunk: . tutti-persistence tutti-service tutti-ui-swing
by maven-release@users.forge.codelutin.com 23 Sep '13
by maven-release@users.forge.codelutin.com 23 Sep '13
23 Sep '13
Author: maven-release
Date: 2013-09-23 16:31:56 +0200 (Mon, 23 Sep 2013)
New Revision: 1209
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1209
Log:
[maven-release-plugin] prepare release tutti-2.5
Modified:
trunk/pom.xml
trunk/tutti-persistence/pom.xml
trunk/tutti-service/pom.xml
trunk/tutti-ui-swing/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-09-23 13:14:53 UTC (rev 1208)
+++ trunk/pom.xml 2013-09-23 14:31:56 UTC (rev 1209)
@@ -32,7 +32,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5-SNAPSHOT</version>
+ <version>2.5</version>
<packaging>pom</packaging>
<name>Tutti</name>
@@ -86,12 +86,12 @@
</modules>
<scm>
- <url>http://svn.forge.codelutin.com/svn/tutti/trunk</url>
+ <url>http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.5</url>
<connection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.5
</connection>
<developerConnection>
- scm:svn:http://svn.forge.codelutin.com/svn/tutti/trunk
+ scm:svn:http://svn.forge.codelutin.com/svn/tutti/tags/tutti-2.5
</developerConnection>
</scm>
<distributionManagement>
Modified: trunk/tutti-persistence/pom.xml
===================================================================
--- trunk/tutti-persistence/pom.xml 2013-09-23 13:14:53 UTC (rev 1208)
+++ trunk/tutti-persistence/pom.xml 2013-09-23 14:31:56 UTC (rev 1209)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5-SNAPSHOT</version>
+ <version>2.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-service/pom.xml
===================================================================
--- trunk/tutti-service/pom.xml 2013-09-23 13:14:53 UTC (rev 1208)
+++ trunk/tutti-service/pom.xml 2013-09-23 14:31:56 UTC (rev 1209)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5-SNAPSHOT</version>
+ <version>2.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
Modified: trunk/tutti-ui-swing/pom.xml
===================================================================
--- trunk/tutti-ui-swing/pom.xml 2013-09-23 13:14:53 UTC (rev 1208)
+++ trunk/tutti-ui-swing/pom.xml 2013-09-23 14:31:56 UTC (rev 1209)
@@ -27,7 +27,7 @@
<parent>
<groupId>fr.ifremer</groupId>
<artifactId>tutti</artifactId>
- <version>2.5-SNAPSHOT</version>
+ <version>2.5</version>
</parent>
<groupId>fr.ifremer.tutti</groupId>
1
0
r1208 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing java/fr/ifremer/tutti/ui/swing/util/action resources/i18n
by tchemit@users.forge.codelutin.com 23 Sep '13
by tchemit@users.forge.codelutin.com 23 Sep '13
23 Sep '13
Author: tchemit
Date: 2013-09-23 15:14:53 +0200 (Mon, 23 Sep 2013)
New Revision: 1208
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1208
Log:
improve action progress bar
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-09-23 13:00:24 UTC (rev 1207)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-09-23 13:14:53 UTC (rev 1208)
@@ -305,8 +305,10 @@
@Override
public void showInformationMessage(String message) {
- if (log.isInfoEnabled()) {
- log.info(message);
+ if (StringUtils.isNotBlank(message)) {
+ if (log.isInfoEnabled()) {
+ log.info(message);
+ }
}
}
};
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-09-23 13:00:24 UTC (rev 1207)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/action/TuttiActionUIHandler.java 2013-09-23 13:14:53 UTC (rev 1208)
@@ -67,7 +67,9 @@
if (ProgressionModel.PROPERTY_MESSAGE.equals(propertyName)) {
// change message
- ui.getTaskActionLabel().setText((String) evt.getNewValue());
+ String newMessage = (String) evt.getNewValue();
+ ui.getTaskActionLabel().setText("<html><body>" + newMessage + "</body></html>");
+ ui.pack();
} else if (ProgressionModel.PROPERTY_TOTAL.equals(propertyName)) {
// change total progressbar max
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-23 13:00:24 UTC (rev 1207)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-23 13:14:53 UTC (rev 1208)
@@ -1226,7 +1226,7 @@
tutti.multiPostImportLog.totalWeight=Poids total \: %s kg
tutti.openDb.step.check.dbContext=Vérification du context de saisie
tutti.openDb.step.checkSchemaVersion=Vérification de la compatibilité de la base
-tutti.openDb.step.open=Ouverture de la base %s
+tutti.openDb.step.open=Ouverture de la base <strong>%s</strong>
tutti.openDb.step.will.migrateSchema=Démarrage de la mise à jour du schéma de la base depuis la version %s vers la version %s
tutti.option.cancel=Annuler
tutti.option.cleanAndClone=Nettoyer et Cloner
1
0
r1207 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service
by tchemit@users.forge.codelutin.com 23 Sep '13
by tchemit@users.forge.codelutin.com 23 Sep '13
23 Sep '13
Author: tchemit
Date: 2013-09-23 15:00:24 +0200 (Mon, 23 Sep 2013)
New Revision: 1207
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1207
Log:
refs #3297: [DONNEES INDIVIDUELLES] g?\195?\169rer les colonnes du tableau dans le protocole (fix NPE if no caracteristics defined in protocol)
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2013-09-23 12:59:33 UTC (rev 1206)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java 2013-09-23 13:00:24 UTC (rev 1207)
@@ -40,6 +40,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
import fr.ifremer.tutti.service.config.TuttiServiceConfig;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -692,14 +693,22 @@
if (log.isInfoEnabled()) {
log.info("Loading defaultIndividualObservationCaracteristics");
}
- List<Caracteristic> list ;
+ List<Caracteristic> list;
if (isProtocolFilled()) {
List<String> individualObservationPmfmId = getProtocol().getIndividualObservationPmfmId();
- list = Lists.newArrayListWithCapacity(individualObservationPmfmId.size());
- for (String id : individualObservationPmfmId) {
- Caracteristic caracteristic = service.getCaracteristic(Integer.valueOf(id));
- list.add(caracteristic);
+ if (CollectionUtils.isEmpty(individualObservationPmfmId)) {
+
+ // no conf
+ list = Lists.newArrayList();
+
+ } else {
+ list = Lists.newArrayListWithCapacity(individualObservationPmfmId.size());
+ for (String id : individualObservationPmfmId) {
+ Caracteristic caracteristic = service.getCaracteristic(Integer.valueOf(id));
+ list.add(caracteristic);
+ }
}
+
} else {
// no default caracteristics to use
list = Lists.newArrayList();
@@ -718,7 +727,7 @@
public void resetProtocol() {
protocol = null;
lengthStepCaracteristics = null;
- defaultIndividualObservationCaracteristics=null;
+ defaultIndividualObservationCaracteristics = null;
}
public void resetGears() {
1
0
r1206 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db
by tchemit@users.forge.codelutin.com 23 Sep '13
by tchemit@users.forge.codelutin.com 23 Sep '13
23 Sep '13
Author: tchemit
Date: 2013-09-23 14:59:33 +0200 (Mon, 23 Sep 2013)
New Revision: 1206
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1206
Log:
fixes #3268: Lors d'un import d'une base, la version affich?\195?\169e dans le gestionnaire reste sur la version avant migration
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ImportDbAction.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ImportDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ImportDbAction.java 2013-09-23 12:20:59 UTC (rev 1205)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ImportDbAction.java 2013-09-23 12:59:33 UTC (rev 1206)
@@ -267,7 +267,7 @@
if (updateSchema) {
// need to migrate schema
- progressionModel.adaptTotal(progressionModel.getTotal() + 1);
+ progressionModel.adaptTotal(progressionModel.getTotal() + 2);
// ------------------------------------------------------------------ //
// --- update schema //
@@ -281,6 +281,14 @@
getHandler().getPersistenceService().updateSchema();
sendMessage(_("tutti.flash.info.db.schema.updated", dbVersion, applicationVersion));
+
+ // reload a special databinding (dbLoaded)
+ AbstractTuttiUIHandler currentHandler = getHandler().getCurrentHandler();
+ if (currentHandler instanceof DbManagerUIHandler) {
+ DbManagerUIHandler dbManagerUIHandler = (DbManagerUIHandler) currentHandler;
+ dbManagerUIHandler.getUI().applyDataBinding(DbManagerUI.BINDING_INFORMATION_AREA_TEXT);
+
+ }
}
// ------------------------------------------------------------------ //
1
0
23 Sep '13
Author: tchemit
Date: 2013-09-23 14:20:59 +0200 (Mon, 23 Sep 2013)
New Revision: 1205
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1205
Log:
fix and optimize i18n
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/TuttiMultiPostExportService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/CreateBenthosMelagAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateSpeciesMelagAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.jaxx
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/TuttiMultiPostExportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/TuttiMultiPostExportService.java 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/multipost/TuttiMultiPostExportService.java 2013-09-23 12:20:59 UTC (rev 1205)
@@ -643,7 +643,7 @@
AttachmentRowModel csvAttachmentModel = new AttachmentRowModel(csvSeparator);
File attachmentDirectory = new File(directory, ATTACHMENTS_DIRECTORY);
- TuttiIOUtil.forceMkdir(attachmentDirectory, _("tutti.service.multipost.attachment.mkdirDir.error", attachmentDirectory));
+ TuttiIOUtil.forceMkdir(attachmentDirectory, _("tutti.service.multipost.attachment.mkdir.error", attachmentDirectory));
file2zip.add(attachmentDirectory);
for (AttachmentRow attachmentRow : attachmentRows) {
File attachmentFile = attachmentRow.getFile();
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-09-23 12:20:59 UTC (rev 1205)
@@ -81,7 +81,7 @@
tutti.service.exportSumatra.header.weight=
tutti.service.mkDir.error=
tutti.service.multipost.attachment.copy.error=
-tutti.service.multipost.attachment.mkdirDir.error=
+tutti.service.multipost.attachment.mkdir.error=
tutti.service.multipost.export.attachments.error=
tutti.service.multipost.export.batches.error=
tutti.service.multipost.export.deleteTempDirectory.error=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-09-23 12:20:59 UTC (rev 1205)
@@ -82,7 +82,6 @@
tutti.service.mkDir.error=Erreur à la création du dossier %s
tutti.service.multipost.attachment.copy.error=Erreur lors de l'export de la pièce-jointe %s
tutti.service.multipost.attachment.mkdir.error=Impossible de créer le répertoire %s
-tutti.service.multipost.attachment.mkdirDir.error=
tutti.service.multipost.export.attachments.error=Erreur lors de l'export des pièces-jointes
tutti.service.multipost.export.batches.error=Erreur lors de l'export des lots
tutti.service.multipost.export.deleteTempDirectory.error=Erreur lors de la suppression du dossier temporaire
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.css 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUI.css 2013-09-23 12:20:59 UTC (rev 1205)
@@ -43,7 +43,7 @@
actionIcon: install-db;
text: {handler.getInstallButtonText(model.isDbExist())};
toolTipText: {handler.getInstallButtonTip(model.isDbExist())};
- i18nMnemonic: {handler.getInstallButtonMnemonic(model.isDbExist())};
+ i18nMnemonic: "tutti.dbManager.action.installDb.mnemonic";
_tuttiAction: {InstallOrReinstallDbAction.class};
_help: {"tutti.dbManager.action.installDb.help"};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/DbManagerUIHandler.java 2013-09-23 12:20:59 UTC (rev 1205)
@@ -27,10 +27,13 @@
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.lang3.StringUtils;
import org.nuiton.util.Version;
import javax.swing.JComponent;
import javax.swing.SwingUtilities;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
import static org.nuiton.i18n.I18n._;
@@ -81,6 +84,24 @@
initUI(ui);
+ getModel().addPropertyChangeListener(TuttiUIContext.PROPERTY_DB_EXIST, new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+
+ Boolean dbExist = (Boolean) evt.getNewValue();
+ String mnemonic;
+ if (dbExist) {
+ mnemonic = _("tutti.dbManager.action.reinstallDb.mnemonic");
+ } else {
+ mnemonic = _("tutti.dbManager.action.installDb.mnemonic");
+ }
+ if (StringUtils.isNotBlank(mnemonic)) {
+ ui.getInstallOrReinstallDbButton().setMnemonic(mnemonic.charAt(0));
+ }
+
+ }
+ });
+
SwingUtilities.invokeLater(
new Runnable() {
@Override
@@ -124,14 +145,4 @@
}
return result;
}
-
- public String getInstallButtonMnemonic(boolean dbExist) {
- String result;
- if (dbExist) {
- result = _("tutti.dbManager.action.reinstallDb.mnemonic");
- } else {
- result = _("tutti.dbManager.action.installDb.mnemonic");
- }
- return result;
- }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java 2013-09-23 12:20:59 UTC (rev 1205)
@@ -94,7 +94,7 @@
// close db
- progressionModel.setMessage(_("tutti.exportDb.closeDb"));
+ progressionModel.setMessage(_("tutti.exportDb.step.closeDb"));
// clear all caches
getContext().getPersistenceService().clearAllCaches();
@@ -111,14 +111,14 @@
// export db
progressionModel.increments(1);
- progressionModel.setMessage(_("tutti.exportDb.createArchive", file));
+ progressionModel.setMessage(_("tutti.exportDb.step.createArchive", file));
getContext().getPersistenceService().exportDb(file);
// clean files
progressionModel.increments(1);
- progressionModel.setMessage(_("tutti.exportDb.reloadApplication"));
+ progressionModel.setMessage(_("tutti.exportDb.step.reloadApplication"));
// Close the application, will exit and restart application
RunTutti.closeTutti(getHandler(), RunTutti.DELETE_DB_EXIT_CODE);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/CreateBenthosMelagAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/CreateBenthosMelagAction.java 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/CreateBenthosMelagAction.java 2013-09-23 12:20:59 UTC (rev 1205)
@@ -26,6 +26,7 @@
import com.google.common.collect.Maps;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.frequency.BenthosFrequencyRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.species.EnterMelagWeightDialog;
import jaxx.runtime.SwingUtil;
@@ -51,8 +52,16 @@
protected Float sortedWeight = null;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public CreateBenthosMelagAction(BenthosBatchUIHandler handler) {
super(handler, false);
+ weightUnit = getConfig().getBenthosWeightUnit();
}
@Override
@@ -127,8 +136,9 @@
protected Float openMelagWeightDialog() {
Frame frame = SwingUtil.getParentContainer(getUI(), Frame.class);
- final EnterMelagWeightDialog dialog = new EnterMelagWeightDialog(frame,
- getConfig().getShortcutClosePopup());
+ EnterMelagWeightDialog dialog = new EnterMelagWeightDialog(
+ frame, getConfig().getShortcutClosePopup());
+ dialog.setWeightUnit(weightUnit);
SwingUtil.center(frame, dialog);
dialog.pack();
dialog.setVisible(true);
@@ -142,16 +152,17 @@
@Override
public void doAction() throws Exception {
- String melagComment = _("tutti.createBenthosMelag.comment.part1");
+ String unitLabel = weightUnit.getShortLabel();
+ String melagComment = _("tutti.createBenthosMelag.comment.part1") + "\n";
for (BenthosBatchRowModel batch : selectedRows.keySet()) {
Float sampleWeight = selectedRows.get(batch);
if (sampleWeight != null) {
Float weight = sampleMelagWeight * sampleWeight / sortedWeight;
batch.getFinestCategory().setCategoryWeight(weight);
}
- melagComment += _("tutti.createBenthosMelag.comment.part2", sampleWeight, decorate(batch.getSpecies()));
+ melagComment += _("tutti.createBenthosMelag.comment.part2", sampleWeight, unitLabel, decorate(batch.getSpecies())) + "\n";
}
- melagComment += _("tutti.createBenthosMelag.comment.part3", melagWeight);
+ melagComment += _("tutti.createBenthosMelag.comment.part3", melagWeight, unitLabel);
for (BenthosBatchRowModel batch : selectedRows.keySet()) {
String comment = batch.getComment();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java 2013-09-23 12:20:59 UTC (rev 1205)
@@ -64,13 +64,13 @@
// public static final ColumnIdentifier<IndividualObservationBatchRowModel> CALCIFIED_PIECE_SAMPLING_CODE = ColumnIdentifier.newId(
// IndividualObservationBatchRowModel.PROPERTY_CALCIFIED_PIECE_SAMPLING_CODE,
-// n_("tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode"),
-// n_("tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode.tip"));
+// ("tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode"),
+// ("tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode.tip"));
//
// public static final ColumnIdentifier<IndividualObservationBatchRowModel> SAMPLING_CODE = ColumnIdentifier.newId(
// IndividualObservationBatchRowModel.PROPERTY_SAMPLING_CODE,
-// n_("tutti.editIndividualObservationBatch.table.header.samplingCode"),
-// n_("tutti.editIndividualObservationBatch.table.header.samplingCode.tip"));
+// ("tutti.editIndividualObservationBatch.table.header.samplingCode"),
+// ("tutti.editIndividualObservationBatch.table.header.samplingCode.tip"));
public static final ColumnIdentifier<IndividualObservationBatchRowModel> COMMENT = ColumnIdentifier.newId(
IndividualObservationBatchRowModel.PROPERTY_COMMENT,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateSpeciesMelagAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateSpeciesMelagAction.java 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/CreateSpeciesMelagAction.java 2013-09-23 12:20:59 UTC (rev 1205)
@@ -26,6 +26,7 @@
import com.google.common.collect.Maps;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
import fr.ifremer.tutti.ui.swing.util.species.EnterMelagWeightDialog;
import jaxx.runtime.SwingUtil;
@@ -51,8 +52,16 @@
protected Float sortedWeight = null;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public CreateSpeciesMelagAction(SpeciesBatchUIHandler handler) {
super(handler, false);
+ weightUnit = getConfig().getSpeciesWeightUnit();
}
@Override
@@ -127,8 +136,11 @@
protected Float openMelagWeightDialog() {
Frame frame = SwingUtil.getParentContainer(getUI(), Frame.class);
- final EnterMelagWeightDialog dialog = new EnterMelagWeightDialog(frame,
- getConfig().getShortcutClosePopup());
+ EnterMelagWeightDialog dialog = new EnterMelagWeightDialog(
+ frame, getConfig().getShortcutClosePopup());
+
+ dialog.setWeightUnit(weightUnit);
+
SwingUtil.center(frame, dialog);
dialog.pack();
dialog.setVisible(true);
@@ -142,16 +154,17 @@
@Override
public void doAction() throws Exception {
- String melagComment = _("tutti.createSpeciesMelag.comment.part1");
+ String unitLabel = weightUnit.getShortLabel();
+ String melagComment = _("tutti.createSpeciesMelag.comment.part1")+"\n";
for (SpeciesBatchRowModel batch : selectedRows.keySet()) {
Float sampleWeight = selectedRows.get(batch);
if (sampleWeight != null) {
Float weight = sampleMelagWeight * sampleWeight / sortedWeight;
batch.getFinestCategory().setCategoryWeight(weight);
}
- melagComment += _("tutti.createSpeciesMelag.comment.part2", sampleWeight, decorate(batch.getSpecies()));
+ melagComment += _("tutti.createSpeciesMelag.comment.part2", sampleWeight, unitLabel, decorate(batch.getSpecies()))+"\n";
}
- melagComment += _("tutti.createSpeciesMelag.comment.part3", melagWeight);
+ melagComment += _("tutti.createSpeciesMelag.comment.part3", melagWeight, unitLabel);
for (SpeciesBatchRowModel batch : selectedRows.keySet()) {
String comment = batch.getComment();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.css 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.css 2013-09-23 12:20:59 UTC (rev 1205)
@@ -23,11 +23,11 @@
*/
#dialog {
- title: "tutti.createSpeciesMelag.title";
+ title: {_("tutti.createSpeciesMelag.title", weightUnit.getShortLabel())};
}
#message {
- text: "tutti.createSpeciesMelag.message";
+ text: {_("tutti.createSpeciesMelag.message", weightUnit.getShortLabel())};
horizontalAlignment: {JLabel.CENTER};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.jaxx 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/species/EnterMelagWeightDialog.jaxx 2013-09-23 12:20:59 UTC (rev 1205)
@@ -23,6 +23,8 @@
-->
<JDialog id='dialog' layout='{new BorderLayout()}'>
<import>
+ fr.ifremer.tutti.ui.swing.util.WeightUnit
+
java.awt.Component;
java.awt.event.WindowAdapter;
java.awt.event.WindowEvent;
@@ -53,6 +55,8 @@
]]></script>
+ <WeightUnit id='weightUnit' javaBean='WeightUnit.KG'/>
+
<Table id='table' fill='both' constraints='BorderLayout.CENTER'>
<row>
<cell insets='10, 10, 5, 10'>
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-23 12:20:59 UTC (rev 1205)
@@ -47,13 +47,8 @@
tutti.attachmentEditor.none.tip=
tutti.attachmentEditor.saveAttachment.button=
tutti.attachmentEditor.saveAttachment.error.message=
-tutti.attachmentEditor.saveAttachment.fail.message=
-tutti.attachmentEditor.saveAttachment.fail.title=
tutti.attachmentEditor.saveAttachment.success.message=
tutti.attachmentEditor.saveAttachment.title=
-tutti.attachmentEditor.saveAttachment.warning.help=
-tutti.attachmentEditor.saveAttachment.warning.message=
-tutti.attachmentEditor.saveAttachment.warning.title=
tutti.attachmentEditor.text=
tutti.attachmentEditor.title=
tutti.caracteristicMapEditor.none.tip=
@@ -67,8 +62,6 @@
tutti.common.askBeforeDelete.help=
tutti.common.askBeforeEditProtocol.help=
tutti.common.askBeforeEditProtocol.title=
-tutti.common.askBeforeEditProtocole.help=
-tutti.common.askBeforeEditProtocole.title=
tutti.common.askBeforeImportProtocol.help=
tutti.common.askCancelEditBeforeLeaving.help=
tutti.common.askCancelEditBeforeLeaving.title=
@@ -79,9 +72,7 @@
tutti.common.askSaveBeforeLeaving.title=
tutti.common.cancel=
tutti.common.cancel.mnemonic=
-tutti.common.caracteristic.notFound=
tutti.common.datefield.tip=
-tutti.common.editProtocol.categories.not.compatible=
tutti.common.file.csv=
tutti.common.file.pdf=
tutti.common.file.protocol=
@@ -91,7 +82,6 @@
tutti.common.file.tuttiMarineLitter=
tutti.common.file.tuttiSpecies=
tutti.common.file.zip=
-tutti.common.protocol.categories.not.compatible=
tutti.common.unit=Unit
tutti.common.unit.g=Gramme
tutti.common.unit.kg=kilogram
@@ -102,12 +92,9 @@
tutti.config.action.reload.actions=
tutti.config.action.reload.application=
tutti.config.action.reload.ui=
-tutti.config.action.sampleOrder.tip=
tutti.config.application=
tutti.config.category.applications=
tutti.config.category.applications.description=
-tutti.config.category.sampleCategoryModel=
-tutti.config.category.sampleCategoryModel.description=
tutti.config.category.technical=
tutti.config.category.technical.description=
tutti.config.category.ui=
@@ -143,15 +130,8 @@
tutti.config.option.ui.weight.unit.species.description=
tutti.config.option.update.application.url.description=
tutti.config.option.update.db.url.description=
-tutti.config.option.update.url.description=
tutti.config.option.weights.rate.difference.totalAndSorted.description=
tutti.config.parse.error=
-tutti.config.sampleCategoryModel.passwordDialog.error.message=
-tutti.config.sampleCategoryModel.passwordDialog.error.title=
-tutti.config.sampleCategoryModel.passwordDialog.message=
-tutti.config.sampleCategoryModel.passwordDialog.title=
-tutti.config.sampleCategoryModel.title=
-tutti.config.sampleOrder.title=
tutti.config.save.error=
tutti.config.title=
tutti.context.helpPage.notFound=
@@ -159,9 +139,6 @@
tutti.createAccidentalBatch.action.cancel=
tutti.createAccidentalBatch.action.cancel.mnemonic=
tutti.createAccidentalBatch.action.cancel.tip=
-tutti.createAccidentalBatch.action.save=
-tutti.createAccidentalBatch.action.save.mnemonic=
-tutti.createAccidentalBatch.action.save.tip=
tutti.createAccidentalBatch.action.saveAndClose=
tutti.createAccidentalBatch.action.saveAndClose.mnemonic=
tutti.createAccidentalBatch.action.saveAndClose.tip=
@@ -187,9 +164,6 @@
tutti.createBenthosBatch.action.cancel=
tutti.createBenthosBatch.action.cancel.mnemonic=
tutti.createBenthosBatch.action.cancel.tip=
-tutti.createBenthosBatch.action.save=
-tutti.createBenthosBatch.action.save.mnemonic=
-tutti.createBenthosBatch.action.save.tip=
tutti.createBenthosBatch.action.saveAndClose=
tutti.createBenthosBatch.action.saveAndClose.mnemonic=
tutti.createBenthosBatch.action.saveAndClose.tip=
@@ -206,7 +180,6 @@
tutti.createBenthosBatch.field.sampleCategory.tip=
tutti.createBenthosBatch.field.sampleWeight=
tutti.createBenthosBatch.field.sampleWeight.tip=
-tutti.createBenthosBatch.field.sampleWeightField.tip=
tutti.createBenthosBatch.field.species=
tutti.createBenthosBatch.field.species.tip=
tutti.createBenthosBatch.title=
@@ -221,9 +194,6 @@
tutti.createIndividualObservationBatch.action.cancel=
tutti.createIndividualObservationBatch.action.cancel.mnemonic=
tutti.createIndividualObservationBatch.action.cancel.tip=
-tutti.createIndividualObservationBatch.action.save=
-tutti.createIndividualObservationBatch.action.save.mnemonic=
-tutti.createIndividualObservationBatch.action.save.tip=
tutti.createIndividualObservationBatch.action.saveAndClose=
tutti.createIndividualObservationBatch.action.saveAndClose.mnemonic=
tutti.createIndividualObservationBatch.action.saveAndClose.tip=
@@ -242,9 +212,6 @@
tutti.createMarineLitterBatch.action.cancel=
tutti.createMarineLitterBatch.action.cancel.mnemonic=
tutti.createMarineLitterBatch.action.cancel.tip=
-tutti.createMarineLitterBatch.action.save=
-tutti.createMarineLitterBatch.action.save.mnemonic=
-tutti.createMarineLitterBatch.action.save.tip=
tutti.createMarineLitterBatch.action.saveAndClose=
tutti.createMarineLitterBatch.action.saveAndClose.mnemonic=
tutti.createMarineLitterBatch.action.saveAndClose.tip=
@@ -266,9 +233,6 @@
tutti.createSpeciesBatch.action.cancel=
tutti.createSpeciesBatch.action.cancel.mnemonic=
tutti.createSpeciesBatch.action.cancel.tip=
-tutti.createSpeciesBatch.action.save=
-tutti.createSpeciesBatch.action.save.mnemonic=
-tutti.createSpeciesBatch.action.save.tip=
tutti.createSpeciesBatch.action.saveAndClose=
tutti.createSpeciesBatch.action.saveAndClose.mnemonic=
tutti.createSpeciesBatch.action.saveAndClose.tip=
@@ -305,12 +269,6 @@
tutti.dbManager.action.chooseDbBackupFile=
tutti.dbManager.action.chooseDbExportFile=
tutti.dbManager.action.chooseDbFile=
-tutti.dbManager.action.closeDb=
-tutti.dbManager.action.closeDb.mnemonic=
-tutti.dbManager.action.closeDb.tip=
-tutti.dbManager.action.exportAndCleanDb=
-tutti.dbManager.action.exportAndCleanDb.mnemonic=
-tutti.dbManager.action.exportAndCleanDb.tip=
tutti.dbManager.action.exportDb=
tutti.dbManager.action.exportDb.mnemonic=
tutti.dbManager.action.exportDb.tip=
@@ -318,7 +276,6 @@
tutti.dbManager.action.importDb.backup.db=
tutti.dbManager.action.importDb.mnemonic=
tutti.dbManager.action.importDb.tip=
-tutti.dbManager.action.importdb.backup.db=
tutti.dbManager.action.importdb.couldNotOpen=
tutti.dbManager.action.importdb.no.backup.db.choosen=
tutti.dbManager.action.importdb.no.import.file.choosen=
@@ -472,17 +429,12 @@
tutti.editBenthosFrequencies.action.generate=
tutti.editBenthosFrequencies.action.generate.mnemonic=
tutti.editBenthosFrequencies.action.generate.tip=
-tutti.editBenthosFrequencies.action.save=
-tutti.editBenthosFrequencies.action.save.mnemonic=
-tutti.editBenthosFrequencies.action.save.tip=
tutti.editBenthosFrequencies.action.saveAndClose=
tutti.editBenthosFrequencies.action.saveAndClose.mnemonic=
tutti.editBenthosFrequencies.action.saveAndClose.tip=
tutti.editBenthosFrequencies.action.saveAndContinue=
tutti.editBenthosFrequencies.action.saveAndContinue.mnemonic=
tutti.editBenthosFrequencies.action.saveAndContinue.tip=
-tutti.editBenthosFrequencies.batchCategory=
-tutti.editBenthosFrequencies.batchSpecies=
tutti.editBenthosFrequencies.error.length.doublon=
tutti.editBenthosFrequencies.field.lengthStepCaracteristic=
tutti.editBenthosFrequencies.field.lengthStepCaracteristic.tip=
@@ -728,8 +680,6 @@
tutti.editIndividualObservationBatch.action.removeBatch.confirm.title=
tutti.editIndividualObservationBatch.action.removeBatch.mnemonic=
tutti.editIndividualObservationBatch.action.removeBatch.tip=
-tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode=
-tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode.tip=
tutti.editIndividualObservationBatch.table.header.comment=
tutti.editIndividualObservationBatch.table.header.comment.tip=
tutti.editIndividualObservationBatch.table.header.file=
@@ -738,18 +688,12 @@
tutti.editIndividualObservationBatch.table.header.lengthStepCaracteristic.tip=
tutti.editIndividualObservationBatch.table.header.otherCaracteristics=
tutti.editIndividualObservationBatch.table.header.otherCaracteristics.tip=
-tutti.editIndividualObservationBatch.table.header.samplingCode=
-tutti.editIndividualObservationBatch.table.header.samplingCode.tip=
tutti.editIndividualObservationBatch.table.header.size=
tutti.editIndividualObservationBatch.table.header.size.tip=
tutti.editIndividualObservationBatch.table.header.species=
tutti.editIndividualObservationBatch.table.header.species.tip=
tutti.editIndividualObservationBatch.table.header.weight=
tutti.editIndividualObservationBatch.table.header.weight.tip=
-tutti.editIndividualObservationBatch.table.header.weightG=
-tutti.editIndividualObservationBatch.table.header.weightG.tip=
-tutti.editIndividualObservationBatch.table.header.weightKG=
-tutti.editIndividualObservationBatch.table.header.weightKG.tip=
tutti.editIndividualObservationCaracteristics.action.cancel=
tutti.editIndividualObservationCaracteristics.action.cancel.mnemonic=
tutti.editIndividualObservationCaracteristics.action.cancel.tip=
@@ -793,10 +737,6 @@
tutti.editMarineLitterBatch.table.header.number.tip=
tutti.editMarineLitterBatch.table.header.weight=
tutti.editMarineLitterBatch.table.header.weight.tip=
-tutti.editMarineLitterBatch.table.header.weightG=
-tutti.editMarineLitterBatch.table.header.weightG.tip=
-tutti.editMarineLitterBatch.table.header.weightKG=
-tutti.editMarineLitterBatch.table.header.weightKG.tip=
tutti.editProgram.action.closeEditProgram=
tutti.editProgram.action.closeEditProgram.mnemonic=
tutti.editProgram.action.closeEditProgram.tip=
@@ -903,9 +843,6 @@
tutti.editProtocol.warn.clean=
tutti.editProtocol.warn.clone=
tutti.editProtocol.warn.import=
-tutti.editSampleCategoryModel.action.cancel=
-tutti.editSampleCategoryModel.action.cancel.mnemonic=
-tutti.editSampleCategoryModel.action.cancel.tip=
tutti.editSampleCategoryModel.action.close=
tutti.editSampleCategoryModel.action.close.mnemonic=
tutti.editSampleCategoryModel.action.close.tip=
@@ -1011,17 +948,12 @@
tutti.editSpeciesFrequencies.action.generate=
tutti.editSpeciesFrequencies.action.generate.mnemonic=
tutti.editSpeciesFrequencies.action.generate.tip=
-tutti.editSpeciesFrequencies.action.save=
-tutti.editSpeciesFrequencies.action.save.mnemonic=
-tutti.editSpeciesFrequencies.action.save.tip=
tutti.editSpeciesFrequencies.action.saveAndClose=
tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic=
tutti.editSpeciesFrequencies.action.saveAndClose.tip=
tutti.editSpeciesFrequencies.action.saveAndContinue=
tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=
tutti.editSpeciesFrequencies.action.saveAndContinue.tip=
-tutti.editSpeciesFrequencies.batchCategory=
-tutti.editSpeciesFrequencies.batchSpecies=
tutti.editSpeciesFrequencies.error.length.doublon=
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=
@@ -1068,15 +1000,11 @@
tutti.exportCruise.action.success=
tutti.exportCruiseForSumatra.action.chooseFile=
tutti.exportCruiseForSumatra.action.success=
-tutti.exportCruiseForSumatra.choose.exportFile.default=
tutti.exportCruiseForSumatra.title.choose.exportFile=
-tutti.exportDb.closeDb=
-tutti.exportDb.createArchive=
-tutti.exportDb.openDb=
-tutti.exportDb.reloadApplication=
tutti.exportDb.step.closeDb=
tutti.exportDb.step.createArchive=
tutti.exportDb.step.openDb=
+tutti.exportDb.step.reloadApplication=
tutti.exportProgram.action.success=
tutti.exportProtocol.action.success=
tutti.fishingOperations.action.deleteFishingOperation.mnemonic=
@@ -1108,7 +1036,6 @@
tutti.flash.info.db.not.opened=
tutti.flash.info.db.opened=
tutti.flash.info.db.schema.updated=
-tutti.flash.info.db.schema.updating=
tutti.flash.info.programCreated=
tutti.flash.info.programSaved=
tutti.flash.info.protocolCreated=
@@ -1131,18 +1058,12 @@
tutti.help.mkDir.error=
tutti.i18n.deleteCache.error=
tutti.i18n.mkDir.error=
-tutti.importDb.openDb=
-tutti.importDb.step.backupDb=
tutti.importDb.step.check.dbContext=
tutti.importDb.step.checkSchemaVersion=
tutti.importDb.step.closeDb=
tutti.importDb.step.openDb=
tutti.importDb.step.unzipArchive=
tutti.importDb.step.will.migrateSchema=
-tutti.importDb.unzipArchive=
-tutti.importDbAtNextStart.step.backupDb=
-tutti.importDbAtNextStart.step.closeDb=
-tutti.importDbAtNextStart.step.reloadApplication=
tutti.importProtocol.action.success=
tutti.importPupitri.carrouselFile.extension=
tutti.importPupitri.carrouselFile.extension.description=
@@ -1153,9 +1074,6 @@
tutti.importPupitri.title=
tutti.importPupitri.trunkFile.extension=
tutti.importPupitri.trunkFile.extension.description=
-tutti.installDb.step.backupDb=
-tutti.installDb.step.closeDb=
-tutti.installDb.step.destroyDb=
tutti.label.tab.accidental=
tutti.label.tab.benthos=
tutti.label.tab.catches=
@@ -1325,11 +1243,6 @@
tutti.reinstallDb.step.backupDb=
tutti.reinstallDb.step.closeDb=
tutti.reinstallDb.step.reloadApplication=
-tutti.sampleCategoryModel.passwordDialog.error.message=
-tutti.sampleCategoryModel.passwordDialog.error.title=
-tutti.sampleCategoryModel.passwordDialog.message=
-tutti.sampleCategoryModel.passwordDialog.title=
-tutti.sampleOrder.caracteristicNotFound=
tutti.selectBenthos.title=
tutti.selectCruise.action.chooseCruiseExportFile=
tutti.selectCruise.action.chooseProgramExportFile=
@@ -1407,8 +1320,6 @@
tutti.splitBenthosBatch.field.category.tip=
tutti.splitBenthosBatch.field.sampleWeight=
tutti.splitBenthosBatch.field.sampleWeight.tip=
-tutti.splitBenthosBatch.field.species=
-tutti.splitBenthosBatch.field.speciesField.tip=
tutti.splitBenthosBatch.table.header.category=
tutti.splitBenthosBatch.table.header.selected=
tutti.splitBenthosBatch.table.header.weight=
@@ -1425,8 +1336,6 @@
tutti.splitSpeciesBatch.field.categoryField.tip=
tutti.splitSpeciesBatch.field.sampleWeight=
tutti.splitSpeciesBatch.field.sampleWeightField.tip=
-tutti.splitSpeciesBatch.field.species=
-tutti.splitSpeciesBatch.field.speciesField.tip=
tutti.splitSpeciesBatch.table.header.category=
tutti.splitSpeciesBatch.table.header.selected=
tutti.splitSpeciesBatch.table.header.weight=
@@ -1441,12 +1350,10 @@
tutti.updateApplication.message.success=
tutti.updateApplication.noUpdate=
tutti.updateApplication.title.success=
-tutti.validateCruise.action.export.all.chooseFile.defaultFile=
tutti.validateCruise.action.export.all.chooseFile.label=
tutti.validateCruise.action.export.all.chooseFile.title=
tutti.validateCruise.action.export.all.success=
tutti.validateCruise.action.export.all.tip=
-tutti.validateCruise.action.export.operation.chooseFile.defaultFile=
tutti.validateCruise.action.export.operation.chooseFile.label=
tutti.validateCruise.action.export.operation.chooseFile.title=
tutti.validateCruise.action.export.operation.success=
@@ -1499,4 +1406,3 @@
tutti.vesselUseFeatureTable.table.header.key=
tutti.vesselUseFeatureTable.table.header.value=
tutti.vesselUseFeatureTable.title=
-{handler.getInstallButtonMnemonic(model.isDbExist())}=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-23 11:37:47 UTC (rev 1204)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-23 12:20:59 UTC (rev 1205)
@@ -47,13 +47,8 @@
tutti.attachmentEditor.none.tip=Pas de pièce-jointes
tutti.attachmentEditor.saveAttachment.button=Enregistrer
tutti.attachmentEditor.saveAttachment.error.message=Erreur lors de l'enregistrement de la pièce jointe %1s dans le fichier %2s
-tutti.attachmentEditor.saveAttachment.fail.message=Une erreur est survenue lors de la sauvegarde du fichier
-tutti.attachmentEditor.saveAttachment.fail.title=Erreur de sauvegarde
tutti.attachmentEditor.saveAttachment.success.message=Le fichier %s a été sauvegardé sur votre machine
tutti.attachmentEditor.saveAttachment.title=Enregistrer la pièce-jointe
-tutti.attachmentEditor.saveAttachment.warning.help=Que voulez-vous faire ?<ul><li><strong>Non</strong> pour annuler la sauvegarde</li><li><strong>Oui</strong> pour écraser le fichier existant</li></ul>
-tutti.attachmentEditor.saveAttachment.warning.message=Vous êtes sur le point d'écraser un fichier existant
-tutti.attachmentEditor.saveAttachment.warning.title=Fichier existant
tutti.attachmentEditor.text=(%s)
tutti.attachmentEditor.title=Pièces jointes
tutti.caracteristicMapEditor.none.tip=Pas de caractéristiques
@@ -97,12 +92,9 @@
tutti.config.action.reload.actions=Recharger les actions
tutti.config.action.reload.application=Recharger l'application
tutti.config.action.reload.ui=Recharger l'interface graphique
-tutti.config.action.sampleOrder.tip=Réordonner les catégories d’échantillonnage
tutti.config.application=Configuration de l'application Tutti
tutti.config.category.applications=Application
tutti.config.category.applications.description=Application
-tutti.config.category.sampleCategoryModel=Catégories de captures
-tutti.config.category.sampleCategoryModel.description=Configurer les catégories de captures
tutti.config.category.technical=Technique
tutti.config.category.technical.description=Informations techniques
tutti.config.category.ui=Interface utilisateur
@@ -140,7 +132,6 @@
tutti.config.option.update.db.url.description=URL de mise à jour de la base de données
tutti.config.option.weights.rate.difference.totalAndSorted.description=Pourcentage de différence entre les Poids totaux VRAC triés et les poids totaux VRAC en dessous duquel on demande confirmation sur la saisie
tutti.config.parse.error=Erreur de parsing du fichier de configuration
-tutti.config.sampleOrder.title=Catégorie d'échantillonnage
tutti.config.save.error=Erreur lors de la sauvegarde de la configuration dans le fichier %s
tutti.config.title=Configuration
tutti.context.helpPage.notFound=La page d'aide %s n'a pas été trouvée
@@ -192,9 +183,9 @@
tutti.createBenthosBatch.field.species=Espèce du lot
tutti.createBenthosBatch.field.species.tip=Espèce du lot
tutti.createBenthosBatch.title=Créer un lot
-tutti.createBenthosMelag.comment.part1=Traitement issu d'un mélange composé de \:\n
-tutti.createBenthosMelag.comment.part2=- %skg de %s\n
-tutti.createBenthosMelag.comment.part3=avec un poids d'élévation de %skg
+tutti.createBenthosMelag.comment.part1=Traitement issu d'un mélange composé de \:
+tutti.createBenthosMelag.comment.part2=- %s%s de %s
+tutti.createBenthosMelag.comment.part3=avec un poids d'élévation de %s%s
tutti.createBenthosMelag.error.message=Erreur à la ligne %s \: le lot n'a pas de poids de sous échantillon ni de poids dans les mensurations
tutti.createBenthosMelag.error.title=Erreur
tutti.createIndividualObservationBatch.action.addSpecies=...
@@ -267,22 +258,17 @@
tutti.createSpeciesMelag.action.validate=Valider
tutti.createSpeciesMelag.action.validate.mnemonic=V
tutti.createSpeciesMelag.action.validate.tip=Valider la création du MELAG (mélange)
-tutti.createSpeciesMelag.comment.part1=Traitement issu d'un mélange composé de \:\n
-tutti.createSpeciesMelag.comment.part2=- %skg de %s\n
-tutti.createSpeciesMelag.comment.part3=avec un poids d'élévation de %skg
+tutti.createSpeciesMelag.comment.part1=Traitement issu d'un mélange composé de \:
+tutti.createSpeciesMelag.comment.part2=- %s%s de %s
+tutti.createSpeciesMelag.comment.part3=avec un poids d'élévation de %s%s
tutti.createSpeciesMelag.error.message=Erreur à la ligne %s \: le lot n'a pas de poids de sous échantillon ni de poids dans les mensurations
tutti.createSpeciesMelag.error.title=Erreur
-tutti.createSpeciesMelag.message=Combien pesait le MELAG (mélange) (kg) ?
-tutti.createSpeciesMelag.title=Poids du MELAG (mélange) (kg)
+tutti.createSpeciesMelag.message=Combien pesait le MELAG (mélange) (%s) ?
+tutti.createSpeciesMelag.title=Poids du MELAG (mélange) (%s)
tutti.dbMabager.title=Gérer les bases de données
tutti.dbManager.action.chooseDbBackupFile=Sauvegarder la base de données
tutti.dbManager.action.chooseDbExportFile=Exporter la base de données
tutti.dbManager.action.chooseDbFile=Choisir la base à importer
-tutti.dbManager.action.closeDb=Fermer la base
-tutti.dbManager.action.closeDb.mnemonic=F
-tutti.dbManager.action.closeDb.tip=Fermer la base en cours d'utilisation
-tutti.dbManager.action.exportAndCleanDb.mnemonic=s
-tutti.dbManager.action.exportAndCleanDb.tip=Exporter la base de données au format zip puis supprimer les fichiers de l'application
tutti.dbManager.action.exportDb=Exporter
tutti.dbManager.action.exportDb.mnemonic=x
tutti.dbManager.action.exportDb.tip=Exporter la base de données au format zip
@@ -290,7 +276,6 @@
tutti.dbManager.action.importDb.backup.db=Avant de pouvoir importer une nouvelle base, vous devez sauvegarder la base courante.
tutti.dbManager.action.importDb.mnemonic=i
tutti.dbManager.action.importDb.tip=Importer la base de données au format zip
-tutti.dbManager.action.importdb.backup.db=Avant de pouvoir importer une nouvelle base, vous devez sauvegarder la base courante.
tutti.dbManager.action.importdb.couldNotOpen=Impossible d'ouvrir la base importée
tutti.dbManager.action.importdb.no.backup.db.choosen=Import annulé (vous n'avez pas choisi de fichier de sauvegarde).
tutti.dbManager.action.importdb.no.import.file.choosen=Import annulé (vous n'avez pas choisi de fichier d'import).
@@ -306,7 +291,6 @@
tutti.dbManager.action.reinstallDb=Réinstaller
tutti.dbManager.action.reinstallDb.mnemonic=n
tutti.dbManager.action.reinstallDb.tip=Télécharger puis ré-installer la base de données
-tutti.dbManager.action.removeBatch.confirm.message=
tutti.dbManager.action.upgradeDb=Mettre à jour les référentiels
tutti.dbManager.action.upgradeDb.check=Recherche des mises à jour de la base
tutti.dbManager.action.upgradeDb.mnemonic=V
@@ -696,8 +680,6 @@
tutti.editIndividualObservationBatch.action.removeBatch.confirm.title=Suppression d'une observation individuelle
tutti.editIndividualObservationBatch.action.removeBatch.mnemonic=S
tutti.editIndividualObservationBatch.action.removeBatch.tip=Supprimer la ligne sélectionnée
-tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode=
-tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode.tip=Code de prélèvement pièce calcifiée
tutti.editIndividualObservationBatch.table.header.comment=Commentaire
tutti.editIndividualObservationBatch.table.header.comment.tip=Commentaire
tutti.editIndividualObservationBatch.table.header.file=Pièces jointes
@@ -706,8 +688,6 @@
tutti.editIndividualObservationBatch.table.header.lengthStepCaracteristic.tip=Classe de taille
tutti.editIndividualObservationBatch.table.header.otherCaracteristics=Autres caractéristiques
tutti.editIndividualObservationBatch.table.header.otherCaracteristics.tip=Autres caractéristiques
-tutti.editIndividualObservationBatch.table.header.samplingCode=
-tutti.editIndividualObservationBatch.table.header.samplingCode.tip=Code prélèvement autre
tutti.editIndividualObservationBatch.table.header.size=Taille
tutti.editIndividualObservationBatch.table.header.size.tip=Taille
tutti.editIndividualObservationBatch.table.header.species=Espèce
@@ -962,7 +942,6 @@
tutti.editSpeciesBatch.table.header.species=Espèce
tutti.editSpeciesBatch.table.header.toConfirm=A Confirmer
tutti.editSpeciesBatch.table.header.weight=Poids sous-échantillonné
-tutti.editSpeciesBatch.table.header.weight.tip=Poids sous-échantillonné
tutti.editSpeciesFrequencies.action.cancel=Annuler
tutti.editSpeciesFrequencies.action.cancel.mnemonic=A
tutti.editSpeciesFrequencies.action.cancel.tip=Annuler l'édition des mensurations
@@ -1006,7 +985,6 @@
tutti.editSpeciesFrequencies.table.header.lengthStep=Classe de taille
tutti.editSpeciesFrequencies.table.header.number=Nombre
tutti.editSpeciesFrequencies.table.header.weight=Poids observé
-tutti.editSpeciesFrequencies.table.header.weight.tip=Poids observé
tutti.editSpeciesFrequencies.title=Mensuration
tutti.error.about.could.not.reach.url=Récupération des versions de mises à jour impossible (l'url <strong>%s</strong> n'est pas joignable)
tutti.error.delete.startActionFile=Impossible de supprimer le fichier %s
@@ -1022,14 +1000,11 @@
tutti.exportCruise.action.success=La campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>.
tutti.exportCruiseForSumatra.action.chooseFile=Choisir le fichier d'export
tutti.exportCruiseForSumatra.action.success=Les captures ont correctement été exporté dans le fichier %s
-tutti.exportCruiseForSumatra.choose.exportFile.default=sumatra_%s_%s
tutti.exportCruiseForSumatra.title.choose.exportFile=Exporter les captures de la campagne
-tutti.exportDb.closeDb=
-tutti.exportDb.createArchive=
-tutti.exportDb.reloadApplication=Redémarrage de l'application
tutti.exportDb.step.closeDb=Fermeture de la base courante
tutti.exportDb.step.createArchive=Création de l'archive %s
tutti.exportDb.step.openDb=Réouverture de la base courante
+tutti.exportDb.step.reloadApplication=Redémarrage de l'application
tutti.exportProgram.action.success=La série de campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>.
tutti.exportProtocol.action.success=Protocole [%1s] exporté dans le fichier <strong>%2s</strong>.
tutti.fishingOperations.action.deleteFishingOperation.mnemonic=S
@@ -1099,7 +1074,6 @@
tutti.importPupitri.title=Import Pupitri
tutti.importPupitri.trunkFile.extension=tnk
tutti.importPupitri.trunkFile.extension.description=Fichier du trémie (.tnk)
-tutti.installDb.step.closeDb=Fermeture de la base <strong>%s</strong>
tutti.label.tab.accidental=Captures accidentelles
tutti.label.tab.benthos=Benthos
tutti.label.tab.catches=Captures
@@ -1346,12 +1320,9 @@
tutti.splitBenthosBatch.field.category.tip=Choisir le mode de catégorisation
tutti.splitBenthosBatch.field.sampleWeight=Poids total catégorisé
tutti.splitBenthosBatch.field.sampleWeight.tip=Somme des poids saisis ci-dessous
-tutti.splitBenthosBatch.field.species=Espèce
-tutti.splitBenthosBatch.field.speciesField.tip=Espèce du lot père
tutti.splitBenthosBatch.table.header.category=Catégorie
tutti.splitBenthosBatch.table.header.selected=Sélection
tutti.splitBenthosBatch.table.header.weight=Poids
-tutti.splitBenthosBatch.table.header.weight.tip=Poids
tutti.splitBenthosBatch.title=Catégorisation du lot
tutti.splitSpeciesBatch.action.cancel=Annuler
tutti.splitSpeciesBatch.action.cancel.mnemonic=A
@@ -1365,12 +1336,9 @@
tutti.splitSpeciesBatch.field.categoryField.tip=Choisir le mode de catégorisation
tutti.splitSpeciesBatch.field.sampleWeight=Poids total catégorisé
tutti.splitSpeciesBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous
-tutti.splitSpeciesBatch.field.species=Espèce
-tutti.splitSpeciesBatch.field.speciesField.tip=Espèce du lot père
tutti.splitSpeciesBatch.table.header.category=Catégorie
tutti.splitSpeciesBatch.table.header.selected=Sélection
tutti.splitSpeciesBatch.table.header.weight=Poids
-tutti.splitSpeciesBatch.table.header.weight.tip=Poids
tutti.splitSpeciesBatch.title=Catégorisation du lot
tutti.timeeditor.H=H
tutti.update.db=Base de données
@@ -1438,4 +1406,3 @@
tutti.vesselUseFeatureTable.table.header.key=Caractéristique
tutti.vesselUseFeatureTable.table.header.value=Valeur
tutti.vesselUseFeatureTable.title=Autres paramètres
-{handler.getInstallButtonMnemonic(model.isDbExist())}=
1
0
Author: tchemit
Date: 2013-09-23 13:37:47 +0200 (Mon, 23 Sep 2013)
New Revision: 1204
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1204
Log:
fixes #3293: Updates jaxx to 2.5.26
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-09-23 09:39:50 UTC (rev 1203)
+++ trunk/pom.xml 2013-09-23 11:37:47 UTC (rev 1204)
@@ -131,7 +131,7 @@
<eugenePluginVersion>2.7</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.5.26-SNAPSHOT</jaxxVersion>
+ <jaxxVersion>2.5.26</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.15.1</xworkVersion>
1
0
23 Sep '13
Author: tchemit
Date: 2013-09-23 11:39:50 +0200 (Mon, 23 Sep 2013)
New Revision: 1203
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1203
Log:
fixes #3311: [MACRO-DECHET] Ajout du champs *Poids* sur l'?\195?\169cran de cr?\195?\169ation
fixes #3310: [CAPTURE] pouvoir choisir dans la configuration l'unit?\195?\169 de saisie des poids (esp?\195?\168ces benthos macro d?\195?\169chets) kg ou g et donc adapter les intitul?\195?\169s des colonnes
clean some code + fix doc typos...
Added:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java
Modified:
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
trunk/tutti-ui-swing/src/main/help/fr/editSampleCategory.html
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SelectedCategoryAble.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModelTest.java
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-09-23 09:39:50 UTC (rev 1203)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Sat Sep 21 15:16:31 CEST 2013
+#Sun Sep 22 16:40:00 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -38,7 +38,9 @@
tutti.createMarineLitterBatch.action.saveAndContinue.help=editFishingOperation.html\#captureMacroDechetsActions
tutti.createMarineLitterBatch.field.marineLitterCategory.help=editFishingOperation.html\#captureMacroDechetsFields
tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help=editFishingOperation.html\#captureMacroDechetsFields
+tutti.createMarineLitterBatch.field.marineLitterWeight.help=
tutti.createMarineLitterBatch.field.number.help=editFishingOperation.html\#captureMacroDechetsFields
+tutti.createMarineLitterBatch.field.weight.help=
tutti.createMarineLitterBatch.help=editFishingOperation.html\#captureMacroDechets
tutti.createSpeciesBatch.action.addSpecies.help=editFishingOperation.html\#captureEspecesCreeLotActions
tutti.createSpeciesBatch.action.cancel.help=editFishingOperation.html\#captureEspecesCreeLotActions
Modified: trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-09-23 09:39:50 UTC (rev 1203)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Sat Sep 21 15:16:31 CEST 2013
+#Sun Sep 22 16:40:00 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -37,7 +37,9 @@
tutti.createMarineLitterBatch.action.saveAndContinue.help=editFishingOperation.html\#captureMacroDechetsActions
tutti.createMarineLitterBatch.field.marineLitterCategory.help=editFishingOperation.html\#captureMacroDechetsFields
tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help=editFishingOperation.html\#captureMacroDechetsFields
+tutti.createMarineLitterBatch.field.marineLitterWeight.help=
tutti.createMarineLitterBatch.field.number.help=editFishingOperation.html\#captureMacroDechetsFields
+tutti.createMarineLitterBatch.field.weight.help=
tutti.createMarineLitterBatch.help=editFishingOperation.html\#captureMacroDechets
tutti.createSpeciesBatch.action.addSpecies.help=editFishingOperation.html\#captureEspecesCreeLotActions
tutti.createSpeciesBatch.action.cancel.help=editFishingOperation.html\#captureEspecesCreeLotActions
Modified: trunk/tutti-ui-swing/src/main/help/fr/editSampleCategory.html
===================================================================
--- trunk/tutti-ui-swing/src/main/help/fr/editSampleCategory.html 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/help/fr/editSampleCategory.html 2013-09-23 09:39:50 UTC (rev 1203)
@@ -1,3 +1,26 @@
+<!--
+ #%L
+ Tutti :: UI
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2012 - 2013 Ifremer
+ %%
+ 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%
+ -->
<!DOCTYPE html>
<html lang="fr">
Property changes on: trunk/tutti-ui-swing/src/main/help/fr/editSampleCategory.html
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.TuttiTechnicalException;
import fr.ifremer.tutti.service.config.TuttiServiceConfig;
import fr.ifremer.tutti.service.config.TuttiServiceConfigOption;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
@@ -258,6 +259,26 @@
return applicationConfig.getOptionAsKeyStroke(TuttiApplicationConfigOption.SHORTCUT_CLOSE_POPUP.getKey());
}
+ public WeightUnit getSpeciesWeightUnit() {
+ return applicationConfig.getOption(WeightUnit.class, TuttiApplicationConfigOption.WEIGHT_UNIT_SPECIES.getKey());
+ }
+
+ public WeightUnit getBenthosWeightUnit() {
+ return applicationConfig.getOption(WeightUnit.class, TuttiApplicationConfigOption.WEIGHT_UNIT_BENTHOS.getKey());
+ }
+
+ public WeightUnit getMarineLitterWeightUnit() {
+ return applicationConfig.getOption(WeightUnit.class, TuttiApplicationConfigOption.WEIGHT_UNIT_MARINE_LITTER.getKey());
+ }
+
+ public WeightUnit getIndividualObservationWeightUnit() {
+ return applicationConfig.getOption(WeightUnit.class, TuttiApplicationConfigOption.WEIGHT_UNIT_INDIVIDUAL_OBSERVATION.getKey());
+ }
+
+ public WeightUnit getAccidentalCatchWeightUnit() {
+ return applicationConfig.getOption(WeightUnit.class, TuttiApplicationConfigOption.WEIGHT_UNIT_ACCIDENTAL_CATCH.getKey());
+ }
+
public KeyStroke getShortCut(String actionName) {
KeyStroke result = applicationConfig.getOptionAsKeyStroke(
"tutti.ui." + actionName);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -24,6 +24,7 @@
* #L%
*/
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.editor.CoordinateEditorType;
import org.nuiton.config.ConfigOptionDef;
@@ -218,10 +219,45 @@
ADMIN_PASSWORD(
"tutti.admin.password",
- n_("tutti.config.option.ui.dateFormat.description"),
+ n_("tutti.config.option.ui.adminPassword.description"),
// "ifremer" by default
"ef399a6e6ec62c6e142440241a5b98f8",
String.class
+ ),
+
+ WEIGHT_UNIT_SPECIES(
+ "tutti.ui.weight.unit.species",
+ n_("tutti.config.option.ui.weight.unit.species.description"),
+ WeightUnit.KG.name(),
+ WeightUnit.class
+ ),
+
+ WEIGHT_UNIT_BENTHOS(
+ "tutti.ui.weight.unit.benthos",
+ n_("tutti.config.option.ui.weight.unit.benthos.description"),
+ WeightUnit.G.name(),
+ WeightUnit.class
+ ),
+
+ WEIGHT_UNIT_MARINE_LITTER(
+ "tutti.ui.weight.unit.marineLitter",
+ n_("tutti.config.option.ui.weight.unit.marineLitter.description"),
+ WeightUnit.KG.name(),
+ WeightUnit.class
+ ),
+
+ WEIGHT_UNIT_INDIVIDUAL_OBSERVATION(
+ "tutti.ui.weight.unit.individualObservation",
+ n_("tutti.config.option.ui.weight.unit.individualObservation.description"),
+ WeightUnit.G.name(),
+ WeightUnit.class
+ ),
+
+ WEIGHT_UNIT_ACCIDENTAL_CATCH(
+ "tutti.ui.weight.unit.accidentalCatch",
+ n_("tutti.config.option.ui.weight.unit.accidentalCatch.description"),
+ WeightUnit.KG.name(),
+ WeightUnit.class
);
/** Configuration key. */
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/category/EditSampleCategoryModelRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -63,6 +63,10 @@
fromBean(entry);
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
protected SampleCategoryModelEntry newEntity() {
return new SampleCategoryModelEntry();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -122,7 +122,7 @@
}
);
- // APPLICATION
+ // Application category
helper.addCategory(n_("tutti.config.category.applications"),
n_("tutti.config.category.applications.description"),
@@ -144,7 +144,7 @@
.setOptionRenderer(tuttiLocationTableCellComponent.getNewTableCellRenderer());
}
- // UI
+ // UI category
helper.addCategory(n_("tutti.config.category.ui"),
n_("tutti.config.category.ui.description"),
@@ -158,6 +158,19 @@
.addOption(TuttiApplicationConfigOption.DATE_FORMAT)
.addOption(TuttiApplicationConfigOption.COORDINATE_EDITOR_TYPE);
+ // Weight Unit category
+
+ helper.addCategory(n_("tutti.config.category.weightUnit"),
+ n_("tutti.config.category.weightUnit.description"),
+ CALLBACK_UI)
+ .addOption(TuttiApplicationConfigOption.WEIGHT_UNIT_SPECIES)
+ .addOption(TuttiApplicationConfigOption.WEIGHT_UNIT_BENTHOS)
+ .addOption(TuttiApplicationConfigOption.WEIGHT_UNIT_MARINE_LITTER)
+ .addOption(TuttiApplicationConfigOption.WEIGHT_UNIT_INDIVIDUAL_OBSERVATION)
+ .addOption(TuttiApplicationConfigOption.WEIGHT_UNIT_ACCIDENTAL_CATCH);
+
+ // Technical category
+
helper.addCategory(n_("tutti.config.category.technical"),
n_("tutti.config.category.technical.description"))
.addOption(TuttiServiceConfigOption.BASEDIR)
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -462,7 +462,7 @@
editFishingOperationUIModel.setFishingOperation(bean);
- // update saisissuer selection
+ // update saisisseur selection
List<Person> saisisseur = editFishingOperationUIModel.getRecorderPerson();
ui.getRecorderPersonList().getHandler().setSelected(saisisseur);
@@ -581,7 +581,7 @@
}
}
- setCatch(bean,
+ setCatch(//bean,
attachments,
catchesUIModel,
catchBatchMonitor,
@@ -601,9 +601,9 @@
ui.getSpeciesTabContent().getHandler().selectFishingOperation(operationToLoad);
} catch (InvalidBatchModelException e) {
- // invalid sample category model
+ // invalid sample category model for species batches
if (log.isDebugEnabled()) {
- log.debug("Invalid sample category model", e);
+ log.debug("Invalid sample category model for species batches", e);
}
errorMessages.add(e.getMessage());
catchValid = false;
@@ -613,9 +613,9 @@
ui.getBenthosTabContent().getHandler().selectFishingOperation(operationToLoad);
} catch (InvalidBatchModelException e) {
- // invalid sample category model
+ // invalid sample category model for benthos batches
if (log.isDebugEnabled()) {
- log.debug("Invalid sample category model", e);
+ log.debug("Invalid sample category model for benthos batches", e);
}
errorMessages.add(e.getMessage());
catchValid = false;
@@ -632,7 +632,7 @@
} else {
// remove catch
- setCatch(bean,
+ setCatch(//bean,
Collections.<Attachment>emptyList(),
catchesUIModel,
catchBatchMonitor,
@@ -651,7 +651,7 @@
}
- protected void setCatch(FishingOperation bean,
+ protected void setCatch(//FishingOperation bean,
List<Attachment> attachments,
EditCatchesUIModel catchesUIModel,
TuttiBeanMonitor<EditCatchesUIModel> catchBatchMonitor,
@@ -664,9 +664,9 @@
getModel().setCatchNotFound(catchNotFound);
getModel().setSampleCatchModelValid(sampleModelValid);
- catchesUIModel.setCatchBatch(batch);
- catchesUIModel.setFishingOperation(bean);
- catchesUIModel.fromBean(batch);
+// catchesUIModel.setCatchBatch(batch);
+// catchesUIModel.setFishingOperation(bean);
+ catchesUIModel.fromEntity(batch);
catchesUIModel.addAllAttachment(attachments);
catchesUIModel.setModify(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/FishingOperationsUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -84,7 +84,11 @@
}
FishingOperationsUIModel model = new FishingOperationsUIModel();
- EditCatchesUIModel catchesUIModel = new EditCatchesUIModel();
+ EditCatchesUIModel catchesUIModel = new EditCatchesUIModel(
+ getConfig().getSpeciesWeightUnit(),
+ getConfig().getBenthosWeightUnit(),
+ getConfig().getMarineLitterWeightUnit(),
+ getConfig().getIndividualObservationWeightUnit());
// load existing cruise
Cruise cruise = getDataContext().getCruise();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/ComputeWeightsAction.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -57,6 +57,7 @@
super(handler, false);
}
+ //FIXME Do weightUnit conversion...
@Override
public void doAction() throws Exception {
PersistenceService persistenceService = getContext().getPersistenceService();
@@ -66,6 +67,10 @@
EditCatchesUIModel model = getModel();
model.setLoadingData(true);
+ // ---------
+ // Compute species batches
+ // ---------
+
BatchContainer<SpeciesBatch> computedSpeciesBatches;
Float totalSpeciesSortedWeight;
try {
@@ -89,6 +94,10 @@
throw e;
}
+ // ---------
+ // Compute benthos batches
+ // ---------
+
BatchContainer<BenthosBatch> computedBenthosBatches;
Float totalBenthosSortedWeight;
try {
@@ -112,6 +121,10 @@
throw e;
}
+ // ---------
+ // Compute marine litter batches
+ // ---------
+
BatchContainer<MarineLitterBatch> computedMarineLitterBatches;
try {
computedMarineLitterBatches =
@@ -124,6 +137,10 @@
throw e;
}
+ // ---------
+ // Check species rates
+ // ---------
+
Float rate = getConfig().getDifferenceRateBetweenSortedAndTotalWeights();
if (model.getSpeciesTotalSortedWeight() != null
&& model.getSpeciesTotalSortedWeight() >= totalSpeciesSortedWeight
@@ -153,6 +170,11 @@
model.setSpeciesTotalSortedComputedWeight(totalSpeciesSortedWeight);
}
}
+
+ // ---------
+ // Check benthos rates
+ // ---------
+
if (model.getBenthosTotalSortedWeight() != null
&& model.getBenthosTotalSortedWeight() >= totalBenthosSortedWeight
&& model.getBenthosTotalSortedWeight() < (1 + rate / 100) * totalBenthosSortedWeight) {
@@ -183,13 +205,13 @@
}
boolean modified = model.isModify();
- CatchBatch catchBatch = model.toBean();
+ CatchBatch catchBatch = model.toEntity();
tuttiWeightComputingService.computeCatchBatchWeights(catchBatch,
computedSpeciesBatches,
computedBenthosBatches,
computedMarineLitterBatches);
- model.setCatchBatch(catchBatch);
- model.fromBean(catchBatch);
+// model.setCatchBatch(catchBatch);
+ model.fromEntity(catchBatch);
model.setLoadingData(false);
model.setModify(modified);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -179,6 +179,7 @@
labelFor: {speciesTotalWeightField};
_strongStyle: true;
_help: {"tutti.editCatchBatch.field.speciesTotalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalWeightField {
@@ -191,6 +192,7 @@
toolTipText: {"tutti.editCatchBatch.field.speciesTotalSortedWeight.tip"};
labelFor: {speciesTotalSortedWeightField};
_help: {"tutti.editCatchBatch.field.speciesTotalSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalSortedWeightField {
@@ -203,6 +205,7 @@
toolTipText: {"tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.tip"};
labelFor: {speciesTotalSampleSortedWeightField};
_help: {"tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalSampleSortedWeightField {
@@ -215,6 +218,7 @@
toolTipText: {"tutti.editCatchBatch.field.speciesTotalUnsortedWeight.tip"};
labelFor: {speciesTotalUnsortedWeightField};
_help: {"tutti.editCatchBatch.field.speciesTotalUnsortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalUnsortedWeightField {
@@ -236,6 +240,7 @@
labelFor: {benthosTotalWeightField};
_strongStyle: true;
_help: {"tutti.editCatchBatch.field.benthosTotalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalWeightField {
@@ -248,6 +253,7 @@
toolTipText: {"tutti.editCatchBatch.field.benthosTotalSortedWeight.tip"};
labelFor: {benthosTotalSortedWeightField};
_help: {"tutti.editCatchBatch.field.benthosTotalSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalSortedWeightField {
@@ -260,6 +266,7 @@
toolTipText: {"tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.tip"};
labelFor: {benthosTotalSampleSortedWeightField};
_help: {"tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalSampleSortedWeightField {
@@ -272,6 +279,7 @@
toolTipText: {"tutti.editCatchBatch.field.benthosTotalUnsortedWeight.tip"};
labelFor: {benthosTotalUnsortedWeightField};
_help: {"tutti.editCatchBatch.field.benthosTotalUnsortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalUnsortedWeightField {
@@ -293,6 +301,7 @@
labelFor: {marineLitterTotalWeightField};
_strongStyle: true;
_help: {"tutti.editCatchBatch.field.marineLitterTotalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getMarineLitterWeightUnit()};
}
#marineLitterTotalWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -58,6 +58,7 @@
import static org.nuiton.i18n.I18n.n_;
/**
+ * //FIXME Do weightUnit conversion...
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
*/
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -28,6 +28,7 @@
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
+import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
import fr.ifremer.tutti.persistence.entities.data.Attachment;
import fr.ifremer.tutti.persistence.entities.data.CatchBatch;
@@ -37,6 +38,7 @@
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TabContentModel;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
import org.apache.commons.collections.CollectionUtils;
import org.nuiton.util.beans.Binder;
@@ -109,7 +111,7 @@
protected FishingOperation fishingOperation;
- protected CatchBatch catchBatch;
+ protected final CatchBatch editObject = TuttiBeanFactory.newCatchBatch();
protected final List<Attachment> attachment = Lists.newArrayList();
@@ -131,8 +133,53 @@
protected boolean loadingData;
- public EditCatchesUIModel() {
+ /**
+ * Catch weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit catchWeightUnit;
+
+ /**
+ * Species weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit speciesWeightUnit;
+
+ /**
+ * Benthos weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit benthosWeightUnit;
+
+ /**
+ * Marine Litter weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit marineLitterWeightUnit;
+
+ /**
+ * Indivudual observation weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit individualObservationWeightUnit;
+
+ public EditCatchesUIModel(WeightUnit speciesWeightUnit,
+ WeightUnit benthosWeightUnit,
+ WeightUnit marineLitterWeightUnit,
+ WeightUnit individualObservationWeightUnit) {
super(CatchBatch.class, fromBeanBinder, toBeanBinder);
+ //FIXME See if this can be configurable or guess from other weightUnits
+ this.catchWeightUnit = WeightUnit.KG;
+ this.speciesWeightUnit = speciesWeightUnit;
+ this.benthosWeightUnit = benthosWeightUnit;
+ this.marineLitterWeightUnit = marineLitterWeightUnit;
+ this.individualObservationWeightUnit = individualObservationWeightUnit;
+
speciesTotalSortedComputedOrNotWeight.addPropagateListener(
PROPERTY_SPECIES_TOTAL_SORTED_WEIGHT, this);
speciesTotalInertComputedOrNotWeight.addPropagateListener(
@@ -171,10 +218,118 @@
@Override
protected CatchBatch newEntity() {
- return catchBatch;
+// return editObject;
+ return TuttiBeanFactory.newCatchBatch();
}
@Override
+ public void fromEntity(CatchBatch entity) {
+
+ Object oldObjectId = getObjectId();
+
+ super.fromEntity(entity);
+// setCatchBatch(entity);
+
+// Object oldValue = this.editObject;
+// Object oldObjectId = getObjectId();
+// this.editObject = entity;
+ firePropertyChange(PROPERTY_CATCH_BATCH, null, entity);
+ firePropertyChange(PROPERTY_OBJECT_ID, oldObjectId, getObjectId());
+
+ setFishingOperation(entity == null ? null : entity.getFishingOperation());
+
+ if (entity != null) {
+
+ // convert total weights
+
+ setCatchTotalComputedWeight(catchWeightUnit.fromEntity(entity.getCatchTotalComputedWeight()));
+ setCatchTotalRejectedComputedWeight(catchWeightUnit.fromEntity(entity.getCatchTotalRejectedComputedWeight()));
+ setCatchTotalRejectedWeight(catchWeightUnit.fromEntity(entity.getCatchTotalRejectedWeight()));
+ setCatchTotalSortedCarousselWeight(catchWeightUnit.fromEntity(entity.getCatchTotalSortedCarousselWeight()));
+ setCatchTotalSortedComputedWeight(catchWeightUnit.fromEntity(entity.getCatchTotalSortedComputedWeight()));
+ setCatchTotalSortedTremisWeight(catchWeightUnit.fromEntity(entity.getCatchTotalSortedTremisWeight()));
+ setCatchTotalUnsortedComputedWeight(catchWeightUnit.fromEntity(entity.getCatchTotalUnsortedComputedWeight()));
+ setCatchTotalWeight(catchWeightUnit.fromEntity(entity.getCatchTotalWeight()));
+
+ // convert species weights
+
+ setSpeciesTotalComputedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalComputedWeight()));
+ setSpeciesTotalInertComputedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalInertComputedWeight()));
+ setSpeciesTotalInertWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalInertWeight()));
+ setSpeciesTotalLivingNotItemizedComputedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalLivingNotItemizedComputedWeight()));
+ setSpeciesTotalLivingNotItemizedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalLivingNotItemizedWeight()));
+ setSpeciesTotalSampleSortedComputedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalSampleSortedComputedWeight()));
+ setSpeciesTotalSortedComputedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalSortedComputedWeight()));
+ setSpeciesTotalSortedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalSortedWeight()));
+ setSpeciesTotalUnsortedComputedWeight(speciesWeightUnit.fromEntity(entity.getSpeciesTotalUnsortedComputedWeight()));
+
+ // convert benthos weights
+
+ setBenthosTotalComputedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalComputedWeight()));
+ setBenthosTotalInertComputedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalInertComputedWeight()));
+ setBenthosTotalInertWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalInertWeight()));
+ setBenthosTotalLivingNotItemizedComputedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalLivingNotItemizedComputedWeight()));
+ setBenthosTotalLivingNotItemizedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalLivingNotItemizedWeight()));
+ setBenthosTotalSampleSortedComputedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalSampleSortedComputedWeight()));
+ setBenthosTotalSortedComputedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalSortedComputedWeight()));
+ setBenthosTotalSortedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalSortedWeight()));
+ setBenthosTotalUnsortedComputedWeight(benthosWeightUnit.fromEntity(entity.getBenthosTotalUnsortedComputedWeight()));
+
+ // convert marine litter weights
+
+ setMarineLitterTotalComputedWeight(marineLitterWeightUnit.fromEntity(entity.getMarineLitterTotalComputedWeight()));
+ setMarineLitterTotalWeight(marineLitterWeightUnit.fromEntity(entity.getMarineLitterTotalWeight()));
+ }
+ }
+
+ @Override
+ public CatchBatch toEntity() {
+ CatchBatch result = super.toEntity();
+
+ // convert total weights
+
+ result.setCatchTotalComputedWeight(catchWeightUnit.toEntity(getCatchTotalComputedWeight()));
+ result.setCatchTotalRejectedComputedWeight(catchWeightUnit.toEntity(getCatchTotalRejectedComputedWeight()));
+ result.setCatchTotalRejectedWeight(catchWeightUnit.toEntity(getCatchTotalRejectedWeight()));
+ result.setCatchTotalSortedCarousselWeight(catchWeightUnit.toEntity(getCatchTotalSortedCarousselWeight()));
+ result.setCatchTotalSortedComputedWeight(catchWeightUnit.toEntity(getCatchTotalSortedComputedWeight()));
+ result.setCatchTotalSortedTremisWeight(catchWeightUnit.toEntity(getCatchTotalSortedTremisWeight()));
+ result.setCatchTotalUnsortedComputedWeight(catchWeightUnit.toEntity(getCatchTotalUnsortedComputedWeight()));
+ result.setCatchTotalWeight(catchWeightUnit.toEntity(getCatchTotalWeight()));
+
+ // convert species weights
+
+ result.setSpeciesTotalComputedWeight(speciesWeightUnit.toEntity(getSpeciesTotalComputedWeight()));
+ result.setSpeciesTotalInertComputedWeight(speciesWeightUnit.toEntity(getSpeciesTotalInertComputedWeight()));
+ result.setSpeciesTotalInertWeight(speciesWeightUnit.toEntity(getSpeciesTotalInertWeight()));
+ result.setSpeciesTotalLivingNotItemizedComputedWeight(speciesWeightUnit.toEntity(getSpeciesTotalLivingNotItemizedComputedWeight()));
+ result.setSpeciesTotalLivingNotItemizedWeight(speciesWeightUnit.toEntity(getSpeciesTotalLivingNotItemizedWeight()));
+ result.setSpeciesTotalSampleSortedComputedWeight(speciesWeightUnit.toEntity(getSpeciesTotalSampleSortedComputedWeight()));
+ result.setSpeciesTotalSortedComputedWeight(speciesWeightUnit.toEntity(getSpeciesTotalSortedComputedWeight()));
+ result.setSpeciesTotalSortedWeight(speciesWeightUnit.toEntity(getSpeciesTotalSortedWeight()));
+ result.setSpeciesTotalUnsortedComputedWeight(speciesWeightUnit.toEntity(getSpeciesTotalUnsortedComputedWeight()));
+
+ // convert benthos weights
+
+ result.setBenthosTotalComputedWeight(benthosWeightUnit.toEntity(getBenthosTotalComputedWeight()));
+ result.setBenthosTotalInertComputedWeight(benthosWeightUnit.toEntity(getBenthosTotalInertComputedWeight()));
+ result.setBenthosTotalInertWeight(benthosWeightUnit.toEntity(getBenthosTotalInertWeight()));
+ result.setBenthosTotalLivingNotItemizedComputedWeight(benthosWeightUnit.toEntity(getBenthosTotalLivingNotItemizedComputedWeight()));
+ result.setBenthosTotalLivingNotItemizedWeight(benthosWeightUnit.toEntity(getBenthosTotalLivingNotItemizedWeight()));
+ result.setBenthosTotalSampleSortedComputedWeight(benthosWeightUnit.toEntity(getBenthosTotalSampleSortedComputedWeight()));
+ result.setBenthosTotalSortedComputedWeight(benthosWeightUnit.toEntity(getBenthosTotalSortedComputedWeight()));
+ result.setBenthosTotalSortedWeight(benthosWeightUnit.toEntity(getBenthosTotalSortedWeight()));
+ result.setBenthosTotalUnsortedComputedWeight(benthosWeightUnit.toEntity(getBenthosTotalUnsortedComputedWeight()));
+
+ // convert marine litter weights
+
+ result.setMarineLitterTotalComputedWeight(marineLitterWeightUnit.toEntity(getMarineLitterTotalComputedWeight()));
+ result.setMarineLitterTotalWeight(marineLitterWeightUnit.toEntity(getMarineLitterTotalWeight()));
+
+ return result;
+ }
+
+ @Override
public boolean isEmpty() {
return getCatchTotalWeight() == null
&& getCatchTotalRejectedWeight() == null
@@ -186,18 +341,18 @@
return null;
}
- public CatchBatch getCatchBatch() {
- return catchBatch;
- }
+// public CatchBatch getCatchBatch() {
+// return editObject;
+// }
+//
+// public void setCatchBatch(CatchBatch catchBatch) {
+// Object oldValue = this.editObject;
+// Object oldObjectId = getObjectId();
+// this.editObject = catchBatch;
+// firePropertyChange(PROPERTY_CATCH_BATCH, oldValue, catchBatch);
+// firePropertyChange(PROPERTY_OBJECT_ID, oldObjectId, getObjectId());
+// }
- public void setCatchBatch(CatchBatch catchBatch) {
- Object oldValue = getCatchBatch();
- Object oldObjectId = getObjectId();
- this.catchBatch = catchBatch;
- firePropertyChange(PROPERTY_CATCH_BATCH, oldValue, catchBatch);
- firePropertyChange(PROPERTY_OBJECT_ID, oldObjectId, getObjectId());
- }
-
@Override
public FishingOperation getFishingOperation() {
return fishingOperation;
@@ -645,7 +800,7 @@
@Override
public Integer getObjectId() {
- return catchBatch == null ? null : catchBatch.getIdAsInt();
+ return editObject == null ? null : editObject.getIdAsInt();
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SaveCatchBatchAction.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -82,7 +82,7 @@
PersistenceService persistenceService =
getContext().getPersistenceService();
- CatchBatch catchBatch = beanToSave.toBean();
+ CatchBatch catchBatch = beanToSave.toEntity();
if (log.isInfoEnabled()) {
log.info("FishingOperation " + catchBatch.getId() +
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SelectedCategoryAble.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SelectedCategoryAble.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SelectedCategoryAble.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content.operation.catches;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * 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.tutti.persistence.entities.data.SampleCategoryModelEntry;
/**
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/SelectedCategoryAble.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -35,6 +35,7 @@
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapColumnRowModel;
import org.nuiton.util.beans.Binder;
@@ -69,6 +70,13 @@
*/
protected final List<Attachment> attachment = Lists.newArrayList();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<AccidentalBatch, AccidentalBatchRowModel> fromBeanBinder =
BinderFactory.newBinder(AccidentalBatch.class,
AccidentalBatchRowModel.class);
@@ -77,20 +85,43 @@
BinderFactory.newBinder(AccidentalBatchRowModel.class,
AccidentalBatch.class);
- public AccidentalBatchRowModel() {
+ public AccidentalBatchRowModel(WeightUnit weightUnit) {
super(AccidentalBatch.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
}
- public AccidentalBatchRowModel(AccidentalBatch aBatch) {
- this();
- fromBean(aBatch);
+ public AccidentalBatchRowModel(WeightUnit weightUnit,
+ AccidentalBatch entity) {
+ this(weightUnit);
+ fromEntity(entity);
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
protected AccidentalBatch newEntity() {
return TuttiBeanFactory.newAccidentalBatch();
}
+ @Override
+ public void fromEntity(AccidentalBatch entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public AccidentalBatch toEntity() {
+ AccidentalBatch result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+ return result;
+ }
+
//------------------------------------------------------------------------//
//-- AccidentalBatch --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -25,6 +25,7 @@
*/
import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
@@ -84,16 +85,23 @@
n_("tutti.editAccidentalBatch.table.header.file"),
n_("tutti.editAccidentalBatch.table.header.file.tip"));
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
- public AccidentalBatchTableModel(TableColumnModelExt columnModel) {
+ public AccidentalBatchTableModel(WeightUnit weightUnit,
+ TableColumnModelExt columnModel) {
super(columnModel, false, false);
-
+ this.weightUnit = weightUnit;
setNoneEditableCols();
}
@Override
public AccidentalBatchRowModel createNewRow() {
- AccidentalBatchRowModel result = new AccidentalBatchRowModel();
+ AccidentalBatchRowModel result = new AccidentalBatchRowModel(weightUnit);
// by default empty row is not valid
result.setValid(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -45,6 +45,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellEditor;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellRenderer;
import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapCellComponent;
@@ -87,6 +88,13 @@
protected ValidationService validationService = getContext().getValidationService();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public AccidentalBatchUIHandler(TuttiUI<?, ?> parentUi,
AccidentalBatchUI ui) {
super(parentUi, ui,
@@ -99,6 +107,8 @@
AccidentalBatchRowModel.PROPERTY_CARACTERISTICS,
AccidentalBatchRowModel.PROPERTY_COMMENT,
AccidentalBatchRowModel.PROPERTY_ATTACHMENT);
+
+ weightUnit = getConfig().getAccidentalCatchWeightUnit();
}
//------------------------------------------------------------------------//
@@ -143,7 +153,7 @@
protected AccidentalBatchRowModel loadBatch(AccidentalBatch aBatch) {
AccidentalBatchRowModel newRow =
- new AccidentalBatchRowModel(aBatch);
+ new AccidentalBatchRowModel(weightUnit, aBatch);
List<Attachment> attachments =
persistenceService.getAllAttachments(newRow.getObjectType(),
@@ -330,12 +340,12 @@
}
-
{ // Weight column
addFloatColumnToModel(columnModel,
AccidentalBatchTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ weightUnit);
}
{ // Size column
@@ -392,7 +402,7 @@
// create table model
AccidentalBatchTableModel tableModel =
- new AccidentalBatchTableModel(columnModel);
+ new AccidentalBatchTableModel(weightUnit, columnModel);
table.setModel(tableModel);
table.setColumnModel(columnModel);
@@ -434,6 +444,7 @@
//------------------------------------------------------------------------//
//-- Public methods --//
//------------------------------------------------------------------------//
+
public void createBatch() {
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
@@ -488,20 +499,20 @@
protected void saveRow(AccidentalBatchRowModel row) {
- AccidentalBatch catchBean = row.toBean();
+ AccidentalBatch entityToSave = row.toEntity();
FishingOperation fishingOperation = getModel().getFishingOperation();
- catchBean.setFishingOperation(fishingOperation);
+ entityToSave.setFishingOperation(fishingOperation);
if (log.isDebugEnabled()) {
log.debug("Selected fishingOperation: " + fishingOperation.getId());
}
- if (TuttiEntities.isNew(catchBean)) {
+ if (TuttiEntities.isNew(entityToSave)) {
- persistenceService.createAccidentalBatch(catchBean);
- row.setId(catchBean.getId());
+ persistenceService.createAccidentalBatch(entityToSave);
+ row.setId(entityToSave.getId());
} else {
- persistenceService.saveAccidentalBatch(catchBean);
+ persistenceService.saveAccidentalBatch(entityToSave);
}
getModel().fireBatchUpdated(row);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -64,6 +64,7 @@
toolTipText: "tutti.createAccidentalBatch.field.accidentalWeight.tip";
labelFor: {accidentalWeightField};
_help: {"tutti.createAccidentalBatch.field.accidentalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getAccidentalCatchWeightUnit()};
}
#accidentalWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
@@ -40,6 +41,7 @@
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
@@ -168,8 +170,20 @@
*/
protected List<BenthosBatchRowModel> childBatch;
+ /**
+ * Model of sample categories.
+ *
+ * @since 2.4
+ */
protected final SampleCategoryModel sampleCategoryModel;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<BenthosBatch, BenthosBatchRowModel> fromBeanBinder =
BinderFactory.newBinder(BenthosBatch.class,
BenthosBatchRowModel.class);
@@ -178,8 +192,10 @@
BinderFactory.newBinder(BenthosBatchRowModel.class,
BenthosBatch.class);
- public BenthosBatchRowModel(SampleCategoryModel sampleCategoryModel) {
+ public BenthosBatchRowModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel) {
super(BenthosBatch.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
categories = new SampleCategory[sampleCategoryModel.getNbSampling()];
@@ -196,22 +212,61 @@
computedOrNotNumber.addPropagateListener(PROPERTY_COMPUTED_NUMBER, this);
}
- public BenthosBatchRowModel(SampleCategoryModel sampleCategoryModel,
- BenthosBatch aBatch,
+
+ public BenthosBatchRowModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel,
+ BenthosBatch entity,
List<BenthosBatchFrequency> frequencies) {
- this(sampleCategoryModel);
- fromBean(aBatch);
+ this(weightUnit, sampleCategoryModel);
+
+ fromEntity(entity);
+
List<BenthosFrequencyRowModel> frequencyRows =
- BenthosFrequencyRowModel.fromBeans(frequencies);
+ BenthosFrequencyRowModel.fromEntity(weightUnit,
+ frequencies);
frequency.addAll(frequencyRows);
Collections.sort(frequency);
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
protected BenthosBatch newEntity() {
return TuttiBeanFactory.newBenthosBatch();
}
+ @Override
+ public void fromEntity(BenthosBatch entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public BenthosBatch toEntity() {
+ BenthosBatch result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+
+ SampleCategory<?> sampleCategory = getFinestCategory();
+ Preconditions.checkNotNull(sampleCategory);
+ Preconditions.checkNotNull(sampleCategory.getCategoryId());
+ Preconditions.checkNotNull(sampleCategory.getCategoryValue());
+
+ // apply sample category
+ result.setSampleCategoryId(sampleCategory.getCategoryId());
+ result.setSampleCategoryValue(sampleCategory.getCategoryValue());
+
+ // convert sample category weight
+ Float categoryWeight = sampleCategory.getCategoryWeight();
+ result.setSampleCategoryWeight(weightUnit.toEntity(categoryWeight));
+ return result;
+ }
+
//------------------------------------------------------------------------//
//-- SampleCategoryAble --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -29,6 +29,7 @@
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryColumnIdentifier;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.apache.commons.logging.Log;
@@ -97,11 +98,25 @@
*/
protected final Set<SampleCategoryColumnIdentifier<BenthosBatchRowModel>> sampleCols;
+ /**
+ * Sample categories model.
+ *
+ * @since 2.4
+ */
protected final SampleCategoryModel sampleCategoryModel;
- public BenthosBatchTableModel(SampleCategoryModel sampleCategoryModel,
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public BenthosBatchTableModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel,
TableColumnModelExt columnModel) {
super(columnModel, false, false);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
setNoneEditableCols(SPECIES);
@@ -124,7 +139,8 @@
@Override
public BenthosBatchRowModel createNewRow() {
- BenthosBatchRowModel result = new BenthosBatchRowModel(sampleCategoryModel);
+ BenthosBatchRowModel result =
+ new BenthosBatchRowModel(weightUnit, sampleCategoryModel);
// by default empty row is not valid
result.setValid(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -52,29 +52,12 @@
borderPainted: false;
}
-#importMultiPostButton {
- actionIcon: import;
- text: "tutti.editBenthosBatch.action.importMultiPost";
- toolTipText: "tutti.editBenthosBatch.action.importMultiPost.tip";
- i18nMnemonic: "tutti.editBenthosBatch.action.importMultiPost.mnemonic";
- _tuttiAction: {ImportMultiPostAction.class};
- _help: {"tutti.editBenthosBatch.action.importMultiPost.help"};
-}
-
-#exportMultiPostButton {
- actionIcon: export;
- text: "tutti.editBenthosBatch.action.exportMultiPost";
- toolTipText: "tutti.editBenthosBatch.action.exportMultiPost.tip";
- i18nMnemonic: "tutti.editBenthosBatch.action.exportMultiPost.mnemonic";
- _tuttiAction: {ExportMultiPostAction.class};
- _help: {"tutti.editBenthosBatch.action.exportMultiPost.help"};
-}
-
#benthosTotalWeightLabel {
text: "tutti.editBenthosBatch.field.benthosTotalWeight";
toolTipText: "tutti.editBenthosBatch.field.benthosTotalWeight.tip";
labelFor: {benthosTotalWeightField};
_help: {"tutti.editBenthosBatch.field.benthosTotalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalWeightField {
@@ -87,6 +70,7 @@
toolTipText: "tutti.editBenthosBatch.field.benthosTotalSortedWeight.tip";
labelFor: {benthosTotalSortedWeightField};
_help: {"tutti.editBenthosBatch.field.benthosTotalSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalSortedWeightField {
@@ -99,6 +83,7 @@
toolTipText: "tutti.editBenthosBatch.field.benthosTotalSampleSortedWeight.tip";
labelFor: {benthosTotalSampleSortedWeightField};
_help: {"tutti.editBenthosBatch.field.benthosTotalSampleSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalSampleSortedWeightField {
@@ -111,6 +96,7 @@
toolTipText: "tutti.editBenthosBatch.field.benthosTotalUnsortedWeight.tip";
labelFor: {benthosTotalUnsortedWeightField};
_help: {"tutti.editBenthosBatch.field.benthosTotalUnsortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalUnsortedWeightField {
@@ -123,6 +109,7 @@
toolTipText: "tutti.editBenthosBatch.field.benthosTotalInertWeight.tip";
labelFor: {benthosTotalInertWeightField};
_help: {"tutti.editBenthosBatch.field.benthosTotalInertWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalInertWeightField {
@@ -135,6 +122,7 @@
toolTipText: "tutti.editBenthosBatch.field.benthosTotalLivingNotItemizedWeight.tip";
labelFor: {benthosTotalLivingNotItemizedWeightField};
_help: {"tutti.editBenthosBatch.field.benthosTotalLivingNotItemizedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#benthosTotalLivingNotItemizedWeightField {
@@ -238,6 +226,33 @@
_help: {"tutti.editBenthosBatch.action.createMelag.help"};
}
+#editFrequenciesMenu {
+ actionIcon: show-frequency;
+ text: "tutti.editBenthosBatch.action.editFrequencies";
+ toolTipText: "tutti.editBenthosBatch.action.editFrequencies.tip";
+ i18nMnemonic: "tutti.editBenthosBatch.action.editFrequencies.mnemonic";
+ enabled: {model.isTableViewModeAll() && model.isEditFrequenciesEnabled()};
+ _help: {"tutti.editBenthosBatch.action.editFrequencies.help"};
+}
+
+#importMultiPostButton {
+ actionIcon: import;
+ text: "tutti.editBenthosBatch.action.importMultiPost";
+ toolTipText: "tutti.editBenthosBatch.action.importMultiPost.tip";
+ i18nMnemonic: "tutti.editBenthosBatch.action.importMultiPost.mnemonic";
+ _tuttiAction: {ImportMultiPostAction.class};
+ _help: {"tutti.editBenthosBatch.action.importMultiPost.help"};
+}
+
+#exportMultiPostButton {
+ actionIcon: export;
+ text: "tutti.editBenthosBatch.action.exportMultiPost";
+ toolTipText: "tutti.editBenthosBatch.action.exportMultiPost.tip";
+ i18nMnemonic: "tutti.editBenthosBatch.action.exportMultiPost.mnemonic";
+ _tuttiAction: {ExportMultiPostAction.class};
+ _help: {"tutti.editBenthosBatch.action.exportMultiPost.help"};
+}
+
#createBenthosBatchButton {
actionIcon: batch-create;
text: "tutti.editBenthosBatch.action.createBatch";
@@ -246,12 +261,3 @@
enabled: {model.isCreateBatchEnabled()};
_help: {"tutti.editBenthosBatch.action.createBatch.help"};
}
-
-#editFrequenciesMenu {
- actionIcon: show-frequency;
- text: "tutti.editBenthosBatch.action.editFrequencies";
- toolTipText: "tutti.editBenthosBatch.action.editFrequencies.tip";
- i18nMnemonic: "tutti.editBenthosBatch.action.editFrequencies.mnemonic";
- enabled: {model.isTableViewModeAll() && model.isEditFrequenciesEnabled()};
- _help: {"tutti.editBenthosBatch.action.editFrequencies.help"};
-}
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -57,6 +57,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellEditor;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellRenderer;
import fr.ifremer.tutti.ui.swing.util.comment.CommentCellEditor;
@@ -118,6 +119,13 @@
protected final SampleCategoryModel sampleCategoryModel;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public BenthosBatchUIHandler(TuttiUI<?, ?> parentUi,
BenthosBatchUI ui) {
super(parentUi, ui,
@@ -130,6 +138,8 @@
SpeciesBatchRowModel.PROPERTY_FREQUENCY,
SpeciesBatchRowModel.PROPERTY_SPECIES_TO_CONFIRM);
+ weightUnit = getConfig().getBenthosWeightUnit();
+
sampleCategoryModel = getDataContext().getSampleCategoryModel();
tableFilters = new EnumMap<TableViewMode, RowFilter<BenthosBatchTableModel, Integer>>(TableViewMode.class);
@@ -245,7 +255,7 @@
@Override
protected boolean isRowValid(BenthosBatchRowModel row) {
- BenthosBatch batch = convertRowToBean(row, true);
+ BenthosBatch batch = convertRowToEntity(row, true);
NuitonValidatorResult validator = validationService.validateBenthosBatch(batch);
boolean result = !validator.hasErrorMessagess();
@@ -254,7 +264,9 @@
getContext().getValidationContext())
&& row.isBatchLeaf()) {
List<BenthosBatchFrequency> frequencies =
- BenthosFrequencyRowModel.toBeans(row.getFrequency(), batch);
+ BenthosFrequencyRowModel.toEntity(
+ row.getFrequency(),
+ batch);
result = TuttiProtocols.isBenthosBatchValid(
getDataContext().getProtocol(),
batch,
@@ -534,7 +546,8 @@
addSampleCategoryColumnToModel(columnModel,
columnIdentifier,
caracteristicDecorator,
- defaultRenderer);
+ defaultRenderer,
+ weightUnit);
}
{ // Weight column
@@ -544,7 +557,8 @@
Float.class, false, true, 3, computedDataColor),
TuttiComputedOrNotDataTableCell.newRender(
defaultRenderer, true, 3, computedDataColor),
- BenthosBatchTableModel.WEIGHT);
+ BenthosBatchTableModel.WEIGHT,
+ weightUnit);
}
{ // Number column (from frequencies)
@@ -580,7 +594,9 @@
// create table model
BenthosBatchTableModel tableModel =
- new BenthosBatchTableModel(sampleCategoryModel, columnModel);
+ new BenthosBatchTableModel(weightUnit,
+ sampleCategoryModel,
+ columnModel);
table.setModel(tableModel);
table.setColumnModel(columnModel);
@@ -785,7 +801,6 @@
BenthosBatchUIModel model = getModel();
model.setLeafNumber(model.getLeafNumber() + newBatches.size() - 1);
-
recomputeBatchActionEnable();
}
@@ -818,28 +833,37 @@
protected void saveRow(BenthosBatchRowModel row) {
FishingOperation fishingOperation = getModel().getFishingOperation();
+
Preconditions.checkNotNull(fishingOperation);
-
Preconditions.checkNotNull(row.getSpecies());
- SampleCategory<?> sampleCategory = row.getFinestCategory();
- Preconditions.checkNotNull(sampleCategory);
- Preconditions.checkNotNull(sampleCategory.getCategoryId());
- Preconditions.checkNotNull(sampleCategory.getCategoryValue());
+ Preconditions.checkNotNull(row.getFinestCategory());
+ Preconditions.checkNotNull(row.getFinestCategory().getCategoryId());
+ Preconditions.checkNotNull(row.getFinestCategory().getCategoryValue());
- BenthosBatch catchBean = row.toBean();
- catchBean.setFishingOperation(fishingOperation);
+// SampleCategory<?> sampleCategory = row.getFinestCategory();
+// Preconditions.checkNotNull(sampleCategory);
+// Preconditions.checkNotNull(sampleCategory.getCategoryId());
+// Preconditions.checkNotNull(sampleCategory.getCategoryValue());
+ BenthosBatch entityToSave = row.toEntity();
+
+ entityToSave.setFishingOperation(fishingOperation);
+
BenthosBatchRowModel parent = row.getParentBatch();
if (parent != null) {
- catchBean.setParentBatch(parent.toBean());
+ //FIXME Check no need to convert parent weight ? :(
+ entityToSave.setParentBatch(parent.toBean());
}
- // apply sample category
- catchBean.setSampleCategoryId(sampleCategory.getCategoryId());
- catchBean.setSampleCategoryValue(sampleCategory.getCategoryValue());
- catchBean.setSampleCategoryWeight(sampleCategory.getCategoryWeight());
+// // apply sample category
+// entityToSave.setSampleCategoryId(sampleCategory.getCategoryId());
+// entityToSave.setSampleCategoryValue(sampleCategory.getCategoryValue());
+//
+// // convert sample category weight
+// Float categoryWeight = sampleCategory.getCategoryWeight();
+// entityToSave.setSampleCategoryWeight(weightUnit.toEntity(categoryWeight));
- if (TuttiEntities.isNew(catchBean)) {
+ if (TuttiEntities.isNew(entityToSave)) {
BenthosBatchRowModel batchParent = row.getParentBatch();
String parentBatchId = null;
@@ -852,29 +876,31 @@
log.info("Persist new species batch with parentId: " +
parentBatchId);
}
- catchBean = persistenceService.createBenthosBatch(catchBean,
- parentBatchId);
- row.setId(catchBean.getId());
+ entityToSave = persistenceService.createBenthosBatch(entityToSave,
+ parentBatchId);
+ row.setId(entityToSave.getId());
} else {
if (log.isInfoEnabled()) {
- log.info("Persist existing species batch: " + catchBean.getId() + " (parent : " + catchBean.getParentBatch() + ")");
+ log.info("Persist existing species batch: " + entityToSave.getId() + " (parent : " + entityToSave.getParentBatch() + ")");
}
- persistenceService.saveBenthosBatch(catchBean);
+ persistenceService.saveBenthosBatch(entityToSave);
}
List<BenthosFrequencyRowModel> frequencyRows = row.getFrequency();
List<BenthosBatchFrequency> frequency =
- BenthosFrequencyRowModel.toBeans(frequencyRows, catchBean);
+ BenthosFrequencyRowModel.toEntity(
+ frequencyRows,
+ entityToSave);
if (log.isInfoEnabled()) {
log.info("Will save " + frequency.size() + " frequencies.");
}
frequency = persistenceService.saveBenthosBatchFrequency(
- catchBean.getId(), frequency);
+ entityToSave.getId(), frequency);
// push it back to row model
- frequencyRows = BenthosFrequencyRowModel.fromBeans(frequency);
+ frequencyRows = BenthosFrequencyRowModel.fromEntity(weightUnit, frequency);
row.setFrequency(frequencyRows);
getModel().fireBatchUpdated(row);
@@ -1010,7 +1036,8 @@
persistenceService.getAllBenthosBatchFrequency(id);
BenthosBatchRowModel newRow =
- new BenthosBatchRowModel(sampleCategoryModel,
+ new BenthosBatchRowModel(weightUnit,
+ sampleCategoryModel,
aBatch,
frequencies);
@@ -1041,8 +1068,8 @@
newRow,
sampleCategoryId,
aBatch.getSampleCategoryValue(),
- aBatch.getSampleCategoryWeight(),
- aBatch.getSampleCategoryComputedWeight());
+ weightUnit.fromEntity(aBatch.getSampleCategoryWeight()),
+ weightUnit.fromEntity(aBatch.getSampleCategoryComputedWeight()));
rows.add(newRow);
@@ -1120,14 +1147,16 @@
protected <C extends Serializable> void addSampleCategoryColumnToModel(TableColumnModel columnModel,
ColumnIdentifier<BenthosBatchRowModel> columnIdentifier,
Decorator<C> decorator,
- TableCellRenderer defaultRenderer) {
+ TableCellRenderer defaultRenderer,
+ WeightUnit weightUnit) {
addColumnToModel(
columnModel,
SampleCategoryComponent.newEditor(decorator),
SampleCategoryComponent.newRender(defaultRenderer,
decorator,
getConfig().getColorComputedWeights()),
- columnIdentifier);
+ columnIdentifier,
+ weightUnit);
}
public void removeFromSpeciesUsed(BenthosBatchRowModel row) {
@@ -1175,7 +1204,7 @@
return model.getSelectedSpecies();
}
- protected BenthosBatch convertRowToBean(BenthosBatchRowModel row, boolean convertParent) {
+ protected BenthosBatch convertRowToEntity(BenthosBatchRowModel row, boolean convertParent) {
SampleCategory<?> sampleCategory = row.getFinestCategory();
Preconditions.checkNotNull(sampleCategory);
Preconditions.checkNotNull(sampleCategory.getCategoryId());
@@ -1183,13 +1212,20 @@
BenthosBatch catchBean = row.toBean();
+ // convert weight
+ Float weight = catchBean.getWeight();
+ catchBean.setWeight(weightUnit.toEntity(weight));
+
// apply sample category
catchBean.setSampleCategoryId(sampleCategory.getCategoryId());
catchBean.setSampleCategoryValue(sampleCategory.getCategoryValue());
- catchBean.setSampleCategoryWeight(sampleCategory.getCategoryWeight());
+ // convert sample category weight
+ Float categoryWeight = sampleCategory.getCategoryWeight();
+ catchBean.setSampleCategoryWeight(weightUnit.toEntity(categoryWeight));
+
if (convertParent && row.getParentBatch() != null) {
- BenthosBatch parent = convertRowToBean(row.getParentBatch(), true);
+ BenthosBatch parent = convertRowToEntity(row.getParentBatch(), true);
catchBean.setParentBatch(parent);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -72,6 +72,7 @@
toolTipText: "tutti.createBenthosBatch.field.batchWeight.tip";
labelFor: {batchWeightField};
_help: {"tutti.createBenthosBatch.field.batchWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#batchWeightField {
@@ -99,7 +100,7 @@
#categoryLabel {
text: "tutti.createBenthosBatch.field.category";
- toolTipText: "tutti.createBenthosBatch.field.categoryField.tip";
+ toolTipText: "tutti.createBenthosBatch.field.category.tip";
labelFor: {categoryComboBox};
_help: {"tutti.createBenthosBatch.field.categoryField.help"};
}
@@ -115,9 +116,10 @@
#sampleWeightLabel {
text: "tutti.createBenthosBatch.field.sampleWeight";
- toolTipText: "tutti.createBenthosBatch.field.sampleWeightField.tip";
+ toolTipText: "tutti.createBenthosBatch.field.sampleWeight.tip";
labelFor: {sampleWeightField};
_help: {"tutti.createBenthosBatch.field.sampleWeightField.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#sampleWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -515,7 +515,8 @@
addFloatColumnToModel(columnModel,
SplitBenthosBatchTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ getConfig().getBenthosWeightUnit());
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -31,6 +31,7 @@
import fr.ifremer.tutti.persistence.entities.data.BenthosBatchFrequency;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
@@ -82,6 +83,13 @@
*/
protected Caracteristic lengthStepCaracteristic;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<BenthosBatchFrequency, BenthosFrequencyRowModel> fromBeanBinder =
BinderFactory.newBinder(BenthosBatchFrequency.class,
BenthosFrequencyRowModel.class);
@@ -92,33 +100,71 @@
private static final Ordering<Float> ordering = Ordering.natural().nullsFirst();
- public static List<BenthosFrequencyRowModel> fromBeans(List<BenthosBatchFrequency> frequency) {
+ //------------------------------------------------------------------------//
+ //-- Factory methods --//
+ //------------------------------------------------------------------------//
+
+ public static List<BenthosFrequencyRowModel> fromEntity(WeightUnit weightUnit,
+ List<BenthosBatchFrequency> entities) {
List<BenthosFrequencyRowModel> result = Lists.newArrayList();
- for (BenthosBatchFrequency b : frequency) {
- BenthosFrequencyRowModel model = new BenthosFrequencyRowModel();
- fromBeanBinder.copy(b, model);
- result.add(model);
+ for (BenthosBatchFrequency entity : entities) {
+
+ BenthosFrequencyRowModel row =
+ new BenthosFrequencyRowModel(weightUnit);
+ row.fromEntity(entity);
+ result.add(row);
}
return result;
}
- public static List<BenthosBatchFrequency> toBeans(List<BenthosFrequencyRowModel> frequency, BenthosBatch batch) {
+ public static List<BenthosBatchFrequency> toEntity(List<BenthosFrequencyRowModel> rows,
+ BenthosBatch batch) {
List<BenthosBatchFrequency> result = Lists.newArrayList();
- for (BenthosFrequencyRowModel b : frequency) {
- BenthosBatchFrequency model =
- TuttiBeanFactory.newBenthosBatchFrequency();
- toBeanBinder.copy(b, model);
+ for (BenthosFrequencyRowModel row : rows) {
+ BenthosBatchFrequency model = row.toEntity();
+
model.setBatch(batch);
result.add(model);
}
return result;
}
- public BenthosFrequencyRowModel() {
+ public BenthosFrequencyRowModel(WeightUnit weightUnit) {
super(BenthosBatchFrequency.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
+ protected BenthosBatchFrequency newEntity() {
+ return TuttiBeanFactory.newBenthosBatchFrequency();
+ }
+
+ @Override
+ public void fromEntity(BenthosBatchFrequency entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public BenthosBatchFrequency toEntity() {
+ BenthosBatchFrequency result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+ return result;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- BenthosBatchFrequency --//
+ //------------------------------------------------------------------------//
+
+ @Override
public Float getLengthStep() {
return lengthStep;
}
@@ -182,11 +228,6 @@
}
@Override
- protected BenthosBatchFrequency newEntity() {
- return TuttiBeanFactory.newBenthosBatchFrequency();
- }
-
- @Override
public Integer getRankOrder() {
return null;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -25,6 +25,7 @@
*/
import com.google.common.collect.Maps;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
@@ -65,9 +66,18 @@
private final Map<Float, BenthosFrequencyRowModel> rowCache;
- public BenthosFrequencyTableModel(TableColumnModelExt columnModel,
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public BenthosFrequencyTableModel(WeightUnit weightUnit,
+ TableColumnModelExt columnModel,
BenthosFrequencyUIModel uiModel) {
super(columnModel, true, true);
+ this.weightUnit = weightUnit;
this.uiModel = uiModel;
this.rowCache = Maps.newTreeMap();
setNoneEditableCols();
@@ -87,7 +97,8 @@
lengthStep + uiModel.getStep());
}
}
- BenthosFrequencyRowModel result = new BenthosFrequencyRowModel();
+ BenthosFrequencyRowModel result =
+ new BenthosFrequencyRowModel(weightUnit);
result.addPropertyChangeListener(BenthosFrequencyRowModel.PROPERTY_LENGTH_STEP,
new PropertyChangeListener() {
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -76,6 +76,7 @@
labelFor: {totalWeightField};
enabled: {model.getTotalWeight() != null};
_help: {"tutti.editBenthosFrequencies.field.totalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#totalWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -42,6 +42,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
@@ -88,12 +89,21 @@
protected Set<BenthosFrequencyRowModel> withWeightRows = Sets.newHashSet();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public BenthosFrequencyUIHandler(TuttiUIContext context,
BenthosFrequencyUI ui) {
super(context, ui,
BenthosFrequencyRowModel.PROPERTY_LENGTH_STEP,
BenthosFrequencyRowModel.PROPERTY_NUMBER,
BenthosFrequencyRowModel.PROPERTY_WEIGHT);
+
+ this.weightUnit = context.getConfig().getBenthosWeightUnit();
}
//------------------------------------------------------------------------//
@@ -204,7 +214,7 @@
getDataContext().getSampleCategoryModel();
BenthosFrequencyUIModel model =
- new BenthosFrequencyUIModel(sampleCategoryModel);
+ new BenthosFrequencyUIModel(weightUnit, sampleCategoryModel);
ui.setContextValue(model);
}
@@ -314,12 +324,16 @@
addFloatColumnToModel(columnModel,
BenthosFrequencyTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ weightUnit);
}
// create table model
BenthosFrequencyTableModel tableModel =
- new BenthosFrequencyTableModel(columnModel, model);
+ new BenthosFrequencyTableModel(
+ weightUnit,
+ columnModel,
+ model);
JXTable table = getTable();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import java.util.List;
@@ -152,14 +153,34 @@
protected Set<BenthosFrequencyRowModel> emptyRows;
- protected SampleCategoryModel sampleCategoryModel;
+ /**
+ * Sample categories model.
+ *
+ * @since 2.4
+ */
+ protected final SampleCategoryModel sampleCategoryModel;
- public BenthosFrequencyUIModel(SampleCategoryModel sampleCategoryModel) {
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public BenthosFrequencyUIModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel) {
super(BenthosBatchRowModel.class, null, null);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
setEmptyRows(Sets.<BenthosFrequencyRowModel>newHashSet());
}
+ @Override
+ protected BenthosBatchRowModel newEntity() {
+ return new BenthosBatchRowModel(weightUnit, sampleCategoryModel);
+ }
+
+ @Override
public void setRows(List<BenthosFrequencyRowModel> rows) {
super.setRows(rows);
setEmptyRows(Sets.<BenthosFrequencyRowModel>newHashSet());
@@ -317,9 +338,4 @@
emptyRows.remove(row);
firePropertyChange(PROPERTY_EMPTY_ROWS, null, emptyRows);
}
-
- @Override
- protected BenthosBatchRowModel newEntity() {
- return new BenthosBatchRowModel(sampleCategoryModel);
- }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -32,7 +32,7 @@
#categoryLabel {
text: "tutti.splitBenthosBatch.field.category";
- toolTipText: "tutti.splitBenthosBatch.field.categoryField.tip";
+ toolTipText: "tutti.splitBenthosBatch.field.category.tip";
labelFor: {categoryComboBox};
_help: {"tutti.splitBenthosBatch.field.categoryField.help"};
}
@@ -43,9 +43,10 @@
#batchWeightLabel {
text: "tutti.splitBenthosBatch.field.batchWeight";
- toolTipText: "tutti.splitBenthosBatch.field.batchWeightField.tip";
+ toolTipText: "tutti.splitBenthosBatch.field.batchWeight.tip";
labelFor: {batchWeightField};
_help: {"tutti.splitBenthosBatch.field.batchWeightField.help"};
+ _addWeightUnit: {handler.getConfig().getBenthosWeightUnit()};
}
#batchWeightField {
@@ -56,7 +57,7 @@
#sampleWeightLabel {
text: "tutti.splitBenthosBatch.field.sampleWeight";
- toolTipText: "tutti.splitBenthosBatch.field.sampleWeightField.tip";
+ toolTipText: "tutti.splitBenthosBatch.field.sampleWeight.tip";
labelFor: {sampleWeightField};
_help: {"tutti.splitBenthosBatch.field.sampleWeightField.help"};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -153,7 +153,8 @@
SampleCategoryModel sampleCategoryModel =
getDataContext().getSampleCategoryModel();
- SplitBenthosBatchUIModel model = new SplitBenthosBatchUIModel(sampleCategoryModel);
+ SplitBenthosBatchUIModel model = new SplitBenthosBatchUIModel(
+ getConfig().getBenthosWeightUnit(), sampleCategoryModel);
ui.setContextValue(model);
}
@@ -389,7 +390,8 @@
addFloatColumnToModel(columnModel,
SplitBenthosBatchTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ getConfig().getBenthosWeightUnit());
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SelectedCategoryAble;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import java.util.List;
@@ -79,13 +80,32 @@
*/
protected Float sampleWeight;
+ /**
+ * Model of sample categories.
+ *
+ * @since 2.4
+ */
protected SampleCategoryModel sampleCategoryModel;
- public SplitBenthosBatchUIModel(SampleCategoryModel sampleCategoryModel) {
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public SplitBenthosBatchUIModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel) {
super(BenthosBatchRowModel.class, null, null);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
}
+ @Override
+ protected BenthosBatchRowModel newEntity() {
+ return new BenthosBatchRowModel(weightUnit, sampleCategoryModel);
+ }
+
public BenthosBatchRowModel getBatch() {
return batch;
}
@@ -132,11 +152,6 @@
firePropertyChange(PROPERTY_SAMPLE_WEIGHT, oldValue, sampleWeight);
}
- @Override
- protected BenthosBatchRowModel newEntity() {
- return new BenthosBatchRowModel(sampleCategoryModel);
- }
-
public SampleCategoryModel getSampleCategoryModel() {
return sampleCategoryModel;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -32,6 +32,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapColumnRowModel;
import org.nuiton.util.beans.Binder;
@@ -74,6 +75,13 @@
*/
protected CaracteristicMap defaultCaracteristics = new CaracteristicMap();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<IndividualObservationBatch, IndividualObservationBatchRowModel> fromBeanBinder =
BinderFactory.newBinder(IndividualObservationBatch.class,
IndividualObservationBatchRowModel.class);
@@ -82,18 +90,18 @@
BinderFactory.newBinder(IndividualObservationBatchRowModel.class,
IndividualObservationBatch.class);
- public IndividualObservationBatchRowModel() {
+ public IndividualObservationBatchRowModel(WeightUnit weightUnit) {
super(IndividualObservationBatch.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
}
- public IndividualObservationBatchRowModel(IndividualObservationBatch aBatch,
+ public IndividualObservationBatchRowModel(WeightUnit weightUnit,
+ IndividualObservationBatch entity,
Collection<Caracteristic> defaultCaracteristicsSet) {
- this();
- fromBean(aBatch);
- Float weightInG = getWeight();
- if (weightInG != null) {
- setWeight(weightInG * 1000.0f);
- }
+ this(weightUnit);
+
+ fromEntity(entity);
+
if (getCaracteristics() == null) {
setCaracteristics(new CaracteristicMap());
}
@@ -108,6 +116,10 @@
}
}
+ //------------------------------------------------------------------------//
+ //-- Public methods --//
+ //------------------------------------------------------------------------//
+
public CaracteristicMap getDefaultCaracteristics() {
return defaultCaracteristics;
}
@@ -122,6 +134,23 @@
//------------------------------------------------------------------------//
@Override
+ public void fromEntity(IndividualObservationBatch entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public IndividualObservationBatch toEntity() {
+ IndividualObservationBatch result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+ return result;
+ }
+
+ @Override
protected IndividualObservationBatch newEntity() {
return TuttiBeanFactory.newIndividualObservationBatch();
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -22,6 +22,7 @@
* #L%
*/
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
@@ -81,15 +82,25 @@
n_("tutti.editIndividualObservationBatch.table.header.file"),
n_("tutti.editIndividualObservationBatch.table.header.file.tip"));
- public IndividualObservationBatchTableModel(TableColumnModelExt columnModel) {
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public IndividualObservationBatchTableModel(WeightUnit weightUnit,
+ TableColumnModelExt columnModel) {
super(columnModel, false, false);
+ this.weightUnit = weightUnit;
setNoneEditableCols();
}
@Override
public IndividualObservationBatchRowModel createNewRow() {
- IndividualObservationBatchRowModel result = new IndividualObservationBatchRowModel();
+ IndividualObservationBatchRowModel result =
+ new IndividualObservationBatchRowModel(weightUnit);
// by default empty row is not valid
result.setValid(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -32,6 +32,17 @@
borderPainted: false;
}
+#tablePopup {
+ label: "tutti.editIndividualObservationBatch.title.batchActions";
+}
+
+#table {
+ selectionMode: {ListSelectionModel.SINGLE_SELECTION};
+ /*selectionBackground: {null};*/
+ selectionForeground: {Color.BLACK};
+ sortable: false;
+}
+
#importMultiPostButton {
actionIcon: import;
text: "tutti.editIndividualObservationBatch.action.importMultiPost";
@@ -50,17 +61,6 @@
_help: {"tutti.editIndividualObservationBatch.action.exportMultiPost.help"};
}
-#tablePopup {
- label: "tutti.editIndividualObservationBatch.title.batchActions";
-}
-
-#table {
- selectionMode: {ListSelectionModel.SINGLE_SELECTION};
- /*selectionBackground: {null};*/
- selectionForeground: {Color.BLACK};
- sortable: false;
-}
-
#createIndividualObservationBatchButton {
actionIcon: batch-create;
text: "tutti.editIndividualObservationBatch.action.createBatch";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -43,6 +43,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellEditor;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellRenderer;
import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapCellComponent;
@@ -89,6 +90,13 @@
protected ValidationService validationService = getContext().getValidationService();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public IndividualObservationBatchUIHandler(TuttiUI<?, ?> parentUi, IndividualObservationBatchUI ui) {
super(parentUi, ui,
IndividualObservationBatchRowModel.PROPERTY_SPECIES,
@@ -101,6 +109,8 @@
// IndividualObservationBatchRowModel.PROPERTY_SAMPLING_CODE,
IndividualObservationBatchRowModel.PROPERTY_COMMENT,
IndividualObservationBatchRowModel.PROPERTY_ATTACHMENT);
+
+ weightUnit = getConfig().getIndividualObservationWeightUnit();
}
//------------------------------------------------------------------------//
@@ -155,7 +165,9 @@
IndividualObservationBatchRowModel newRow =
new IndividualObservationBatchRowModel(
- aBatch, getModel().getDefaultCaracteristic());
+ weightUnit,
+ aBatch,
+ getModel().getDefaultCaracteristic());
List<Attachment> attachments =
persistenceService.getAllAttachments(newRow.getObjectType(),
@@ -328,7 +340,9 @@
DefaultTableColumnModelExt columnModel =
new DefaultTableColumnModelExt();
Decorator<Caracteristic> caracteristicDecorator =
- getDecorator(Caracteristic.class, null);
+ getDecorator(Caracteristic.class, DecoratorService.CARACTERISTIC_PARAMETER_ONLY_WITH_UNIT);
+ Decorator<Caracteristic> caracteristicTipDecorator =
+ getDecorator(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT);
Decorator<CaracteristicQualitativeValue> caracteristicQualitativeDecorator =
getDecorator(CaracteristicQualitativeValue.class, null);
@@ -346,7 +360,8 @@
addFloatColumnToModel(columnModel,
IndividualObservationBatchTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ weightUnit);
}
{ // Size column
@@ -360,7 +375,8 @@
addComboDataColumnToModel(columnModel,
IndividualObservationBatchTableModel.LENGTH_STEP_CARACTERISTIC,
- caracteristicDecorator, getDataContext().getLengthStepCaracteristics());
+ getDecorator(Caracteristic.class, null),
+ getDataContext().getLengthStepCaracteristics());
}
@@ -370,12 +386,13 @@
for (Caracteristic caracteristic : defaultCaracteristic) {
String header = caracteristicDecorator.toString(caracteristic);
+ String headerTip = caracteristicTipDecorator.toString(caracteristic);
CaracteristicColumnIdentifier id = CaracteristicColumnIdentifier.newCaracteristicId(
caracteristic,
IndividualObservationBatchRowModel.PROPERTY_DEFAULT_CARACTERISTICS,
header,
- header
+ headerTip
);
switch (caracteristic.getCaracteristicType()) {
@@ -446,7 +463,8 @@
// create table model
IndividualObservationBatchTableModel tableModel =
- new IndividualObservationBatchTableModel(columnModel);
+ new IndividualObservationBatchTableModel(weightUnit,
+ columnModel);
table.setModel(tableModel);
table.setColumnModel(columnModel);
@@ -515,7 +533,9 @@
saveRow(newRow);
tableModel.addNewRow(newRow);
- AbstractSelectTableAction.doSelectCell(getTable(), tableModel.getRowCount() - 1, 0);
+ AbstractSelectTableAction.doSelectCell(getTable(),
+ tableModel.getRowCount() - 1,
+ 0);
}
recomputeBatchActionEnable();
@@ -542,12 +562,12 @@
protected void saveRow(IndividualObservationBatchRowModel row) {
- IndividualObservationBatch catchBean = row.toBean();
+ IndividualObservationBatch entityToSave = row.toEntity();
CaracteristicMap caracteristics = new CaracteristicMap();
- catchBean.setCaracteristics(caracteristics);
+ entityToSave.setCaracteristics(caracteristics);
- // push back not null caracteristics
+ // push back not null extra caracteristics
for (Map.Entry<Caracteristic, Serializable> entry : row.getCaracteristics().entrySet()) {
Serializable value = entry.getValue();
if (value != null) {
@@ -564,24 +584,18 @@
}
FishingOperation fishingOperation = getModel().getFishingOperation();
- catchBean.setFishingOperation(fishingOperation);
+ entityToSave.setFishingOperation(fishingOperation);
- // convert grams into kilograms
- Float weightInG = catchBean.getWeight();
- if (weightInG != null) {
- catchBean.setWeight(weightInG / 1000.0f);
- }
-
if (log.isInfoEnabled()) {
log.info("Selected fishingOperation: " + fishingOperation.getId());
}
- if (TuttiEntities.isNew(catchBean)) {
+ if (TuttiEntities.isNew(entityToSave)) {
- catchBean = persistenceService.createIndividualObservationBatch(catchBean);
- row.setId(catchBean.getId());
+ entityToSave = persistenceService.createIndividualObservationBatch(entityToSave);
+ row.setId(entityToSave.getId());
} else {
- persistenceService.saveIndividualObservationBatch(catchBean);
+ persistenceService.saveIndividualObservationBatch(entityToSave);
}
getModel().fireBatchUpdated(row);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/create/CreateIndividualObservationBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -52,6 +52,7 @@
toolTipText: "tutti.createIndividualObservationBatch.field.individualObservationWeight.tip";
labelFor: {individualObservationWeightField};
_help: {"tutti.createIndividualObservationBatch.field.individualObservationWeight.help"};
+ _addWeightUnit: {handler.getConfig().getIndividualObservationWeightUnit()};
}
#individualObservationWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -32,6 +32,7 @@
import fr.ifremer.tutti.persistence.entities.data.MarineLitterBatch;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
@@ -64,6 +65,13 @@
*/
protected final List<Attachment> attachment = Lists.newArrayList();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<MarineLitterBatch, MarineLitterBatchRowModel> fromBeanBinder =
BinderFactory.newBinder(MarineLitterBatch.class,
MarineLitterBatchRowModel.class);
@@ -72,20 +80,43 @@
BinderFactory.newBinder(MarineLitterBatchRowModel.class,
MarineLitterBatch.class);
- public MarineLitterBatchRowModel() {
+ public MarineLitterBatchRowModel(WeightUnit weightUnit) {
super(MarineLitterBatch.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
}
- public MarineLitterBatchRowModel(MarineLitterBatch aBatch) {
- this();
- fromBean(aBatch);
+ public MarineLitterBatchRowModel(WeightUnit weightUnit,
+ MarineLitterBatch entity) {
+ this(weightUnit);
+ fromEntity(entity);
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
protected MarineLitterBatch newEntity() {
return TuttiBeanFactory.newMarineLitterBatch();
}
+ @Override
+ public void fromEntity(MarineLitterBatch entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public MarineLitterBatch toEntity() {
+ MarineLitterBatch result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+ return result;
+ }
+
//------------------------------------------------------------------------//
//-- MarineLitterBatch --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -24,6 +24,7 @@
* #L%
*/
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
@@ -68,15 +69,25 @@
n_("tutti.editMarineLitterBatch.table.header.file"),
n_("tutti.editMarineLitterBatch.table.header.file.tip"));
- public MarineLitterBatchTableModel(TableColumnModelExt columnModel) {
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public MarineLitterBatchTableModel(WeightUnit weightUnit,
+ TableColumnModelExt columnModel) {
super(columnModel, false, false);
+ this.weightUnit = weightUnit;
setNoneEditableCols(MACRO_WASTE_CATEGORY, MACRO_WASTE_SIZE_CATEGORY);
}
@Override
public MarineLitterBatchRowModel createNewRow() {
- MarineLitterBatchRowModel result = new MarineLitterBatchRowModel();
+ MarineLitterBatchRowModel result =
+ new MarineLitterBatchRowModel(weightUnit);
// by default empty row is not valid
result.setValid(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -65,6 +65,7 @@
toolTipText: "tutti.editMarineLitterBatch.field.marineLitterTotalWeight.tip";
labelFor: {marineLitterTotalWeightField};
_help: {"tutti.editMarineLitterBatch.field.marineLitterTotalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getMarineLitterWeightUnit()};
}
#marineLitterTotalWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -43,6 +43,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellEditor;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellRenderer;
import fr.ifremer.tutti.ui.swing.util.comment.CommentCellEditor;
@@ -78,6 +79,13 @@
protected ValidationService validationService = getContext().getValidationService();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public MarineLitterBatchUIHandler(TuttiUI<?, ?> parentUi, MarineLitterBatchUI ui) {
super(parentUi, ui,
MarineLitterBatchRowModel.PROPERTY_MARINE_LITTER_CATEGORY,
@@ -85,6 +93,8 @@
MarineLitterBatchRowModel.PROPERTY_WEIGHT,
MarineLitterBatchRowModel.PROPERTY_NUMBER,
MarineLitterBatchRowModel.PROPERTY_COMMENT);
+
+ weightUnit = getConfig().getMarineLitterWeightUnit();
}
//------------------------------------------------------------------------//
@@ -128,7 +138,8 @@
protected MarineLitterBatchRowModel loadBatch(MarineLitterBatch aBatch) {
- MarineLitterBatchRowModel newRow = new MarineLitterBatchRowModel(aBatch);
+ MarineLitterBatchRowModel newRow =
+ new MarineLitterBatchRowModel(weightUnit, aBatch);
List<Attachment> attachments =
persistenceService.getAllAttachments(newRow.getObjectType(),
@@ -337,7 +348,8 @@
addFloatColumnToModel(columnModel,
MarineLitterBatchTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ weightUnit);
}
{ // Comment column
@@ -358,7 +370,7 @@
// create table model
MarineLitterBatchTableModel tableModel =
- new MarineLitterBatchTableModel(columnModel);
+ new MarineLitterBatchTableModel(weightUnit, columnModel);
table.setModel(tableModel);
table.setColumnModel(columnModel);
@@ -401,6 +413,7 @@
newRow.setMarineLitterCategory(model.getMarineLitterCategory());
newRow.setMarineLitterSizeCategory(model.getMarineLitterSizeCategory());
newRow.setNumber(model.getNumber());
+ newRow.setWeight(model.getWeight());
recomputeRowValidState(newRow);
@@ -437,20 +450,20 @@
protected void saveRow(MarineLitterBatchRowModel row) {
- MarineLitterBatch catchBean = row.toBean();
+ MarineLitterBatch entityToSave = row.toEntity();
FishingOperation fishingOperation = getModel().getFishingOperation();
- catchBean.setFishingOperation(fishingOperation);
+ entityToSave.setFishingOperation(fishingOperation);
if (log.isInfoEnabled()) {
log.info("Selected fishingOperation: " + fishingOperation.getId());
}
- if (TuttiEntities.isNew(catchBean)) {
+ if (TuttiEntities.isNew(entityToSave)) {
- catchBean = persistenceService.createMarineLitterBatch(catchBean);
- row.setId(catchBean.getId());
+ entityToSave = persistenceService.createMarineLitterBatch(entityToSave);
+ row.setId(entityToSave.getId());
} else {
- persistenceService.saveMarineLitterBatch(catchBean);
+ persistenceService.saveMarineLitterBatch(entityToSave);
}
getModel().fireBatchUpdated(row);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -31,6 +31,7 @@
autoPopup: {handler.getConfig().isAutoPopupNumberEditor()};
showPopupButton: {handler.getConfig().isShowNumberEditorButton()};
showReset: true;
+ bean: {model};
}
#createMarineLitterBatchTopPanel {
@@ -61,21 +62,35 @@
selectedItem: {model.getMarineLitterSizeCategory()};
}
-#numberLabel {
+#marineLitterNumberLabel {
text: "tutti.createMarineLitterBatch.field.number";
toolTipText: "tutti.createMarineLitterBatch.field.number.tip";
- labelFor: {numberField};
+ labelFor: {marineLitterNumberField};
_help: {"tutti.createMarineLitterBatch.field.number.help"};
}
-#numberField {
+#marineLitterNumberField {
property: number;
model: {model.getNumber()};
useFloat: true;
numberPattern: {DECIMAL3_PATTERN};
- bean: {model};
}
+#marineLitterWeightLabel {
+ text: "tutti.createMarineLitterBatch.field.weight";
+ toolTipText: "tutti.createMarineLitterBatch.field.weight.tip";
+ labelFor: {marineLitterWeightField};
+ _help: {"tutti.createMarineLitterBatch.field.weight.help"};
+ _addWeightUnit: {handler.getConfig().getMarineLitterWeightUnit()};
+}
+
+#marineLitterWeightField {
+ property: weight;
+ model: {model.getWeight()};
+ useFloat: true;
+ numberPattern: {DECIMAL3_PATTERN};
+}
+
#saveAndContinueButton {
actionIcon: save;
text: "tutti.createMarineLitterBatch.action.saveAndContinue";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.jaxx 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.jaxx 2013-09-23 09:39:50 UTC (rev 1203)
@@ -61,7 +61,8 @@
component='marineLitterCategoryComboBox'/>
<field name='marineLitterSizeCategory'
component='marineLitterSizeCategoryComboBox'/>
- <field name='number' component='numberField'/>
+ <field name='number' component='marineLitterNumberField'/>
+ <field name='weight' component='marineLitterWeightField'/>
</BeanValidator>
<TuttiHelpBroker id='broker'
@@ -96,13 +97,23 @@
<!-- MarineLitter number -->
<row>
<cell anchor='west'>
- <JLabel id='numberLabel'/>
+ <JLabel id='marineLitterNumberLabel'/>
</cell>
<cell weightx='1.0' columns='2'>
- <NumberEditor id='numberField' constructorParams='this'/>
+ <NumberEditor id='marineLitterNumberField' constructorParams='this'/>
</cell>
</row>
+ <!-- MarineLitter weight -->
+ <row>
+ <cell anchor='west'>
+ <JLabel id='marineLitterWeightLabel'/>
+ </cell>
+ <cell weightx='1.0' columns='2'>
+ <NumberEditor id='marineLitterWeightField' constructorParams='this'/>
+ </cell>
+ </row>
+
</Table>
<!-- Form Actions -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -91,6 +91,16 @@
firePropertyChange(MarineLitterBatch.PROPERTY_NUMBER, oldValue, number);
}
+ public Float getWeight() {
+ return editObject.getWeight();
+ }
+
+ public void setWeight(Float weight) {
+ Object oldValue = getWeight();
+ editObject.setWeight(weight);
+ firePropertyChange(MarineLitterBatch.PROPERTY_WEIGHT, oldValue, weight);
+ }
+
public Multimap<CaracteristicQualitativeValue, CaracteristicQualitativeValue> getMarineLitterCategoryUsed() {
return marineLitterCategoryUsed;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriAction.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/ImportPupitriAction.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -144,7 +144,7 @@
EditCatchesUIModel model = getUI().getHandler().getParentUi().getModel();
FishingOperation operation = model.getFishingOperation();
- CatchBatch catchBatch = model.getCatchBatch();
+ CatchBatch catchBatch = model.toEntity();
// import
int rejectedSpeciesNb =
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -24,6 +24,7 @@
* #L%
*/
+import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
@@ -40,6 +41,7 @@
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
import fr.ifremer.tutti.ui.swing.util.TuttiComputedOrNotData;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
@@ -136,8 +138,20 @@
*/
protected List<SpeciesBatchRowModel> childBatch;
+ /**
+ * Sample categories model.
+ *
+ * @since 2.4
+ */
protected final SampleCategoryModel sampleCategoryModel;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<SpeciesBatch, SpeciesBatchRowModel> fromBeanBinder =
BinderFactory.newBinder(SpeciesBatch.class,
SpeciesBatchRowModel.class);
@@ -146,8 +160,10 @@
BinderFactory.newBinder(SpeciesBatchRowModel.class,
SpeciesBatch.class);
- public SpeciesBatchRowModel(SampleCategoryModel sampleCategoryModel) {
+ public SpeciesBatchRowModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel) {
super(SpeciesBatch.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
categories = new SampleCategory[sampleCategoryModel.getNbSampling()];
@@ -163,22 +179,60 @@
computedOrNotNumber.addPropagateListener(PROPERTY_COMPUTED_NUMBER, this);
}
- public SpeciesBatchRowModel(SampleCategoryModel sampleCategoryModel,
+ public SpeciesBatchRowModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel,
SpeciesBatch aBatch,
List<SpeciesBatchFrequency> frequencies) {
- this(sampleCategoryModel);
- fromBean(aBatch);
+ this(weightUnit, sampleCategoryModel);
+
+ fromEntity(aBatch);
+
List<SpeciesFrequencyRowModel> frequencyRows =
- SpeciesFrequencyRowModel.fromBeans(frequencies);
+ SpeciesFrequencyRowModel.fromEntity(weightUnit, frequencies);
frequency.addAll(frequencyRows);
Collections.sort(frequency);
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
protected SpeciesBatch newEntity() {
return TuttiBeanFactory.newSpeciesBatch();
}
+ @Override
+ public void fromEntity(SpeciesBatch entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public SpeciesBatch toEntity() {
+ SpeciesBatch result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+
+ SampleCategory<?> sampleCategory = getFinestCategory();
+ Preconditions.checkNotNull(sampleCategory);
+ Preconditions.checkNotNull(sampleCategory.getCategoryId());
+ Preconditions.checkNotNull(sampleCategory.getCategoryValue());
+
+ // apply sample category
+ result.setSampleCategoryId(sampleCategory.getCategoryId());
+ result.setSampleCategoryValue(sampleCategory.getCategoryValue());
+
+ // convert sample category weight
+ Float categoryWeight = sampleCategory.getCategoryWeight();
+ result.setSampleCategoryWeight(weightUnit.toEntity(categoryWeight));
+
+ return result;
+ }
+
//------------------------------------------------------------------------//
//-- SpeciesBatch --//
//------------------------------------------------------------------------//
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -29,6 +29,7 @@
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SampleCategoryColumnIdentifier;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.apache.commons.logging.Log;
@@ -91,17 +92,31 @@
protected final Set<ColumnIdentifier<SpeciesBatchRowModel>> frequencyCols;
/**
- * Columns implies in the sample category definition.
+ * Columns implied in the sample category definition.
*
* @since 0.2
*/
protected final Set<SampleCategoryColumnIdentifier<SpeciesBatchRowModel>> sampleCols;
+ /**
+ * Sample categories model.
+ *
+ * @since 2.4
+ */
protected final SampleCategoryModel sampleCategoryModel;
- public SpeciesBatchTableModel(SampleCategoryModel sampleCategoryModel,
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public SpeciesBatchTableModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel,
TableColumnModelExt columnModel) {
super(columnModel, false, false);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
setNoneEditableCols(SPECIES);
@@ -123,7 +138,8 @@
@Override
public SpeciesBatchRowModel createNewRow() {
- SpeciesBatchRowModel result = new SpeciesBatchRowModel(sampleCategoryModel);
+ SpeciesBatchRowModel result =
+ new SpeciesBatchRowModel(weightUnit, sampleCategoryModel);
// by default empty row is not valid
result.setValid(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -84,6 +84,7 @@
toolTipText: "tutti.editSpeciesBatch.field.speciesTotalWeight.tip";
labelFor: {speciesTotalWeightField};
_help: {"tutti.editSpeciesBatch.field.speciesTotalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalWeightField {
@@ -96,6 +97,7 @@
toolTipText: "tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip";
labelFor: {speciesTotalSortedWeightField};
_help: {"tutti.editSpeciesBatch.field.speciesTotalSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalSortedWeightField {
@@ -108,6 +110,7 @@
toolTipText: "tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip";
labelFor: {speciesTotalSampleSortedWeightField};
_help: {"tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalSampleSortedWeightField {
@@ -120,6 +123,7 @@
toolTipText: "tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip";
labelFor: {speciesTotalUnsortedWeightField};
_help: {"tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalUnsortedWeightField {
@@ -132,6 +136,7 @@
toolTipText: "tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip";
labelFor: {speciesTotalInertWeightField};
_help: {"tutti.editSpeciesBatch.field.speciesTotalInertWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalInertWeightField {
@@ -144,6 +149,7 @@
toolTipText: "tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip";
labelFor: {speciesTotalLivingNotItemizedWeightField};
_help: {"tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#speciesTotalLivingNotItemizedWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -55,6 +55,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchUI;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellEditor;
import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentCellRenderer;
import fr.ifremer.tutti.ui.swing.util.comment.CommentCellEditor;
@@ -118,6 +119,13 @@
protected final SampleCategoryModel sampleCategoryModel;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public SpeciesBatchUIHandler(EditCatchesUI parentUi,
SpeciesBatchUI ui) {
super(parentUi, ui,
@@ -130,6 +138,8 @@
SpeciesBatchRowModel.PROPERTY_FREQUENCY,
SpeciesBatchRowModel.PROPERTY_SPECIES_TO_CONFIRM);
+ weightUnit = getConfig().getSpeciesWeightUnit();
+
sampleCategoryModel = getDataContext().getSampleCategoryModel();
this.parentUi = parentUi;
@@ -251,7 +261,7 @@
@Override
protected boolean isRowValid(SpeciesBatchRowModel row) {
- SpeciesBatch batch = convertRowToBean(row, true);
+ SpeciesBatch batch = convertRowToEntity(row, true);
NuitonValidatorResult validator = validationService.validateSpeciesBatch(batch);
boolean result = !validator.hasErrorMessagess();
@@ -261,7 +271,9 @@
&& row.isBatchLeaf()) {
List<SpeciesBatchFrequency> frequencies =
- SpeciesFrequencyRowModel.toBeans(row.getFrequency(), batch);
+ SpeciesFrequencyRowModel.toEntity(
+ row.getFrequency(),
+ batch);
result = TuttiProtocols.isSpeciesBatchValid(getDataContext().getProtocol(),
batch,
frequencies);
@@ -535,7 +547,8 @@
addSampleCategoryColumnToModel(columnModel,
columnIdentifier,
caracteristicDecorator,
- defaultRenderer);
+ defaultRenderer,
+ weightUnit);
}
{ // Weight column
@@ -545,7 +558,8 @@
Float.class, false, true, 3, computedDataColor),
TuttiComputedOrNotDataTableCell.newRender(
defaultRenderer, true, 3, computedDataColor),
- SpeciesBatchTableModel.WEIGHT);
+ SpeciesBatchTableModel.WEIGHT,
+ weightUnit);
}
{ // Number column (from frequencies)
@@ -581,7 +595,9 @@
// create table model
SpeciesBatchTableModel tableModel =
- new SpeciesBatchTableModel(sampleCategoryModel, columnModel);
+ new SpeciesBatchTableModel(weightUnit,
+ sampleCategoryModel,
+ columnModel);
table.setModel(tableModel);
table.setColumnModel(columnModel);
@@ -788,7 +804,6 @@
model.setLeafNumber(model.getLeafNumber() + newBatches.size() - 1);
recomputeBatchActionEnable();
-
}
public void updateTotalFromFrequencies(SpeciesBatchRowModel row) {
@@ -829,18 +844,27 @@
Preconditions.checkNotNull(sampleCategory.getCategoryValue());
SpeciesBatch catchBean = row.toBean();
+
+ // convert weight
+ Float weight = catchBean.getWeight();
+ catchBean.setWeight(weightUnit.toEntity(weight));
+
catchBean.setFishingOperation(fishingOperation);
SpeciesBatchRowModel parent = row.getParentBatch();
if (parent != null) {
+ //FIXME Check no need to convert parent weight ? :(
catchBean.setParentBatch(parent.toBean());
}
// apply sample category
catchBean.setSampleCategoryId(sampleCategory.getCategoryId());
catchBean.setSampleCategoryValue(sampleCategory.getCategoryValue());
- catchBean.setSampleCategoryWeight(sampleCategory.getCategoryWeight());
+ // convert sample category weight
+ Float categoryWeight = sampleCategory.getCategoryWeight();
+ catchBean.setSampleCategoryWeight(weightUnit.toEntity(categoryWeight));
+
if (TuttiEntities.isNew(catchBean)) {
String parentBatchId = null;
@@ -865,7 +889,9 @@
List<SpeciesFrequencyRowModel> frequencyRows = row.getFrequency();
List<SpeciesBatchFrequency> frequency =
- SpeciesFrequencyRowModel.toBeans(frequencyRows, catchBean);
+ SpeciesFrequencyRowModel.toEntity(
+ frequencyRows,
+ catchBean);
if (log.isInfoEnabled()) {
log.info("Will save " + frequency.size() + " frequencies.");
@@ -874,7 +900,8 @@
catchBean.getId(), frequency);
// push it back to row model
- frequencyRows = SpeciesFrequencyRowModel.fromBeans(frequency);
+ frequencyRows = SpeciesFrequencyRowModel.fromEntity(weightUnit,
+ frequency);
row.setFrequency(frequencyRows);
getModel().fireBatchUpdated(row);
@@ -1009,7 +1036,8 @@
persistenceService.getAllSpeciesBatchFrequency(id);
SpeciesBatchRowModel newRow =
- new SpeciesBatchRowModel(sampleCategoryModel,
+ new SpeciesBatchRowModel(weightUnit,
+ sampleCategoryModel,
aBatch,
frequencies);
@@ -1040,8 +1068,8 @@
newRow,
sampleCategoryId,
aBatch.getSampleCategoryValue(),
- aBatch.getSampleCategoryWeight(),
- aBatch.getSampleCategoryComputedWeight());
+ weightUnit.fromEntity(aBatch.getSampleCategoryWeight()),
+ weightUnit.fromEntity(aBatch.getSampleCategoryComputedWeight()));
rows.add(newRow);
@@ -1120,14 +1148,16 @@
protected <C extends Serializable> void addSampleCategoryColumnToModel(TableColumnModel columnModel,
ColumnIdentifier<SpeciesBatchRowModel> columnIdentifier,
Decorator<C> decorator,
- TableCellRenderer defaultRenderer) {
+ TableCellRenderer defaultRenderer,
+ WeightUnit weightUnit) {
addColumnToModel(
columnModel,
SampleCategoryComponent.newEditor(decorator),
SampleCategoryComponent.newRender(defaultRenderer,
decorator,
getConfig().getColorComputedWeights()),
- columnIdentifier);
+ columnIdentifier,
+ weightUnit);
}
public void removeFromSpeciesUsed(SpeciesBatchRowModel row) {
@@ -1175,21 +1205,29 @@
return model.getSelectedSpecies();
}
- protected SpeciesBatch convertRowToBean(SpeciesBatchRowModel row, boolean convertParent) {
- SampleCategory<?> sampleCategory = row.getFinestCategory();
- Preconditions.checkNotNull(sampleCategory);
- Preconditions.checkNotNull(sampleCategory.getCategoryId());
- Preconditions.checkNotNull(sampleCategory.getCategoryValue());
+ protected SpeciesBatch convertRowToEntity(SpeciesBatchRowModel row,
+ boolean convertParent) {
+ Preconditions.checkNotNull(row.getFinestCategory());
+ Preconditions.checkNotNull(row.getFinestCategory().getCategoryId());
+ Preconditions.checkNotNull(row.getFinestCategory().getCategoryValue());
- SpeciesBatch catchBean = row.toBean();
+// SampleCategory<?> sampleCategory = row.getFinestCategory();
+// Preconditions.checkNotNull(sampleCategory);
+// Preconditions.checkNotNull(sampleCategory.getCategoryId());
+// Preconditions.checkNotNull(sampleCategory.getCategoryValue());
- // apply sample category
- catchBean.setSampleCategoryId(sampleCategory.getCategoryId());
- catchBean.setSampleCategoryValue(sampleCategory.getCategoryValue());
- catchBean.setSampleCategoryWeight(sampleCategory.getCategoryWeight());
+ SpeciesBatch catchBean = row.toEntity();
+// // apply sample category
+// catchBean.setSampleCategoryId(sampleCategory.getCategoryId());
+// catchBean.setSampleCategoryValue(sampleCategory.getCategoryValue());
+//
+// // convert sample category weight
+// Float categoryWeight = sampleCategory.getCategoryWeight();
+// catchBean.setSampleCategoryWeight(weightUnit.toEntity(categoryWeight));
+
if (convertParent && row.getParentBatch() != null) {
- SpeciesBatch parent = convertRowToBean(row.getParentBatch(), true);
+ SpeciesBatch parent = convertRowToEntity(row.getParentBatch(), true);
catchBean.setParentBatch(parent);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -72,6 +72,7 @@
toolTipText: "tutti.createSpeciesBatch.field.batchWeight.tip";
labelFor: {batchWeightField};
_help: {"tutti.createSpeciesBatch.field.batchWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#batchWeightField {
@@ -99,7 +100,7 @@
#categoryLabel {
text: "tutti.createSpeciesBatch.field.category";
- toolTipText: "tutti.createSpeciesBatch.field.categoryField.tip";
+ toolTipText: "tutti.createSpeciesBatch.field.category.tip";
labelFor: {categoryComboBox};
_help: {"tutti.createSpeciesBatch.field.categoryField.help"};
}
@@ -115,9 +116,10 @@
#sampleWeightLabel {
text: "tutti.createSpeciesBatch.field.sampleWeight";
- toolTipText: "tutti.createSpeciesBatch.field.sampleWeightField.tip";
+ toolTipText: "tutti.createSpeciesBatch.field.sampleWeight.tip";
labelFor: {sampleWeightField};
_help: {"tutti.createSpeciesBatch.field.sampleWeightField.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#sampleWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -498,7 +498,8 @@
editableCategoryValue = true;
addFloatColumnToModel(columnModel,
SplitSpeciesBatchTableModel.EDITABLE_CATEGORY_VALUE,
- TuttiUI.DECIMAL1_PATTERN);
+ TuttiUI.DECIMAL1_PATTERN,
+ getConfig().getSpeciesWeightUnit());
}
if (data != null) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -31,6 +31,7 @@
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import org.nuiton.util.beans.Binder;
import org.nuiton.util.beans.BinderFactory;
@@ -82,6 +83,13 @@
*/
protected Caracteristic lengthStepCaracteristic;
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
protected static final Binder<SpeciesBatchFrequency, SpeciesFrequencyRowModel> fromBeanBinder =
BinderFactory.newBinder(SpeciesBatchFrequency.class,
SpeciesFrequencyRowModel.class);
@@ -92,33 +100,71 @@
private static final Ordering<Float> ordering = Ordering.natural().nullsFirst();
- public static List<SpeciesFrequencyRowModel> fromBeans(List<SpeciesBatchFrequency> frequency) {
+ //------------------------------------------------------------------------//
+ //-- Factory methods --//
+ //------------------------------------------------------------------------//
+
+ public static List<SpeciesFrequencyRowModel> fromEntity(WeightUnit weightUnit,
+ List<SpeciesBatchFrequency> entities) {
List<SpeciesFrequencyRowModel> result = Lists.newArrayList();
- for (SpeciesBatchFrequency b : frequency) {
- SpeciesFrequencyRowModel model = new SpeciesFrequencyRowModel();
- fromBeanBinder.copy(b, model);
- result.add(model);
+ for (SpeciesBatchFrequency entity : entities) {
+
+ SpeciesFrequencyRowModel row =
+ new SpeciesFrequencyRowModel(weightUnit);
+ row.fromEntity(entity);
+ result.add(row);
}
return result;
}
- public static List<SpeciesBatchFrequency> toBeans(List<SpeciesFrequencyRowModel> frequency, SpeciesBatch batch) {
+ public static List<SpeciesBatchFrequency> toEntity(List<SpeciesFrequencyRowModel> rows,
+ SpeciesBatch batch) {
List<SpeciesBatchFrequency> result = Lists.newArrayList();
- for (SpeciesFrequencyRowModel b : frequency) {
- SpeciesBatchFrequency model =
- TuttiBeanFactory.newSpeciesBatchFrequency();
- toBeanBinder.copy(b, model);
- model.setBatch(batch);
- result.add(model);
+ for (SpeciesFrequencyRowModel row : rows) {
+
+ SpeciesBatchFrequency entity = row.toEntity();
+ entity.setBatch(batch);
+ result.add(entity);
}
return result;
}
- public SpeciesFrequencyRowModel() {
+ public SpeciesFrequencyRowModel(WeightUnit weightUnit) {
super(SpeciesBatchFrequency.class, fromBeanBinder, toBeanBinder);
+ this.weightUnit = weightUnit;
}
+ //------------------------------------------------------------------------//
+ //-- AbstractTuttiBeanUIModel --//
+ //------------------------------------------------------------------------//
+
@Override
+ protected SpeciesBatchFrequency newEntity() {
+ return TuttiBeanFactory.newSpeciesBatchFrequency();
+ }
+
+ @Override
+ public void fromEntity(SpeciesBatchFrequency entity) {
+ super.fromEntity(entity);
+
+ // convert weight
+ setWeight(weightUnit.fromEntity(getWeight()));
+ }
+
+ @Override
+ public SpeciesBatchFrequency toEntity() {
+ SpeciesBatchFrequency result = super.toEntity();
+
+ // convert weight
+ result.setWeight(weightUnit.toEntity(getWeight()));
+ return result;
+ }
+
+ //------------------------------------------------------------------------//
+ //-- SpeciesBatchFrequency --//
+ //------------------------------------------------------------------------//
+
+ @Override
public Float getLengthStep() {
return lengthStep;
}
@@ -182,11 +228,6 @@
}
@Override
- protected SpeciesBatchFrequency newEntity() {
- return TuttiBeanFactory.newSpeciesBatchFrequency();
- }
-
- @Override
public Integer getRankOrder() {
return null;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -25,6 +25,7 @@
*/
import com.google.common.collect.Maps;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableModel;
import fr.ifremer.tutti.ui.swing.util.table.ColumnIdentifier;
import org.jdesktop.swingx.table.TableColumnModelExt;
@@ -65,9 +66,18 @@
private final Map<Float, SpeciesFrequencyRowModel> rowCache;
- public SpeciesFrequencyTableModel(TableColumnModelExt columnModel,
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public SpeciesFrequencyTableModel(WeightUnit weightUnit,
+ TableColumnModelExt columnModel,
SpeciesFrequencyUIModel uiModel) {
super(columnModel, true, true);
+ this.weightUnit = weightUnit;
this.uiModel = uiModel;
this.rowCache = Maps.newTreeMap();
setNoneEditableCols();
@@ -87,7 +97,8 @@
lengthStep + uiModel.getStep());
}
}
- SpeciesFrequencyRowModel result = new SpeciesFrequencyRowModel();
+ SpeciesFrequencyRowModel result =
+ new SpeciesFrequencyRowModel(weightUnit);
result.addPropertyChangeListener(SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP,
new PropertyChangeListener() {
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -76,6 +76,7 @@
labelFor: {totalWeightField};
enabled: {model.getTotalWeight() != null};
_help: {"tutti.editSpeciesFrequencies.field.totalWeight.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#totalWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -43,6 +43,7 @@
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractSelectTableAction;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
@@ -89,12 +90,20 @@
protected Set<SpeciesFrequencyRowModel> withWeightRows = Sets.newHashSet();
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
public SpeciesFrequencyUIHandler(TuttiUIContext context,
SpeciesFrequencyUI ui) {
super(context, ui,
SpeciesFrequencyRowModel.PROPERTY_LENGTH_STEP,
SpeciesFrequencyRowModel.PROPERTY_NUMBER,
SpeciesFrequencyRowModel.PROPERTY_WEIGHT);
+ this.weightUnit = context.getConfig().getSpeciesWeightUnit();
}
//------------------------------------------------------------------------//
@@ -202,7 +211,8 @@
SampleCategoryModel sampleCategoryModel =
getDataContext().getSampleCategoryModel();
- SpeciesFrequencyUIModel model = new SpeciesFrequencyUIModel(sampleCategoryModel);
+ SpeciesFrequencyUIModel model = new SpeciesFrequencyUIModel(
+ weightUnit, sampleCategoryModel);
ui.setContextValue(model);
}
@@ -312,12 +322,16 @@
addFloatColumnToModel(columnModel,
SpeciesFrequencyTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ weightUnit);
}
// create table model
SpeciesFrequencyTableModel tableModel =
- new SpeciesFrequencyTableModel(columnModel, model);
+ new SpeciesFrequencyTableModel(
+ weightUnit,
+ columnModel,
+ model);
JXTable table = getTable();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModel;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import java.util.List;
@@ -152,14 +153,34 @@
protected Set<SpeciesFrequencyRowModel> emptyRows;
- protected SampleCategoryModel sampleCategoryModel;
+ /**
+ * Sample categories model.
+ *
+ * @since 2.4
+ */
+ protected final SampleCategoryModel sampleCategoryModel;
- public SpeciesFrequencyUIModel(SampleCategoryModel sampleCategoryModel) {
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public SpeciesFrequencyUIModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel) {
super(SpeciesBatchRowModel.class, null, null);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
setEmptyRows(Sets.<SpeciesFrequencyRowModel>newHashSet());
}
+ @Override
+ protected SpeciesBatchRowModel newEntity() {
+ return new SpeciesBatchRowModel(weightUnit, sampleCategoryModel);
+ }
+
+ @Override
public void setRows(List<SpeciesFrequencyRowModel> rows) {
super.setRows(rows);
setEmptyRows(Sets.<SpeciesFrequencyRowModel>newHashSet());
@@ -317,9 +338,4 @@
emptyRows.remove(row);
firePropertyChange(PROPERTY_EMPTY_ROWS, null, emptyRows);
}
-
- @Override
- protected SpeciesBatchRowModel newEntity() {
- return new SpeciesBatchRowModel(sampleCategoryModel);
- }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2013-09-23 09:39:50 UTC (rev 1203)
@@ -46,6 +46,7 @@
toolTipText: "tutti.splitSpeciesBatch.field.batchWeightField.tip";
labelFor: {batchWeightField};
_help: {"tutti.splitSpeciesBatch.field.batchWeightField.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#batchWeightField {
@@ -59,6 +60,7 @@
toolTipText: "tutti.splitSpeciesBatch.field.sampleWeightField.tip";
labelFor: {sampleWeightField};
_help: {"tutti.splitSpeciesBatch.field.sampleWeightField.help"};
+ _addWeightUnit: {handler.getConfig().getSpeciesWeightUnit()};
}
#sampleWeightField {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -155,7 +155,8 @@
SampleCategoryModel sampleCategoryModel =
getDataContext().getSampleCategoryModel();
- SplitSpeciesBatchUIModel model = new SplitSpeciesBatchUIModel(sampleCategoryModel);
+ SplitSpeciesBatchUIModel model = new SplitSpeciesBatchUIModel(
+ getConfig().getSpeciesWeightUnit(), sampleCategoryModel);
ui.setContextValue(model);
}
@@ -392,7 +393,8 @@
addFloatColumnToModel(columnModel,
SplitSpeciesBatchTableModel.WEIGHT,
- TuttiUI.DECIMAL3_PATTERN);
+ TuttiUI.DECIMAL3_PATTERN,
+ getConfig().getSpeciesWeightUnit());
}
}
@@ -424,7 +426,7 @@
if (data != null) {
- // add a row for each qualitive value
+ // add a row for each qualitative value
for (CaracteristicQualitativeValue qualitativeValue : data.getQualitativeValue()) {
if (log.isDebugEnabled()) {
log.debug("Add QV: " + qualitativeValue);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryModelEntry;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SelectedCategoryAble;
import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel;
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import java.util.List;
@@ -86,11 +87,25 @@
*/
protected SampleCategoryModel sampleCategoryModel;
- public SplitSpeciesBatchUIModel(SampleCategoryModel sampleCategoryModel) {
+ /**
+ * Weight unit.
+ *
+ * @since 2.5
+ */
+ protected final WeightUnit weightUnit;
+
+ public SplitSpeciesBatchUIModel(WeightUnit weightUnit,
+ SampleCategoryModel sampleCategoryModel) {
super(SpeciesBatchRowModel.class, null, null);
+ this.weightUnit = weightUnit;
this.sampleCategoryModel = sampleCategoryModel;
}
+ @Override
+ protected SpeciesBatchRowModel newEntity() {
+ return new SpeciesBatchRowModel(weightUnit, sampleCategoryModel);
+ }
+
public SpeciesBatchRowModel getBatch() {
return batch;
}
@@ -136,11 +151,6 @@
firePropertyChange(PROPERTY_SAMPLE_WEIGHT, oldValue, sampleWeight);
}
- @Override
- protected SpeciesBatchRowModel newEntity() {
- return new SpeciesBatchRowModel(sampleCategoryModel);
- }
-
public SampleCategoryModel getSampleCategoryModel() {
return sampleCategoryModel;
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiBeanUIModel.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -55,8 +55,6 @@
protected boolean valid;
-// private final Class<E> entityType;
-
private final Binder<E, B> fromBeanBinder;
private final Binder<B, E> toBeanBinder;
@@ -64,11 +62,18 @@
protected AbstractTuttiBeanUIModel(Class<E> entityType,
Binder<E, B> fromBeanBinder,
Binder<B, E> toBeanBinder) {
-// this.entityType = entityType;
this.fromBeanBinder = fromBeanBinder;
this.toBeanBinder = toBeanBinder;
}
+ public void fromEntity(E entity) {
+ fromBean(entity);
+ }
+
+ public E toEntity() {
+ return toBean();
+ }
+
public final void fromBean(E bean) {
fromBeanBinder.copy(bean, (B) this);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/AbstractTuttiUIHandler.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -437,6 +437,15 @@
style |= Font.ITALIC;
}
jLabel.setFont(font.deriveFont(style));
+
+ WeightUnit weightUnit = (WeightUnit) jLabel.getClientProperty("addWeightUnit");
+ if (weightUnit != null) {
+ String text = weightUnit.decorateLabel(jLabel.getText());
+ jLabel.setText(text);
+
+ String tip = weightUnit.decorateTip(jLabel.getToolTipText());
+ jLabel.setToolTipText(tip);
+ }
}
protected void initButtonAttachment(ButtonAttachment component) {
@@ -821,17 +830,34 @@
validator.setBean(bean);
}
-
protected <R extends AbstractTuttiBeanUIModel> void addColumnToModel(TableColumnModel model,
TableCellEditor editor,
TableCellRenderer renderer,
ColumnIdentifier<R> identifier) {
+ addColumnToModel(model, editor, renderer, identifier, null);
+ }
+
+
+ protected <R extends AbstractTuttiBeanUIModel> void addColumnToModel(TableColumnModel model,
+ TableCellEditor editor,
+ TableCellRenderer renderer,
+ ColumnIdentifier<R> identifier,
+ WeightUnit weightUnit) {
+
TableColumnExt col = new TableColumnExt(model.getColumnCount());
col.setCellEditor(editor);
col.setCellRenderer(renderer);
- col.setHeaderValue(_(identifier.getHeaderI18nKey()));
- col.setToolTipText(_(identifier.getHeaderTipI18nKey()));
+ String label = _(identifier.getHeaderI18nKey());
+ if (weightUnit != null) {
+ label = weightUnit.decorateLabel(label);
+ }
+ col.setHeaderValue(label);
+ String tip = _(identifier.getHeaderTipI18nKey());
+ if (weightUnit != null) {
+ tip = weightUnit.decorateTip(tip);
+ }
+ col.setToolTipText(tip);
col.setIdentifier(identifier);
model.addColumn(col);
@@ -840,7 +866,7 @@
protected <R extends AbstractTuttiBeanUIModel> void addColumnToModel(TableColumnModel model,
ColumnIdentifier<R> identifier) {
- addColumnToModel(model, null, null, identifier);
+ addColumnToModel(model, null, null, identifier, null);
}
protected <R extends AbstractTuttiBeanUIModel> void addFloatColumnToModel(TableColumnModel model,
@@ -853,8 +879,21 @@
editor.getNumberEditor().getTextField().setBorder(new LineBorder(Color.GRAY, 2));
editor.getNumberEditor().setNumberPattern(numberPattern);
- addColumnToModel(model, editor, null, identifier);
+ addColumnToModel(model, editor, null, identifier, null);
+ }
+ protected <R extends AbstractTuttiBeanUIModel> void addFloatColumnToModel(TableColumnModel model,
+ ColumnIdentifier<R> identifier,
+ String numberPattern,
+ WeightUnit weightUnit) {
+
+ NumberCellEditor<Float> editor =
+ JAXXWidgetUtil.newNumberTableCellEditor(Float.class, false);
+ editor.getNumberEditor().setSelectAllTextOnError(true);
+ editor.getNumberEditor().getTextField().setBorder(new LineBorder(Color.GRAY, 2));
+ editor.getNumberEditor().setNumberPattern(numberPattern);
+
+ addColumnToModel(model, editor, null, identifier, weightUnit);
}
protected <R extends AbstractTuttiBeanUIModel> void addIntegerColumnToModel(TableColumnModel model,
@@ -867,7 +906,7 @@
editor.getNumberEditor().getTextField().setBorder(new LineBorder(Color.GRAY, 2));
editor.getNumberEditor().setNumberPattern(numberPattern);
- addColumnToModel(model, editor, null, identifier);
+ addColumnToModel(model, editor, null, identifier, null);
}
protected <R extends AbstractTuttiBeanUIModel> void addBooleanColumnToModel(TableColumnModel model,
@@ -877,7 +916,8 @@
addColumnToModel(model,
table.getDefaultEditor(Boolean.class),
table.getDefaultRenderer(Boolean.class),
- identifier);
+ identifier,
+ null);
}
protected <R extends AbstractTuttiBeanUIModel, B> void addComboDataColumnToModel(TableColumnModel model,
@@ -902,7 +942,8 @@
addColumnToModel(model,
editor,
newTableCellRender(decorator),
- identifier);
+ identifier,
+ null);
}
protected <O> TableCellRenderer newTableCellRender(Class<O> type) {
Added: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -0,0 +1,103 @@
+package fr.ifremer.tutti.ui.swing.util;
+
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * 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 static org.nuiton.i18n.I18n._;
+import static org.nuiton.i18n.I18n.n_;
+
+/**
+ * Different types of weight unit.
+ * <p/>
+ * Created on 09/22/13.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 2.5
+ */
+public enum WeightUnit {
+ G(n_("tutti.common.unit.g"), n_("tutti.common.unit.short.g")) {
+ @Override
+ public Float fromEntity(Float weight) {
+ return weight == null ? null : weight * 1000;
+ }
+
+ @Override
+ public Float toEntity(Float weight) {
+ return weight == null ? null : weight / 1000.0f;
+ }
+ },
+ KG(n_("tutti.common.unit.kg"), n_("tutti.common.unit.short.kg")) {
+ @Override
+ public Float fromEntity(Float weight) {
+ return weight;
+ }
+
+ @Override
+ public Float toEntity(Float weight) {
+ return weight;
+ }
+ };
+
+ private final String i18nShortKey;
+
+ private final String i18nKey;
+
+ WeightUnit(String i18nKey, String i18nShortKey) {
+ this.i18nKey = i18nKey;
+ this.i18nShortKey = i18nShortKey;
+ }
+
+ public String getLabel() {
+ return _(i18nKey);
+ }
+
+ public String getShortLabel() {
+ return _(i18nShortKey);
+ }
+
+ /**
+ * Transform the given {@code weight} coming from db to ui.
+ *
+ * @param weight weigth to transform
+ * @return the ui representation of the given {@code weight}.
+ */
+ public abstract Float fromEntity(Float weight);
+
+ /**
+ * Transform the given {@code weight} coming from ui to db.
+ *
+ * @param weight weigth to transform
+ * @return the db representation of the given {@code weight}.
+ */
+ public abstract Float toEntity(Float weight);
+
+ public String decorateLabel(String label) {
+ return String.format("%s (%s)", label, getShortLabel());
+ }
+
+ public String decorateTip(String tip) {
+ String unit = _("tutti.common.unit");
+ return String.format("%s (%s %s)", tip, unit, getLabel());
+ }
+}
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WeightUnit.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.util.table;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * 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 com.google.common.base.Preconditions;
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Id Revision
+ Author Date Id Revision HeadURL
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-23 09:39:50 UTC (rev 1203)
@@ -92,6 +92,11 @@
tutti.common.file.tuttiSpecies=
tutti.common.file.zip=
tutti.common.protocol.categories.not.compatible=
+tutti.common.unit=Unit
+tutti.common.unit.g=Gramme
+tutti.common.unit.kg=kilogram
+tutti.common.unit.short.g=g
+tutti.common.unit.short.kg=Kg
tutti.common.validate=
tutti.common.validate.mnemonic=
tutti.config.action.reload.actions=
@@ -107,6 +112,8 @@
tutti.config.category.technical.description=
tutti.config.category.ui=
tutti.config.category.ui.description=
+tutti.config.category.weightUnit=
+tutti.config.category.weightUnit.description=
tutti.config.option.cruiseId.description=
tutti.config.option.help.directory.description=
tutti.config.option.i18n.directory.description=
@@ -116,6 +123,7 @@
tutti.config.option.protocolId.description=
tutti.config.option.startActionFile.description=
tutti.config.option.tremieCarousselVessel.description=
+tutti.config.option.ui.adminPassword.description=
tutti.config.option.ui.autoPopupNumberEditor.description=
tutti.config.option.ui.color.blockingLayer.description=
tutti.config.option.ui.color.cellWithValue.description=
@@ -128,6 +136,11 @@
tutti.config.option.ui.dateFormat.description=
tutti.config.option.ui.shortcut.closePopup.description=
tutti.config.option.ui.showNumberEditorButton.description=
+tutti.config.option.ui.weight.unit.accidentalCatch.description=
+tutti.config.option.ui.weight.unit.benthos.description=
+tutti.config.option.ui.weight.unit.individualObservation.description=
+tutti.config.option.ui.weight.unit.marineLitter.description=
+tutti.config.option.ui.weight.unit.species.description=
tutti.config.option.update.application.url.description=
tutti.config.option.update.db.url.description=
tutti.config.option.update.url.description=
@@ -188,10 +201,11 @@
tutti.createBenthosBatch.field.batchWeight=
tutti.createBenthosBatch.field.batchWeight.tip=
tutti.createBenthosBatch.field.category=
-tutti.createBenthosBatch.field.categoryField.tip=
+tutti.createBenthosBatch.field.category.tip=
tutti.createBenthosBatch.field.sampleCategory=
tutti.createBenthosBatch.field.sampleCategory.tip=
tutti.createBenthosBatch.field.sampleWeight=
+tutti.createBenthosBatch.field.sampleWeight.tip=
tutti.createBenthosBatch.field.sampleWeightField.tip=
tutti.createBenthosBatch.field.species=
tutti.createBenthosBatch.field.species.tip=
@@ -243,6 +257,8 @@
tutti.createMarineLitterBatch.field.marineLitterSizeCategory.tip=
tutti.createMarineLitterBatch.field.number=
tutti.createMarineLitterBatch.field.number.tip=
+tutti.createMarineLitterBatch.field.weight=
+tutti.createMarineLitterBatch.field.weight.tip=
tutti.createMarineLitterBatch.title=
tutti.createSpeciesBatch.action.addSpecies=
tutti.createSpeciesBatch.action.addSpecies.mnemonic=
@@ -264,11 +280,11 @@
tutti.createSpeciesBatch.field.batchWeight=
tutti.createSpeciesBatch.field.batchWeight.tip=
tutti.createSpeciesBatch.field.category=
-tutti.createSpeciesBatch.field.categoryField.tip=
+tutti.createSpeciesBatch.field.category.tip=
tutti.createSpeciesBatch.field.sampleCategory=
tutti.createSpeciesBatch.field.sampleCategory.tip=
tutti.createSpeciesBatch.field.sampleWeight=
-tutti.createSpeciesBatch.field.sampleWeightField.tip=
+tutti.createSpeciesBatch.field.sampleWeight.tip=
tutti.createSpeciesBatch.field.species=
tutti.createSpeciesBatch.field.species.tip=
tutti.createSpeciesBatch.title=
@@ -730,6 +746,10 @@
tutti.editIndividualObservationBatch.table.header.species.tip=
tutti.editIndividualObservationBatch.table.header.weight=
tutti.editIndividualObservationBatch.table.header.weight.tip=
+tutti.editIndividualObservationBatch.table.header.weightG=
+tutti.editIndividualObservationBatch.table.header.weightG.tip=
+tutti.editIndividualObservationBatch.table.header.weightKG=
+tutti.editIndividualObservationBatch.table.header.weightKG.tip=
tutti.editIndividualObservationCaracteristics.action.cancel=
tutti.editIndividualObservationCaracteristics.action.cancel.mnemonic=
tutti.editIndividualObservationCaracteristics.action.cancel.tip=
@@ -773,6 +793,10 @@
tutti.editMarineLitterBatch.table.header.number.tip=
tutti.editMarineLitterBatch.table.header.weight=
tutti.editMarineLitterBatch.table.header.weight.tip=
+tutti.editMarineLitterBatch.table.header.weightG=
+tutti.editMarineLitterBatch.table.header.weightG.tip=
+tutti.editMarineLitterBatch.table.header.weightKG=
+tutti.editMarineLitterBatch.table.header.weightKG.tip=
tutti.editProgram.action.closeEditProgram=
tutti.editProgram.action.closeEditProgram.mnemonic=
tutti.editProgram.action.closeEditProgram.tip=
@@ -1378,11 +1402,11 @@
tutti.splitBenthosBatch.action.save.mnemonic=
tutti.splitBenthosBatch.action.save.tip=
tutti.splitBenthosBatch.field.batchWeight=
-tutti.splitBenthosBatch.field.batchWeightField.tip=
+tutti.splitBenthosBatch.field.batchWeight.tip=
tutti.splitBenthosBatch.field.category=
-tutti.splitBenthosBatch.field.categoryField.tip=
+tutti.splitBenthosBatch.field.category.tip=
tutti.splitBenthosBatch.field.sampleWeight=
-tutti.splitBenthosBatch.field.sampleWeightField.tip=
+tutti.splitBenthosBatch.field.sampleWeight.tip=
tutti.splitBenthosBatch.field.species=
tutti.splitBenthosBatch.field.speciesField.tip=
tutti.splitBenthosBatch.table.header.category=
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-23 09:39:50 UTC (rev 1203)
@@ -77,7 +77,6 @@
tutti.common.askSaveBeforeLeaving.title=Modifications non enregistrées
tutti.common.cancel=Annuler
tutti.common.cancel.mnemonic=A
-tutti.common.caracteristic.notFound=Caractéristique inconnue
tutti.common.datefield.tip=Format attendu \: %s
tutti.common.file.csv=Extension d'un fichier csv
tutti.common.file.pdf=Extension d'un fichier pdf
@@ -88,6 +87,11 @@
tutti.common.file.tuttiMarineLitter=Fichier d'import/export des lots de déchets
tutti.common.file.tuttiSpecies=Fichier d'import/export des lots d'espèces
tutti.common.file.zip=Extension d'une archive zip
+tutti.common.unit=Unité
+tutti.common.unit.g=Gramme
+tutti.common.unit.kg=Kilogramme
+tutti.common.unit.short.g=g
+tutti.common.unit.short.kg=kg
tutti.common.validate=Valider
tutti.common.validate.mnemonic=V
tutti.config.action.reload.actions=Recharger les actions
@@ -103,6 +107,8 @@
tutti.config.category.technical.description=Informations techniques
tutti.config.category.ui=Interface utilisateur
tutti.config.category.ui.description=Options de l'interface utilisateur
+tutti.config.category.weightUnit=Unité des poids
+tutti.config.category.weightUnit.description=Configurer les Unités des poids capturés selon de type de capture (espèce, benthos, ...)
tutti.config.option.cruiseId.description=Identifiant de la dernière campagne utilisée
tutti.config.option.help.directory.description=Répertoire des fichiers d'aide
tutti.config.option.i18n.directory.description=Répertoire des fichiers de traductions
@@ -112,6 +118,7 @@
tutti.config.option.protocolId.description=Identifiant du dernier protocole utilisé
tutti.config.option.startActionFile.description=Fichier
tutti.config.option.tremieCarousselVessel.description=Navire ayant un carrousel et une trémie (ex. Thalassa)
+tutti.config.option.ui.adminPassword.description=MD5 du mot de passe des zones sensibles
tutti.config.option.ui.autoPopupNumberEditor.description=Toujours afficher le pavé numérique lors de l'édition d'un nombre
tutti.config.option.ui.color.blockingLayer.description=Couleur utilisée pour bloquer l'interface lors d'une action longue
tutti.config.option.ui.color.cellWithValue.description=Couleur d'une cellule avec des données
@@ -124,6 +131,11 @@
tutti.config.option.ui.dateFormat.description=Format de dates
tutti.config.option.ui.shortcut.closePopup.description=Fermer une popup
tutti.config.option.ui.showNumberEditorButton.description=Afficher le pavé numérique de saisie
+tutti.config.option.ui.weight.unit.accidentalCatch.description=Unité de poids à utiliser dans la saisies des captures accidentelles
+tutti.config.option.ui.weight.unit.benthos.description=Unité de poids à utiliser dans la saisies du benthos
+tutti.config.option.ui.weight.unit.individualObservation.description=Unité de poids à utiliser dans la saisies des données individuelles
+tutti.config.option.ui.weight.unit.marineLitter.description=Unité de poids à utiliser dans la saisies des macro-déchêts
+tutti.config.option.ui.weight.unit.species.description=Unité de poids à utiliser dans la saisies des espèces
tutti.config.option.update.application.url.description=URL de mise à jour des applicatifs
tutti.config.option.update.db.url.description=URL de mise à jour de la base de données
tutti.config.option.weights.rate.difference.totalAndSorted.description=Pourcentage de différence entre les Poids totaux VRAC triés et les poids totaux VRAC en dessous duquel on demande confirmation sur la saisie
@@ -152,8 +164,8 @@
tutti.createAccidentalBatch.field.accidentalSize.tip=Taille
tutti.createAccidentalBatch.field.accidentalSpecies=Espèce
tutti.createAccidentalBatch.field.accidentalSpecies.tip=Espèce
-tutti.createAccidentalBatch.field.accidentalWeight=Poids (kg)
-tutti.createAccidentalBatch.field.accidentalWeight.tip=Poids (kg)
+tutti.createAccidentalBatch.field.accidentalWeight=Poids
+tutti.createAccidentalBatch.field.accidentalWeight.tip=Poids
tutti.createAccidentalBatch.title=Créer une capture accidentelle
tutti.createBenthosBatch.action.addSpecies=...
tutti.createBenthosBatch.action.addSpecies.mnemonic=.
@@ -169,14 +181,14 @@
tutti.createBenthosBatch.action.saveAndContinue.tip=Enregistrer la création du lot espèce et en saisir un autre
tutti.createBenthosBatch.field.batchCount=Nombre
tutti.createBenthosBatch.field.batchCount.tip=Saisir le nombre d'individus dans le lot
-tutti.createBenthosBatch.field.batchWeight=Poids du lot (kg)
-tutti.createBenthosBatch.field.batchWeight.tip=Poids du lot (kg)
+tutti.createBenthosBatch.field.batchWeight=Poids du lot
+tutti.createBenthosBatch.field.batchWeight.tip=Poids du lot
tutti.createBenthosBatch.field.category=Catégorie
-tutti.createBenthosBatch.field.categoryField.tip=Choisir le mode de catégorisation
+tutti.createBenthosBatch.field.category.tip=Choisir le mode de catégorisation
tutti.createBenthosBatch.field.sampleCategory=V / HV
tutti.createBenthosBatch.field.sampleCategory.tip=Catégorie Vrac / Hors Vrac
-tutti.createBenthosBatch.field.sampleWeight=Poids total catégorisé (kg)
-tutti.createBenthosBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous (kg)
+tutti.createBenthosBatch.field.sampleWeight=Poids total catégorisé
+tutti.createBenthosBatch.field.sampleWeight.tip=Somme des poids saisis ci-dessous
tutti.createBenthosBatch.field.species=Espèce du lot
tutti.createBenthosBatch.field.species.tip=Espèce du lot
tutti.createBenthosBatch.title=Créer un lot
@@ -203,7 +215,7 @@
tutti.createIndividualObservationBatch.field.individualObservationSize.tip=Taille
tutti.createIndividualObservationBatch.field.individualObservationSpecies=Espèce
tutti.createIndividualObservationBatch.field.individualObservationSpecies.tip=Espèce
-tutti.createIndividualObservationBatch.field.individualObservationWeight=Poids (g)
+tutti.createIndividualObservationBatch.field.individualObservationWeight=Poids
tutti.createIndividualObservationBatch.field.individualObservationWeight.tip=Poids
tutti.createIndividualObservationBatch.title=Créer une observation
tutti.createMarineLitterBatch.action.cancel=Annuler
@@ -221,6 +233,8 @@
tutti.createMarineLitterBatch.field.marineLitterSizeCategory.tip=Classe de taille des déchets observés
tutti.createMarineLitterBatch.field.number=Nombre
tutti.createMarineLitterBatch.field.number.tip=Nombre d'objets dans la catégorie
+tutti.createMarineLitterBatch.field.weight=Poids
+tutti.createMarineLitterBatch.field.weight.tip=Poids
tutti.createMarineLitterBatch.title=Créer un lot
tutti.createSpeciesBatch.action.addSpecies=...
tutti.createSpeciesBatch.action.addSpecies.mnemonic=.
@@ -236,14 +250,14 @@
tutti.createSpeciesBatch.action.saveAndContinue.tip=Enregistrer la création du lot espèce et en saisir un autre
tutti.createSpeciesBatch.field.batchCount=Nombre
tutti.createSpeciesBatch.field.batchCount.tip=Saisir le nombre d'individus dans le lot
-tutti.createSpeciesBatch.field.batchWeight=Poids du lot (kg)
+tutti.createSpeciesBatch.field.batchWeight=Poids du lot
tutti.createSpeciesBatch.field.batchWeight.tip=Poids du lot (non obligatoire à ce stade)
tutti.createSpeciesBatch.field.category=Catégorie
-tutti.createSpeciesBatch.field.categoryField.tip=Choisir le mode de catégorisation
+tutti.createSpeciesBatch.field.category.tip=Choisir le mode de catégorisation
tutti.createSpeciesBatch.field.sampleCategory=V / HV
tutti.createSpeciesBatch.field.sampleCategory.tip=Catégorie Vrac / Hors Vrac
-tutti.createSpeciesBatch.field.sampleWeight=Poids total catégorisé (kg)
-tutti.createSpeciesBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous (kg)
+tutti.createSpeciesBatch.field.sampleWeight=Poids total catégorisé
+tutti.createSpeciesBatch.field.sampleWeight.tip=Somme des poids saisis ci-dessous
tutti.createSpeciesBatch.field.species=Espèce du lot
tutti.createSpeciesBatch.field.species.tip=Code campagne ou Code Rubin – Nom scientifique du lot à créer
tutti.createSpeciesBatch.title=Créer un lot
@@ -351,7 +365,7 @@
tutti.editAccidentalBatch.table.header.size.tip=Taille (l'unité dépend de la classe de taille)
tutti.editAccidentalBatch.table.header.species=Espèce
tutti.editAccidentalBatch.table.header.species.tip=Espèce
-tutti.editAccidentalBatch.table.header.weight=Poids observé (kg)
+tutti.editAccidentalBatch.table.header.weight=Poids observé
tutti.editAccidentalBatch.table.header.weight.tip=Poids observé
tutti.editBenthosBatch.action.createBatch=Créer un lot pour une espèce
tutti.editBenthosBatch.action.createBatch.mnemonic=C
@@ -390,17 +404,17 @@
tutti.editBenthosBatch.action.splitBatch=Catégoriser le lot
tutti.editBenthosBatch.action.splitBatch.mnemonic=C
tutti.editBenthosBatch.action.splitBatch.tip=Catégoriser le lot courant (celui de la ligne sélectionné)
-tutti.editBenthosBatch.field.benthosTotalInertWeight=Poids inerte trié (kg)
+tutti.editBenthosBatch.field.benthosTotalInertWeight=Poids inerte trié
tutti.editBenthosBatch.field.benthosTotalInertWeight.tip=Poids de la fraction inerte restante après le tri du benthos (cailloux, vase, débris coquilliers, etc.)
-tutti.editBenthosBatch.field.benthosTotalLivingNotItemizedWeight=Poids vivant non détaillé trié (kg)
+tutti.editBenthosBatch.field.benthosTotalLivingNotItemizedWeight=Poids vivant non détaillé trié
tutti.editBenthosBatch.field.benthosTotalLivingNotItemizedWeight.tip=Poids de la fraction vivante restante après le tri du benthos (algues, matières vivantes non reconnaissable, etc.)
-tutti.editBenthosBatch.field.benthosTotalSampleSortedWeight=Poids VRAC trié (kg)
+tutti.editBenthosBatch.field.benthosTotalSampleSortedWeight=Poids VRAC trié
tutti.editBenthosBatch.field.benthosTotalSampleSortedWeight.tip=Poids total du benthos trié
-tutti.editBenthosBatch.field.benthosTotalSortedWeight=Poids total VRAC (kg)
+tutti.editBenthosBatch.field.benthosTotalSortedWeight=Poids total VRAC
tutti.editBenthosBatch.field.benthosTotalSortedWeight.tip=Poids total VRAC des espèces de type benthos dans la capture
-tutti.editBenthosBatch.field.benthosTotalUnsortedWeight=Poids total HORS VRAC (kg)
+tutti.editBenthosBatch.field.benthosTotalUnsortedWeight=Poids total HORS VRAC
tutti.editBenthosBatch.field.benthosTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces de type benthos dans la capture
-tutti.editBenthosBatch.field.benthosTotalWeight=Poids TOTAL (kg)
+tutti.editBenthosBatch.field.benthosTotalWeight=Poids TOTAL
tutti.editBenthosBatch.field.benthosTotalWeight.tip=Poids total des espèces de type benthos dans la capture (Vrac + Hors Vrac)
tutti.editBenthosBatch.filterBatch=Filtre
tutti.editBenthosBatch.filterBatch.mode.all=Aucun
@@ -423,7 +437,7 @@
tutti.editBenthosBatch.table.header.species.tip=Code campagne ou code Rubin – Nom scientifique
tutti.editBenthosBatch.table.header.toConfirm=A Confirmer
tutti.editBenthosBatch.table.header.toConfirm.tip=Case à cocher si il y a un doute sur l'identification de l'espèce
-tutti.editBenthosBatch.table.header.weight=Poids sous-échantillonné (kg)
+tutti.editBenthosBatch.table.header.weight=Poids sous-échantillonné
tutti.editBenthosBatch.table.header.weight.tip=Poids du lot mesuré ou dénombré
tutti.editBenthosFrequencies.action.cancel=Annuler
tutti.editBenthosFrequencies.action.cancel.mnemonic=A
@@ -461,8 +475,8 @@
tutti.editBenthosFrequencies.field.step.tip=Pas de la classe de taille pour cette espèce (ex. \: 1 cm, 0,5 cm, 1 mm etc.)
tutti.editBenthosFrequencies.field.totalNumber=Nombre total
tutti.editBenthosFrequencies.field.totalNumber.tip=Nombre total d'individus des lignes valides
-tutti.editBenthosFrequencies.field.totalWeight=Poids total (kg)
-tutti.editBenthosFrequencies.field.totalWeight.tip=Poids total des lignes valides (kg)
+tutti.editBenthosFrequencies.field.totalWeight=Poids total
+tutti.editBenthosFrequencies.field.totalWeight.tip=Poids total des lignes valides
tutti.editBenthosFrequencies.label.no.configuration=< Pas de configuration >
tutti.editBenthosFrequencies.simpleCountingAndFrequencies=Des mensurations ont été saisies dans le tableau. Saisir un simple dénombrement les effacera.
tutti.editBenthosFrequencies.title=Mensuration
@@ -482,36 +496,36 @@
tutti.editCatchBatch.action.saveCatchBatch.tip=Enregistrer la capture
tutti.editCatchBatch.askCancelEditBeforeLeaving.cancelEditCatchBatch=La capture n'est pas valide et ne peut pas être enregistrée
tutti.editCatchBatch.askSaveBeforeLeaving.saveCatchBatch=Des modifications sur la capture n'ont pas été enregistrées
-tutti.editCatchBatch.field.benthosTotalSampleSortedWeight=Poids VRAC trié (kg)
-tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.tip=Poids du VRAC trié dans le benthos (kg)
-tutti.editCatchBatch.field.benthosTotalSortedWeight=Poids total VRAC (kg)
-tutti.editCatchBatch.field.benthosTotalSortedWeight.tip=Poids total du VRAC benthos (kg)
-tutti.editCatchBatch.field.benthosTotalUnsortedWeight=Poids total HORS VRAC (kg)
-tutti.editCatchBatch.field.benthosTotalUnsortedWeight.tip=Poids total du HORS VRAC benthos (kg)
-tutti.editCatchBatch.field.benthosTotalWeight=Poids TOTAL (kg)
-tutti.editCatchBatch.field.benthosTotalWeight.tip=Poids total du benthos dans la capture (\= poids total Vrac + poids total Hors Vrac) (kg)
-tutti.editCatchBatch.field.catchTotalRejectedWeight=Poids total NON TRIÉ (kg)
-tutti.editCatchBatch.field.catchTotalRejectedWeight.tip=Poids de la fraction non triée à bord (kg)
-tutti.editCatchBatch.field.catchTotalSortedCarousselWeight=Carrousel observé (kg)
-tutti.editCatchBatch.field.catchTotalSortedCarousselWeight.tip=Sur Thalassa, poids total de la capture pesé sur la balance carrousel (kg)
-tutti.editCatchBatch.field.catchTotalSortedTremisWeight=Trémie (kg)
-tutti.editCatchBatch.field.catchTotalSortedTremisWeight.tip=Sur Thalassa, poids total de la capture pesé sur la balance trémie et envoyée sur la chaîne de tri (kg)
-tutti.editCatchBatch.field.catchTotalSortedWeight=Poids total VRAC (kg)
-tutti.editCatchBatch.field.catchTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (sans les captures accidentelles) (kg)
-tutti.editCatchBatch.field.catchTotalUnsortedWeight=Poids total HORS VRAC (kg)
-tutti.editCatchBatch.field.catchTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (sans les captures accidentelles) (kg)
-tutti.editCatchBatch.field.catchTotalWeight=Poids TOTAL (kg)
-tutti.editCatchBatch.field.catchTotalWeight.tip=Poids total de la capture (sauf macro déchets et captures accidentelles) (kg)
-tutti.editCatchBatch.field.marineLitterTotalWeight=Poids TOTAL (kg)
-tutti.editCatchBatch.field.marineLitterTotalWeight.tip=Poids total des macro déchets dans la capture (kg)
-tutti.editCatchBatch.field.speciesTotalSampleSortedWeight=Poids VRAC trié (kg)
-tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.) (kg)
-tutti.editCatchBatch.field.speciesTotalSortedWeight=Poids total VRAC (kg)
-tutti.editCatchBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.) (kg)
-tutti.editCatchBatch.field.speciesTotalUnsortedWeight=Poids total HORS VRAC (kg)
-tutti.editCatchBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (poissons, crustacés etc.) (kg)
-tutti.editCatchBatch.field.speciesTotalWeight=Poids TOTAL (kg)
-tutti.editCatchBatch.field.speciesTotalWeight.tip=Poids total des espèces dans la capture (poissons, crustacés etc.) (kg)
+tutti.editCatchBatch.field.benthosTotalSampleSortedWeight=Poids VRAC trié
+tutti.editCatchBatch.field.benthosTotalSampleSortedWeight.tip=Poids du VRAC trié dans le benthos
+tutti.editCatchBatch.field.benthosTotalSortedWeight=Poids total VRAC
+tutti.editCatchBatch.field.benthosTotalSortedWeight.tip=Poids total du VRAC benthos
+tutti.editCatchBatch.field.benthosTotalUnsortedWeight=Poids total HORS VRAC
+tutti.editCatchBatch.field.benthosTotalUnsortedWeight.tip=Poids total du HORS VRAC benthos
+tutti.editCatchBatch.field.benthosTotalWeight=Poids TOTAL
+tutti.editCatchBatch.field.benthosTotalWeight.tip=Poids total du benthos dans la capture (\= poids total Vrac + poids total Hors Vrac)
+tutti.editCatchBatch.field.catchTotalRejectedWeight=Poids total NON TRIÉ
+tutti.editCatchBatch.field.catchTotalRejectedWeight.tip=Poids de la fraction non triée à bord
+tutti.editCatchBatch.field.catchTotalSortedCarousselWeight=Carrousel observé
+tutti.editCatchBatch.field.catchTotalSortedCarousselWeight.tip=Sur Thalassa, poids total de la capture pesé sur la balance carrousel
+tutti.editCatchBatch.field.catchTotalSortedTremisWeight=Trémie
+tutti.editCatchBatch.field.catchTotalSortedTremisWeight.tip=Sur Thalassa, poids total de la capture pesé sur la balance trémie et envoyée sur la chaîne de tri
+tutti.editCatchBatch.field.catchTotalSortedWeight=Poids total VRAC
+tutti.editCatchBatch.field.catchTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (sans les captures accidentelles)
+tutti.editCatchBatch.field.catchTotalUnsortedWeight=Poids total HORS VRAC
+tutti.editCatchBatch.field.catchTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (sans les captures accidentelles)
+tutti.editCatchBatch.field.catchTotalWeight=Poids TOTAL
+tutti.editCatchBatch.field.catchTotalWeight.tip=Poids total de la capture (sauf macro déchets et captures accidentelles)
+tutti.editCatchBatch.field.marineLitterTotalWeight=Poids TOTAL
+tutti.editCatchBatch.field.marineLitterTotalWeight.tip=Poids total des macro déchets dans la capture
+tutti.editCatchBatch.field.speciesTotalSampleSortedWeight=Poids VRAC trié
+tutti.editCatchBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.)
+tutti.editCatchBatch.field.speciesTotalSortedWeight=Poids total VRAC
+tutti.editCatchBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.)
+tutti.editCatchBatch.field.speciesTotalUnsortedWeight=Poids total HORS VRAC
+tutti.editCatchBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (poissons, crustacés etc.)
+tutti.editCatchBatch.field.speciesTotalWeight=Poids TOTAL
+tutti.editCatchBatch.field.speciesTotalWeight.tip=Poids total des espèces dans la capture (poissons, crustacés etc.)
tutti.editCatchBatch.legend.benthos=Benthos
tutti.editCatchBatch.legend.marineLitter=Macro déchets
tutti.editCatchBatch.legend.species=Espèces
@@ -682,7 +696,7 @@
tutti.editIndividualObservationBatch.action.removeBatch.confirm.title=Suppression d'une observation individuelle
tutti.editIndividualObservationBatch.action.removeBatch.mnemonic=S
tutti.editIndividualObservationBatch.action.removeBatch.tip=Supprimer la ligne sélectionnée
-tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode=Code de prélèvement pièce calcifiée
+tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode=
tutti.editIndividualObservationBatch.table.header.calcifiedPieceSamplingCode.tip=Code de prélèvement pièce calcifiée
tutti.editIndividualObservationBatch.table.header.comment=Commentaire
tutti.editIndividualObservationBatch.table.header.comment.tip=Commentaire
@@ -692,14 +706,14 @@
tutti.editIndividualObservationBatch.table.header.lengthStepCaracteristic.tip=Classe de taille
tutti.editIndividualObservationBatch.table.header.otherCaracteristics=Autres caractéristiques
tutti.editIndividualObservationBatch.table.header.otherCaracteristics.tip=Autres caractéristiques
-tutti.editIndividualObservationBatch.table.header.samplingCode=Code prélèvement autre
+tutti.editIndividualObservationBatch.table.header.samplingCode=
tutti.editIndividualObservationBatch.table.header.samplingCode.tip=Code prélèvement autre
tutti.editIndividualObservationBatch.table.header.size=Taille
tutti.editIndividualObservationBatch.table.header.size.tip=Taille
tutti.editIndividualObservationBatch.table.header.species=Espèce
tutti.editIndividualObservationBatch.table.header.species.tip=Espèce
-tutti.editIndividualObservationBatch.table.header.weight=Poids (g)
-tutti.editIndividualObservationBatch.table.header.weight.tip=Poids (g)
+tutti.editIndividualObservationBatch.table.header.weight=Poids
+tutti.editIndividualObservationBatch.table.header.weight.tip=Poids
tutti.editIndividualObservationCaracteristics.action.cancel=Annuler
tutti.editIndividualObservationCaracteristics.action.cancel.mnemonic=A
tutti.editIndividualObservationCaracteristics.action.cancel.tip=Annuler l'édition des caractéristiques de l'observation
@@ -729,8 +743,8 @@
tutti.editMarineLitterBatch.action.removeBatch.confirm.title=Suppression d'un lot de déchets
tutti.editMarineLitterBatch.action.removeBatch.mnemonic=S
tutti.editMarineLitterBatch.action.removeBatch.tip=Supprimer la ligne sélectionnée
-tutti.editMarineLitterBatch.field.marineLitterTotalWeight=Poids total (kg)
-tutti.editMarineLitterBatch.field.marineLitterTotalWeight.tip=Poids total (kg)
+tutti.editMarineLitterBatch.field.marineLitterTotalWeight=Poids total
+tutti.editMarineLitterBatch.field.marineLitterTotalWeight.tip=Poids total
tutti.editMarineLitterBatch.table.header.comment=Commentaire
tutti.editMarineLitterBatch.table.header.comment.tip=Commentaire
tutti.editMarineLitterBatch.table.header.file=Pièces jointes
@@ -741,8 +755,8 @@
tutti.editMarineLitterBatch.table.header.marineLitterSizeCategory.tip=Catégorie de taille
tutti.editMarineLitterBatch.table.header.number=Nombre
tutti.editMarineLitterBatch.table.header.number.tip=Nombre d'objets
-tutti.editMarineLitterBatch.table.header.weight=Poids (kg)
-tutti.editMarineLitterBatch.table.header.weight.tip=Poids (kg)
+tutti.editMarineLitterBatch.table.header.weight=Poids
+tutti.editMarineLitterBatch.table.header.weight.tip=Poids
tutti.editProgram.action.closeEditProgram=Fermer
tutti.editProgram.action.closeEditProgram.mnemonic=r
tutti.editProgram.action.closeEditProgram.tip=Annuler l'édition (ou la création) de la série de campagne, ou fermer l'éditeur suite à un enregistrement
@@ -919,18 +933,18 @@
tutti.editSpeciesBatch.action.splitBatch=Catégoriser le lot
tutti.editSpeciesBatch.action.splitBatch.mnemonic=C
tutti.editSpeciesBatch.action.splitBatch.tip=Catégoriser le lot courant (celui de la ligne sélectionné)
-tutti.editSpeciesBatch.field.speciesTotalInertWeight=Poids inerte trié (kg)
-tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip=Poids de la fraction inerte restante après le tri des espèces (cailloux, vase, débris coquilliers, etc.) (kg)
-tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight=Poids vivant non détaillé trié (kg)
-tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip=Poids de la fraction vivante restante après le tri des espèces (algues, matières vivantes non reconnaissable, etc.) (kg)
-tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight=Poids VRAC trié (kg)
-tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.) (kg)
-tutti.editSpeciesBatch.field.speciesTotalSortedWeight=Poids total VRAC (kg)
-tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.) (kg)
-tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight=Poids total HORS VRAC (kg)
-tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (sans les captures accidentelles) (kg)
-tutti.editSpeciesBatch.field.speciesTotalWeight=Poids TOTAL (kg)
-tutti.editSpeciesBatch.field.speciesTotalWeight.tip=Poids total des espèces dans la capture (poissons, crustacés etc.) (kg)
+tutti.editSpeciesBatch.field.speciesTotalInertWeight=Poids inerte trié
+tutti.editSpeciesBatch.field.speciesTotalInertWeight.tip=Poids de la fraction inerte restante après le tri des espèces (cailloux, vase, débris coquilliers, etc.)
+tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight=Poids vivant non détaillé trié
+tutti.editSpeciesBatch.field.speciesTotalLivingNotItemizedWeight.tip=Poids de la fraction vivante restante après le tri des espèces (algues, matières vivantes non reconnaissable, etc.)
+tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight=Poids VRAC trié
+tutti.editSpeciesBatch.field.speciesTotalSampleSortedWeight.tip=Poids total des espèces triées (poissons, crustacés etc.)
+tutti.editSpeciesBatch.field.speciesTotalSortedWeight=Poids total VRAC
+tutti.editSpeciesBatch.field.speciesTotalSortedWeight.tip=Poids total VRAC des espèces dans la capture (poissons, crustacés etc.)
+tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight=Poids total HORS VRAC
+tutti.editSpeciesBatch.field.speciesTotalUnsortedWeight.tip=Poids total HORS VRAC des espèces dans la capture (sans les captures accidentelles)
+tutti.editSpeciesBatch.field.speciesTotalWeight=Poids TOTAL
+tutti.editSpeciesBatch.field.speciesTotalWeight.tip=Poids total des espèces dans la capture (poissons, crustacés etc.)
tutti.editSpeciesBatch.filterBatch=Filtre
tutti.editSpeciesBatch.filterBatch.mode.all=Aucun
tutti.editSpeciesBatch.filterBatch.mode.all.tip=Pas de filtre (tous les lots sont visibles)
@@ -947,7 +961,8 @@
tutti.editSpeciesBatch.table.header.file=Pièces jointes
tutti.editSpeciesBatch.table.header.species=Espèce
tutti.editSpeciesBatch.table.header.toConfirm=A Confirmer
-tutti.editSpeciesBatch.table.header.weight=Poids sous-échantillonné (kg)
+tutti.editSpeciesBatch.table.header.weight=Poids sous-échantillonné
+tutti.editSpeciesBatch.table.header.weight.tip=Poids sous-échantillonné
tutti.editSpeciesFrequencies.action.cancel=Annuler
tutti.editSpeciesFrequencies.action.cancel.mnemonic=A
tutti.editSpeciesFrequencies.action.cancel.tip=Annuler l'édition des mensurations
@@ -984,13 +999,14 @@
tutti.editSpeciesFrequencies.field.step.tip=Pas de la classe de taille pour cette espèce (ex. \: 1 cm, 0,5 cm, 1 mm etc.)
tutti.editSpeciesFrequencies.field.totalNumber=Nombre total
tutti.editSpeciesFrequencies.field.totalNumber.tip=Nombre total d'individus des lignes valides
-tutti.editSpeciesFrequencies.field.totalWeight=Poids total (kg)
-tutti.editSpeciesFrequencies.field.totalWeight.tip=Poids total des lignes valides (kg)
+tutti.editSpeciesFrequencies.field.totalWeight=Poids total
+tutti.editSpeciesFrequencies.field.totalWeight.tip=Poids total des lignes valides
tutti.editSpeciesFrequencies.label.no.configuration=< Pas de configuration >
tutti.editSpeciesFrequencies.simpleCountingAndFrequencies=Des mensurations ont été saisies dans le tableau. Saisir un simple dénombrement les effacera.
tutti.editSpeciesFrequencies.table.header.lengthStep=Classe de taille
tutti.editSpeciesFrequencies.table.header.number=Nombre
-tutti.editSpeciesFrequencies.table.header.weight=Poids observé (kg)
+tutti.editSpeciesFrequencies.table.header.weight=Poids observé
+tutti.editSpeciesFrequencies.table.header.weight.tip=Poids observé
tutti.editSpeciesFrequencies.title=Mensuration
tutti.error.about.could.not.reach.url=Récupération des versions de mises à jour impossible (l'url <strong>%s</strong> n'est pas joignable)
tutti.error.delete.startActionFile=Impossible de supprimer le fichier %s
@@ -1324,17 +1340,18 @@
tutti.splitBenthosBatch.action.save=Enregistrer
tutti.splitBenthosBatch.action.save.mnemonic=E
tutti.splitBenthosBatch.action.save.tip=Sauver le sous-échantillonnage
-tutti.splitBenthosBatch.field.batchWeight=Poids total à catégoriser (kg)
-tutti.splitBenthosBatch.field.batchWeightField.tip=Poids du lot père (si renseigné) (kg)
+tutti.splitBenthosBatch.field.batchWeight=Poids total à catégoriser
+tutti.splitBenthosBatch.field.batchWeight.tip=Poids du lot père (si renseigné)
tutti.splitBenthosBatch.field.category=Catégorie
-tutti.splitBenthosBatch.field.categoryField.tip=Choisir le mode de catégorisation
-tutti.splitBenthosBatch.field.sampleWeight=Poids total catégorisé (kg)
-tutti.splitBenthosBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous (kg)
+tutti.splitBenthosBatch.field.category.tip=Choisir le mode de catégorisation
+tutti.splitBenthosBatch.field.sampleWeight=Poids total catégorisé
+tutti.splitBenthosBatch.field.sampleWeight.tip=Somme des poids saisis ci-dessous
tutti.splitBenthosBatch.field.species=Espèce
tutti.splitBenthosBatch.field.speciesField.tip=Espèce du lot père
tutti.splitBenthosBatch.table.header.category=Catégorie
tutti.splitBenthosBatch.table.header.selected=Sélection
-tutti.splitBenthosBatch.table.header.weight=Poids (kg)
+tutti.splitBenthosBatch.table.header.weight=Poids
+tutti.splitBenthosBatch.table.header.weight.tip=Poids
tutti.splitBenthosBatch.title=Catégorisation du lot
tutti.splitSpeciesBatch.action.cancel=Annuler
tutti.splitSpeciesBatch.action.cancel.mnemonic=A
@@ -1342,17 +1359,18 @@
tutti.splitSpeciesBatch.action.save=Enregistrer
tutti.splitSpeciesBatch.action.save.mnemonic=E
tutti.splitSpeciesBatch.action.save.tip=Sauver le sous-échantillonnage
-tutti.splitSpeciesBatch.field.batchWeight=Poids total à catégoriser (kg)
-tutti.splitSpeciesBatch.field.batchWeightField.tip=Poids du lot père (si renseigné) (kg)
+tutti.splitSpeciesBatch.field.batchWeight=Poids total à catégoriser
+tutti.splitSpeciesBatch.field.batchWeightField.tip=Poids du lot père (si renseigné)
tutti.splitSpeciesBatch.field.category=Catégorie
tutti.splitSpeciesBatch.field.categoryField.tip=Choisir le mode de catégorisation
-tutti.splitSpeciesBatch.field.sampleWeight=Poids total catégorisé (kg)
-tutti.splitSpeciesBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous (kg)
+tutti.splitSpeciesBatch.field.sampleWeight=Poids total catégorisé
+tutti.splitSpeciesBatch.field.sampleWeightField.tip=Somme des poids saisis ci-dessous
tutti.splitSpeciesBatch.field.species=Espèce
tutti.splitSpeciesBatch.field.speciesField.tip=Espèce du lot père
tutti.splitSpeciesBatch.table.header.category=Catégorie
tutti.splitSpeciesBatch.table.header.selected=Sélection
-tutti.splitSpeciesBatch.table.header.weight=Poids (kg)
+tutti.splitSpeciesBatch.table.header.weight=Poids
+tutti.splitSpeciesBatch.table.header.weight.tip=Poids
tutti.splitSpeciesBatch.title=Catégorisation du lot
tutti.timeeditor.H=H
tutti.update.db=Base de données
Modified: trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModelTest.java
===================================================================
--- trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModelTest.java 2013-09-22 11:29:17 UTC (rev 1202)
+++ trunk/tutti-ui-swing/src/test/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyRowModelTest.java 2013-09-23 09:39:50 UTC (rev 1203)
@@ -24,6 +24,7 @@
* #L%
*/
+import fr.ifremer.tutti.ui.swing.util.WeightUnit;
import org.junit.Assert;
import org.junit.Test;
@@ -36,8 +37,8 @@
@Test
public void compareTo() throws Exception {
- SpeciesFrequencyRowModel s0 = new SpeciesFrequencyRowModel();
- SpeciesFrequencyRowModel s1 = new SpeciesFrequencyRowModel();
+ SpeciesFrequencyRowModel s0 = new SpeciesFrequencyRowModel(WeightUnit.KG);
+ SpeciesFrequencyRowModel s1 = new SpeciesFrequencyRowModel(WeightUnit.KG);
// s0=null, s1=null
Assert.assertTrue(s0.compareTo(s1) == 0);
1
0