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
- 4058 discussions
r1197 - in trunk/tutti-persistence/src/main: java/fr/ifremer/tutti/persistence java/fr/ifremer/tutti/persistence/config java/fr/ifremer/tutti/persistence/entities/protocol java/fr/ifremer/tutti/persistence/service resources/i18n xmi
by tchemit@users.forge.codelutin.com 21 Sep '13
by tchemit@users.forge.codelutin.com 21 Sep '13
21 Sep '13
Author: tchemit
Date: 2013-09-21 16:45:35 +0200 (Sat, 21 Sep 2013)
New Revision: 1197
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1197
Log:
- improve i18n keys
- refs #3297: [DONNEES INDIVIDUELLES] g?\195?\169rer les colonnes du tableau dans le protocole (ne plus utiliser PMFM_ID_SAMPLE_ID et PMFM_ID_OTOLITHE_ID)
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/SampleCategoryModelConverter.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -280,10 +280,10 @@
Caracteristic getDeadOrAliveCaracteristic();
- Caracteristic getSampleIdCaracteristic();
+// Caracteristic getSampleIdCaracteristic();
+//
+// Caracteristic getOtolitheIdCaracteristic();
- Caracteristic getOtolitheIdCaracteristic();
-
Caracteristic getPmfmIdCaracteristic();
Caracteristic getWeightMeasuredCaracteristic();
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -429,17 +429,17 @@
return referentialService.getDeadOrAliveCaracteristic();
}
- @Override
- public Caracteristic getSampleIdCaracteristic() {
- return referentialService.getSampleIdCaracteristic();
- }
+// @Override
+// public Caracteristic getSampleIdCaracteristic() {
+// return referentialService.getSampleIdCaracteristic();
+// }
+//
+// @Override
+// public Caracteristic getOtolitheIdCaracteristic() {
+// return referentialService.getOtolitheIdCaracteristic();
+// }
@Override
- public Caracteristic getOtolitheIdCaracteristic() {
- return referentialService.getOtolitheIdCaracteristic();
- }
-
- @Override
public Caracteristic getPmfmIdCaracteristic() {
return referentialService.getPmfmIdCaracteristic();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -249,17 +249,17 @@
throw notImplemented();
}
- @Override
- public Caracteristic getSampleIdCaracteristic() {
- throw notImplemented();
- }
+// @Override
+// public Caracteristic getSampleIdCaracteristic() {
+// throw notImplemented();
+// }
+//
+// @Override
+// public Caracteristic getOtolitheIdCaracteristic() {
+// throw notImplemented();
+// }
@Override
- public Caracteristic getOtolitheIdCaracteristic() {
- throw notImplemented();
- }
-
- @Override
public Caracteristic getPmfmIdCaracteristic() {
throw notImplemented();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/SampleCategoryModelConverter.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/SampleCategoryModelConverter.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/SampleCategoryModelConverter.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -81,7 +81,7 @@
}
}
throw new ConversionException(
- _("nuitonutil.error.no.convertor", aClass.getName(), value));
+ _("tutti.persistence.error.no.convertor", aClass.getName(), value));
}
protected boolean isEnabled(Class<?> aClass) {
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/protocol/TuttiProtocols.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -210,11 +210,11 @@
if (log.isWarnEnabled()) {
log.warn("Could not find caracteristic with id: " + id);
}
- caracteristicStr = _("tutti.common.caracteristic.notFound");
+ caracteristicStr = _("tutti.persistence.error.caracteristic.notFound");
}
badCategoriesStr.add("<li>" + id + " : " + caracteristicStr + "</li>");
}
- String message = _("tutti.common.protocol.categories.not.compatible", Joiner.on("").join(badCategoriesStr));
+ String message = _("tutti.persistence.error.protocol.categories.not.compatible", Joiner.on("").join(badCategoriesStr));
return message;
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -284,20 +284,20 @@
CaracteristicMap caracteristics =
CaracteristicMap.copy(source.getCaracteristics());
- if (source.getSamplingCode() != null) {
+// if (source.getSamplingCode() != null) {
+//
+// Caracteristic caracteristic =
+// referentialService.getSampleIdCaracteristic();
+// caracteristics.put(caracteristic, source.getSamplingCode());
+// }
+//
+// if (source.getCalcifiedPieceSamplingCode() != null) {
+//
+// Caracteristic caracteristic =
+// referentialService.getOtolitheIdCaracteristic();
+// caracteristics.put(caracteristic, source.getCalcifiedPieceSamplingCode());
+// }
- Caracteristic caracteristic =
- referentialService.getSampleIdCaracteristic();
- caracteristics.put(caracteristic, source.getSamplingCode());
- }
-
- if (source.getCalcifiedPieceSamplingCode() != null) {
-
- Caracteristic caracteristic =
- referentialService.getOtolitheIdCaracteristic();
- caracteristics.put(caracteristic, source.getCalcifiedPieceSamplingCode());
- }
-
if (source.getWeight() != null) {
Caracteristic caracteristic = referentialService.getWeightMeasuredCaracteristic();
@@ -332,16 +332,16 @@
samplePersistenceHelper.fillSampleMeasurements(
result, batch.getIdAsInt());
- String sampleCode = (String) result.remove(referentialService.getSampleIdCaracteristic());
- if (sampleCode != null) {
- batch.setSamplingCode(sampleCode);
- }
+// String sampleCode = (String) result.remove(referentialService.getSampleIdCaracteristic());
+// if (sampleCode != null) {
+// batch.setSamplingCode(sampleCode);
+// }
+//
+// String calcifiedPieceSampleCode = (String) result.remove(referentialService.getOtolitheIdCaracteristic());
+// if (sampleCode != null) {
+// batch.setCalcifiedPieceSamplingCode(calcifiedPieceSampleCode);
+// }
- String calcifiedPieceSampleCode = (String) result.remove(referentialService.getOtolitheIdCaracteristic());
- if (sampleCode != null) {
- batch.setCalcifiedPieceSamplingCode(calcifiedPieceSampleCode);
- }
-
Float weight = (Float) result.remove(referentialService.getWeightMeasuredCaracteristic());
if (weight != null) {
batch.setWeight(weight);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -245,10 +245,10 @@
Caracteristic getDeadOrAliveCaracteristic();
- Caracteristic getSampleIdCaracteristic();
+// Caracteristic getSampleIdCaracteristic();
+//
+// Caracteristic getOtolitheIdCaracteristic();
- Caracteristic getOtolitheIdCaracteristic();
-
Caracteristic getPmfmIdCaracteristic();
Caracteristic getWeightMeasuredCaracteristic();
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -626,21 +626,21 @@
return result;
}
- @Override
- public Caracteristic getSampleIdCaracteristic() {
- Integer pmfmId = enumeration.PMFM_ID_SAMPLE_ID;
- Caracteristic result = thisService.getCaracteristic(pmfmId);
- return result;
- }
+// @Override
+// public Caracteristic getSampleIdCaracteristic() {
+// Integer pmfmId = enumeration.PMFM_ID_SAMPLE_ID;
+// Caracteristic result = thisService.getCaracteristic(pmfmId);
+// return result;
+// }
+//
+// @Override
+// public Caracteristic getOtolitheIdCaracteristic() {
+// Integer pmfmId = enumeration.PMFM_ID_OTOLITHE_ID;
+// Caracteristic result = thisService.getCaracteristic(pmfmId);
+// return result;
+// }
@Override
- public Caracteristic getOtolitheIdCaracteristic() {
- Integer pmfmId = enumeration.PMFM_ID_OTOLITHE_ID;
- Caracteristic result = thisService.getCaracteristic(pmfmId);
- return result;
- }
-
- @Override
public Caracteristic getPmfmIdCaracteristic() {
Integer pmfmId = enumeration.PMFM_ID_ID_PSFM;
Caracteristic result = thisService.getCaracteristic(pmfmId);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-09-21 14:45:35 UTC (rev 1197)
@@ -284,12 +284,12 @@
@Value("${PmfmId.ID_PSFM}")
public final Integer PMFM_ID_ID_PSFM = null;
- @Value("${PmfmId.SAMPLE_ID}")
- public final Integer PMFM_ID_SAMPLE_ID = null;
+// @Value("${PmfmId.SAMPLE_ID}")
+// public final Integer PMFM_ID_SAMPLE_ID = null;
+//
+// @Value("${PmfmId.OTOLITHE_ID}")
+// public final Integer PMFM_ID_OTOLITHE_ID = null;
- @Value("${PmfmId.OTOLITHE_ID}")
- public final Integer PMFM_ID_OTOLITHE_ID = null;
-
protected Set<Integer> propertedPmfmIds;
public void init() {
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-09-21 14:45:35 UTC (rev 1197)
@@ -1,6 +1,3 @@
-nuitonutil.error.no.convertor=
-tutti.common.caracteristic.notFound=
-tutti.common.protocol.categories.not.compatible=
tutti.config.option.persistence.SampleCategoryModel.description=
tutti.config.option.persistence.db.attachment.directory.description=
tutti.config.option.persistence.db.backup.directory.description=
@@ -45,6 +42,9 @@
tutti.persistence.config.generateFile.error=
tutti.persistence.cruise.gearUsedInOperations.error=
tutti.persistence.dbMetadata.instanciation.error=
+tutti.persistence.error.caracteristic.notFound=
+tutti.persistence.error.no.convertor=
+tutti.persistence.error.protocol.categories.not.compatible=
tutti.persistence.loader.error=
tutti.persistence.mkDir.error=
tutti.persistence.protocol.delete.error=
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-09-21 14:42:34 UTC (rev 1196)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-09-21 14:45:35 UTC (rev 1197)
@@ -1,6 +1,3 @@
-nuitonutil.error.no.convertor=
-tutti.common.caracteristic.notFound=Caractéristique inconnue
-tutti.common.protocol.categories.not.compatible=Le protocole utilise des catégories non connues par la configuration des catégorisations \: <ul>%s</ul>
tutti.config.option.persistence.SampleCategoryModel.description=Configuration des catégories d'échantillonnage
tutti.config.option.persistence.db.attachment.directory.description=Répertoire où sont stockées les pièces-jointes
tutti.config.option.persistence.db.backup.directory.description=Répertoire où sont enregistrées les sauvegardes de la base
@@ -45,6 +42,9 @@
tutti.persistence.config.generateFile.error=Erreur lors de la génération du fichier de configuration de la base de données
tutti.persistence.cruise.gearUsedInOperations.error=Vous essayez d'enlever un ou plusieurs engins qui sont utilisés sur des traits.<hr/>Veuillez changer l'engin des traits en question pour pouvoir les enlever de la campagne.
tutti.persistence.dbMetadata.instanciation.error=Erreur lors de l'initialisation des metadata de la base de données par la connexion %s
+tutti.persistence.error.caracteristic.notFound=Caractéristique inconnue
+tutti.persistence.error.no.convertor=Impossible de convertir en modeèle de catégorie le type %s avec la valeur %s
+tutti.persistence.error.protocol.categories.not.compatible=Le protocole utilise des catégories non connues par la configuration des catégorisations \: <ul>%s</ul>
tutti.persistence.loader.error=Erreur de conversion du dossier %s en URL
tutti.persistence.mkDir.error=Erreur lors de la création du dossier %s
tutti.persistence.protocol.delete.error=Erreur lors de la suppression du protocole %1s (fichier %2s)
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
===================================================================
(Binary files differ)
1
0
21 Sep '13
Author: tchemit
Date: 2013-09-21 16:42:34 +0200 (Sat, 21 Sep 2013)
New Revision: 1196
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1196
Log:
fixes #3306: [DONNEES INDIVIDUELLES] L'ordre de saisie n'est pas conserv?\195?\169
fixes #3308: [CAPTURES ACCIDENTELLES] L'ordre de saisie n'est pas conserv?\195?\169
Modified:
trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml
Modified: trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml
===================================================================
--- trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-09-20 13:54:16 UTC (rev 1195)
+++ trunk/tutti-persistence/src/main/resources/queries-override.hbm.xml 2013-09-21 14:42:34 UTC (rev 1196)
@@ -379,7 +379,7 @@
s.fishingOperation.id= :fishingOperationId
AND s.batch IS NULL
ORDER BY
- s.creationDate
+ s.id
]]>
<query-param name="fishingOperationId" type="java.lang.Integer"/>
</query>
@@ -396,7 +396,7 @@
s.fishingOperation.id= :fishingOperationId
AND s.batch.id = :batchId
ORDER BY
- s.creationDate
+ s.id
]]>
<query-param name="fishingOperationId" type="java.lang.Integer"/>
<query-param name="batchId" type="java.lang.Integer"/>
1
0
r1195 - in trunk: tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service tutti-persistence/src/main/xmi tutti-ui-swing/src/main/filtered-resources tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol tutti-ui-swing/src/main/resources/i18n
by tchemit@users.forge.codelutin.com 20 Sep '13
by tchemit@users.forge.codelutin.com 20 Sep '13
20 Sep '13
Author: tchemit
Date: 2013-09-20 15:54:16 +0200 (Fri, 20 Sep 2013)
New Revision: 1195
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1195
Log:
refs #3297: [OBSERVATIONS INDIVIDUELLES] g?\195?\169rer les colonnes du tableau dans le protocole (configuration dans le protocole)
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
trunk/tutti-persistence/src/main/xmi/tutti-persistence.properties
trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
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/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.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
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-09-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/TuttiEnumerationFile.java 2013-09-20 13:54:16 UTC (rev 1195)
@@ -326,10 +326,10 @@
PMFM_ID_TRAWL_DISTANCE,
PMFM_ID_SURVEY_PART,
PMFM_ID_SORTED_UNSORTED,
- PMFM_ID_SIZE_CATEGORY,
- PMFM_ID_MATURITY,
- PMFM_ID_SEX,
- PMFM_ID_AGE,
+// PMFM_ID_SIZE_CATEGORY,
+// PMFM_ID_MATURITY,
+// PMFM_ID_SEX,
+// PMFM_ID_AGE,
PMFM_ID_ID_PSFM
);
}
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.properties
===================================================================
--- trunk/tutti-persistence/src/main/xmi/tutti-persistence.properties 2013-09-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-persistence/src/main/xmi/tutti-persistence.properties 2013-09-20 13:54:16 UTC (rev 1195)
@@ -45,6 +45,7 @@
fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.gearUseFeaturePmfmId.stereotype=ordered
fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.vesselUseFeaturePmfmId.stereotype=ordered
+fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.individualObservationPmfmId.stereotype=ordered
fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.lengthClassesPmfmId.stereotype=ordered
fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.species.stereotype=ordered
fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol.attribute.benthos.stereotype=ordered
Modified: trunk/tutti-persistence/src/main/xmi/tutti-persistence.zargo
===================================================================
(Binary files differ)
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-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-09-20 13:54:16 UTC (rev 1195)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Thu Sep 19 23:07:37 CEST 2013
+#Fri Sep 20 11:03:34 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -213,6 +213,7 @@
tutti.editProtocol.field.benthos.help=editProtocol.html\#fieldsBenthos
tutti.editProtocol.field.comment.help=editProtocol.html\#fields
tutti.editProtocol.field.gearUseFeature.help=editProtocol.html\#fieldsCaracteristics
+tutti.editProtocol.field.individualObservation.help=
tutti.editProtocol.field.lengthClasses.help=editProtocol.html\#fieldsCaracteristics
tutti.editProtocol.field.name.help=editProtocol.html\#fields
tutti.editProtocol.field.species.help=editProtocol.html\#fieldsSpecies
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-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-09-20 13:54:16 UTC (rev 1195)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Thu Sep 19 22:01:50 CEST 2013
+#Fri Sep 20 11:03:34 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -89,8 +89,8 @@
tutti.editBenthosBatch.help=editFishingOperation.html\#captureBenthos
tutti.editBenthosFrequencies.action.cancel.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.generate.help=editFishingOperation.html\#captureBenthosActions
+tutti.editBenthosFrequencies.action.saveAndClose.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.saveAndContinue.help=editFishingOperation.html\#captureBenthosActions
-tutti.editBenthosFrequencies.action.saveAndClose.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.field.lengthStepCaracteristic.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.field.maxStep.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.field.minStep.help=editFishingOperation.html\#captureBenthosFields
@@ -212,6 +212,7 @@
tutti.editProtocol.field.benthos.help=editProtocol.html\#fieldsBenthos
tutti.editProtocol.field.comment.help=editProtocol.html\#fields
tutti.editProtocol.field.gearUseFeature.help=editProtocol.html\#fieldsCaracteristics
+tutti.editProtocol.field.individualObservation.help=
tutti.editProtocol.field.lengthClasses.help=editProtocol.html\#fieldsCaracteristics
tutti.editProtocol.field.name.help=editProtocol.html\#fields
tutti.editProtocol.field.species.help=editProtocol.html\#fieldsSpecies
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-09-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.css 2013-09-20 13:54:16 UTC (rev 1195)
@@ -129,6 +129,11 @@
_help: {"tutti.editProtocol.field.vesselUseFeature.help"};
}
+#individualObservationList {
+ property: individualObservationPmfm;
+ _help: {"tutti.editProtocol.field.individualObservation.help"};
+}
+
#lengthClassesList {
property: lengthClassesPmfm;
_help: {"tutti.editProtocol.field.lengthClasses.help"};
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-09-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-09-20 13:54:16 UTC (rev 1195)
@@ -128,6 +128,10 @@
<BeanDoubleList id='gearUseFeatureList'
genericType='Caracteristic'/>
</tab>
+ <tab title='tutti.editProtocol.tab.caracteristic.individualObservation'>
+ <BeanDoubleList id='individualObservationList'
+ genericType='Caracteristic'/>
+ </tab>
<tab title='tutti.editProtocol.tab.caracteristic.vesselUseFeature'>
<BeanDoubleList id='vesselUseFeatureList'
genericType='Caracteristic'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-09-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIHandler.java 2013-09-20 13:54:16 UTC (rev 1195)
@@ -117,6 +117,8 @@
protected final SampleCategoryModel sampleCategoryModel;
+ protected List<BeanDoubleList<Caracteristic>> allDoubleLists;
+
public EditProtocolUIHandler(TuttiUI parentUi, EditProtocolUI ui) {
super(parentUi.getHandler().getContext(), ui);
this.persistenceService = context.getPersistenceService();
@@ -275,8 +277,8 @@
model.setSpeciesRow(speciesRows);
model.setBenthosRow(benthosRows);
- ui.getSpeciesComboBox().getHandler().reset();
- ui.getBenthosComboBox().getHandler().reset();
+ ui.getSpeciesComboBox().reset();
+ ui.getBenthosComboBox().reset();
{
// create species table model
@@ -399,44 +401,32 @@
tableModel.setRows(benthosRows);
}
+ allDoubleLists = Lists.newArrayList(
+ ui.getLengthClassesList(),
+ ui.getGearUseFeatureList(),
+ ui.getIndividualObservationList(),
+ ui.getVesselUseFeatureList()
+ );
+
initDoubleList(EditProtocolUIModel.PROPERTY_LENGTH_CLASSES_PMFM_ID,
ui.getLengthClassesList(),
Lists.newArrayList(model.getCaracteristics()),
- model.getLengthClassesPmfmId(),
- new Predicate<Caracteristic>() {
+ model.getLengthClassesPmfmId());
- public boolean apply(Caracteristic input) {
- boolean result = !ui.getGearUseFeatureList().getModel().getSelected().contains(input);
- result &= !ui.getVesselUseFeatureList().getModel().getSelected().contains(input);
- return result;
- }
- });
-
initDoubleList(EditProtocolUIModel.PROPERTY_GEAR_USE_FEATURE_PMFM_ID,
ui.getGearUseFeatureList(),
Lists.newArrayList(model.getCaracteristics()),
- model.getGearUseFeaturePmfmId(),
- new Predicate<Caracteristic>() {
+ model.getGearUseFeaturePmfmId());
- public boolean apply(Caracteristic input) {
- boolean result = !ui.getLengthClassesList().getModel().getSelected().contains(input);
- result &= !ui.getVesselUseFeatureList().getModel().getSelected().contains(input);
- return result;
- }
- });
-
initDoubleList(EditProtocolUIModel.PROPERTY_VESSEL_USE_FEATURE_PMFM_ID,
ui.getVesselUseFeatureList(),
Lists.newArrayList(model.getCaracteristics()),
- model.getVesselUseFeaturePmfmId(),
- new Predicate<Caracteristic>() {
+ model.getVesselUseFeaturePmfmId());
- public boolean apply(Caracteristic input) {
- boolean result = !ui.getGearUseFeatureList().getModel().getSelected().contains(input);
- result &= !ui.getLengthClassesList().getModel().getSelected().contains(input);
- return result;
- }
- });
+ initDoubleList(EditProtocolUIModel.PROPERTY_INDIVIDUAL_OBSERVATION_PMFM_ID,
+ ui.getIndividualObservationList(),
+ Lists.newArrayList(model.getCaracteristics()),
+ model.getIndividualObservationPmfmId());
// if new protocol can already cancel his creation
model.setModify(model.isCreate() || model.isCleaned());
@@ -458,6 +448,10 @@
break;
case 2:
+ selectedDoubleList = ui.getIndividualObservationList();
+ break;
+
+ case 3:
selectedDoubleList = ui.getVesselUseFeatureList();
break;
@@ -545,40 +539,23 @@
//------------------------------------------------------------------------//
public void addDoubleListListeners() {
- String id;
- UpdateSelectedList updateListener;
EditProtocolUIModel model = getModel();
- id = (String) ui.getLengthClassesList().getClientProperty("_updateListenerId");
- updateListener = (UpdateSelectedList) ui.getLengthClassesList().getClientProperty("_updateListener");
- model.addPropertyChangeListener(id, updateListener);
-
- id = (String) ui.getVesselUseFeatureList().getClientProperty("_updateListenerId");
- updateListener = (UpdateSelectedList) ui.getVesselUseFeatureList().getClientProperty("_updateListener");
- model.addPropertyChangeListener(id, updateListener);
-
- id = (String) ui.getGearUseFeatureList().getClientProperty("_updateListenerId");
- updateListener = (UpdateSelectedList) ui.getGearUseFeatureList().getClientProperty("_updateListener");
- model.addPropertyChangeListener(id, updateListener);
+ for (BeanDoubleList<Caracteristic> list : allDoubleLists) {
+ String id = (String) list.getClientProperty("_updateListenerId");
+ UpdateSelectedList updateListener = (UpdateSelectedList) list.getClientProperty("_updateListener");
+ model.addPropertyChangeListener(id, updateListener);
+ }
}
public void removeDoubleListListeners() {
- String id;
- UpdateSelectedList updateListener;
EditProtocolUIModel model = getModel();
- id = (String) ui.getLengthClassesList().getClientProperty("_updateListenerId");
- updateListener = (UpdateSelectedList) ui.getLengthClassesList().getClientProperty("_updateListener");
-
- model.removePropertyChangeListener(id, updateListener);
-
- id = (String) ui.getVesselUseFeatureList().getClientProperty("_updateListenerId");
- updateListener = (UpdateSelectedList) ui.getVesselUseFeatureList().getClientProperty("_updateListener");
- model.removePropertyChangeListener(id, updateListener);
-
- id = (String) ui.getGearUseFeatureList().getClientProperty("_updateListenerId");
- updateListener = (UpdateSelectedList) ui.getGearUseFeatureList().getClientProperty("_updateListener");
- model.removePropertyChangeListener(id, updateListener);
+ for (BeanDoubleList<Caracteristic> list : allDoubleLists) {
+ String id = (String) list.getClientProperty("_updateListenerId");
+ UpdateSelectedList updateListener = (UpdateSelectedList) list.getClientProperty("_updateListener");
+ model.removePropertyChangeListener(id, updateListener);
+ }
}
public Species openSelectOtherSpeciesDialog(String title, List<Species> species) {
@@ -598,8 +575,7 @@
protected void initDoubleList(String propertyId,
BeanDoubleList<Caracteristic> widget,
List<Caracteristic> availableCaracteristics,
- List<String> selectedCaracteristics,
- Predicate<Caracteristic> filter) {
+ List<String> selectedCaracteristics) {
initBeanList(widget, availableCaracteristics,
Lists.<Caracteristic>newArrayList());
@@ -611,7 +587,10 @@
widget.putClientProperty("_updateListenerId", propertyId);
listener.select(selectedCaracteristics);
- widget.getHandler().addFilter(filter);
+ // add a filter to keep only in universe everything except what is selected by other double lists
+ List<BeanDoubleList<Caracteristic>> list = Lists.newArrayList(allDoubleLists);
+ list.remove(widget);
+ widget.getHandler().addFilter(new SelectValuePredicate(list));
}
protected void selectLengthClasses(List<String> ids, JComboBox comboBox) {
@@ -750,4 +729,26 @@
model.setSelected(selection);
}
}
+
+ protected static class SelectValuePredicate implements Predicate<Caracteristic> {
+
+ protected final List<BeanDoubleList<Caracteristic>> lists;
+
+ public SelectValuePredicate(List<BeanDoubleList<Caracteristic>> lists) {
+ this.lists = lists;
+ }
+
+ @Override
+ public boolean apply(Caracteristic input) {
+
+ boolean result = true;
+ for (BeanDoubleList<Caracteristic> list : lists) {
+ if (list.getModel().getSelected().contains(input)) {
+ result = false;
+ break;
+ }
+ }
+ return result;
+ }
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java 2013-09-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java 2013-09-20 13:54:16 UTC (rev 1195)
@@ -151,6 +151,11 @@
setVesselUseFeaturePmfmId(ids);
}
+ public void setIndividualObservationPmfm(List<Caracteristic> individualObservationPmfm) {
+ List<String> ids = TuttiEntities.collecIds(individualObservationPmfm);
+ setIndividualObservationPmfmId(ids);
+ }
+
public List<EditProtocolSpeciesRowModel> getSpeciesRow() {
return speciesRow;
}
@@ -324,7 +329,6 @@
@Override
public void setGearUseFeaturePmfmId(List<String> gearUseFeaturePmfmId) {
- Object oldValue = getGearUseFeaturePmfmId();
editObject.setGearUseFeaturePmfmId(gearUseFeaturePmfmId);
firePropertyChange(PROPERTY_GEAR_USE_FEATURE_PMFM_ID, null, gearUseFeaturePmfmId);
}
@@ -336,12 +340,22 @@
@Override
public void setVesselUseFeaturePmfmId(List<String> vesselUseFeaturePmfmId) {
- Object oldValue = getVesselUseFeaturePmfmId();
editObject.setVesselUseFeaturePmfmId(vesselUseFeaturePmfmId);
firePropertyChange(PROPERTY_VESSEL_USE_FEATURE_PMFM_ID, null, vesselUseFeaturePmfmId);
}
@Override
+ public List<String> getIndividualObservationPmfmId() {
+ return editObject.getIndividualObservationPmfmId();
+ }
+
+ @Override
+ public void setIndividualObservationPmfmId(List<String> individualObservationPmfmId) {
+ editObject.setIndividualObservationPmfmId(individualObservationPmfmId);
+ firePropertyChange(PROPERTY_INDIVIDUAL_OBSERVATION_PMFM_ID, null, individualObservationPmfmId);
+ }
+
+ @Override
public String getGearUseFeaturePmfmId(int index) {
return null;
}
@@ -428,6 +442,49 @@
}
@Override
+ public String getIndividualObservationPmfmId(int index) {
+ return null;
+ }
+
+ @Override
+ public boolean isIndividualObservationPmfmIdEmpty() {
+ return false;
+ }
+
+ @Override
+ public int sizeIndividualObservationPmfmId() {
+ return 0;
+ }
+
+ @Override
+ public void addIndividualObservationPmfmId(String individualObservationPmfmId) {
+ }
+
+ @Override
+ public void addAllIndividualObservationPmfmId(Collection<String> individualObservationPmfmId) {
+ }
+
+ @Override
+ public boolean removeIndividualObservationPmfmId(String individualObservationPmfmId) {
+ return false;
+ }
+
+ @Override
+ public boolean removeAllIndividualObservationPmfmId(Collection<String> individualObservationPmfmId) {
+ return false;
+ }
+
+ @Override
+ public boolean containsIndividualObservationPmfmId(String individualObservationPmfmId) {
+ return false;
+ }
+
+ @Override
+ public boolean containsAllIndividualObservationPmfmId(Collection<String> individualObservationPmfmId) {
+ return false;
+ }
+
+ @Override
public String getLengthClassesPmfmId(int index) {
return null;
}
@@ -472,7 +529,7 @@
@Override
public SpeciesProtocol getSpecies(int index) {
- return null;
+ return editObject.getSpecies(index);
}
@Override
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-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-20 13:54:16 UTC (rev 1195)
@@ -845,6 +845,7 @@
tutti.editProtocol.tab.benthos=
tutti.editProtocol.tab.caracteristic=
tutti.editProtocol.tab.caracteristic.gearUseFeature=
+tutti.editProtocol.tab.caracteristic.individualObservation=
tutti.editProtocol.tab.caracteristic.lengthClasses=
tutti.editProtocol.tab.caracteristic.vesselUseFeature=
tutti.editProtocol.tab.info=
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-19 21:16:52 UTC (rev 1194)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-20 13:54:16 UTC (rev 1195)
@@ -818,6 +818,7 @@
tutti.editProtocol.tab.benthos=Benthos
tutti.editProtocol.tab.caracteristic=Caractéristiques
tutti.editProtocol.tab.caracteristic.gearUseFeature=Mise en œuvre de l'engin
+tutti.editProtocol.tab.caracteristic.individualObservation=Observations individuelles
tutti.editProtocol.tab.caracteristic.lengthClasses=Classes de taille
tutti.editProtocol.tab.caracteristic.vesselUseFeature=Autres caractéristiques
tutti.editProtocol.tab.info=Informations générales
1
0
r1194 - in trunk/tutti-ui-swing/src/main: filtered-resources java/fr/ifremer/tutti/ui/swing/content/operation/catches java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency java/fr/ifremer/tutti/ui/swing/content/operation/catches/species java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency resources/i18n
by tchemit@users.forge.codelutin.com 19 Sep '13
by tchemit@users.forge.codelutin.com 19 Sep '13
19 Sep '13
Author: tchemit
Date: 2013-09-19 23:16:52 +0200 (Thu, 19 Sep 2013)
New Revision: 1194
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1194
Log:
fixes #3271: [MENSURATION] ajout bouton "enregistrer et passer ?\195?\160 l'esp?\195?\168ce suivante" dans ?\195?\169cran mensurations
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/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/benthos/BenthosBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyCellComponent.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/BenthosFrequencyUI.jaxx
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/species/SpeciesBatchTableModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.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/SpeciesFrequencyUI.jaxx
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/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-ui-swing/src/main/filtered-resources/tutti-help-en.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-09-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-09-19 21:16:52 UTC (rev 1194)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Thu Sep 19 11:22:41 CEST 2013
+#Thu Sep 19 23:07:37 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -90,6 +90,8 @@
tutti.editBenthosFrequencies.action.cancel.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.generate.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.save.help=editFishingOperation.html\#captureBenthosActions
+tutti.editBenthosFrequencies.action.saveAndClose.help=
+tutti.editBenthosFrequencies.action.saveAndContinue.help=
tutti.editBenthosFrequencies.field.lengthStepCaracteristic.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.field.maxStep.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.field.minStep.help=editFishingOperation.html\#captureBenthosFields
@@ -245,6 +247,8 @@
tutti.editSpeciesFrequencies.action.cancel.help=editFishingOperation.html\#captureEspecesMensurationActions
tutti.editSpeciesFrequencies.action.generate.help=editFishingOperation.html\#captureEspecesMensurationActions
tutti.editSpeciesFrequencies.action.save.help=editFishingOperation.html\#captureEspecesMensurationActions
+tutti.editSpeciesFrequencies.action.saveAndClose.help=
+tutti.editSpeciesFrequencies.action.saveAndContinue.help=
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help=editFishingOperation.html\#captureEspecesMensurationFields
tutti.editSpeciesFrequencies.field.maxStep.help=editFishingOperation.html\#captureEspecesMensurationFields
tutti.editSpeciesFrequencies.field.minStep.help=editFishingOperation.html\#captureEspecesMensurationFields
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-09-19 21:16:52 UTC (rev 1194)
@@ -1,5 +1,5 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Thu Sep 19 11:22:41 CEST 2013
+#Thu Sep 19 22:01:50 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
@@ -89,7 +89,8 @@
tutti.editBenthosBatch.help=editFishingOperation.html\#captureBenthos
tutti.editBenthosFrequencies.action.cancel.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.action.generate.help=editFishingOperation.html\#captureBenthosActions
-tutti.editBenthosFrequencies.action.save.help=editFishingOperation.html\#captureBenthosActions
+tutti.editBenthosFrequencies.action.saveAndContinue.help=editFishingOperation.html\#captureBenthosActions
+tutti.editBenthosFrequencies.action.saveAndClose.help=editFishingOperation.html\#captureBenthosActions
tutti.editBenthosFrequencies.field.lengthStepCaracteristic.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.field.maxStep.help=editFishingOperation.html\#captureBenthosFields
tutti.editBenthosFrequencies.field.minStep.help=editFishingOperation.html\#captureBenthosFields
@@ -244,7 +245,8 @@
tutti.editSpeciesBatch.help=editFishingOperation.html\#captureEspeces
tutti.editSpeciesFrequencies.action.cancel.help=editFishingOperation.html\#captureEspecesMensurationActions
tutti.editSpeciesFrequencies.action.generate.help=editFishingOperation.html\#captureEspecesMensurationActions
-tutti.editSpeciesFrequencies.action.save.help=editFishingOperation.html\#captureEspecesMensurationActions
+tutti.editSpeciesFrequencies.action.saveAndClose.help=editFishingOperation.html\#captureEspecesMensurationActions
+tutti.editSpeciesFrequencies.action.saveAndContinue.help=editFishingOperation.html\#captureEspecesMensurationActions
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help=editFishingOperation.html\#captureEspecesMensurationFields
tutti.editSpeciesFrequencies.field.maxStep.help=editFishingOperation.html\#captureEspecesMensurationFields
tutti.editSpeciesFrequencies.field.minStep.help=editFishingOperation.html\#captureEspecesMensurationFields
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -289,17 +289,17 @@
);
}
- public void editSpeciesFrequencies(SpeciesBatchRowModel editRow,
- SpeciesFrequencyCellComponent.FrequencyCellEditor editor) {
+ public void editSpeciesFrequencies(SpeciesFrequencyCellComponent.FrequencyCellEditor editor) {
SpeciesFrequencyUI frequencyEditor = ui.getSpeciesTabFrequencyEditor();
- frequencyEditor.getHandler().editBatch(editRow, editor);
+ frequencyEditor.getHandler().editBatch(editor);
// open frequency editor
setSpeciesSelectedCard(EditCatchesUIHandler.EDIT_FREQUENCY_CARD);
// update title
+ SpeciesBatchRowModel editRow = editor.getEditRow();
String title = buildReminderLabelTitle(editRow.getSpecies(),
editRow,
ui.getSpeciesTabFishingOperationReminderLabel().getTitle(),
@@ -362,17 +362,17 @@
}
}
- public void editBenthosFrequencies(BenthosBatchRowModel editRow,
- BenthosFrequencyCellComponent.FrequencyCellEditor editor) {
+ public void editBenthosFrequencies(BenthosFrequencyCellComponent.FrequencyCellEditor editor) {
BenthosFrequencyUI frequencyEditor = ui.getBenthosTabFrequencyEditor();
- frequencyEditor.getHandler().editBatch(editRow, editor);
+ frequencyEditor.getHandler().editBatch(editor);
// open frequency editor
setBenthosSelectedCard(EditCatchesUIHandler.EDIT_FREQUENCY_CARD);
// update title
+ BenthosBatchRowModel editRow = editor.getEditRow();
String title = buildReminderLabelTitle(editRow.getSpecies(),
editRow,
ui.getBenthosTabFishingOperationReminderLabel().getTitle(),
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchTableModel.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -216,4 +216,25 @@
}
return result;
}
+
+ /**
+ * Return the next editable row index for frequency from the given
+ * {@code rowIndex}, or {@code null} if none found.
+ *
+ * @param rowIndex the starting index where to look
+ * @return the next editable row index for frequency from the given {@code rowIndex}, or {@code null} if none found.
+ * @since 2.5
+ */
+ public Integer getNextEditableFrequencyRow(Integer rowIndex) {
+ Integer result = null;
+
+ for (int i = rowIndex, max = getRowCount(); i < max; i++) {
+ BenthosBatchRowModel entry = getEntry(i);
+ if (entry.isBatchLeaf()) {
+ result = i;
+ break;
+ }
+ }
+ return result;
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyCellComponent.java 2013-09-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyCellComponent.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -119,6 +119,8 @@
protected Integer rowIndex;
+ protected Integer nextEditableRowIndex;
+
protected Integer columnIndex;
public FrequencyCellEditor(BenthosBatchUI ui, Color computedDataColor) {
@@ -145,22 +147,35 @@
});
}
+ public BenthosBatchRowModel getEditRow() {
+ return editRow;
+ }
+
+ public Integer getNextEditableRowIndex() {
+ return nextEditableRowIndex;
+ }
+
public void startEdit() {
Preconditions.checkNotNull(tableModel, "No table model assigned.");
Preconditions.checkNotNull(editRow, "No editRow found.");
+ // compute the next editable row
+ nextEditableRowIndex =
+ tableModel.getNextEditableFrequencyRow(rowIndex + 1);
+
if (log.isDebugEnabled()) {
- log.debug("Will edit frequencies for row: " + rowIndex);
+ log.debug("Will edit frequencies for row: " + rowIndex +
+ ", nextEditableRow: " + nextEditableRowIndex);
}
EditCatchesUI parent =
SwingUtil.getParentContainer(ui, EditCatchesUI.class);
- parent.getHandler().editBenthosFrequencies(editRow, this);
+ parent.getHandler().editBenthosFrequencies(this);
}
- public void validateEdition(BenthosFrequencyUIModel frequencyModel) {
+ public void save(BenthosFrequencyUIModel frequencyModel, boolean quit) {
if (frequencyModel.isValid()) {
// at close, synch back frequencies
@@ -198,15 +213,31 @@
ui.getHandler().updateTotalFromFrequencies(editRow);
}
- int r = rowIndex;
- int c = columnIndex;
+ if (quit) {
+ int r = rowIndex;
+ int c = columnIndex;
- // stop edition
- stopCellEditing();
+ // stop edition
+ stopCellEditing();
- // reselect this cell
- AbstractSelectTableAction.doSelectCell(table, r, c);
- table.requestFocus();
+ // reselect this cell
+ AbstractSelectTableAction.doSelectCell(table, r, c);
+ table.requestFocus();
+
+ } else {
+
+ // use now the next row data
+ rowIndex = nextEditableRowIndex;
+
+ // load the row
+ editRow = tableModel.getEntry(rowIndex);
+
+ // will save the row in the species row
+ AbstractSelectTableAction.doSelectCell(table, rowIndex, columnIndex);
+
+ // start edit
+ startEdit();
+ }
}
@Override
@@ -252,6 +283,7 @@
public void cancelCellEditing() {
super.cancelCellEditing();
rowIndex = null;
+ nextEditableRowIndex = null;
columnIndex = null;
editRow = null;
}
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.css 2013-09-19 21:16:52 UTC (rev 1194)
@@ -33,7 +33,7 @@
showPopupButton: {handler.getConfig().isShowNumberEditorButton()};
}
-#editSpeciesFrequenciesTopPanel {
+#editBenthosFrequenciesTopPanel {
_help: {"tutti.editBenthosFrequencies.help"};
}
@@ -266,13 +266,22 @@
_help: {"tutti.editBenthosFrequencies.action.cancel.help"};
}
-#saveButton {
+#saveAndContinueButton {
actionIcon: save;
- text: "tutti.editBenthosFrequencies.action.save";
- toolTipText: "tutti.editBenthosFrequencies.action.save.tip";
- i18nMnemonic: "tutti.editBenthosFrequencies.action.save.mnemonic";
+ text: "tutti.editBenthosFrequencies.action.saveAndContinue";
+ toolTipText: "tutti.editBenthosFrequencies.action.saveAndContinue.tip";
+ i18nMnemonic: "tutti.editBenthosFrequencies.action.saveAndContinue.mnemonic";
+ enabled: {model.getNextEditableRowIndex() != null && model.isValid()};
+ _help: {"tutti.editBenthosFrequencies.action.saveAndContinue.help"};
+}
+
+#saveAndCloseButton {
+ actionIcon: save;
+ text: "tutti.editBenthosFrequencies.action.saveAndClose";
+ toolTipText: "tutti.editBenthosFrequencies.action.saveAndClose.tip";
+ i18nMnemonic: "tutti.editBenthosFrequencies.action.saveAndClose.mnemonic";
enabled: {model.isValid()};
- _help: {"tutti.editBenthosFrequencies.action.save.help"};
+ _help: {"tutti.editBenthosFrequencies.action.saveAndClose.help"};
}
#dataInFrequenciesWarningContainer {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.jaxx 2013-09-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUI.jaxx 2013-09-19 21:16:52 UTC (rev 1194)
@@ -233,7 +233,8 @@
<JPanel id='actionPanel' layout='{new GridLayout(1, 0)}'
constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ <JButton id='saveAndContinueButton' onActionPerformed='handler.saveAndContinue()'/>
+ <JButton id='saveAndCloseButton' onActionPerformed='handler.saveAndClose()'/>
</JPanel>
</JPanel>
\ No newline at end of file
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -476,12 +476,16 @@
getTable().scrollRowToVisible(rowIndex);
}
- public void editBatch(BenthosBatchRowModel speciesBatch, BenthosFrequencyCellComponent.FrequencyCellEditor editor) {
+ public void editBatch(BenthosFrequencyCellComponent.FrequencyCellEditor editor) {
withWeightRows.clear();
+ BenthosBatchRowModel speciesBatch = editor.getEditRow();
+
BenthosFrequencyUIModel model = getModel();
+ model.setNextEditableRowIndex(editor.getNextEditableRowIndex());
model.setTotalNumber(null);
model.setTotalWeight(null);
+ model.setSimpleCount(null);
frequencyEditor = editor;
@@ -598,10 +602,10 @@
model.setBatch(speciesBatch);
}
- public void save() {
+ public void saveAndClose() {
if (log.isDebugEnabled()) {
- log.debug("Save UI " + ui);
+ log.debug("Save And Close UI " + ui);
}
// check that we do not have doublon in length
@@ -634,11 +638,50 @@
return;
}
- frequencyEditor.validateEdition(getModel());
+ frequencyEditor.save(getModel(), true);
closeUI(ui);
}
+ public void saveAndContinue() {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Save And Continue UI " + ui);
+ }
+
+ // check that we do not have doublon in length
+ // see http://forge.codelutin.com/issues/2499
+ Set<Float> lengths = Sets.newHashSet();
+
+ Float doublon = null;
+ int index = 0;
+ for (BenthosFrequencyRowModel row : getModel().getRows()) {
+ Float lengthStep = row.getLengthStep();
+ if (!lengths.add(lengthStep)) {
+
+ // already exist
+ doublon = lengthStep;
+ break;
+ }
+ index++;
+ }
+ if (doublon != null) {
+
+ // can't save mensurations (found doublon)
+ String message =
+ _("tutti.editBenthosFrequencies.error.length.doublon",
+ doublon, index + 1);
+ TuttiUIContext.getErrorHelper().showErrorDialog(
+ message);
+
+ // focus to first error row
+ AbstractSelectTableAction.doSelectCell(getTable(), index, 0);
+ return;
+ }
+
+ frequencyEditor.save(getModel(), false);
+ }
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIModel.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -71,6 +71,8 @@
public static final String PROPERTY_EMPTY_ROWS = "emptyRows";
+ public static final String PROPERTY_NEXT_EDITABLE_ROW_INDEX = "nextEditableRowIndex";
+
public static enum ConfigurationMode {
SIMPLE,
AUTO_GEN,
@@ -141,6 +143,13 @@
*/
protected Float totalWeight;
+ /**
+ * The index of the next editable row (null if none).
+ *
+ * @since 2.5
+ */
+ protected Integer nextEditableRowIndex;
+
protected Set<BenthosFrequencyRowModel> emptyRows;
protected SampleCategoryModel sampleCategoryModel;
@@ -223,6 +232,16 @@
firePropertyChange(PROPERTY_SIMPLE_COUNT, oldValue, simpleCount);
}
+ public Integer getNextEditableRowIndex() {
+ return nextEditableRowIndex;
+ }
+
+ public void setNextEditableRowIndex(Integer nextEditableRowIndex) {
+ Object oldValue = getNextEditableRowIndex();
+ this.nextEditableRowIndex = nextEditableRowIndex;
+ firePropertyChange(PROPERTY_NEXT_EDITABLE_ROW_INDEX, oldValue, nextEditableRowIndex);
+ }
+
public boolean isSimpleMode() {
return ConfigurationMode.SIMPLE == configurationMode;
}
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchTableModel.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -215,4 +215,25 @@
}
return result;
}
+
+ /**
+ * Return the next editable row index for frequency from the given
+ * {@code rowIndex}, or {@code null} if none found.
+ *
+ * @param rowIndex the starting index where to look
+ * @return the next editable row index for frequency from the given {@code rowIndex}, or {@code null} if none found.
+ * @since 2.5
+ */
+ public Integer getNextEditableFrequencyRow(Integer rowIndex) {
+ Integer result = null;
+
+ for (int i = rowIndex, max = getRowCount(); i < max; i++) {
+ SpeciesBatchRowModel entry = getEntry(i);
+ if (entry.isBatchLeaf()) {
+ result = i;
+ break;
+ }
+ }
+ return result;
+ }
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java 2013-09-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyCellComponent.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -119,6 +119,8 @@
protected Integer rowIndex;
+ protected Integer nextEditableRowIndex;
+
protected Integer columnIndex;
public FrequencyCellEditor(SpeciesBatchUI ui, Color computedDataColor) {
@@ -145,22 +147,35 @@
});
}
+ public SpeciesBatchRowModel getEditRow() {
+ return editRow;
+ }
+
+ public Integer getNextEditableRowIndex() {
+ return nextEditableRowIndex;
+ }
+
public void startEdit() {
Preconditions.checkNotNull(tableModel, "No table model assigned.");
Preconditions.checkNotNull(editRow, "No editRow found.");
+ // compute the next editable row
+ nextEditableRowIndex =
+ tableModel.getNextEditableFrequencyRow(rowIndex + 1);
+
if (log.isDebugEnabled()) {
- log.debug("Will edit frequencies for row: " + rowIndex);
+ log.debug("Will edit frequencies for row: " + rowIndex +
+ ", nextEditableRow: " + nextEditableRowIndex);
}
EditCatchesUI parent =
SwingUtil.getParentContainer(ui, EditCatchesUI.class);
- parent.getHandler().editSpeciesFrequencies(editRow, this);
+ parent.getHandler().editSpeciesFrequencies(this);
}
- public void validateEdition(SpeciesFrequencyUIModel frequencyModel) {
+ public void save(SpeciesFrequencyUIModel frequencyModel, boolean quit) {
if (frequencyModel.isValid()) {
// at close, synch back frequencies
@@ -198,15 +213,31 @@
ui.getHandler().updateTotalFromFrequencies(editRow);
}
- int r = rowIndex;
- int c = columnIndex;
+ if (quit) {
+ int r = rowIndex;
+ int c = columnIndex;
- // stop edition
- stopCellEditing();
+ // stop edition
+ stopCellEditing();
- // reselect this cell
- AbstractSelectTableAction.doSelectCell(table, r, c);
- table.requestFocus();
+ // reselect this cell
+ AbstractSelectTableAction.doSelectCell(table, r, c);
+ table.requestFocus();
+
+ } else {
+
+ // use now the next row data
+ rowIndex = nextEditableRowIndex;
+
+ // load the row
+ editRow = tableModel.getEntry(rowIndex);
+
+ // will save the row in the species row
+ AbstractSelectTableAction.doSelectCell(table, rowIndex, columnIndex);
+
+ // start edit
+ startEdit();
+ }
}
@Override
@@ -252,6 +283,7 @@
public void cancelCellEditing() {
super.cancelCellEditing();
rowIndex = null;
+ nextEditableRowIndex = null;
columnIndex = null;
editRow = null;
}
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.css 2013-09-19 21:16:52 UTC (rev 1194)
@@ -266,13 +266,22 @@
_help: {"tutti.editSpeciesFrequencies.action.cancel.help"};
}
-#saveButton {
+#saveAndContinueButton {
actionIcon: save;
- text: "tutti.editSpeciesFrequencies.action.save";
- toolTipText: "tutti.editSpeciesFrequencies.action.save.tip";
- i18nMnemonic: "tutti.editSpeciesFrequencies.action.save.mnemonic";
+ text: "tutti.editSpeciesFrequencies.action.saveAndContinue";
+ toolTipText: "tutti.editSpeciesFrequencies.action.saveAndContinue.tip";
+ i18nMnemonic: "tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic";
+ enabled: {model.getNextEditableRowIndex() != null && model.isValid()};
+ _help: {"tutti.editSpeciesFrequencies.action.saveAndContinue.help"};
+}
+
+#saveAndCloseButton {
+ actionIcon: save;
+ text: "tutti.editSpeciesFrequencies.action.saveAndClose";
+ toolTipText: "tutti.editSpeciesFrequencies.action.saveAndClose.tip";
+ i18nMnemonic: "tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic";
enabled: {model.isValid()};
- _help: {"tutti.editSpeciesFrequencies.action.save.help"};
+ _help: {"tutti.editSpeciesFrequencies.action.saveAndClose.help"};
}
#dataInFrequenciesWarningContainer {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx 2013-09-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jaxx 2013-09-19 21:16:52 UTC (rev 1194)
@@ -233,7 +233,8 @@
<JPanel id='actionPanel' layout='{new GridLayout(1, 0)}'
constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ <JButton id='saveAndContinueButton' onActionPerformed='handler.saveAndContinue()'/>
+ <JButton id='saveAndCloseButton' onActionPerformed='handler.saveAndClose()'/>
</JPanel>
</JPanel>
\ No newline at end of file
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -474,12 +474,16 @@
getTable().scrollRowToVisible(rowIndex);
}
- public void editBatch(SpeciesBatchRowModel speciesBatch, FrequencyCellEditor editor) {
+ public void editBatch(FrequencyCellEditor editor) {
withWeightRows.clear();
+ SpeciesBatchRowModel speciesBatch = editor.getEditRow();
+
SpeciesFrequencyUIModel model = getModel();
+ model.setNextEditableRowIndex(editor.getNextEditableRowIndex());
model.setTotalNumber(null);
model.setTotalWeight(null);
+ model.setSimpleCount(null);
frequencyEditor = editor;
@@ -597,10 +601,10 @@
model.setBatch(speciesBatch);
}
- public void save() {
+ public void saveAndClose() {
if (log.isDebugEnabled()) {
- log.debug("Save UI " + ui);
+ log.debug("Save And Close UI " + ui);
}
// check that we do not have doublon in length
@@ -633,11 +637,50 @@
return;
}
- frequencyEditor.validateEdition(getModel());
+ frequencyEditor.save(getModel(), true);
closeUI(ui);
}
+ public void saveAndContinue() {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Save And Continue UI " + ui);
+ }
+
+ // check that we do not have doublon in length
+ // see http://forge.codelutin.com/issues/2499
+ Set<Float> lengths = Sets.newHashSet();
+
+ Float doublon = null;
+ int index = 0;
+ for (SpeciesFrequencyRowModel row : getModel().getRows()) {
+ Float lengthStep = row.getLengthStep();
+ if (!lengths.add(lengthStep)) {
+
+ // already exist
+ doublon = lengthStep;
+ break;
+ }
+ index++;
+ }
+ if (doublon != null) {
+
+ // can't save mensurations (found doublon)
+ String message =
+ _("tutti.editSpeciesFrequencies.error.length.doublon",
+ doublon, index + 1);
+ TuttiUIContext.getErrorHelper().showErrorDialog(
+ message);
+
+ // focus to first error row
+ AbstractSelectTableAction.doSelectCell(getTable(), index, 0);
+ return;
+ }
+
+ frequencyEditor.save(getModel(), false);
+ }
+
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java 2013-09-19 21:16:52 UTC (rev 1194)
@@ -71,6 +71,8 @@
public static final String PROPERTY_EMPTY_ROWS = "emptyRows";
+ public static final String PROPERTY_NEXT_EDITABLE_ROW_INDEX = "nextEditableRowIndex";
+
public static enum ConfigurationMode {
SIMPLE,
AUTO_GEN,
@@ -141,6 +143,13 @@
*/
protected Integer simpleCount;
+ /**
+ * The index of the next editable row (null if none).
+ *
+ * @since 2.5
+ */
+ protected Integer nextEditableRowIndex;
+
protected Set<SpeciesFrequencyRowModel> emptyRows;
protected SampleCategoryModel sampleCategoryModel;
@@ -223,6 +232,16 @@
firePropertyChange(PROPERTY_SIMPLE_COUNT, oldValue, simpleCount);
}
+ public Integer getNextEditableRowIndex() {
+ return nextEditableRowIndex;
+ }
+
+ public void setNextEditableRowIndex(Integer nextEditableRowIndex) {
+ Object oldValue = getNextEditableRowIndex();
+ this.nextEditableRowIndex = nextEditableRowIndex;
+ firePropertyChange(PROPERTY_NEXT_EDITABLE_ROW_INDEX, oldValue, nextEditableRowIndex);
+ }
+
public boolean isSimpleMode() {
return ConfigurationMode.SIMPLE == configurationMode;
}
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-19 21:16:52 UTC (rev 1194)
@@ -453,6 +453,12 @@
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=
@@ -977,6 +983,12 @@
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=
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-19 14:31:48 UTC (rev 1193)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-19 21:16:52 UTC (rev 1194)
@@ -428,9 +428,12 @@
tutti.editBenthosFrequencies.action.generate=Générer
tutti.editBenthosFrequencies.action.generate.mnemonic=G
tutti.editBenthosFrequencies.action.generate.tip=Générer les mensurations
-tutti.editBenthosFrequencies.action.save=Enregistrer
-tutti.editBenthosFrequencies.action.save.mnemonic=E
-tutti.editBenthosFrequencies.action.save.tip=Enregistrer les mensurations
+tutti.editBenthosFrequencies.action.saveAndClose=Enregistrer et Fermer
+tutti.editBenthosFrequencies.action.saveAndClose.mnemonic=F
+tutti.editBenthosFrequencies.action.saveAndClose.tip=Enregistrer les mensurations
+tutti.editBenthosFrequencies.action.saveAndContinue=Enregistrer et Continuer
+tutti.editBenthosFrequencies.action.saveAndContinue.mnemonic=E
+tutti.editBenthosFrequencies.action.saveAndContinue.tip=Enregistrer les mensurations et saisir les mensurations pour le lot suivant
tutti.editBenthosFrequencies.error.length.doublon=La classe de taille <strong>%s</strong> est utilisée plusieurs fois (deuxième occurrence trouvée à la ligne <strong>%s</strong>), ce qui n'est pas autorisé.<hr/>Veuillez corriger cela pour pouvoir enregistrer les mensurations.
tutti.editBenthosFrequencies.field.lengthStepCaracteristic=Type de mesure
tutti.editBenthosFrequencies.field.lengthStepCaracteristic.tip=Méthode de mensuration des individus
@@ -947,9 +950,12 @@
tutti.editSpeciesFrequencies.action.generate=Générer
tutti.editSpeciesFrequencies.action.generate.mnemonic=G
tutti.editSpeciesFrequencies.action.generate.tip=Générer les mensurations
-tutti.editSpeciesFrequencies.action.save=Enregistrer
-tutti.editSpeciesFrequencies.action.save.mnemonic=E
-tutti.editSpeciesFrequencies.action.save.tip=Enregistrer les mensurations
+tutti.editSpeciesFrequencies.action.saveAndClose=Enregistrer et Fermer
+tutti.editSpeciesFrequencies.action.saveAndClose.mnemonic=F
+tutti.editSpeciesFrequencies.action.saveAndClose.tip=Enregistrer les mensurations
+tutti.editSpeciesFrequencies.action.saveAndContinue=Enregistrer et Continuer
+tutti.editSpeciesFrequencies.action.saveAndContinue.mnemonic=E
+tutti.editSpeciesFrequencies.action.saveAndContinue.tip=Enregistrer les mensurations et saisir les mensurations pour le lot suivant
tutti.editSpeciesFrequencies.error.length.doublon=La classe de taille <strong>%s</strong> est utilisée plusieurs fois (deuxième occurrence trouvée à la ligne <strong>%s</strong>), ce qui n'est pas autorisé.<hr/>Veuillez corriger cela pour pouvoir enregistrer les mensurations.
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic=Type de mesure
tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip=Méthode de mensuration des individus
1
0
19 Sep '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/985/…>
Changes:
[Tony Chemit] fixes #3280: [CAPTURE] à la création d'un lot, scanner le protocole et proposer la catégorisation du protocole
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 2.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.25:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 41 modified jaxx file(s).
[ERROR] JAXX detects 2 errors :
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:1
: class jaxx.runtime.swing.editor.bean.BeanFilterableComboBox does not support attribute 'sortable'
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:1
: class jaxx.runtime.swing.editor.bean.BeanFilterableComboBox does not support attribute 'sortable'
1
2
See <http://ci.nuiton.org/jenkins/job/tutti/985/changes>
Changes:
[Tony Chemit] fixes #3280: [CAPTURE] à la création d'un lot, scanner le protocole et proposer la catégorisation du protocole
------------------------------------------
[...truncated 311 lines...]
2013-09-19 16:16:00,843 1600 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.catches.TuttiWeightComputingServiceTest
2013-09-19 16:16:00,857 1614 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@6df55f1d
2013-09-19 16:16:00,858 1615 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@4dc834d6
2013-09-19 16:16:00,858 1615 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@12bba415
2013-09-19 16:16:00,859 1616 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@74178802
2013-09-19 16:16:00,860 1617 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@1ff50057
2013-09-19 16:16:00,876 1633 [main] INFO org.nuiton.config.ApplicationConfig - Loading configuration file (classpath) : <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
2013-09-19 16:16:00,878 1635 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbCG…,> test [class fr.ifremer.tutti.service.catches.TuttiWeightComputingServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.042 sec - in fr.ifremer.tutti.service.catches.TuttiWeightComputingServiceTest
Running fr.ifremer.tutti.service.catches.multipost.TuttiMultiPostExportServiceTest
2013-09-19 16:16:00,883 1640 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.catches.multipost.TuttiMultiPostExportServiceTest
2013-09-19 16:16:00,889 1646 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@65c530da
2013-09-19 16:16:00,889 1646 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@39b4cec7
2013-09-19 16:16:00,889 1646 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@d73886a
2013-09-19 16:16:00,889 1646 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@1c00ee0c
2013-09-19 16:16:00,890 1647 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@1c76b9da
2013-09-19 16:16:00,890 1647 [main] INFO org.nuiton.config.ApplicationConfig - Loading configuration file (classpath) : <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
2013-09-19 16:16:00,891 1648 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbCG…,> test [class fr.ifremer.tutti.service.catches.multipost.TuttiMultiPostExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.012 sec - in fr.ifremer.tutti.service.catches.multipost.TuttiMultiPostExportServiceTest
Running fr.ifremer.tutti.service.UpdateSchemaTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in fr.ifremer.tutti.service.UpdateSchemaTest
Running fr.ifremer.tutti.service.sumatra.TuttiCatchesSumatraExportServiceTest
2013-09-19 16:16:00,892 1649 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.sumatra.TuttiCatchesSumatraExportServiceTest
2013-09-19 16:16:00,898 1655 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@1ac7352a
2013-09-19 16:16:00,898 1655 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@5fd61d70
2013-09-19 16:16:00,898 1655 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@6226d537
2013-09-19 16:16:00,898 1655 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@63784038
2013-09-19 16:16:00,899 1656 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@4f44fbe0
2013-09-19 16:16:00,900 1657 [main] INFO org.nuiton.config.ApplicationConfig - Loading configuration file (classpath) : <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
2013-09-19 16:16:00,900 1657 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbEx…,> test [class fr.ifremer.tutti.service.sumatra.TuttiCatchesSumatraExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in fr.ifremer.tutti.service.sumatra.TuttiCatchesSumatraExportServiceTest
Running fr.ifremer.tutti.service.pupitri.TuttiPupitriImportExportServiceTest
2013-09-19 16:16:00,901 1658 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.pupitri.TuttiPupitriImportExportServiceTest
2013-09-19 16:16:00,906 1663 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@577feece
2013-09-19 16:16:00,907 1664 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@574356c8
2013-09-19 16:16:00,907 1664 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@5f6913a
2013-09-19 16:16:00,907 1664 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@7eb879e4
2013-09-19 16:16:00,907 1664 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@5e00b48c
2013-09-19 16:16:00,908 1665 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbExport.properties
2013-09-19 16:16:00,908 1665 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbExport, test [class fr.ifremer.tutti.service.pupitri.TuttiPupitriImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.007 sec - in fr.ifremer.tutti.service.pupitri.TuttiPupitriImportExportServiceTest
Running fr.ifremer.tutti.service.ValidationServiceTest
2013-09-19 16:16:00,947 1704 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@1aa58969
2013-09-19 16:16:00,948 1705 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@7cd569b5
2013-09-19 16:16:00,948 1705 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@1f0f2a1a
2013-09-19 16:16:00,948 1705 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@1c9520e4
2013-09-19 16:16:00,948 1705 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@516edbd
2013-09-19 16:16:00,952 1709 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.ValidationService@4a9b4a2
2013-09-19 16:16:00,956 1713 [main] INFO org.nuiton.validator.NuitonValidatorFactory - Set the default provider name to xwork2
2013-09-19 16:16:01,196 1953 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.ValidationService@4a9b4a2
2013-09-19 16:16:01,203 1960 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@411d84f0
2013-09-19 16:16:01,203 1960 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@401a8346
2013-09-19 16:16:01,203 1960 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@ca0898b
2013-09-19 16:16:01,203 1960 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@7fa60b26
2013-09-19 16:16:01,204 1961 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@5bdaaf56
2013-09-19 16:16:01,204 1961 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.ValidationService@722d6636
2013-09-19 16:16:01,309 2066 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.ValidationService@722d6636
2013-09-19 16:16:01,311 2068 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@5fe0095c
2013-09-19 16:16:01,311 2068 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@446759c6
2013-09-19 16:16:01,312 2069 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@5d36f93f
2013-09-19 16:16:01,312 2069 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@4425c6e8
2013-09-19 16:16:01,312 2069 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@8ff99df
2013-09-19 16:16:01,312 2069 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.ValidationService@44cf0416
2013-09-19 16:16:01,510 2267 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.ValidationService@44cf0416
Tests run: 4, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.601 sec - in fr.ifremer.tutti.service.ValidationServiceTest
Running fr.ifremer.tutti.service.DecoratorServiceTest
2013-09-19 16:16:01,513 2270 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@f2f65c1
2013-09-19 16:16:01,514 2271 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@5ffb432e
2013-09-19 16:16:01,514 2271 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@68f7b23c
2013-09-19 16:16:01,514 2271 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@5dd6b6fa
2013-09-19 16:16:01,514 2271 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@218ec2d7
2013-09-19 16:16:01,515 2272 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.DecoratorService@5c0a664
2013-09-19 16:16:01,546 2303 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.DecoratorService@5c0a664
2013-09-19 16:16:01,549 2306 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@143f032d
2013-09-19 16:16:01,549 2306 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@34033cf4
2013-09-19 16:16:01,549 2306 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@4096d1d9
2013-09-19 16:16:01,549 2306 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@6dab1eaf
2013-09-19 16:16:01,549 2306 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@50a14c18
2013-09-19 16:16:01,549 2306 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.DecoratorService@d8ae503
2013-09-19 16:16:01,556 2313 [main] WARN org.nuiton.i18n.I18n -
I18n was not initialized! will init it with default initializer and default locale, it might not translate anything for you...
Please use the method I18n.init(I18nInitializer, Locale) before any calling to a translation...
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@496e0966, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-validator/3.0-alpha-1/nuiton-validator-3.0-alpha-1.jar!/i18n/nuiton-validator, size:1>
<I18nBundleEntry@68854108, locale:en_GB, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-validator/3.0-alpha-1/nuiton-validator-3.0-alpha-1.jar!/i18n/nuiton-validator_en_GB.properties>
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@496e0966, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-validator/3.0-alpha-1/nuiton-validator-3.0-alpha-1.jar!/i18n/nuiton-validator, size:2>
<I18nBundleEntry@cf94429a, locale:es_ES, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-validator/3.0-alpha-1/nuiton-validator-3.0-alpha-1.jar!/i18n/nuiton-validator_es_ES.properties>
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@496e0966, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-validator/3.0-alpha-1/nuiton-validator-3.0-alpha-1.jar!/i18n/nuiton-validator, size:3>
<I18nBundleEntry@3e1c175a, locale:fr_FR, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-validator/3.0-alpha-1/nuiton-validator-3.0-alpha-1.jar!/i18n/nuiton-validator_fr_FR.properties>
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@572b2d33, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-csv/3.0-alpha-1/nuiton-csv-3.0-alpha-1.jar!/i18n/nuiton-csv, size:1>
<I18nBundleEntry@309c94a6, locale:es_ES, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-csv/3.0-alpha-1/nuiton-csv-3.0-alpha-1.jar!/i18n/nuiton-csv_es_ES.properties>
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@572b2d33, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-csv/3.0-alpha-1/nuiton-csv-3.0-alpha-1.jar!/i18n/nuiton-csv, size:2>
<I18nBundleEntry@c98d9314, locale:en_GB, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-csv/3.0-alpha-1/nuiton-csv-3.0-alpha-1.jar!/i18n/nuiton-csv_en_GB.properties>
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@572b2d33, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-csv/3.0-alpha-1/nuiton-csv-3.0-alpha-1.jar!/i18n/nuiton-csv, size:3>
<I18nBundleEntry@9f246966, locale:fr_FR, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-csv/3.0-alpha-1/nuiton-csv-3.0-alpha-1.jar!/i18n/nuiton-csv_fr_FR.properties>
2013-09-19 16:16:01,642 2399 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@53a49bfa, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-utils/2.7.1/nuiton-utils-2.7.1.jar!/i18n/nuiton-utils, size:1>
<I18nBundleEntry@3db946bb, locale:es_ES, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-utils/2.7.1/nuiton-utils-2.7.1.jar!/i18n/nuiton-utils_es_ES.properties>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@53a49bfa, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-utils/2.7.1/nuiton-utils-2.7.1.jar!/i18n/nuiton-utils, size:2>
<I18nBundleEntry@ac411b7b, locale:fr_FR, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-utils/2.7.1/nuiton-utils-2.7.1.jar!/i18n/nuiton-utils_fr_FR.properties>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@53a49bfa, bundlePrefix:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-utils/2.7.1/nuiton-utils-2.7.1.jar!/i18n/nuiton-utils, size:3>
<I18nBundleEntry@d6aa4529, locale:en_GB, scope FULL, path:jar:file:/var/local/maven/data/repository/org/nuiton/nuiton-utils/2.7.1/nuiton-utils-2.7.1.jar!/i18n/nuiton-utils_en_GB.properties>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@5bfc64fc, bundlePrefix:jar:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…,> size:1>
<I18nBundleEntry@d06c7619, locale:en_GB, scope FULL, path:jar:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…>>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@5bfc64fc, bundlePrefix:jar:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…,> size:2>
<I18nBundleEntry@a6034c6b, locale:fr_FR, scope FULL, path:jar:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…>>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@174a0b92, bundlePrefix:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/classe…,> size:1>
<I18nBundleEntry@56537c39, locale:fr_FR, scope FULL, path:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/classe…>>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.bundle.I18nBundle - <I18nBundle@174a0b92, bundlePrefix:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/classe…,> size:2>
<I18nBundleEntry@80bca5e7, locale:en_GB, scope FULL, path:<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/classe…>>
2013-09-19 16:16:01,643 2400 [main] INFO org.nuiton.i18n.init.I18nInitializer - 5 bundle(s) found, in 13 file(s).
2013-09-19 16:16:01,644 2401 [main] INFO org.nuiton.i18n.I18nStore - 5 bundle(s) found, [13 file(s)].
2013-09-19 16:16:01,645 2402 [main] INFO org.nuiton.i18n.I18nLanguage - Encoding UTF-8 will be used to load files
2013-09-19 16:16:01,655 2412 [main] INFO org.nuiton.i18n.I18nStore - I18nLanguage <locale: en_GB, nbStences:332>, nbEntries: 5, nbSentences: 332.
2013-09-19 16:16:01,656 2413 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.DecoratorService@d8ae503
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.145 sec - in fr.ifremer.tutti.service.DecoratorServiceTest
Running fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportServiceTest
2013-09-19 16:16:01,658 2415 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportServiceTest
2013-09-19 16:16:01,661 2418 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@666c5994
2013-09-19 16:16:01,661 2418 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@74379ada
2013-09-19 16:16:01,661 2418 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@6e9799d1
2013-09-19 16:16:01,661 2418 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@22f3a110
2013-09-19 16:16:01,661 2418 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@d9326df
2013-09-19 16:16:01,661 2418 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS.properties
2013-09-19 16:16:01,662 2419 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS, test [class fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in fr.ifremer.tutti.service.protocol.TuttiProtocolImportExportServiceTest
Running fr.ifremer.tutti.service.referential.TuttiReferentialImportExportServiceTest
2013-09-19 16:16:01,664 2421 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.referential.TuttiReferentialImportExportServiceTest
2013-09-19 16:16:01,666 2423 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@48027886
2013-09-19 16:16:01,666 2423 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@514560c0
2013-09-19 16:16:01,666 2423 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@21d306ef
2013-09-19 16:16:01,666 2423 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@256c4642
2013-09-19 16:16:01,667 2424 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@d70cdf9
2013-09-19 16:16:01,667 2424 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - No configuration file found in classpath at tutti-test-write-dbCGFS.properties
2013-09-19 16:16:01,667 2424 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at src/test/dbCGFS, test [class fr.ifremer.tutti.service.referential.TuttiReferentialImportExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.004 sec - in fr.ifremer.tutti.service.referential.TuttiReferentialImportExportServiceTest
Running fr.ifremer.tutti.service.export.TuttiExportServiceTest
2013-09-19 16:16:01,671 2428 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.TuttiExportServiceTest
2013-09-19 16:16:01,673 2430 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@1a8dba6b
2013-09-19 16:16:01,674 2431 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@31f04eff
2013-09-19 16:16:01,674 2431 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@17d260f6
2013-09-19 16:16:01,674 2431 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@74dbc2b1
2013-09-19 16:16:01,674 2431 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@19ea760c
2013-09-19 16:16:01,674 2431 [main] INFO org.nuiton.config.ApplicationConfig - Loading configuration file (classpath) : <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
2013-09-19 16:16:01,675 2432 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbCG…,> test [class fr.ifremer.tutti.service.export.TuttiExportServiceTest] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in fr.ifremer.tutti.service.export.TuttiExportServiceTest
Running fr.ifremer.tutti.service.export.TuttiExportService2Test
2013-09-19 16:16:01,675 2432 [main] INFO fr.ifremer.tutti.persistence.test.DatabaseResource - Prepare test class fr.ifremer.tutti.service.export.TuttiExportService2Test
2013-09-19 16:16:01,678 2435 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter fr.ifremer.tutti.persistence.config.SampleCategoryModelConverter@1a71e7c
2013-09-19 16:16:01,678 2435 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URLConverter@7b07dd21
2013-09-19 16:16:01,678 2435 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.URIConverter@4146e0a1
2013-09-19 16:16:01,678 2435 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.VersionConverter@14458b82
2013-09-19 16:16:01,678 2435 [main] INFO org.nuiton.util.converter.ConverterUtil - register converter org.nuiton.util.converter.LocaleConverter@71edd8a0
2013-09-19 16:16:01,679 2436 [main] INFO org.nuiton.config.ApplicationConfig - Loading configuration file (classpath) : <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/test-c…>
2013-09-19 16:16:01,679 2436 [main] WARN fr.ifremer.tutti.persistence.test.DatabaseResource - Could not find db at <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/src/test/dbEx…,> test [class fr.ifremer.tutti.service.export.TuttiExportService2Test] is skipped.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in fr.ifremer.tutti.service.export.TuttiExportService2Test
Results :
Tests run: 19, Failures: 0, Errors: 0, Skipped: 10
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ tutti-service ---
[INFO] Building jar: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…>
[INFO]
[INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ tutti-service ---
[INFO]
[INFO] --- maven-install-plugin:2.5:install (default-install) @ tutti-service ---
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/2.5-SNAPSHOT/tutti-service-2.5-SNAPSHOT.jar
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/2.5-SNAPSHOT/tutti-service-2.5-SNAPSHOT.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 2.5-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/target>
[INFO]
[INFO] --- maven-enforcer-plugin:1.3.1:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.25:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 41 modified jaxx file(s).
[ERROR] JAXX detects 2 errors :
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:1
: class jaxx.runtime.swing.editor.bean.BeanFilterableComboBox does not support attribute 'sortable'
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/src/main/jav…>:1
: class jaxx.runtime.swing.editor.bean.BeanFilterableComboBox does not support attribute 'sortable'
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [2.154s]
[INFO] Tutti :: Persistence .............................. SUCCESS [8.036s]
[INFO] Tutti :: Service .................................. SUCCESS [4.551s]
[INFO] Tutti :: UI ....................................... FAILURE [9.235s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.591s
[INFO] Finished at: Thu Sep 19 16:16:11 CEST 2013
[INFO] Final Memory: 55M/247M
[INFO] ------------------------------------------------------------------------
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-09-19_16-15-44/archive/fr.ifremer.tutti/tutti-service/2.5-SNAPSHOT/tutti-service-2.5-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-service/target/tutti-…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-09-19_16-15-44/archive/fr.ifremer.tutti/tutti-service/2.5-SNAPSHOT/tutti-service-2.5-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-ui-swing/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-09-19_16-15-44/archive/fr.ifremer.tutti/tutti-ui-swing/2.5-SNAPSHOT/tutti-ui-swing-2.5-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-09-19_16-15-44/archive/fr.ifremer/tutti/2.5-SNAPSHOT/tutti-2.5-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/target/tutti-2.5-SNAPSHOT-s…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-09-19_16-15-44/archive/fr.ifremer/tutti/2.5-SNAPSHOT/tutti-2.5-SNAPSHOT-site_fr.xml
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-09-19_16-15-44/archive/fr.ifremer.tutti/tutti-persistence/2.5-SNAPSHOT/tutti-persistence-2.5-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk/tutti-persistence/target/tu…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-09-19_16-15-44/archive/fr.ifremer.tutti/tutti-persistence/2.5-SNAPSHOT/tutti-persistence-2.5-SNAPSHOT.jar
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.5.25:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
cause : Aborting due to errors reported by jaxxc
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.nuiton.jaxx:jaxx-maven-plugin:2.5.25:generate (default) on project tutti-ui-swing: Aborting due to errors reported by jaxxc
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:174)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:100)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:66)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.maven.plugin.MojoExecutionException: Aborting due to errors reported by jaxxc
at org.nuiton.jaxx.plugin.GenerateMojo.doAction(GenerateMojo.java:517)
at org.nuiton.plugin.AbstractPlugin.execute(AbstractPlugin.java:132)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 26 more
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com chemit(a)codelutin.com
channel stopped
1
2
Author: tchemit
Date: 2013-09-19 16:31:48 +0200 (Thu, 19 Sep 2013)
New Revision: 1193
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1193
Log:
refs #3293: Updates jaxx to 2.5.26
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2013-09-19 14:09:05 UTC (rev 1192)
+++ trunk/pom.xml 2013-09-19 14:31:48 UTC (rev 1193)
@@ -131,7 +131,7 @@
<eugenePluginVersion>2.7</eugenePluginVersion>
<hibernateVersion>3.6.10.Final</hibernateVersion>
- <jaxxVersion>2.5.25</jaxxVersion>
+ <jaxxVersion>2.5.26-SNAPSHOT</jaxxVersion>
<swingXVersion>1.6.4</swingXVersion>
<xworkVersion>2.3.15.1</xworkVersion>
1
0
19 Sep '13
Author: tchemit
Date: 2013-09-19 16:09:05 +0200 (Thu, 19 Sep 2013)
New Revision: 1192
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1192
Log:
fixes #3280: [CAPTURE] ?\195?\160 la cr?\195?\169ation d'un lot, scanner le protocole et proposer la cat?\195?\169gorisation du protocole
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.jaxx
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/CreateBenthosBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchTableModel.java
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/species/create/CreateSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx
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/CreateSpeciesBatchUIModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java
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/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml
trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml
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-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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.css 2013-09-19 14:09:05 UTC (rev 1192)
@@ -105,7 +105,12 @@
}
#categoryComboBox {
+ property: selectedCategory;
+ sortable: false;
+ showDecorator: false;
+ showReset: false;
selectedItem: {model.getSelectedCategory()};
+ data: {model.getCategory()};
}
#sampleWeightLabel {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.jaxx 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUI.jaxx 2013-09-19 14:09:05 UTC (rev 1192)
@@ -144,8 +144,9 @@
<JLabel id='categoryLabel'/>
</cell>
<cell weightx='1.0'>
- <JComboBox id='categoryComboBox'
- onActionPerformed="model.setSelectedCategory((SampleCategoryModelEntry) categoryComboBox.getSelectedItem());"/>
+ <BeanFilterableComboBox id='categoryComboBox'
+ constructorParams='this'
+ genericType='SampleCategoryModelEntry'/>
</cell>
</row>
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIHandler.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -43,7 +43,6 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchUIModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchTableModel;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUIModel;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
@@ -57,7 +56,6 @@
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
-import javax.swing.DefaultComboBoxModel;
import javax.swing.JComponent;
import java.awt.Dimension;
import java.beans.PropertyChangeEvent;
@@ -80,17 +78,17 @@
private final CaracteristicQualitativeValue sortedValue;
- protected boolean categoryIsAdjusting;
+ private SampleCategoryModel sampleCategoryModel;
public CreateBenthosBatchUIHandler(TuttiUI parentUi,
CreateBenthosBatchUI ui) {
super(parentUi.getHandler().getContext(), ui,
+ SplitBenthosBatchRowModel.PROPERTY_SELECTED,
SplitBenthosBatchRowModel.PROPERTY_CATEGORY_VALUE,
SplitBenthosBatchRowModel.PROPERTY_WEIGHT);
this.persistenceService = context.getPersistenceService();
- SampleCategoryModel sampleCategoryModel =
- getDataContext().getSampleCategoryModel();
+ this.sampleCategoryModel = getDataContext().getSampleCategoryModel();
SampleCategoryModelEntry caracteristic = sampleCategoryModel.getCategoryById(sampleCategoryModel.getFirstCategoryId());
@@ -124,7 +122,7 @@
@Override
protected boolean isRowValid(SplitBenthosBatchRowModel row) {
- return row.isValid();
+ return row.isSelected();
}
@Override
@@ -143,19 +141,33 @@
}
@Override
+ protected void onAfterSelectedRowChanged(int oldRowIndex,
+ SplitBenthosBatchRowModel oldRow,
+ int newRowIndex,
+ SplitBenthosBatchRowModel newRow) {
+ super.onAfterSelectedRowChanged(oldRowIndex, oldRow, newRowIndex, newRow);
+ if (newRow != null) {
+
+ // Recompute the valid state of the row
+ recomputeRowValidState(newRow);
+
+ // Need to recompute the sample weight
+ computeSampleWeight();
+ }
+ }
+
+ @Override
protected void onRowModified(int rowIndex,
SplitBenthosBatchRowModel row,
String propertyName,
Object oldValue,
Object newValue) {
+ // Recompute the valid state of the row
recomputeRowValidState(row);
- if (SplitBenthosBatchRowModel.PROPERTY_WEIGHT.equals(propertyName)) {
-
- // Need to recompute the sample weight
- computeSampleWeight(row);
- }
+ // Need to recompute the sample weight
+ computeSampleWeight();
}
//------------------------------------------------------------------------//
@@ -165,8 +177,6 @@
@Override
public void beforeInitUI() {
- SampleCategoryModel sampleCategoryModel =
- getDataContext().getSampleCategoryModel();
CreateBenthosBatchUIModel model =
new CreateBenthosBatchUIModel(sampleCategoryModel);
ui.setContextValue(model);
@@ -183,6 +193,18 @@
null,
DecoratorService.FROM_PROTOCOL);
+ List<SampleCategoryModelEntry> categories = Lists.newArrayList();
+
+ // add all categories
+ categories.addAll(sampleCategoryModel.getCategory());
+
+ // remove the first one (V/HV)
+ categories.remove(0);
+
+ initBeanFilterableComboBox(ui.getCategoryComboBox(),
+ Lists.<SampleCategoryModelEntry>newArrayList(categories),
+ null);
+
Caracteristic caracteristic =
persistenceService.getSortedUnsortedCaracteristic();
@@ -206,12 +228,9 @@
if (newValue == null || source.getSpeciesUsed() == null) {
- // reste V/HV category
+ // reset V/HV category
source.setSampleCategory(null);
- // reset categories
- source.setCategory(null);
-
} else {
// look for best value for V/HV category : if sorted is available then use it
@@ -232,41 +251,12 @@
}
source.setSampleCategory(newCategory);
- // recompute possible categories
- List<SampleCategoryModelEntry> categories = Lists.newArrayList();
-
- SampleCategoryModel sampleCategoryModel =
- getModel().getSampleCategoryModel();
-
- // add all categories
- categories.addAll(sampleCategoryModel.getCategory());
-
- // remove the first one (V/HV)
- categories.remove(0);
-
// reset selected category
if (log.isInfoEnabled()) {
log.info("Remove selected category before changing the categories...");
}
source.setSelectedCategory(null);
- categoryIsAdjusting = true;
-
- try {
-
- // set universe of categories
- if (log.isInfoEnabled()) {
- log.info("Categories to use: " + categories);
- }
-
- source.setCategory(categories);
-
- // force to remove the first selected value of the combo-box
- ui.getCategoryComboBox().setSelectedItem(null);
- } finally {
- categoryIsAdjusting = false;
- }
-
// compute the selected sample category
SampleCategoryModelEntry selectedCategory = null;
@@ -294,6 +284,8 @@
if (selectedCategory == null) {
// by default use the first one
+ List<SampleCategoryModelEntry> categories =
+ getUI().getCategoryComboBox().getData();
selectedCategory = categories.get(0);
if (log.isInfoEnabled()) {
@@ -304,56 +296,33 @@
if (log.isInfoEnabled()) {
log.info("Selected category : " + selectedCategory);
}
- ui.getCategoryComboBox().setSelectedItem(selectedCategory);
- }
- }
- });
+ // force reset of selected category
+ source.setSelectedCategory(null);
- // when category changed, remove selected category
- model.addPropertyChangeListener(CreateSpeciesBatchUIModel.PROPERTY_CATEGORY, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
-
-// CreateSpeciesBatchUIModel source =
-// (CreateSpeciesBatchUIModel) evt.getSource();
-
-// // unselect previous selected category
-// source.setSelectedCategory(null);
-
- // fill comboBox with new list
- List<SampleCategoryModelEntry> data = (List<SampleCategoryModelEntry>) evt.getNewValue();
- if (data == null) {
-
- ui.getCategoryComboBox().setModel(new DefaultComboBoxModel());
- } else {
- ui.getCategoryComboBox().setModel(new DefaultComboBoxModel(data.toArray()));
+ // set new selected category
+ source.setSelectedCategory(selectedCategory);
}
}
});
// when selected category changed, regenerate the table model + add inside some default rows
- model.addPropertyChangeListener(CreateSpeciesBatchUIModel.PROPERTY_SELECTED_CATEGORY, new PropertyChangeListener() {
+ model.addPropertyChangeListener(CreateBenthosBatchUIModel.PROPERTY_SELECTED_CATEGORY, new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
- if (!categoryIsAdjusting) {
+ // can change the selected category
+ CreateBenthosBatchUIModel source =
+ (CreateBenthosBatchUIModel) evt.getSource();
- // can change the selected category
- CreateSpeciesBatchUIModel source =
- (CreateSpeciesBatchUIModel) evt.getSource();
+ // when selected category change, sample total weight is reset
+ source.setSampleWeight(null);
- // when selected category change, sample total weight is reset
- source.setSampleWeight(null);
-
- SampleCategoryModelEntry newValue =
- (SampleCategoryModelEntry) evt.getNewValue();
- generateTableModel(newValue);
- }
+ SampleCategoryModelEntry newValue =
+ (SampleCategoryModelEntry) evt.getNewValue();
+ generateTableModel(newValue);
}
});
- ui.getCategoryComboBox().setRenderer(newListCellRender(SampleCategoryModelEntry.class));
-
generateTableModel(null);
initTable(getTable());
@@ -437,31 +406,31 @@
model.setAvailableSpecies(speciesToUse);
}
- public void saveAndClose() {
+ public void saveAndContinue() {
if (log.isDebugEnabled()) {
- log.debug("Save and close UI " + ui);
+ log.debug("Save and Continue UI " + ui);
}
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
- parent.getBenthosTabContent().getHandler().addBatch(getModel());
+ BenthosBatchUI benthosTabContent = parent.getBenthosTabContent();
+ benthosTabContent.getHandler().addBatch(getModel());
- // close dialog
- closeUI(ui);
+ // re-open this screen
+ openUI(benthosTabContent.getModel());
}
- public void saveAndContinue() {
+ public void saveAndClose() {
if (log.isDebugEnabled()) {
- log.debug("Save and continue UI " + ui);
+ log.debug("Save and Close UI " + ui);
}
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
- BenthosBatchUI benthosTabContent = parent.getBenthosTabContent();
- benthosTabContent.getHandler().addBatch(getModel());
+ parent.getBenthosTabContent().getHandler().addBatch(getModel());
- // re-open this screen
- openUI(benthosTabContent.getModel());
+ // close dialog
+ closeUI(ui);
}
public Species openAddSpeciesDialog(String title, List<Species> species) {
@@ -480,21 +449,19 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected void computeSampleWeight(SplitBenthosBatchRowModel row) {
+ protected void computeSampleWeight() {
- if (log.isInfoEnabled()) {
- log.info("Will recompute sample weight from row: " + row);
- }
-
Float result = null;
List<SplitBenthosBatchRowModel> rows = getTableModel().getRows();
- for (SplitBenthosBatchRowModel rowModel : rows) {
- Float weight = rowModel.getWeight();
- if (weight != null) {
- if (result == null) {
- result = 0f;
+ for (SplitBenthosBatchRowModel row : rows) {
+ if (row.isSelected()) {
+ Float weight = row.getWeight();
+ if (weight != null) {
+ if (result == null) {
+ result = 0f;
+ }
+ result += weight;
}
- result += weight;
}
}
getModel().setSampleWeight(result);
@@ -502,8 +469,8 @@
protected void generateTableModel(SampleCategoryModelEntry category) {
- if (log.isInfoEnabled()) {
- log.info("Generate table model for category " + category);
+ if (log.isDebugEnabled()) {
+ log.debug("Generate table model for category " + category);
}
// when generate a new table model, then reset previous rows from model
getModel().setRows(null);
@@ -536,8 +503,8 @@
if (data != null) {
- if (log.isInfoEnabled()) {
- log.info("Got " + data.sizeQualitativeValue() + " qualitative data to add");
+ if (log.isDebugEnabled()) {
+ log.debug("Got " + data.sizeQualitativeValue() + " qualitative data to add");
}
addColumnToModel(columnModel,
null,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -32,7 +32,6 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.SelectedCategoryAble;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchRowModel;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUI;
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -40,7 +39,7 @@
import java.util.List;
/**
- * Model of {@link CreateSpeciesBatchUI}.
+ * Model of {@link CreateBenthosBatchUI}.
*
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
@@ -250,6 +249,20 @@
return result;
}
+ public boolean isCategoryIsFilled() {
+ boolean result = selectedCategory != null;
+ if (result) {
+ result = false;
+ for (SplitBenthosBatchRowModel rowModel : getRows()) {
+ if (rowModel.isValid()) {
+ result = true;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
@Override
protected CreateBenthosBatchUIModel newEntity() {
return new CreateBenthosBatchUIModel(sampleCategoryModel);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchRowModel.java 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchRowModel.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -49,6 +49,8 @@
public static final String PROPERTY_WEIGHT = "weight";
+ public static final String PROPERTY_SELECTED = "selected";
+
/**
* Delegate sample category which contains category value + weight.
*
@@ -56,6 +58,8 @@
*/
protected final SampleCategory<Serializable> category = SampleCategory.newSample(null);
+ protected boolean selected;
+
protected static final Binder<SplitBenthosBatchRowModel, SplitBenthosBatchRowModel> fromBeanBinder =
BinderFactory.newBinder(SplitBenthosBatchRowModel.class,
SplitBenthosBatchRowModel.class);
@@ -108,6 +112,16 @@
firePropertyChange(PROPERTY_WEIGHT, oldValue, weight);
}
+ public boolean isSelected() {
+ return selected;
+ }
+
+ public void setSelected(boolean selected) {
+ Object oldValue = isSelected();
+ this.selected = selected;
+ firePropertyChange(PROPERTY_SELECTED, oldValue, selected);
+ }
+
@Override
protected SplitBenthosBatchRowModel newEntity() {
return new SplitBenthosBatchRowModel();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchTableModel.java 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchTableModel.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -43,7 +43,7 @@
private static final long serialVersionUID = 1L;
public static final ColumnIdentifier<SplitBenthosBatchRowModel> SELECTED = ColumnIdentifier.newId(
- SplitBenthosBatchRowModel.PROPERTY_VALID,
+ SplitBenthosBatchRowModel.PROPERTY_SELECTED,
n_("tutti.splitBenthosBatch.table.header.selected"),
n_("tutti.splitBenthosBatch.table.header.selected"));
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -34,7 +34,6 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.BenthosBatchRowModel;
-import fr.ifremer.tutti.ui.swing.content.operation.catches.species.split.SplitSpeciesBatchTableModel;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
@@ -72,6 +71,7 @@
public SplitBenthosBatchUIHandler(EditCatchesUI parentUi,
SplitBenthosBatchUI ui) {
super(parentUi.getHandler().getContext(), ui,
+ SplitBenthosBatchRowModel.PROPERTY_SELECTED,
SplitBenthosBatchRowModel.PROPERTY_CATEGORY_VALUE,
SplitBenthosBatchRowModel.PROPERTY_WEIGHT);
}
@@ -92,7 +92,7 @@
@Override
protected boolean isRowValid(SplitBenthosBatchRowModel row) {
- return row.isValid();
+ return row.isSelected();
}
@Override
@@ -110,20 +110,32 @@
}
}
+
@Override
+ protected void onAfterSelectedRowChanged(int oldRowIndex, SplitBenthosBatchRowModel oldRow, int newRowIndex, SplitBenthosBatchRowModel newRow) {
+ super.onAfterSelectedRowChanged(oldRowIndex, oldRow, newRowIndex, newRow);
+ if (newRow != null) {
+
+ // Recompute the valid state of the row
+ recomputeRowValidState(newRow);
+
+ // Need to recompute the sample weight
+ computeSampleWeight();
+ }
+ }
+
+ @Override
protected void onRowModified(int rowIndex,
SplitBenthosBatchRowModel row,
String propertyName,
Object oldValue,
Object newValue) {
+ // Recompute the valid state of the row
recomputeRowValidState(row);
- if (SplitBenthosBatchRowModel.PROPERTY_WEIGHT.equals(propertyName)) {
-
- // Need to recompute the sample weight
- computeSampleWeight(row);
- }
+ // Need to recompute the sample weight
+ computeSampleWeight();
}
//------------------------------------------------------------------------//
@@ -316,21 +328,19 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected void computeSampleWeight(SplitBenthosBatchRowModel row) {
+ protected void computeSampleWeight() {
- if (log.isDebugEnabled()) {
- log.debug("Will recompute sample weight from row: " + row);
- }
-
Float result = null;
List<SplitBenthosBatchRowModel> rows = getTableModel().getRows();
- for (SplitBenthosBatchRowModel rowModel : rows) {
- Float weight = rowModel.getWeight();
- if (weight != null) {
- if (result == null) {
- result = 0f;
+ for (SplitBenthosBatchRowModel row : rows) {
+ if (row.isSelected()) {
+ Float weight = row.getWeight();
+ if (weight != null) {
+ if (result == null) {
+ result = 0f;
+ }
+ result += weight;
}
- result += weight;
}
}
getModel().setSampleWeight(result);
@@ -361,7 +371,7 @@
} else {
editableCategoryValue = true;
addFloatColumnToModel(columnModel,
- SplitSpeciesBatchTableModel.EDITABLE_CATEGORY_VALUE,
+ SplitBenthosBatchTableModel.EDITABLE_CATEGORY_VALUE,
TuttiUI.DECIMAL1_PATTERN);
}
@@ -373,12 +383,12 @@
addColumnToModel(columnModel,
null,
newTableCellRender(CaracteristicQualitativeValue.class),
- SplitSpeciesBatchTableModel.READ_ONLY_CATEGORY_VALUE);
+ SplitBenthosBatchTableModel.READ_ONLY_CATEGORY_VALUE);
}
{ // Weight
addFloatColumnToModel(columnModel,
- SplitSpeciesBatchTableModel.WEIGHT,
+ SplitBenthosBatchTableModel.WEIGHT,
TuttiUI.DECIMAL3_PATTERN);
}
}
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.css 2013-09-19 14:09:05 UTC (rev 1192)
@@ -105,7 +105,12 @@
}
#categoryComboBox {
+ property: selectedCategory;
+ sortable: false;
+ showDecorator: false;
+ showReset: false;
selectedItem: {model.getSelectedCategory()};
+ data: {model.getCategory()};
}
#sampleWeightLabel {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUI.jaxx 2013-09-19 14:09:05 UTC (rev 1192)
@@ -144,8 +144,9 @@
<JLabel id='categoryLabel'/>
</cell>
<cell weightx='1.0'>
- <JComboBox id='categoryComboBox'
- onActionPerformed="model.setSelectedCategory((SampleCategoryModelEntry) categoryComboBox.getSelectedItem());"/>
+ <BeanFilterableComboBox id='categoryComboBox'
+ constructorParams='this'
+ genericType='SampleCategoryModelEntry'/>
</cell>
</row>
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIHandler.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -56,7 +56,6 @@
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
-import javax.swing.DefaultComboBoxModel;
import javax.swing.JComponent;
import java.awt.Dimension;
import java.beans.PropertyChangeEvent;
@@ -80,17 +79,17 @@
private final CaracteristicQualitativeValue sortedValue;
- protected boolean categoryIsAdjusting;
+ private SampleCategoryModel sampleCategoryModel;
public CreateSpeciesBatchUIHandler(TuttiUI parentUi,
CreateSpeciesBatchUI ui) {
super(parentUi.getHandler().getContext(), ui,
+ SplitSpeciesBatchRowModel.PROPERTY_SELECTED,
SplitSpeciesBatchRowModel.PROPERTY_CATEGORY_VALUE,
SplitSpeciesBatchRowModel.PROPERTY_WEIGHT);
this.persistenceService = context.getPersistenceService();
- SampleCategoryModel sampleCategoryModel =
- getDataContext().getSampleCategoryModel();
+ this.sampleCategoryModel = getDataContext().getSampleCategoryModel();
SampleCategoryModelEntry caracteristic = sampleCategoryModel.getCategoryById(sampleCategoryModel.getFirstCategoryId());
@@ -124,7 +123,7 @@
@Override
protected boolean isRowValid(SplitSpeciesBatchRowModel row) {
- return row.isValid();
+ return row.isSelected();
}
@Override
@@ -143,19 +142,33 @@
}
@Override
+ protected void onAfterSelectedRowChanged(int oldRowIndex,
+ SplitSpeciesBatchRowModel oldRow,
+ int newRowIndex,
+ SplitSpeciesBatchRowModel newRow) {
+ super.onAfterSelectedRowChanged(oldRowIndex, oldRow, newRowIndex, newRow);
+ if (newRow != null) {
+
+ // Recompute the valid state of the row
+ recomputeRowValidState(newRow);
+
+ // Need to recompute the sample weight
+ computeSampleWeight();
+ }
+ }
+
+ @Override
protected void onRowModified(int rowIndex,
SplitSpeciesBatchRowModel row,
String propertyName,
Object oldValue,
Object newValue) {
+ // Recompute the valid state of the row
recomputeRowValidState(row);
- if (SplitSpeciesBatchRowModel.PROPERTY_WEIGHT.equals(propertyName)) {
-
- // Need to recompute the sample weight
- computeSampleWeight(row);
- }
+ // Need to recompute the sample weight
+ computeSampleWeight();
}
//------------------------------------------------------------------------//
@@ -165,8 +178,6 @@
@Override
public void beforeInitUI() {
- SampleCategoryModel sampleCategoryModel =
- getDataContext().getSampleCategoryModel();
CreateSpeciesBatchUIModel model =
new CreateSpeciesBatchUIModel(sampleCategoryModel);
ui.setContextValue(model);
@@ -183,6 +194,18 @@
null,
DecoratorService.FROM_PROTOCOL);
+ List<SampleCategoryModelEntry> categories = Lists.newArrayList();
+
+ // add all categories
+ categories.addAll(sampleCategoryModel.getCategory());
+
+ // remove the first one (V/HV)
+ categories.remove(0);
+
+ initBeanFilterableComboBox(ui.getCategoryComboBox(),
+ Lists.<SampleCategoryModelEntry>newArrayList(categories),
+ null);
+
Caracteristic caracteristic =
persistenceService.getSortedUnsortedCaracteristic();
@@ -206,12 +229,9 @@
if (newValue == null || source.getSpeciesUsed() == null) {
- // reste V/HV category
+ // reset V/HV category
source.setSampleCategory(null);
- // reset categories
- source.setCategory(null);
-
} else {
// look for best value for V/HV category : if sorted is available then use it
@@ -232,41 +252,12 @@
}
source.setSampleCategory(newCategory);
- // recompute possible categories
- List<SampleCategoryModelEntry> categories = Lists.newArrayList();
-
- SampleCategoryModel sampleCategoryModel =
- getModel().getSampleCategoryModel();
-
- // add all categories
- categories.addAll(sampleCategoryModel.getCategory());
-
- // remove the first one (V/HV)
- categories.remove(0);
-
// reset selected category
if (log.isInfoEnabled()) {
log.info("Remove selected category before changing the categories...");
}
source.setSelectedCategory(null);
- categoryIsAdjusting = true;
-
- try {
-
- // set universe of categories
- if (log.isInfoEnabled()) {
- log.info("Categories to use: " + categories);
- }
-
- source.setCategory(categories);
-
- // force to remove the first selected value of the combo-box
- ui.getCategoryComboBox().setSelectedItem(null);
- } finally {
- categoryIsAdjusting = false;
- }
-
// compute the selected sample category
SampleCategoryModelEntry selectedCategory = null;
@@ -294,6 +285,8 @@
if (selectedCategory == null) {
// by default use the first one
+ List<SampleCategoryModelEntry> categories =
+ getUI().getCategoryComboBox().getData();
selectedCategory = categories.get(0);
if (log.isInfoEnabled()) {
@@ -304,29 +297,11 @@
if (log.isInfoEnabled()) {
log.info("Selected category : " + selectedCategory);
}
- ui.getCategoryComboBox().setSelectedItem(selectedCategory);
- }
- }
- });
+ // force reset of selected category
+ source.setSelectedCategory(null);
- // when category changed, remove selected category
- model.addPropertyChangeListener(CreateSpeciesBatchUIModel.PROPERTY_CATEGORY, new PropertyChangeListener() {
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
-
-// CreateSpeciesBatchUIModel source =
-// (CreateSpeciesBatchUIModel) evt.getSource();
-
-// // unselect previous selected category
-// source.setSelectedCategory(null);
-
- // fill comboBox with new list
- List<SampleCategoryModelEntry> data = (List<SampleCategoryModelEntry>) evt.getNewValue();
- if (data == null) {
-
- ui.getCategoryComboBox().setModel(new DefaultComboBoxModel());
- } else {
- ui.getCategoryComboBox().setModel(new DefaultComboBoxModel(data.toArray()));
+ // set new selected category
+ source.setSelectedCategory(selectedCategory);
}
}
});
@@ -336,24 +311,19 @@
@Override
public void propertyChange(PropertyChangeEvent evt) {
- if (!categoryIsAdjusting) {
+ // can change the selected category
+ CreateSpeciesBatchUIModel source =
+ (CreateSpeciesBatchUIModel) evt.getSource();
- // can change the selected category
- CreateSpeciesBatchUIModel source =
- (CreateSpeciesBatchUIModel) evt.getSource();
+ // when selected category change, sample total weight is reset
+ source.setSampleWeight(null);
- // when selected category change, sample total weight is reset
- source.setSampleWeight(null);
-
- SampleCategoryModelEntry newValue =
- (SampleCategoryModelEntry) evt.getNewValue();
- generateTableModel(newValue);
- }
+ SampleCategoryModelEntry newValue =
+ (SampleCategoryModelEntry) evt.getNewValue();
+ generateTableModel(newValue);
}
});
- ui.getCategoryComboBox().setRenderer(newListCellRender(SampleCategoryModelEntry.class));
-
generateTableModel(null);
initTable(getTable());
@@ -439,7 +409,7 @@
public void saveAndContinue() {
if (log.isDebugEnabled()) {
- log.debug("Save UI " + ui);
+ log.debug("Save And Continue UI " + ui);
}
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
@@ -479,21 +449,19 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected void computeSampleWeight(SplitSpeciesBatchRowModel row) {
+ protected void computeSampleWeight() {
- if (log.isInfoEnabled()) {
- log.info("Will recompute sample weight from row: " + row);
- }
-
Float result = null;
List<SplitSpeciesBatchRowModel> rows = getTableModel().getRows();
- for (SplitSpeciesBatchRowModel rowModel : rows) {
- Float weight = rowModel.getWeight();
- if (weight != null) {
- if (result == null) {
- result = 0f;
+ for (SplitSpeciesBatchRowModel row : rows) {
+ if (row.isSelected()) {
+ Float weight = row.getWeight();
+ if (weight != null) {
+ if (result == null) {
+ result = 0f;
+ }
+ result += weight;
}
- result += weight;
}
}
getModel().setSampleWeight(result);
@@ -501,8 +469,8 @@
protected void generateTableModel(SampleCategoryModelEntry category) {
- if (log.isInfoEnabled()) {
- log.info("Generate table model for category " + category);
+ if (log.isDebugEnabled()) {
+ log.debug("Generate table model for category " + category);
}
// when generate a new table model, then reset previous rows from model
getModel().setRows(null);
@@ -535,8 +503,8 @@
if (data != null) {
- if (log.isInfoEnabled()) {
- log.info("Got " + data.sizeQualitativeValue() + " qualitative data to add");
+ if (log.isDebugEnabled()) {
+ log.debug("Got " + data.sizeQualitativeValue() + " qualitative data to add");
}
addColumnToModel(columnModel,
null,
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel.java 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -250,6 +250,20 @@
return result;
}
+ public boolean isCategoryIsFilled() {
+ boolean result = selectedCategory != null;
+ if (result) {
+ result = false;
+ for (SplitSpeciesBatchRowModel rowModel : getRows()) {
+ if (rowModel.isValid()) {
+ result = true;
+ break;
+ }
+ }
+ }
+ return result;
+ }
+
@Override
protected CreateSpeciesBatchUIModel newEntity() {
return new CreateSpeciesBatchUIModel(sampleCategoryModel);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchRowModel.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -46,6 +46,8 @@
public static final String PROPERTY_WEIGHT = "weight";
+ public static final String PROPERTY_SELECTED = "selected";
+
/**
* Delegate sample category which contains category value + weight.
*
@@ -53,6 +55,8 @@
*/
protected final SampleCategory<Serializable> category = SampleCategory.newSample(null);
+ protected boolean selected;
+
public SplitSpeciesBatchRowModel() {
super(SplitSpeciesBatchRowModel.class, null, null);
}
@@ -97,6 +101,16 @@
firePropertyChange(PROPERTY_WEIGHT, oldValue, weight);
}
+ public boolean isSelected() {
+ return selected;
+ }
+
+ public void setSelected(boolean selected) {
+ Object oldValue = isSelected();
+ this.selected = selected;
+ firePropertyChange(PROPERTY_SELECTED, oldValue, selected);
+ }
+
@Override
protected SplitSpeciesBatchRowModel newEntity() {
return new SplitSpeciesBatchRowModel();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchTableModel.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -43,7 +43,7 @@
private static final long serialVersionUID = 1L;
public static final ColumnIdentifier<SplitSpeciesBatchRowModel> SELECTED = ColumnIdentifier.newId(
- SplitSpeciesBatchRowModel.PROPERTY_VALID,
+ SplitSpeciesBatchRowModel.PROPERTY_SELECTED,
n_("tutti.splitSpeciesBatch.table.header.selected"),
n_("tutti.splitSpeciesBatch.table.header.selected"));
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-09-19 14:09:05 UTC (rev 1192)
@@ -71,6 +71,7 @@
public SplitSpeciesBatchUIHandler(EditCatchesUI parentUi,
SplitSpeciesBatchUI ui) {
super(parentUi.getHandler().getContext(), ui,
+ SplitSpeciesBatchRowModel.PROPERTY_SELECTED,
SplitSpeciesBatchRowModel.PROPERTY_CATEGORY_VALUE,
SplitSpeciesBatchRowModel.PROPERTY_WEIGHT);
}
@@ -91,7 +92,7 @@
@Override
protected boolean isRowValid(SplitSpeciesBatchRowModel row) {
- return row.isValid();
+ return row.isSelected();
}
@Override
@@ -110,19 +111,33 @@
}
@Override
+ protected void onAfterSelectedRowChanged(int oldRowIndex,
+ SplitSpeciesBatchRowModel oldRow,
+ int newRowIndex,
+ SplitSpeciesBatchRowModel newRow) {
+ super.onAfterSelectedRowChanged(oldRowIndex, oldRow, newRowIndex, newRow);
+ if (newRow != null) {
+
+ // Recompute the valid state of the row
+ recomputeRowValidState(newRow);
+
+ // Need to recompute the sample weight
+ computeSampleWeight();
+ }
+ }
+
+ @Override
protected void onRowModified(int rowIndex,
SplitSpeciesBatchRowModel row,
String propertyName,
Object oldValue,
Object newValue) {
+ // Recompute the valid state of the row
recomputeRowValidState(row);
- if (SplitSpeciesBatchRowModel.PROPERTY_WEIGHT.equals(propertyName)) {
-
- // Need to recompute the sample weight
- computeSampleWeight(row);
- }
+ // Need to recompute the sample weight
+ computeSampleWeight();
}
//------------------------------------------------------------------------//
@@ -314,21 +329,19 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
- protected void computeSampleWeight(SplitSpeciesBatchRowModel row) {
+ protected void computeSampleWeight() {
- if (log.isInfoEnabled()) {
- log.info("Will recompute sample weight from row: " + row);
- }
-
Float result = null;
List<SplitSpeciesBatchRowModel> rows = getTableModel().getRows();
- for (SplitSpeciesBatchRowModel rowModel : rows) {
- Float weight = rowModel.getWeight();
- if (weight != null) {
- if (result == null) {
- result = 0f;
+ for (SplitSpeciesBatchRowModel row : rows) {
+ if (row.isSelected()) {
+ Float weight = row.getWeight();
+ if (weight != null) {
+ if (result == null) {
+ result = 0f;
+ }
+ result += weight;
}
- result += weight;
}
}
getModel().setSampleWeight(result);
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/create/CreateBenthosBatchUIModel-error-validation.xml 2013-09-19 14:09:05 UTC (rev 1192)
@@ -71,6 +71,28 @@
</field>
+ <field name="batchCount">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ batchCount == null || !categoryIsFilled ]]>
+ </param>
+ <message>
+ tutti.validator.error.createSpeciesBatch.countAndCategories.notPossible
+ </message>
+ </field-validator>
+ </field>
+
+ <field name="selectedCategory">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ batchCount == null || !categoryIsFilled ]]>
+ </param>
+ <message>
+ tutti.validator.error.createSpeciesBatch.countAndCategories.notPossible
+ </message>
+ </field-validator>
+ </field>
+
<field name="sampleWeight">
<field-validator type="fieldexpression" short-circuit="true">
Modified: trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml 2013-09-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/create/CreateSpeciesBatchUIModel-error-validation.xml 2013-09-19 14:09:05 UTC (rev 1192)
@@ -70,6 +70,28 @@
</field>
+ <field name="batchCount">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ batchCount == null || !categoryIsFilled ]]>
+ </param>
+ <message>
+ tutti.validator.error.createSpeciesBatch.countAndCategories.notPossible
+ </message>
+ </field-validator>
+ </field>
+
+ <field name="selectedCategory">
+ <field-validator type="fieldexpression" short-circuit="true">
+ <param name="expression">
+ <![CDATA[ batchCount == null || !categoryIsFilled ]]>
+ </param>
+ <message>
+ tutti.validator.error.createSpeciesBatch.countAndCategories.notPossible
+ </message>
+ </field-validator>
+ </field>
+
<field name="sampleWeight">
<field-validator type="fieldexpression" short-circuit="true">
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-09-19 14:09:05 UTC (rev 1192)
@@ -149,6 +149,12 @@
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=
+tutti.createAccidentalBatch.action.saveAndContinue=
+tutti.createAccidentalBatch.action.saveAndContinue.mnemonic=
+tutti.createAccidentalBatch.action.saveAndContinue.tip=
tutti.createAccidentalBatch.field.accidentalDeadOrAlive=
tutti.createAccidentalBatch.field.accidentalDeadOrAlive.tip=
tutti.createAccidentalBatch.field.accidentalGender=
@@ -219,6 +225,12 @@
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=
+tutti.createMarineLitterBatch.action.saveAndContinue=
+tutti.createMarineLitterBatch.action.saveAndContinue.mnemonic=
+tutti.createMarineLitterBatch.action.saveAndContinue.tip=
tutti.createMarineLitterBatch.field.marineLitterCategory=
tutti.createMarineLitterBatch.field.marineLitterCategory.tip=
tutti.createMarineLitterBatch.field.marineLitterSizeCategory=
@@ -1415,6 +1427,7 @@
tutti.validator.error.createMarineLitterBatch.number.invalidValue=
tutti.validator.error.createMarineLitterBatch.number.required=
tutti.validator.error.createSpeciesBatch.batchWeight.invalidValue=
+tutti.validator.error.createSpeciesBatch.countAndCategories.notPossible=
tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required=
tutti.validator.error.createSpeciesBatch.species.required=
tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable=
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-19 09:41:01 UTC (rev 1191)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-09-19 14:09:05 UTC (rev 1192)
@@ -136,9 +136,12 @@
tutti.createAccidentalBatch.action.cancel=Annuler
tutti.createAccidentalBatch.action.cancel.mnemonic=A
tutti.createAccidentalBatch.action.cancel.tip=Annuler la création de la capture accidentelle
-tutti.createAccidentalBatch.action.save=Enregistrer
-tutti.createAccidentalBatch.action.save.mnemonic=E
-tutti.createAccidentalBatch.action.save.tip=Enregistrer la capture accidentelle
+tutti.createAccidentalBatch.action.saveAndClose=Créer et Fermer
+tutti.createAccidentalBatch.action.saveAndClose.mnemonic=F
+tutti.createAccidentalBatch.action.saveAndClose.tip=Enregistrer la capture accidentelle et fermer
+tutti.createAccidentalBatch.action.saveAndContinue=Créer
+tutti.createAccidentalBatch.action.saveAndContinue.mnemonic=C
+tutti.createAccidentalBatch.action.saveAndContinue.tip=Enregistrer la capture accidentelle et saisir une autre capture
tutti.createAccidentalBatch.field.accidentalDeadOrAlive=Mort ou vivant
tutti.createAccidentalBatch.field.accidentalDeadOrAlive.tip=L'animal a-t-il été remis à l'eau mort ou vivant ?
tutti.createAccidentalBatch.field.accidentalGender=Sexe
@@ -158,12 +161,12 @@
tutti.createBenthosBatch.action.cancel=Annuler
tutti.createBenthosBatch.action.cancel.mnemonic=A
tutti.createBenthosBatch.action.cancel.tip=Annuler la création du lot espèce
-tutti.createBenthosBatch.action.saveAndClose=Créer et fermer
+tutti.createBenthosBatch.action.saveAndClose=Créer et Fermer
tutti.createBenthosBatch.action.saveAndClose.mnemonic=F
tutti.createBenthosBatch.action.saveAndClose.tip=Enregistrer la création du lot espèce et quitter l'écran
tutti.createBenthosBatch.action.saveAndContinue=Créer
tutti.createBenthosBatch.action.saveAndContinue.mnemonic=C
-tutti.createBenthosBatch.action.saveAndContinue.tip=Enregistrer la création du lot espèce
+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)
@@ -203,9 +206,12 @@
tutti.createMarineLitterBatch.action.cancel=Annuler
tutti.createMarineLitterBatch.action.cancel.mnemonic=A
tutti.createMarineLitterBatch.action.cancel.tip=Annuler la création du lot macro-déchet
-tutti.createMarineLitterBatch.action.save=Enregistrer
-tutti.createMarineLitterBatch.action.save.mnemonic=E
-tutti.createMarineLitterBatch.action.save.tip=Enregistrer la création du lot macro-déchet
+tutti.createMarineLitterBatch.action.saveAndClose=Créer et Fermer
+tutti.createMarineLitterBatch.action.saveAndClose.mnemonic=F
+tutti.createMarineLitterBatch.action.saveAndClose.tip=Enregistrer la création du lot macro-déchet et fermer
+tutti.createMarineLitterBatch.action.saveAndContinue=Créer
+tutti.createMarineLitterBatch.action.saveAndContinue.mnemonic=C
+tutti.createMarineLitterBatch.action.saveAndContinue.tip=Enregistrer la création du lot macro-déchet et en saisir un autre
tutti.createMarineLitterBatch.field.marineLitterCategory=Catégorie de déchets
tutti.createMarineLitterBatch.field.marineLitterCategory.tip=Type de déchets observés
tutti.createMarineLitterBatch.field.marineLitterSizeCategory=Catégorie de taille
@@ -224,7 +230,7 @@
tutti.createSpeciesBatch.action.saveAndClose.tip=Enregistrer la création du lot espèce et fermer l'écran
tutti.createSpeciesBatch.action.saveAndContinue=Créer
tutti.createSpeciesBatch.action.saveAndContinue.mnemonic=C
-tutti.createSpeciesBatch.action.saveAndContinue.tip=Enregistrer la création du lot espèce
+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)
@@ -1375,6 +1381,7 @@
tutti.validator.error.createMarineLitterBatch.number.invalidValue=Le nombre doit être strictement positif
tutti.validator.error.createMarineLitterBatch.number.required=Le nombre est obligatoire
tutti.validator.error.createSpeciesBatch.batchWeight.invalidValue=Le poids du lot doit être strictement positif
+tutti.validator.error.createSpeciesBatch.countAndCategories.notPossible=Impossible de dénombrer et catégoriser en même temps
tutti.validator.error.createSpeciesBatch.sortedUnsortedCategory.required=La catégorie Vrac / Hors Vrac est obligatoire
tutti.validator.error.createSpeciesBatch.species.required=L'espèce est obligatoire
tutti.validator.error.createSpeciesBatch.speciesAndCategory.notAvailable=Couple (espèce - Vrac/Hors Vrac) déjà utilisée
1
0
r1191 - in trunk/tutti-ui-swing/src/main: filtered-resources java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create
by tchemit@users.forge.codelutin.com 19 Sep '13
by tchemit@users.forge.codelutin.com 19 Sep '13
19 Sep '13
Author: tchemit
Date: 2013-09-19 11:41:01 +0200 (Thu, 19 Sep 2013)
New Revision: 1191
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1191
Log:
fixes #3291: [CAPTURE] Permettre la saisie de plusieurs macro-d?\195?\169chets sans avoir ?\195?\160 fermer l'?\195?\169cran de cr?\195?\169ation
fixes #3292: [CAPTURE] Permettre la saisie de plusieurs captures accidentelles sans avoir ?\195?\160 fermer l'?\195?\169cran de cr?\195?\169ation
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/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.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUIHandler.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/CreateMarineLitterBatchUIHandler.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-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-09-19 09:41:01 UTC (rev 1191)
@@ -1,8 +1,9 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Wed Sep 18 18:37:46 CEST 2013
+#Thu Sep 19 11:22:41 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
-tutti.createAccidentalBatch.action.save.help=editFishingOperation.html\#captureCapturesAccidentellesActions
+tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
+tutti.createAccidentalBatch.action.saveAndContinue.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.field.accidentalDeadOrAlive.help=editFishingOperation.html\#captureCapturesAccidentellesFields
tutti.createAccidentalBatch.field.accidentalGender.help=editFishingOperation.html\#captureCapturesAccidentellesFields
tutti.createAccidentalBatch.field.accidentalLengthStepCaracteristic.help=editFishingOperation.html\#captureCapturesAccidentellesFields
@@ -31,7 +32,8 @@
tutti.createIndividualObservationBatch.field.individualObservationWeight.help=editFishingOperation.html\#captureObservationsIndividuellesFields
tutti.createIndividualObservationBatch.help=editFishingOperation.html\#captureObservationsIndividuelles
tutti.createMarineLitterBatch.action.cancel.help=editFishingOperation.html\#captureMacroDechetsActions
-tutti.createMarineLitterBatch.action.save.help=editFishingOperation.html\#captureMacroDechetsActions
+tutti.createMarineLitterBatch.action.saveAndClose.help=editFishingOperation.html\#captureMacroDechetsActions
+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.number.help=editFishingOperation.html\#captureMacroDechetsFields
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-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-09-19 09:41:01 UTC (rev 1191)
@@ -1,8 +1,9 @@
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Wed Sep 18 18:37:46 CEST 2013
+#Thu Sep 19 11:22:41 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=editFishingOperation.html\#captureCapturesAccidentellesActions
-tutti.createAccidentalBatch.action.save.help=editFishingOperation.html\#captureCapturesAccidentellesActions
+tutti.createAccidentalBatch.action.saveAndClose.help=editFishingOperation.html\#captureCapturesAccidentellesActions
+tutti.createAccidentalBatch.action.saveAndContinue.help=editFishingOperation.html\#captureCapturesAccidentellesActions
tutti.createAccidentalBatch.field.accidentalDeadOrAlive.help=editFishingOperation.html\#captureCapturesAccidentellesFields
tutti.createAccidentalBatch.field.accidentalGender.help=editFishingOperation.html\#captureCapturesAccidentellesFields
tutti.createAccidentalBatch.field.accidentalLengthStepCaracteristic.help=editFishingOperation.html\#captureCapturesAccidentellesFields
@@ -31,7 +32,8 @@
tutti.createIndividualObservationBatch.field.individualObservationWeight.help=editFishingOperation.html\#captureObservationsIndividuellesFields
tutti.createIndividualObservationBatch.help=editFishingOperation.html\#captureObservationsIndividuelles
tutti.createMarineLitterBatch.action.cancel.help=editFishingOperation.html\#captureMacroDechetsActions
-tutti.createMarineLitterBatch.action.save.help=editFishingOperation.html\#captureMacroDechetsActions
+tutti.createMarineLitterBatch.action.saveAndClose.help=editFishingOperation.html\#captureMacroDechetsActions
+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.number.help=editFishingOperation.html\#captureMacroDechetsFields
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-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.css 2013-09-19 09:41:01 UTC (rev 1191)
@@ -113,15 +113,24 @@
selectedItem: {model.getDeadOrAlive()};
}
-#saveButton {
+#saveAndContinueButton {
actionIcon: save;
- text: "tutti.createAccidentalBatch.action.save";
- toolTipText: "tutti.createAccidentalBatch.action.save.tip";
- i18nMnemonic: "tutti.createAccidentalBatch.action.save.mnemonic";
+ text: "tutti.createAccidentalBatch.action.saveAndContinue";
+ toolTipText: "tutti.createAccidentalBatch.action.saveAndContinue.tip";
+ i18nMnemonic: "tutti.createAccidentalBatch.action.saveAndContinue.mnemonic";
enabled: {model.isValid()};
- _help: {"tutti.createAccidentalBatch.action.save.help"};
+ _help: {"tutti.createAccidentalBatch.action.saveAndContinue.help"};
}
+#saveAndCloseButton {
+ actionIcon: save;
+ text: "tutti.createAccidentalBatch.action.saveAndClose";
+ toolTipText: "tutti.createAccidentalBatch.action.saveAndClose.tip";
+ i18nMnemonic: "tutti.createAccidentalBatch.action.saveAndClose.mnemonic";
+ enabled: {model.isValid()};
+ _help: {"tutti.createAccidentalBatch.action.saveAndClose.help"};
+}
+
#cancelButton {
actionIcon: cancel;
text: "tutti.createAccidentalBatch.action.cancel";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.jaxx 2013-09-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUI.jaxx 2013-09-19 09:41:01 UTC (rev 1191)
@@ -150,6 +150,7 @@
<!-- Form Actions -->
<JPanel layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ <JButton id='saveAndContinueButton' onActionPerformed='handler.saveAndContinue()'/>
+ <JButton id='saveAndCloseButton' onActionPerformed='handler.saveAndClose()'/>
</JPanel>
</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUIHandler.java 2013-09-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/create/CreateAccidentalBatchUIHandler.java 2013-09-19 09:41:01 UTC (rev 1191)
@@ -26,6 +26,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.accidental.AccidentalBatchUI;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
@@ -144,13 +145,27 @@
}
- public void save() {
+ public void saveAndContinue() {
if (log.isDebugEnabled()) {
- log.debug("Save UI " + ui);
+ log.debug("Save And Continue UI " + ui);
}
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
+ AccidentalBatchUI accidentalTabContent = parent.getAccidentalTabContent();
+ accidentalTabContent.getHandler().addBatch(getModel());
+
+ // reopen ui
+ openUI();
+ }
+
+ public void saveAndClose() {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Save And Close UI " + ui);
+ }
+
+ EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
parent.getAccidentalTabContent().getHandler().addBatch(getModel());
// close dialog
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-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.css 2013-09-19 09:41:01 UTC (rev 1191)
@@ -76,15 +76,24 @@
bean: {model};
}
-#saveButton {
+#saveAndContinueButton {
actionIcon: save;
- text: "tutti.createMarineLitterBatch.action.save";
- toolTipText: "tutti.createMarineLitterBatch.action.save.tip";
- i18nMnemonic: "tutti.createMarineLitterBatch.action.save.mnemonic";
+ text: "tutti.createMarineLitterBatch.action.saveAndContinue";
+ toolTipText: "tutti.createMarineLitterBatch.action.saveAndContinue.tip";
+ i18nMnemonic: "tutti.createMarineLitterBatch.action.saveAndContinue.mnemonic";
enabled: {model.isValid()};
- _help: {"tutti.createMarineLitterBatch.action.save.help"};
+ _help: {"tutti.createMarineLitterBatch.action.saveAndContinue.help"};
}
+#saveAndCloseButton {
+ actionIcon: save;
+ text: "tutti.createMarineLitterBatch.action.saveAndClose";
+ toolTipText: "tutti.createMarineLitterBatch.action.saveAndClose.tip";
+ i18nMnemonic: "tutti.createMarineLitterBatch.action.saveAndClose.mnemonic";
+ enabled: {model.isValid()};
+ _help: {"tutti.createMarineLitterBatch.action.saveAndClose.help"};
+}
+
#cancelButton {
actionIcon: cancel;
text: "tutti.createMarineLitterBatch.action.cancel";
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-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUI.jaxx 2013-09-19 09:41:01 UTC (rev 1191)
@@ -108,6 +108,7 @@
<!-- Form Actions -->
<JPanel layout='{new GridLayout(1, 0)}' constraints='BorderLayout.SOUTH'>
<JButton id='cancelButton' onActionPerformed='handler.cancel()'/>
- <JButton id='saveButton' onActionPerformed='handler.save()'/>
+ <JButton id='saveAndContinueButton' onActionPerformed='handler.saveAndContinue()'/>
+ <JButton id='saveAndCloseButton' onActionPerformed='handler.saveAndClose()'/>
</JPanel>
</JPanel>
\ No newline at end of file
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIHandler.java 2013-09-19 08:53:29 UTC (rev 1190)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/create/CreateMarineLitterBatchUIHandler.java 2013-09-19 09:41:01 UTC (rev 1191)
@@ -32,6 +32,7 @@
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIHandler;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.MarineLitterBatchUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.MarineLitterBatchUIModel;
import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.Cancelable;
@@ -159,13 +160,27 @@
}
- public void save() {
+ public void saveAndContinue() {
if (log.isDebugEnabled()) {
- log.debug("Save UI " + ui);
+ log.debug("Save And Continue UI " + ui);
}
EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
+ MarineLitterBatchUI marineLitterTabContent = parent.getMarineLitterTabContent();
+ marineLitterTabContent.getHandler().addBatch(getModel());
+
+ // reopen this ui
+ openUI(marineLitterTabContent.getModel());
+ }
+
+ public void saveAndClose() {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Save And Close UI " + ui);
+ }
+
+ EditCatchesUI parent = SwingUtil.getParentContainer(ui, EditCatchesUI.class);
parent.getMarineLitterTabContent().getHandler().addBatch(getModel());
// close dialog
1
0
r1190 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches
by tchemit@users.forge.codelutin.com 19 Sep '13
by tchemit@users.forge.codelutin.com 19 Sep '13
19 Sep '13
Author: tchemit
Date: 2013-09-19 10:53:29 +0200 (Thu, 19 Sep 2013)
New Revision: 1190
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1190
Log:
fixes #3289: [CAPTURE] Impossible de cr?\195?\169er un lot esp?\195?\168ce / benthos (V ou HV) apr?\195?\168s avoir supprimer le lot pour cette m?\195?\170me esp?\195?\168ce
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java
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-19 08:52:54 UTC (rev 1189)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIModel.java 2013-09-19 08:53:29 UTC (rev 1190)
@@ -25,6 +25,7 @@
*/
import com.google.common.collect.ArrayListMultimap;
+import com.google.common.collect.HashMultimap;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import fr.ifremer.tutti.persistence.entities.data.AttachementObjectTypeEnum;
@@ -118,7 +119,7 @@
* @since 0.3
*/
protected final Multimap<CaracteristicQualitativeValue, Species>
- speciesUsed = ArrayListMultimap.create();
+ speciesUsed = HashMultimap.create();
/**
* Categories already used in some batches.
1
0