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
April 2013
- 5 participants
- 210 discussions
22 Apr '13
Author: kmorin
Date: 2013-04-22 19:03:12 +0200 (Mon, 22 Apr 2013)
New Revision: 855
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/855
Log:
fixes #2214 [CAMPAGNE] - Navire - Changement du navire saisi
use isNotEmpty instead of !isEmpty
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ExportCatchesReportService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/TuttiPupitriImportExportService.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.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/CruisePersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/CruisePersistenceServiceImpl.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -58,6 +58,7 @@
import fr.ifremer.adagio.core.dao.technical.synchronization.SynchronizationStatus;
import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.Program;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.Person;
@@ -99,6 +100,9 @@
protected ProgramPersistenceService programService;
@Autowired
+ protected FishingOperationPersistenceService fishingOperationService;
+
+ @Autowired
protected VesselPersonFeaturesPersistenceHelper vesselPersonFeaturesPersistenceHelper;
@Resource(name = "scientificCruiseDao")
@@ -289,9 +293,20 @@
throw new DataRetrievalFailureException("Could not retrieve cruise with id=" + bean.getId());
}
+ boolean vesselChanged = !bean.getVessel().equals(scientificCruise.getVessel());
+
cruiseToEntity(bean, scientificCruise);
scientificCruiseDao.update(scientificCruise);
+ if (vesselChanged) {
+ Vessel vessel = bean.getVessel();
+ List<FishingOperation> operations = fishingOperationService.getAllFishingOperation(bean.getId());
+ for (FishingOperation operation : operations) {
+ operation.setVessel(vessel);
+ }
+ fishingOperationService.saveFishingOperations(operations);
+ }
+
return bean;
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceService.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -28,6 +28,7 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Collection;
import java.util.List;
/**
@@ -50,5 +51,8 @@
FishingOperation saveFishingOperation(FishingOperation bean);
@Transactional(readOnly = false)
+ Collection<FishingOperation> saveFishingOperations(Collection<FishingOperation> beans);
+
+ @Transactional(readOnly = false)
void deleteFishingOperation(String id);
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/FishingOperationPersistenceServiceImpl.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -85,14 +85,7 @@
import java.io.Serializable;
import java.sql.Timestamp;
import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
/**
* @author tchemit <chemit(a)codelutin.com>
@@ -372,18 +365,8 @@
@Override
public FishingOperation saveFishingOperation(FishingOperation bean) {
- Preconditions.checkNotNull(bean);
- Preconditions.checkNotNull(bean.getId());
- Preconditions.checkNotNull(bean.getCruise());
- Preconditions.checkNotNull(bean.getCruise().getId());
- //TODO-TC Voir si il n'y a pas d'autre données obligatoires
+ checkFishingOperation(bean);
- if (bean.getGearShootingStartDate() != null && bean.getGearShootingEndDate() != null) {
-
- //make sure not same date
- Preconditions.checkArgument(!bean.getGearShootingStartDate().equals(bean.getGearShootingEndDate()));
- }
-
getCurrentSession().clear();
getCurrentSession().setFlushMode(FlushMode.COMMIT);
fr.ifremer.adagio.core.dao.data.operation.FishingOperation fishingOperation = fishingOperationDao.load(Integer.valueOf(bean.getId()));
@@ -397,6 +380,27 @@
}
@Override
+ public Collection<FishingOperation> saveFishingOperations(Collection<FishingOperation> beans) {
+ getCurrentSession().clear();
+ getCurrentSession().setFlushMode(FlushMode.COMMIT);
+
+ List<fr.ifremer.adagio.core.dao.data.operation.FishingOperation> operations = Lists.newArrayList();
+ for (FishingOperation bean : beans) {
+ fr.ifremer.adagio.core.dao.data.operation.FishingOperation fishingOperation =
+ fishingOperationDao.load(Integer.valueOf(bean.getId()));
+ if (fishingOperation == null) {
+ throw new DataRetrievalFailureException("Could not retrieve fishing operation with id=" + bean.getId());
+ }
+ beanToEntity(bean, fishingOperation);
+ operations.add(fishingOperation);
+ }
+
+ fishingOperationDao.update(operations);
+ getCurrentSession().flush();
+ return beans;
+ }
+
+ @Override
public void deleteFishingOperation(String id) {
Preconditions.checkNotNull(id);
@@ -409,6 +413,20 @@
//-- Internal methods --//
//------------------------------------------------------------------------//
+ protected void checkFishingOperation(FishingOperation bean) {
+ Preconditions.checkNotNull(bean);
+ Preconditions.checkNotNull(bean.getId());
+ Preconditions.checkNotNull(bean.getCruise());
+ Preconditions.checkNotNull(bean.getCruise().getId());
+ //TODO-TC Voir si il n'y a pas d'autre données obligatoires
+
+ if (bean.getGearShootingStartDate() != null && bean.getGearShootingEndDate() != null) {
+
+ //make sure not same date
+ Preconditions.checkArgument(!bean.getGearShootingStartDate().equals(bean.getGearShootingEndDate()));
+ }
+ }
+
protected void getVesselUseCaracteristics(String fishingOperationId, FishingOperation result) {
// retrieve fishing operation caracteristics
Iterator<Object[]> list = queryList(
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ExportCatchesReportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ExportCatchesReportService.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/ExportCatchesReportService.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -142,7 +142,7 @@
List<Map<String, Object>> catchList = Lists.newArrayList(catches.values());
// add the benthos row
- if (!CollectionUtils.isEmpty(rootBenthosBatch.getChildren())) {
+ if (CollectionUtils.isNotEmpty(rootBenthosBatch.getChildren())) {
Map<String, Object> benthosCatch =
createBenthosCatch(rootBenthosBatch, catchBatch.getBenthosTotalComputedWeight(), totalWeight);
catchList.add(benthosCatch);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/TuttiPupitriImportExportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/TuttiPupitriImportExportService.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/pupitri/TuttiPupitriImportExportService.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -308,7 +308,7 @@
carrouselSortedWeight += beanWeight;
}
- if (!CollectionUtils.isEmpty(speciesList)) {
+ if (CollectionUtils.isNotEmpty(speciesList)) {
Species species = speciesList.get(0);
PupitriCatch pupitriCatch = new PupitriCatch(species, sorted);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/SaveCruiseAction.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -28,8 +28,11 @@
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.service.PersistenceService;
import fr.ifremer.tutti.ui.swing.TuttiUIContext;
+import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler;
import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import javax.swing.*;
+
import static org.nuiton.i18n.I18n._;
/**
@@ -40,20 +43,43 @@
*/
public class SaveCruiseAction extends AbstractTuttiAction<EditCruiseUIModel, EditCruiseUI, EditCruiseUIHandler> {
+ protected PersistenceService persistenceService;
+
public SaveCruiseAction(EditCruiseUIHandler handler) {
super(handler, true);
+ persistenceService = getContext().getPersistenceService();
}
- /**
- * If the event source is a TuttiScreen, then the screen changes to the source.
- * Otherwise, the screen changes to the home.
- */
@Override
+ protected boolean prepareAction() throws Exception {
+ boolean result = super.prepareAction();
+
+ Cruise bean = getModel().toBean();
+ if (!TuttiEntities.isNew(bean)) {
+ Cruise oldCruise = persistenceService.getCruise(bean.getId());
+ if (!oldCruise.getVessel().equals(bean.getVessel())) {
+ String htmlMessage = String.format(
+ AbstractTuttiUIHandler.CONFIRMATION_FORMAT,
+ _("tutti.editCruise.action.save.vesselChanged.message"),
+ _("tutti.editCruise.action.save.vesselChanged.help"));
+
+ int answer = JOptionPane.showConfirmDialog(getContext().getActionUI(),
+ htmlMessage,
+ _("tutti.editCruise.action.save.vesselChanged.title"),
+ JOptionPane.OK_CANCEL_OPTION,
+ JOptionPane.WARNING_MESSAGE);
+
+ result = answer == JOptionPane.OK_OPTION;
+ }
+ }
+
+ return result;
+ }
+
+ @Override
protected void doAction() throws Exception {
TuttiUIContext context = getContext();
EditCruiseUIModel model = getModel();
- PersistenceService persistenceService =
- getContext().getPersistenceService();
Cruise bean = model.toBean();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -296,7 +296,7 @@
&& (!speciesProtocol.isMaturityEnabled() || row.getMaturityCategoryValue() != null)
&& (!speciesProtocol.isAgeEnabled() || row.getAgeCategoryValue() != null)
&& (!speciesProtocol.isCountIfNoFrequencyEnabled()
- || !CollectionUtils.isEmpty(row.getFrequency())
+ || CollectionUtils.isNotEmpty(row.getFrequency())
|| row.getNumber() != null);
}
}
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-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/frequency/BenthosFrequencyUIHandler.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -432,7 +432,7 @@
// try to load existing frequency
- if (!CollectionUtils.isEmpty(frequency)) {
+ if (CollectionUtils.isNotEmpty(frequency)) {
BenthosFrequencyTableModel tableModel = getTableModel();
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -293,7 +293,7 @@
&& (!speciesProtocol.isMaturityEnabled() || row.getMaturityCategoryValue() != null)
&& (!speciesProtocol.isAgeEnabled() || row.getAgeCategoryValue() != null)
&& (!speciesProtocol.isCountIfNoFrequencyEnabled()
- || !CollectionUtils.isEmpty(row.getFrequency())
+ || CollectionUtils.isNotEmpty(row.getFrequency())
|| row.getNumber() != null);
}
}
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-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java 2013-04-22 17:03:12 UTC (rev 855)
@@ -433,7 +433,7 @@
// try to load existing frequency
- if (!CollectionUtils.isEmpty(frequency)) {
+ if (CollectionUtils.isNotEmpty(frequency)) {
SpeciesFrequencyTableModel tableModel = getTableModel();
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-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-22 17:03:12 UTC (rev 855)
@@ -410,6 +410,9 @@
tutti.editCruise.action.generateCampaignName=
tutti.editCruise.action.generateCampaignName.mnemonic=
tutti.editCruise.action.generateName.tip=
+tutti.editCruise.action.save.vesselChanged.help=
+tutti.editCruise.action.save.vesselChanged.message=
+tutti.editCruise.action.save.vesselChanged.title=
tutti.editCruise.action.saveCruise=
tutti.editCruise.action.saveCruise.mnemonic=
tutti.editCruise.action.saveCruise.tip=
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-04-22 13:54:29 UTC (rev 854)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-22 17:03:12 UTC (rev 855)
@@ -399,6 +399,9 @@
tutti.editCruise.action.generateCampaignName=Générer le nom
tutti.editCruise.action.generateCampaignName.mnemonic=G
tutti.editCruise.action.generateName.tip=Générer le nom normalisé de la campagne
+tutti.editCruise.action.save.vesselChanged.help=Le navire des traits de la campagne va également être modifié.<ul><li><strong>Annuler</strong> pour ne pas enregistrer les modifications de la campagne ni les traits</li><li><strong>OK</strong> pour enregistrer la campagne et modifier le navire des traits</li></ul>.
+tutti.editCruise.action.save.vesselChanged.message=Le navire de la campagne a été modifié.
+tutti.editCruise.action.save.vesselChanged.title=Navire modifié
tutti.editCruise.action.saveCruise=Enregistrer
tutti.editCruise.action.saveCruise.mnemonic=E
tutti.editCruise.action.saveCruise.tip=Enregistrer la campagne
@@ -859,7 +862,7 @@
tutti.label.tab.catches=Captures
tutti.label.tab.catchesCaracteristics=Résumé
tutti.label.tab.fishingOperation=Trait
-tutti.label.tab.individualObservations=Observatiosn individuelles
+tutti.label.tab.individualObservations=Observations individuelles
tutti.label.tab.marineLitter=Macro déchets
tutti.label.tab.plancton=Plancton
tutti.label.tab.species=Espèces
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/695/changes>
Changes:
[Kevin Morin] fixes #1987 [PROTOCOLE] - Gestion des contrôles/infos obligatoires en validation
[Tony Chemit] refs #1875: [IMP/EXP] - Export des données de campagne : format générique (desactivation pour le moment des
actions + deplacement de la configuration dans le module service)
[Tony Chemit] fixes #2345: [CAPTURES] Muavaise remonté des arbres d'échantillonage
[Tony Chemit] fixes #2345: [CAPTURES] Muavaise remonté des arbres d'échantillonage
------------------------------------------
[...truncated 579 lines...]
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-service/pom.xml> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/2.0-SNAPSHOT/tutti-service-2.0-SNAPSHOT.pom
mojoSucceeded org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
projectSucceeded fr.ifremer.tutti:tutti-service:2.0-SNAPSHOT
projectStarted fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 39.1 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 35.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.18-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 25.5 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.18-… (808 B at 24.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 46.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 40.1 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 43.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 46.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 51.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 46.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 59.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 55.6 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target>
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 50.1 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 52.0 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 40 modified jaxx file(s).
[INFO] Generated 40 file(s) in 22.947s
mojoSucceeded org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18-SNAPSHOT:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/gene…>
[INFO] Merge help ids to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/gene…>
[INFO] Use input file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/fi…>
[INFO] No keys to add.
[INFO] Use input file: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/fi…>
[INFO] No keys to add.
mojoSucceeded org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-ui-swing ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/gene…>
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/gene…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 1/1141 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1155/1155 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 11 i18n artifacts for locale fr_FR stored in <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/i18n…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)[INFO] collected 11 i18n artifacts for locale en_GB stored in <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/i18n…>
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
[WARNING] bundle fr_FR contains 2/1448 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle en_GB contains 1301/1461 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:update-project-license (attach-licenses) @ tutti-ui-swing ---
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:add-third-party (attach-licenses) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/cartridges…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/cartr…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/andromda-c…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/andro…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/andromda-u…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/andro…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/metafacade…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/metaf…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/translatio…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/trans…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/translatio…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/trans…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/cartridges…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/cartr…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/cartridges…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/cartr…
[WARNING] No license name defined for org.hibernate.javax.persistence--hibernate-jpa-2.0-api--1.0.1.Final
[INFO] Load missing file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/license…>
[INFO] Missing file <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/license…> is up-to-date.
[INFO] Writing third-party file to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/gene…>
[INFO] Writing bundled third-party file to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/gene…>
[INFO] Will attach third party file from <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/license…>
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] Copying 90 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 295 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/clas…>
mojoFailed org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/ja…>:[149,57] error: cannot find symbol
[INFO] 1 error
[INFO] -------------------------------------------------------------
projectFailed fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [6.796s]
[INFO] Tutti :: Persistence .............................. SUCCESS [21.078s]
[INFO] Tutti :: Service .................................. SUCCESS [9.812s]
[INFO] Tutti :: UI ....................................... FAILURE [37.515s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:16.756s
[INFO] Finished at: Mon Apr 22 15:47:49 CEST 2013
[INFO] Final Memory: 68M/203M
[INFO] ------------------------------------------------------------------------
Projects to build: [MavenProject: fr.ifremer:tutti:2.0-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-persistence:2.0-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-persistence/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-service:2.0-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-service/pom.xml,> MavenProject: fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT @ <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/pom.xml]>
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-service/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-04-22_15-46-28/archive/fr.ifremer.tutti/tutti-service/2.0-SNAPSHOT/tutti-service-2.0-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-service/target/tutti…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-service/builds/2013-04-22_15-46-28/archive/fr.ifremer.tutti/tutti-service/2.0-SNAPSHOT/tutti-service-2.0-SNAPSHOT.jar
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-04-22_15-46-28/archive/fr.ifremer.tutti/tutti-ui-swing/2.0-SNAPSHOT/tutti-ui-swing-2.0-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/license…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-ui-swing/builds/2013-04-22_15-46-28/archive/fr.ifremer.tutti/tutti-ui-swing/2.0-SNAPSHOT/tutti-ui-swing-2.0-SNAPSHOT-third-party.properties
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-04-22_15-46-28/archive/fr.ifremer/tutti/2.0-SNAPSHOT/tutti-2.0-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/target/tutti-2.0-SNAPSHOT-…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-04-22_15-46-28/archive/fr.ifremer/tutti/2.0-SNAPSHOT/tutti-2.0-SNAPSHOT-site_fr.xml
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-persistence/pom.xml> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-04-22_15-46-28/archive/fr.ifremer.tutti/tutti-persistence/2.0-SNAPSHOT/tutti-persistence-2.0-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-persistence/target/t…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer.tutti$tutti-persistence/builds/2013-04-22_15-46-28/archive/fr.ifremer.tutti/tutti-persistence/2.0-SNAPSHOT/tutti-persistence-2.0-SNAPSHOT.jar
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/ja…>:[149,57] error: cannot find symbol
cause : Compilation failure
bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/ja…>:[149,57] error: cannot find symbol
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project tutti-ui-swing: Compilation failure
bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/ja…>:[149,57] error: cannot find symbol
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
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:601)
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:158)
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$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/ja…>:[149,57] error: cannot find symbol
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:729)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Sending e-mails to: tutti-commits(a)list.forge.codelutin.com kmorin(a)codelutin.com chemit(a)codelutin.com
channel stopped
1
1
22 Apr '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/695/…>
Changes:
[Kevin Morin] fixes #1987 [PROTOCOLE] - Gestion des contrôles/infos obligatoires en validation
[Tony Chemit] refs #1875: [IMP/EXP] - Export des données de campagne : format générique (desactivation pour le moment des
actions + deplacement de la configuration dans le module service)
[Tony Chemit] fixes #2345: [CAPTURES] Muavaise remonté des arbres d'échantillonage
------------------------------------------
projectStarted fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 39.1 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ma… (2 KB at 35.2 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.18-…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/2.… (808 B at 25.5 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/2.5.18-… (808 B at 24.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 46.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-ru… (2 KB at 40.1 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 43.8 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 46.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 51.9 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-wi… (2 KB at 46.7 KB/sec)
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 59.7 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-va… (2 KB at 55.6 KB/sec)
mojoStarted org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
[INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.5(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(check-project-files)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18-SNAPSHOT:generate (default) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co…
Downloaded: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/nuiton/jaxx/ja… (2 KB at 50.1 KB/sec)
Downloaded: http://nexus.nuiton.org/nexus/content/groups/public/org/nuiton/jaxx/jaxx-co… (2 KB at 52.0 KB/sec)
[INFO] use project compile scope class-path
[INFO] Detects 40 modified jaxx file(s).
[INFO] Generated 40 file(s) in 22.947s
mojoSucceeded org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
mojoStarted org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18-SNAPSHOT:generate-help-ids (default) @ tutti-ui-swing ---
[INFO] Store detected help ids to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Merge help ids to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Use input file: <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
[INFO] No keys to add.
[INFO] Use input file: <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
[INFO] No keys to add.
mojoSucceeded org.nuiton.jaxx:jaxx-maven-plugin:2.5.18-SNAPSHOT(default)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-ui-swing ---
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(get)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-ui-swing ---
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Copying tutti-ui-swing.properties to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(get)
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 1/1141 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1155/1155 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(scan-sources)
forkedProjectStarted fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:collect-i18n-artifacts (collect-i18n-artifacts) @ tutti-ui-swing ---
[INFO] collected 11 i18n artifacts for locale fr_FR stored in <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(collect-i18n-artifacts)[INFO] collected 11 i18n artifacts for locale en_GB stored in <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
forkedProjectSucceeded fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
mojoStarted org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
[WARNING] bundle fr_FR contains 2/1448 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- i18n-maven-plugin:2.5:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle en_GB contains 1301/1461 empty entries! (use -Di18n.showEmpty to see these entries)
mojoSucceeded org.nuiton.i18n:i18n-maven-plugin:2.5(make-bundle)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:update-project-license (attach-licenses) @ tutti-ui-swing ---
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
[INFO]
[INFO] --- license-maven-plugin:1.4:add-third-party (attach-licenses) @ tutti-ui-swing ---
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/profiles/e…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/profi…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/cartridges…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/cartr…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/andromda-c…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/andro…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/andromda-u…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/andro…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/metafacade…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/metaf…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/translatio…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/trans…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/translatio…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/trans…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/cartridges…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/cartr…
Downloading: http://nexus.nuiton.org/nexus/content/groups/public/org/andromda/cartridges…
Downloading: http://nexus.nuiton.org/nexus/content/groups/tutti-group/org/andromda/cartr…
[WARNING] No license name defined for org.hibernate.javax.persistence--hibernate-jpa-2.0-api--1.0.1.Final
[INFO] Load missing file <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
[INFO] Missing file <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…> is up-to-date.
[INFO] Writing third-party file to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Writing bundled third-party file to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] Will attach third party file from <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>
mojoSucceeded org.codehaus.mojo:license-maven-plugin:1.4(attach-licenses)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ tutti-ui-swing ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] Copying 90 resources
[INFO] Copying 4 resources
[INFO] Copying 4 resources
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 295 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
mojoFailed org.apache.maven.plugins:maven-compiler-plugin:2.5.1(default-compile)[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] bootstrap class path not set in conjunction with -source 1.6
<http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[149,57] error: cannot find symbol
[INFO] 1 error
[INFO] -------------------------------------------------------------
projectFailed fr.ifremer.tutti:tutti-ui-swing:2.0-SNAPSHOT
1
1
r854 - trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config
by tchemit@users.forge.codelutin.com 22 Apr '13
by tchemit@users.forge.codelutin.com 22 Apr '13
22 Apr '13
Author: tchemit
Date: 2013-04-22 15:54:29 +0200 (Mon, 22 Apr 2013)
New Revision: 854
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/854
Log:
fix build
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-04-22 13:45:11 UTC (rev 853)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java 2013-04-22 13:54:29 UTC (rev 854)
@@ -146,7 +146,7 @@
SampleOrderIdsTableCell comp = new SampleOrderIdsTableCell(context);
TableCellEditor sampleOrderEditor = comp.getNewTableCellEditor();
- helper.addOption(TuttiApplicationConfigOption.SAMPLING_CATEGORY_ORDER_IDS)
+ helper.addOption(TuttiServiceConfigOption.SAMPLING_CATEGORY_ORDER_IDS)
.setOptionEditor(sampleOrderEditor)
.setOptionRenderer(comp.getNewTableCellRenderer());
}
1
0
22 Apr '13
Author: kmorin
Date: 2013-04-22 15:45:11 +0200 (Mon, 22 Apr 2013)
New Revision: 853
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/853
Log:
fixes #1987 [PROTOCOLE] - Gestion des contr?\195?\180les/infos obligatoires en validation
Modified:
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
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-04-22 13:44:25 UTC (rev 852)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-22 13:45:11 UTC (rev 853)
@@ -7,7 +7,6 @@
tutti.about.bottomText=Copyright %s - %s - version %s
tutti.about.message=<h3>Tutti</h3><p><strong>Outil de saisie de données d'opérations et de captures au cours des campagnes halieutiques.</strong></p><br/><p>Ce logiciel permettra la saisie en mer des données d'opération de pêche (positions, environnement, engin, etc) et des captures associées (composition de la capture en espèces scientifiques avec poids, nombres, tailles etc) pour l'ensemble des campagnes halieutiques réalisées par l'Ifremer.</p><p>Ce projet a été initiée en 2012 par l'<a href\="http\://www.ifremer.fr">Ifremer</a> et réalisé par la société <a href\="http\://codelutin.com">Codelutin</a>.</p><hr/><br/><p>Pour plus d'informations, vous pouvez visiter le <a href\="http\://maven-site.forge.codelutin.com/tutti">site du projet</a>.</p><p>Projet hébergé sur la forge <a href\="http\://forge.codelutin.com/projects/tutti">Forge.codelutin.com</a>.</p>
tutti.about.title=À propos de Tutti
-tutti.label.tab.species=Espèces
tutti.about.translate.content=<h2>Comment traduire Tutti</h2>Vous pouvez nous aider à traduire Tutti.<hr/><br/><ul><li>Récupérer le fichier <a href\="%s">tutti-i18n.csv</a> dans le répertoire <strong>i18n</strong></li><li>ouvrez le avec un tableur (le caractère séprateur est une Tabultation)</li><li>Traduisez, Améliorer, ...</li><li>Enfin renvoyez-le nous</li></ul><br/>Nous intégrerons vos modifications avant la prochaine version.
tutti.about.translate.title=Traduire Tutti
tutti.about.update.app.noup.detail=<tr><td>%1$s</td><td>%2$s</td><td>%2$s<td><td></td></tr>
@@ -353,7 +352,7 @@
tutti.editCatchBatch.action.importPupitri.existingData.message=Des espèces ont déjà été saisies dans la capture. Si vous continuez, elles vont être écrasées.
tutti.editCatchBatch.action.importPupitri.existingData.title=Données existantes
tutti.editCatchBatch.action.importPupitri.mnemonic=I
-tutti.editCatchBatch.action.importPupitri.success=
+tutti.editCatchBatch.action.importPupitri.success=Import Pupitri réussi \: %1s espèces importées, %2s espèces rejetées
tutti.editCatchBatch.action.importPupitri.tip=Import Pupitri
tutti.editCatchBatch.action.saveCatchBatch=Sauver
tutti.editCatchBatch.action.saveCatchBatch.mnemonic=S
1
0
r852 - in trunk: tutti-service/src/main/java/fr/ifremer/tutti/service/config tutti-service/src/main/java/fr/ifremer/tutti/service/export tutti-service/src/main/resources/i18n tutti-service/src/test/java/fr/ifremer/tutti/service/export tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home tutti-ui-swing/src/main/resources/i18n
by tchemit@users.forge.codelutin.com 22 Apr '13
by tchemit@users.forge.codelutin.com 22 Apr '13
22 Apr '13
Author: tchemit
Date: 2013-04-22 15:44:25 +0200 (Mon, 22 Apr 2013)
New Revision: 852
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/852
Log:
refs #1875: [IMP/EXP] - Export des donn?\195?\169es de campagne : format g?\195?\169n?\195?\169rique (desactivation pour le moment des
actions + deplacement de la configuration dans le module service)
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -31,6 +31,7 @@
import java.io.File;
import java.net.URL;
+import java.util.List;
/**
* Configuration for the service layer.
@@ -111,6 +112,11 @@
TuttiServiceConfigOption.EXPORT_COUNTRY_ID.getKey());
}
+ public List<Integer> getSamplingOrderIds() {
+ ApplicationConfig.OptionList result = applicationConfig.getOptionAsList(TuttiServiceConfigOption.SAMPLING_CATEGORY_ORDER_IDS.getKey());
+ return result.getOptionAsInt();
+ }
+
public void prepareDirectories() {
File dataDirectory = getDataDirectory();
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfigOption.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -72,6 +72,12 @@
n_("tutti.config.option.export.countryId.description"),
"12",
String.class),
+ SAMPLING_CATEGORY_ORDER_IDS(
+ "tutti.samplingCategoryOrderIds",
+ n_("tutti.config.option.samplingCategoryOrderIds.description"),
+ "198,196,174,1430",
+ Integer[].class
+ ),
// TRANSIENT CONFIG
VERSION(
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -29,8 +29,10 @@
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Gear;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.entities.referential.Vessel;
@@ -49,7 +51,7 @@
*/
public class CatchExportModel extends TuttiCsvUtil.AbstractTuttiExportModel<CatchExportRow> {
- public CatchExportModel(char separator) {
+ public CatchExportModel(char separator, List<SampleCategoryEnum> samplingOrder) {
super(separator);
newColumnForExport("Annee", Cruise.PROPERTY_BEGIN_DATE, TuttiCsvUtil.YEAR);
@@ -68,38 +70,51 @@
newColumnForExport("Type_Volume_Poids_Taxon", CatchExportRow.SPECIES_SAMPLE_CATEGORY);
newColumnForExport("Unite_Volume_Poids_Taxon", CatchExportRow.SPECIES_SAMPLE_CATEGORY);
- newColumnForExport("Vrac/Hors_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
- newColumnForExport("NumOrdre_Vrac_H2", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
- newColumnForExport("Tot_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
- newColumnForExport("Ech_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
- newColumnForExport("Type_Volume_Poids_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
- newColumnForExport("Unite_Volume_Poids_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ for (SampleCategoryEnum sampleCategoryEnum : samplingOrder) {
+ switch (sampleCategoryEnum) {
- newColumnForExport("Categorie", CatchExportRow.SIZE_SAMPLE_CATEGORY);
- newColumnForExport("NumOrdre_Cat_H2", CatchExportRow.SIZE_SAMPLE_CATEGORY);
- newColumnForExport("Tot_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
- newColumnForExport("Ech_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
- newColumnForExport("Type_Volume_Poids_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
- newColumnForExport("Unite_Volume_Poids_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ case sortedUnsorted:
+ newColumnForExport("Vrac/Hors_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ newColumnForExport("NumOrdre_Vrac_H2", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ newColumnForExport("Tot_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ newColumnForExport("Ech_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ newColumnForExport("Type_Volume_Poids_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ newColumnForExport("Unite_Volume_Poids_Vrac", CatchExportRow.SORTED_UNSORTED_SAMPLE_CATEGORY);
+ break;
+ case size:
+ newColumnForExport("Categorie", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ newColumnForExport("NumOrdre_Cat_H2", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ newColumnForExport("Tot_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ newColumnForExport("Ech_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ newColumnForExport("Type_Volume_Poids_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ newColumnForExport("Unite_Volume_Poids_Cat", CatchExportRow.SIZE_SAMPLE_CATEGORY);
+ break;
+ case sex:
+ newColumnForExport("Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ newColumnForExport("NumOrdre_Sexe_H2", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ newColumnForExport("Tot_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ newColumnForExport("Ech_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ newColumnForExport("Type_Volume_Poids_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ newColumnForExport("Unite_Volume_Poids_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ break;
+ case maturity:
+ newColumnForExport("Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
+ newColumnForExport("NumOrdre_Maturite_H2", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
+ newColumnForExport("Tot_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
+ newColumnForExport("Ech_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
+ newColumnForExport("Type_Volume_Poids_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
+ newColumnForExport("Unite_Volume_Poids_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
+ break;
+ case age:
+ newColumnForExport("Age", CatchExportRow.AGE_SAMPLE_CATEGORY);
+ newColumnForExport("Num_Ordre_Age_H2", CatchExportRow.AGE_SAMPLE_CATEGORY);
+ break;
+ }
+ }
- newColumnForExport("Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
- newColumnForExport("NumOrdre_Sexe_H2", CatchExportRow.SEX_SAMPLE_CATEGORY);
- newColumnForExport("Tot_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
- newColumnForExport("Ech_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
- newColumnForExport("Type_Volume_Poids_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
- newColumnForExport("Unite_Volume_Poids_Sexe", CatchExportRow.SEX_SAMPLE_CATEGORY);
+ // mensuration
- newColumnForExport("Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
- newColumnForExport("NumOrdre_Maturite_H2", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
- newColumnForExport("Tot_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
- newColumnForExport("Ech_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
- newColumnForExport("Type_Volume_Poids_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
- newColumnForExport("Unite_Volume_Poids_Maturite", CatchExportRow.MATURITY_SAMPLE_CATEGORY);
-
- newColumnForExport("Age", CatchExportRow.AGE_SAMPLE_CATEGORY);
- newColumnForExport("Num_Ordre_Age_H2", CatchExportRow.AGE_SAMPLE_CATEGORY);
-
- newColumnForExport("Code_Longueur", CatchExportRow.FREQUENCY_LENGTH_STEP_CARACTERISTIC);
+ newColumnForExport("Code_Longueur", CatchExportRow.FREQUENCY_LENGTH_STEP_CARACTERISTIC, Caracteristic.PROPERTY_ID);
newColumnForExport("Taille", CatchExportRow.FREQUENCY_LENGTH_STEP);
newColumnForExport("NumOrdre_Taille_H2", Cruise.PROPERTY_HEAD_OF_MISSION);
newColumnForExport("Poids_Classe_Taille", CatchExportRow.FREQUENCY_WEIGHT);
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -40,6 +40,7 @@
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.MarineLitterBatch;
import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.TuttiLocation;
@@ -86,14 +87,16 @@
protected char csvSeparator;
- private Caracteristic verticalOpeningCaracteristic;
+ protected Caracteristic verticalOpeningCaracteristic;
- private Caracteristic horizontalOpeningWingCaracteristic;
+ protected Caracteristic horizontalOpeningWingCaracteristic;
- private Caracteristic horizontalOpeningDoorCaracteristic;
+ protected Caracteristic horizontalOpeningDoorCaracteristic;
- private TuttiLocation country;
+ protected TuttiLocation country;
+ protected List<SampleCategoryEnum> samplingOrder;
+
@Override
public void setServiceContext(TuttiServiceContext context) {
super.setServiceContext(context);
@@ -108,6 +111,20 @@
List<TuttiLocation> allCountry = persistenceService.getAllCountry();
String countryId = context.getConfig().getExportCountryId();
country = TuttiEntities.splitById(allCountry).get(countryId);
+
+ Map<Integer, SampleCategoryEnum> idMapping = SampleCategoryEnum.toIdMapping();
+
+ samplingOrder = Lists.newArrayList();
+
+ // always first sampling category
+ samplingOrder.add(SampleCategoryEnum.sortedUnsorted);
+
+ for (Integer categoryId : context.getConfig().getSamplingOrderIds()) {
+ SampleCategoryEnum categoryEnum = idMapping.get(categoryId);
+ if (SampleCategoryEnum.sortedUnsorted != categoryEnum) {
+ samplingOrder.add(categoryEnum);
+ }
+ }
}
public void exportProgram(String programId,
@@ -190,7 +207,8 @@
decoratorService,
verticalOpeningCaracteristic,
horizontalOpeningWingCaracteristic,
- horizontalOpeningDoorCaracteristic);
+ horizontalOpeningDoorCaracteristic,
+ samplingOrder);
}
protected void checkCruise(ProgressionModel progressionModel, Cruise cruise) {
@@ -397,7 +415,8 @@
DecoratorService decoratorService,
Caracteristic verticalOpeningCaracteristic,
Caracteristic horizontalOpeningWingCaracteristic,
- Caracteristic horizontalOpeningDoorCaracteristic) {
+ Caracteristic horizontalOpeningDoorCaracteristic,
+ List<SampleCategoryEnum> samplingOrder) {
try {
@@ -431,7 +450,7 @@
parameterModel = new ParameterExportModel(
csvSeparator, decoratorService);
- catchModel = new CatchExportModel(csvSeparator);
+ catchModel = new CatchExportModel(csvSeparator, samplingOrder);
surveyExport = TuttiCsvUtil.newRepeatableExport(
surveyModel);
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-22 13:44:25 UTC (rev 852)
@@ -4,6 +4,7 @@
tutti.config.option.export.countryId.description=
tutti.config.option.inceptionYear.description=
tutti.config.option.organizationName.description=
+tutti.config.option.samplingCategoryOrderIds.description=
tutti.config.option.site.url.description=
tutti.config.option.tmp.directory.description=
tutti.config.option.version.description=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-22 13:44:25 UTC (rev 852)
@@ -4,6 +4,7 @@
tutti.config.option.export.countryId.description=L'id du pays à utiliser pour les exports (il s'agit de la valeur LOCATION.ID).
tutti.config.option.inceptionYear.description=Année de démarrage du projet.
tutti.config.option.organizationName.description=Nom de l'organisation dans la licence
+tutti.config.option.samplingCategoryOrderIds.description=Ordre des catégories d'échantillonnage
tutti.config.option.site.url.description=Url du site internet de l'application
tutti.config.option.tmp.directory.description=Répertoire temporaire utilisée par l'application (est nettoyé à chaque démarrage de l'application).
tutti.config.option.version.description=Version courante de l'application
Modified: trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java
===================================================================
--- trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -34,6 +34,7 @@
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
import fr.ifremer.tutti.persistence.entities.referential.CaracteristicType;
@@ -101,6 +102,17 @@
cruise = createCruise();
operations = createOperations(cruise);
+ SampleCategoryEnum.sortedUnsorted.setFieldValue(1428);
+ SampleCategoryEnum.sortedUnsorted.setInit(true);
+ SampleCategoryEnum.size.setFieldValue(198);
+ SampleCategoryEnum.size.setInit(true);
+ SampleCategoryEnum.sex.setFieldValue(196);
+ SampleCategoryEnum.sex.setInit(true);
+ SampleCategoryEnum.maturity.setFieldValue(174);
+ SampleCategoryEnum.maturity.setInit(true);
+ SampleCategoryEnum.age.setFieldValue(1430);
+ SampleCategoryEnum.age.setInit(true);
+
Map<String,FishingOperation> operationMap = TuttiEntities.splitById(operations);
serviceContext.getConfig().setCsvSeparator(';');
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfig.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -226,11 +226,6 @@
return StringUtils.isBlank(result) ? null : result;
}
- public List<Integer> getSamplingOrderIds() {
- ApplicationConfig.OptionList result = applicationConfig.getOptionAsList(TuttiApplicationConfigOption.SAMPLING_CATEGORY_ORDER_IDS.getKey());
- return result.getOptionAsInt();
- }
-
public Color getColorRowInvalid() {
return applicationConfig.getOptionAsColor(TuttiApplicationConfigOption.COLOR_ROW_INVALID.getKey());
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/config/TuttiApplicationConfigOption.java 2013-04-22 13:44:25 UTC (rev 852)
@@ -125,13 +125,6 @@
String.class
),
- SAMPLING_CATEGORY_ORDER_IDS(
- "tutti.samplingCategoryOrderIds",
- n_("tutti.config.option.samplingCategoryOrderIds.description"),
- "198,196,174,1430",
- Integer[].class
- ),
-
AUTO_POPUP_NUMBER_EDITOR(
"tutti.ui.autoPopupNumberEditor",
n_("tutti.config.option.ui.autoPopupNumberEditor.description"),
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-04-22 13:44:25 UTC (rev 852)
@@ -67,7 +67,6 @@
#editProgramButton {
actionIcon: edit;
text: "tutti.selectCruise.action.editProgram";
- enabled: {model.isProgramFound()};
_tuttiAction: {EditProgramAction.class};
toolTipText: "tutti.selectCruise.action.editProgram.tip";
_help: {"tutti.selectCruise.action.editProgram.help"};
@@ -76,7 +75,7 @@
#exportProgramButton {
actionIcon: export;
text: "tutti.selectCruise.action.exportProgram";
- enabled: {model.isProgramFound()};
+ enabled: false;
_tuttiAction: {ExportProgramAction.class};
toolTipText: "tutti.selectCruise.action.exportProgram.tip";
_help: {"tutti.selectCruise.action.exportProgram.help"};
@@ -122,6 +121,7 @@
#exportCruiseButton {
actionIcon: export;
text: "tutti.selectCruise.action.exportCruise";
+ enabled: false;
_tuttiAction: {ExportCruiseAction.class};
toolTipText: "tutti.selectCruise.action.exportCruise.tip";
_help: {"tutti.selectCruise.action.exportCruise.help"};
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-04-22 13:38:24 UTC (rev 851)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-22 13:44:25 UTC (rev 852)
@@ -79,7 +79,6 @@
tutti.config.option.launch.mode.description=Mode de démarrage de l'application
tutti.config.option.programId.description=Identifiant de la dernière série de campagne utilisée
tutti.config.option.protocolId.description=Identifiant du dernier protocole utilisé
-tutti.config.option.samplingCategoryOrderIds.description=Ordre des catégories d'échantillonnage
tutti.config.option.tremieCarousselVessel.description=Navire ayant un carrousel et une trémie (ex. Thalassa)
tutti.config.option.ui.autoPopupNumberEditor.description=Toujours afficher le pavé numérique lors de l'édition d'un nombre
tutti.config.option.ui.color.blockingLayer.description=Couleur utilisée pour bloquer l'interface lors d'une action longue
1
0
r851 - trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service
by tchemit@users.forge.codelutin.com 22 Apr '13
by tchemit@users.forge.codelutin.com 22 Apr '13
22 Apr '13
Author: tchemit
Date: 2013-04-22 15:38:24 +0200 (Mon, 22 Apr 2013)
New Revision: 851
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/851
Log:
fixes #2345: [CAPTURES] Muavaise remont?\195?\169 des arbres d'?\195?\169chantillonage
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2013-04-22 13:37:22 UTC (rev 850)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/BenthosBatchPersistenceServiceImpl.java 2013-04-22 13:38:24 UTC (rev 851)
@@ -43,6 +43,7 @@
import fr.ifremer.tutti.persistence.entities.data.BenthosBatch;
import fr.ifremer.tutti.persistence.entities.data.BenthosBatchFrequency;
import fr.ifremer.tutti.persistence.entities.data.SampleCategoryEnum;
+import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch;
import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
import fr.ifremer.tutti.persistence.entities.referential.Species;
import fr.ifremer.tutti.persistence.service.batch.BatchPersistenceHelper;
@@ -115,10 +116,14 @@
BatchContainer<BenthosBatch> result = new BatchContainer<BenthosBatch>();
result.setId(vracBenthosBatch.getId());
- for (Batch batch1 : vracBenthosBatch.getChildBatchs()) {
- SortingBatch source = (SortingBatch) batch1;
+ for (Batch batch : vracBenthosBatch.getChildBatchs()) {
+ SortingBatch source = (SortingBatch) batch;
+ ReferenceTaxon referenceTaxon = source.getReferenceTaxon();
+ Preconditions.checkNotNull(referenceTaxon, "Can't have a rootBenthosBatch with a null taxon, but was for " + batch.getId());
+ Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
BenthosBatch target = TuttiBeanFactory.newBenthosBatch();
+ target.setSpecies(species);
entityToBenthosBatch(source, target);
result.addChildren(target);
if (log.isInfoEnabled()) {
@@ -134,18 +139,18 @@
);
if (horsVracBenthosBatch != null) {
for (Batch batch : horsVracBenthosBatch.getChildBatchs()) {
+ SortingBatch source = (SortingBatch) batch;
+ ReferenceTaxon referenceTaxon = source.getReferenceTaxon();
+ Preconditions.checkNotNull(referenceTaxon, "Can't have a rootSpeciesBatch with a null taxon, but was for " + source.getId());
+ Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
BenthosBatch target = TuttiBeanFactory.newBenthosBatch();
- entityToBenthosBatch((SortingBatch) batch, target);
+ target.setSpecies(species);
+
+ entityToBenthosBatch(source, target);
result.addChildren(target);
if (log.isInfoEnabled()) {
- String species;
- if (target.getSpecies() != null) {
- species = String.valueOf(target.getSpecies().getReferenceTaxonId());
- } else {
- species = "no species";
- }
- log.info("Loaded CatchBatch Hors Vrac > Benthos > " + species + " : " + target.getId());
+ log.info("Loaded CatchBatch Hors Vrac > Benthos > " + target.getSpecies().getReferenceTaxonId() + " : " + target.getId());
}
}
}
@@ -285,20 +290,6 @@
public List<BenthosBatchFrequency> getAllBenthosBatchFrequency(String benthosBatchId) {
Preconditions.checkNotNull(benthosBatchId);
-// List<BenthosBatchFrequency> results = Lists.newArrayList();
-//
-// Integer sortingBatchId = Integer.valueOf(benthosBatchId);
-// Integer catchBatchId = catchBatchDao.getIdBySortingBatchId(sortingBatchId);
-// Preconditions.checkNotNull(
-// catchBatchId,
-// "Could not find catchBatch for benthosBatch: " + benthosBatchId);
-//
-// CatchBatch catchBatch = catchBatchDao.loadFullTree(catchBatchId);
-//
-// SortingBatch sortingBatch = catchBatchDao.getSortingBatchById(
-// catchBatch, sortingBatchId);
-//
-// List<SortingBatch> frequencyChilds = batchHelper.getFrequencyChilds(sortingBatch);
List<SortingBatch> frequencyChilds = batchHelper.getFrequencies(benthosBatchId);
List<BenthosBatchFrequency> results = Lists.newArrayList();
for (SortingBatch child : frequencyChilds) {
@@ -346,10 +337,6 @@
for (SortingBatch child : frequencyChilds) {
notUpdatedChildIds.add(child.getId());
}
-// for (Batch batch : parentBatch.getChildBatchs()) {
-// SortingBatch sortingBatch = (SortingBatch) batch;
-// notUpdatedChildIds.add(sortingBatch.getId());
-// }
short rankOrder = 0;
List<SortingBatch> batchsToUpdate = Lists.newArrayList();
@@ -399,7 +386,6 @@
return Collections.unmodifiableList(frequencies);
}
-
//------------------------------------------------------------------------//
//-- Internal methods --//
//------------------------------------------------------------------------//
@@ -407,6 +393,8 @@
protected BenthosBatch entityToBenthosBatch(SortingBatch source,
BenthosBatch target) {
+ Preconditions.checkNotNull(target.getSpecies());
+
target.setId(source.getId().toString());
// Individual count
@@ -446,27 +434,15 @@
}
}
- // Species
- Integer referenceTaxonId = source.getInheritedReferenceTaxonId();
- if (referenceTaxonId == null && source.getReferenceTaxon() != null) {
- referenceTaxonId = source.getReferenceTaxon().getId();
- }
- if (referenceTaxonId != null) {
- // TODO : add cache on getSpeciesByReferenceTaxonId
- Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxonId);
- target.setSpecies(species);
- }
- //FIXME-TC Check the test is still ok?
- //FIXME-TC We should a stronger test
-// if (target.getSampleCategoryType() != null && source.getChildBatchs().size() > 0) {
if (target.getSampleCategoryType() != null) {
List<BenthosBatch> targetChilds = Lists.newArrayList();
for (Batch batch : source.getChildBatchs()) {
SortingBatch sourceChild = (SortingBatch) batch;
BenthosBatch targetChild = TuttiBeanFactory.newBenthosBatch();
+ targetChild.setSpecies(target.getSpecies());
entityToBenthosBatch(sourceChild, targetChild);
if (log.isInfoEnabled()) {
- log.info("Loaded CatchBatch Hors Vrac > (Species|Benthos) > " + target.getSpecies().getReferenceTaxonId() + " : " + target.getId());
+ log.info("Loaded CatchBatch Hors Vrac > (Species|Benthos) > " + targetChild.getSpecies().getReferenceTaxonId() + " : " + target.getId());
}
if (targetChild.getSampleCategoryValue() != null) {
targetChilds.add(targetChild);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2013-04-22 13:37:22 UTC (rev 850)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/SpeciesBatchPersistenceServiceImpl.java 2013-04-22 13:38:24 UTC (rev 851)
@@ -116,10 +116,14 @@
BatchContainer<SpeciesBatch> result = new BatchContainer<SpeciesBatch>();
result.setId(vracSpeciesBatch.getId());
- for (Batch batch1 : vracSpeciesBatch.getChildBatchs()) {
- SortingBatch source = (SortingBatch) batch1;
+ for (Batch batch : vracSpeciesBatch.getChildBatchs()) {
+ SortingBatch source = (SortingBatch) batch;
+ ReferenceTaxon referenceTaxon = source.getReferenceTaxon();
+ Preconditions.checkNotNull(referenceTaxon, "Can't have a rootSpeciesBatch with a null taxon, but was for " + batch.getId());
+ Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
SpeciesBatch target = TuttiBeanFactory.newSpeciesBatch();
+ target.setSpecies(species);
entityToSpeciesBatch(source, target);
result.addChildren(target);
@@ -135,9 +139,14 @@
BatchPersistenceHelper.BATCH_PMFM_ID, enumeration.PMFM_ID_SORTING_TYPE, enumeration.QUALITATIVE_ID_SORTING_TYPE_SPECIES);
if (horsVracSpeciesBatch != null) {
for (Batch batch : horsVracSpeciesBatch.getChildBatchs()) {
+ SortingBatch source = (SortingBatch) batch;
+ ReferenceTaxon referenceTaxon = source.getReferenceTaxon();
+ Preconditions.checkNotNull(referenceTaxon, "Can't have a rootSpeciesBatch with a null taxon, but was for " + source.getId());
+ Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxon.getId());
SpeciesBatch target = TuttiBeanFactory.newSpeciesBatch();
- entityToSpeciesBatch((SortingBatch) batch, target);
+ target.setSpecies(species);
+ entityToSpeciesBatch(source, target);
result.addChildren(target);
if (log.isInfoEnabled()) {
log.info("Loaded CatchBatch Hors Vrac > Species > " + target.getSpecies().getReferenceTaxonId() + " : " + target.getId());
@@ -415,6 +424,8 @@
protected SpeciesBatch entityToSpeciesBatch(SortingBatch source,
SpeciesBatch target) {
+ Preconditions.checkNotNull(target.getSpecies());
+
target.setId(source.getId().toString());
// Individual count
@@ -454,27 +465,15 @@
}
}
- // Species
- Integer referenceTaxonId = source.getInheritedReferenceTaxonId();
- if (referenceTaxonId == null && source.getReferenceTaxon() != null) {
- referenceTaxonId = source.getReferenceTaxon().getId();
- }
- if (referenceTaxonId != null) {
- // TODO : add cache on getSpeciesByReferenceTaxonId
- Species species = referentialService.getSpeciesByReferenceTaxonId(referenceTaxonId);
- target.setSpecies(species);
- }
- //FIXME-TC Check the test is still ok?
- //FIXME-TC We should a stronger test
-// if (target.getSampleCategoryType() != null && source.getChildBatchs().size() > 0) {
if (target.getSampleCategoryType() != null) {
List<SpeciesBatch> targetChilds = Lists.newArrayList();
for (Batch batch : source.getChildBatchs()) {
SortingBatch sourceChild = (SortingBatch) batch;
SpeciesBatch targetChild = TuttiBeanFactory.newSpeciesBatch();
+ targetChild.setSpecies(target.getSpecies());
entityToSpeciesBatch(sourceChild, targetChild);
if (log.isInfoEnabled()) {
- log.info("Loaded CatchBatch Hors Vrac > (Species|Benthos) > " + target.getSpecies().getReferenceTaxonId() + " : " + target.getId());
+ log.info("Loaded CatchBatch Hors Vrac > (Species|Benthos) > " + targetChild.getSpecies().getReferenceTaxonId() + " : " + target.getId());
}
if (targetChild.getSampleCategoryValue() != null) {
targetChilds.add(targetChild);
1
0
r850 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches: benthos species
by tchemit@users.forge.codelutin.com 22 Apr '13
by tchemit@users.forge.codelutin.com 22 Apr '13
22 Apr '13
Author: tchemit
Date: 2013-04-22 15:37:22 +0200 (Mon, 22 Apr 2013)
New Revision: 850
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/850
Log:
fixes #2345: [CAPTURES] Muavaise remont?\195?\169 des arbres d'?\195?\169chantillonage
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-22 13:30:21 UTC (rev 849)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-22 13:37:22 UTC (rev 850)
@@ -532,7 +532,7 @@
List<SampleCategoryEnum> samplingOrder = Lists.newArrayList();
- List<Integer> samplingOrderIds = getConfig().getSamplingOrderIds();
+ List<Integer> samplingOrderIds = getConfig().getServiceConfig().getSamplingOrderIds();
for (Integer id : samplingOrderIds) {
samplingOrder.add(categoryEnumMap.get(id));
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-22 13:30:21 UTC (rev 849)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-22 13:37:22 UTC (rev 850)
@@ -529,7 +529,7 @@
List<SampleCategoryEnum> samplingOrder = Lists.newArrayList();
- List<Integer> samplingOrderIds = getConfig().getSamplingOrderIds();
+ List<Integer> samplingOrderIds = getConfig().getServiceConfig().getSamplingOrderIds();
for (Integer id : samplingOrderIds) {
samplingOrder.add(categoryEnumMap.get(id));
}
1
0
22 Apr '13
Author: kmorin
Date: 2013-04-22 15:30:21 +0200 (Mon, 22 Apr 2013)
New Revision: 849
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/849
Log:
fixes #2252 [RAPPORT] - G?\195?\169n?\195?\169ration d'un fichier CSV de synth?\195?\168se pour le logiciel SUMATRA
debug weight computing for benthos
Added:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRow.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRowModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/TuttiCatchesSumatraExportService.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportCruiseForSumatraAction.java
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-ui-swing/src/main/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/TuttiUIContext.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.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-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/catches/TuttiWeightComputingService.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -479,8 +479,7 @@
// if the weight of the frequencies is different from the category
// weight, then set the weight of the sample
if (frequencyWeight > categoryWeight) {
- throw new TuttiWeightComputingException(_
- ("tutti.service.operations.computeWeights.species.error.incoherentCategoryWeight"),
+ throw new TuttiWeightComputingException(_("tutti.service.operations.computeWeights.species.error.incoherentCategoryWeight"),
TuttiWeightComputingException.CatchType.SPECIES,
thisIndex);
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRow.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRow.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRow.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -0,0 +1,63 @@
+package fr.ifremer.tutti.service.sumatra;
+
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+
+import java.io.Serializable;
+
+/**
+ * @author kmorin <kmorin(a)codelutin.com>
+ * @since 2.0
+ */
+public class CatchRow implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ public static final String PROPERTY_FISHING_OPERATION = "fishingOperation";
+
+ public static final String PROPERTY_SPECIES = "species";
+
+ public static final String PROPERTY_WEIGHT = "weight";
+
+ public static final String PROPERTY_NUMBER = "number";
+
+ protected FishingOperation fishingOperation;
+
+ protected Species species;
+
+ protected Float weight;
+
+ protected Integer number;
+
+ public FishingOperation getFishingOperation() {
+ return fishingOperation;
+ }
+
+ public void setFishingOperation(FishingOperation fishingOperation) {
+ this.fishingOperation = fishingOperation;
+ }
+
+ public Species getSpecies() {
+ return species;
+ }
+
+ public void setSpecies(Species species) {
+ this.species = species;
+ }
+
+ public Float getWeight() {
+ return weight;
+ }
+
+ public void setWeight(Float weight) {
+ this.weight = weight;
+ }
+
+ public Integer getNumber() {
+ return number;
+ }
+
+ public void setNumber(Integer number) {
+ this.number = number;
+ }
+}
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRowModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRowModel.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/CatchRowModel.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -0,0 +1,46 @@
+package fr.ifremer.tutti.service.sumatra;
+
+import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.service.TuttiCsvUtil;
+import org.nuiton.util.csv.Common;
+import org.nuiton.util.csv.ValueFormatter;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * @author kmorin <kmorin(a)codelutin.com>
+ * @since 2.0
+ */
+public class CatchRowModel extends TuttiCsvUtil.AbstractTuttiImportExportModel<CatchRow> {
+
+ public CatchRowModel(char separator) {
+ super(separator);
+
+ // export definition
+
+ newColumnForExport(_("tutti.service.exportSumatra.header.station"), CatchRow.PROPERTY_FISHING_OPERATION, new ValueFormatter<FishingOperation>() {
+ @Override
+ public String format(FishingOperation o) {
+ Preconditions.checkNotNull(o, _("tutti.service.exportSumatra.error.station.null"));
+ return o.getStationNumber() + String.format("%04d", o.getFishingOperationNumber());
+ }
+ });
+ newColumnForExport(_("tutti.service.exportSumatra.header.species"), CatchRow.PROPERTY_SPECIES, new ValueFormatter<Species>() {
+ @Override
+ public String format(Species s) {
+ Preconditions.checkNotNull(s, _("tutti.service.exportSumatra.error.species.null"));
+ return s.getName();
+ }
+ });
+ newColumnForExport(_("tutti.service.exportSumatra.header.weight"), CatchRow.PROPERTY_WEIGHT, Common.PRIMITIVE_FLOAT);
+ newColumnForExport(_("tutti.service.exportSumatra.header.number"), CatchRow.PROPERTY_NUMBER, Common.PRIMITIVE_INTEGER);
+ }
+
+ @Override
+ public CatchRow newEmptyInstance() {
+ return new CatchRow();
+ }
+
+}
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/TuttiCatchesSumatraExportService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/TuttiCatchesSumatraExportService.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/sumatra/TuttiCatchesSumatraExportService.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -0,0 +1,162 @@
+package fr.ifremer.tutti.service.sumatra;
+
+import com.google.common.base.Charsets;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.io.Files;
+import fr.ifremer.tutti.TuttiTechnicalException;
+import fr.ifremer.tutti.persistence.entities.data.*;
+import fr.ifremer.tutti.persistence.entities.referential.Species;
+import fr.ifremer.tutti.service.AbstractTuttiService;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.service.TuttiServiceContext;
+import fr.ifremer.tutti.service.catches.TuttiWeightComputingService;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.csv.Export;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author kmorin <kmorin(a)codelutin.com>
+ * @since 2.0
+ */
+public class TuttiCatchesSumatraExportService extends AbstractTuttiService {
+
+ private static final Log log =
+ LogFactory.getLog(TuttiCatchesSumatraExportService.class);
+
+ public static final char CSV_SEPARATOR = ';';
+
+ protected PersistenceService persistenceService;
+
+ protected TuttiWeightComputingService tuttiWeightComputingService;
+
+ @Override
+ public void setServiceContext(TuttiServiceContext context) {
+ super.setServiceContext(context);
+ persistenceService = getService(PersistenceService.class);
+ tuttiWeightComputingService = getService(TuttiWeightComputingService.class);
+ }
+
+ public void exportCruiseForSumatra(File file,
+ String cruiseId) {
+
+ Preconditions.checkNotNull(cruiseId, "Cannot export a null cruise");
+
+ if (log.isInfoEnabled()) {
+ log.info("Will export cruise " + cruiseId + " to file: " + file);
+ }
+
+ Cruise cruise = persistenceService.getCruise(cruiseId);
+ Preconditions.checkNotNull(cruise, "Cruise not found");
+
+ CatchRowModel csvModel =
+ new CatchRowModel(CSV_SEPARATOR);
+ List<CatchRow> rows = Lists.newArrayList();
+
+ List<FishingOperation> operations = persistenceService.getAllFishingOperation(cruiseId);
+ if (operations != null) {
+ for (FishingOperation operation : operations) {
+
+ // add species rows
+
+ BatchContainer<SpeciesBatch> speciesBatchContainer =
+ tuttiWeightComputingService.getComputedSpeciesBatches(operation);
+
+ Map<Species, CatchRow> rowMap = Maps.newHashMap();
+ List<SpeciesBatch> speciesBatches = speciesBatchContainer.getChildren();
+ for (SpeciesBatch batch : speciesBatches) {
+ Species sp = batch.getSpecies();
+
+ Float weight = batch.getSampleCategoryWeight();
+ if (weight == null) {
+ weight = batch.getSampleCategoryComputedWeight();
+ }
+
+ Integer nb = batch.getNumber();
+ if (nb == null) {
+ nb = batch.getComputedNumber();
+ }
+ if (nb == null) {
+ nb = 0;
+ }
+
+ CatchRow row = rowMap.get(sp);
+ if (row == null) {
+ row = new CatchRow();
+ row.setFishingOperation(operation);
+ row.setSpecies(sp);
+ row.setWeight(weight);
+ row.setNumber(nb);
+
+ } else {
+ row.setWeight(row.getWeight() + weight);
+ row.setNumber(row.getNumber() + nb);
+ }
+ rowMap.put(sp, row);
+ }
+
+ rows.addAll(rowMap.values());
+
+ // add benthos rows
+
+ BatchContainer<BenthosBatch> benthosBatchContainer =
+ tuttiWeightComputingService.getComputedBenthosBatches(operation);
+
+ rowMap.clear();
+ List<BenthosBatch> benthosBatches = benthosBatchContainer.getChildren();
+ for (BenthosBatch batch : benthosBatches) {
+ Species sp = batch.getSpecies();
+
+ Float weight = batch.getSampleCategoryWeight();
+ if (weight == null) {
+ weight = batch.getSampleCategoryComputedWeight();
+ }
+
+ Integer nb = batch.getNumber();
+ if (nb == null) {
+ nb = batch.getComputedNumber();
+ }
+ if (nb == null) {
+ nb = 0;
+ }
+
+ CatchRow row = rowMap.get(sp);
+ if (row == null) {
+ row = new CatchRow();
+ row.setFishingOperation(operation);
+ row.setSpecies(sp);
+ row.setWeight(weight);
+ row.setNumber(nb);
+
+ } else {
+ row.setWeight(row.getWeight() + weight);
+ row.setNumber(row.getNumber() + nb);
+ }
+ rowMap.put(sp, row);
+ }
+
+ rows.addAll(rowMap.values());
+ }
+ }
+
+ BufferedWriter writer = null;
+ try {
+ writer = Files.newWriter(file, Charsets.UTF_8);
+ Export export = Export.newExport(csvModel, rows);
+ export.write(writer);
+ writer.close();
+
+ } catch (Exception e) {
+ throw new TuttiTechnicalException("Could not export all caracteristics to file " + file, e);
+ } finally {
+ IOUtils.closeQuietly(writer);
+ }
+ }
+}
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-22 13:30:21 UTC (rev 849)
@@ -55,6 +55,12 @@
tutti.service.exportCruise.exportOperations=
tutti.service.exportCruise.exportParameters=
tutti.service.exportCruise.exportSurvey=
+tutti.service.exportSumatra.error.species.null=
+tutti.service.exportSumatra.error.station.null=
+tutti.service.exportSumatra.header.number=
+tutti.service.exportSumatra.header.species=
+tutti.service.exportSumatra.header.station=
+tutti.service.exportSumatra.header.weight=
tutti.service.operations.computeWeights.benthos.error.incoherentCategoryWeight=
tutti.service.operations.computeWeights.benthos.error.incoherentParentCategoryWeight=
tutti.service.operations.computeWeights.benthos.error.incoherentRowWeightFrequency=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-22 13:30:21 UTC (rev 849)
@@ -55,6 +55,12 @@
tutti.service.exportCruise.exportOperations=Export du fichier <strong>operations.csv</strong> pour la campagne %s
tutti.service.exportCruise.exportParameters=Export du fichier <strong>parameters.csv</strong> pour la campagne %s
tutti.service.exportCruise.exportSurvey=Export du fichier <strong>survey.csv</strong> pour la campagne %s
+tutti.service.exportSumatra.error.species.null=L'espèce est nulle
+tutti.service.exportSumatra.error.station.null=Le trait est nul
+tutti.service.exportSumatra.header.number=NbIndividus
+tutti.service.exportSumatra.header.species=Espèce
+tutti.service.exportSumatra.header.station=Station
+tutti.service.exportSumatra.header.weight=Total
tutti.service.operations.computeWeights.benthos.error.incoherentCategoryWeight=Le poids total des mensurations d'un lot du benthos est supérieur au poids de la catégorie
tutti.service.operations.computeWeights.benthos.error.incoherentParentCategoryWeight=Le poids de la catégorie d'un lot du benthos est différent de la somme des poids de ses sous-catégories
tutti.service.operations.computeWeights.benthos.error.incoherentRowWeightFrequency=Le poids total des mensurations d'un lot du benthos est différent du poids du sous-échantillon
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-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-en.properties 2013-04-22 13:30:21 UTC (rev 849)
@@ -1,28 +1,5 @@
-###
-# #%L
-# Tutti :: UI
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2012 - 2013 Ifremer
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Mon Apr 22 08:30:46 CEST 2013
+#Mon Apr 22 10:46:45 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=createAccidentalBatch.html\#actions
tutti.createAccidentalBatch.action.save.help=createAccidentalBatch.html\#actions
@@ -248,6 +225,9 @@
tutti.fishingOperations.field.fishingOperation.help=fishingOperations.html\#fields
tutti.fishingOperations.help=fishingOperations.html
tutti.index.help=index.html
+tutti.main.action.changeLocale.help=
+tutti.main.action.changeLocaleFR.help=
+tutti.main.action.changeLocaleUK.help=
tutti.main.action.showHelp.help=index.html\#menu
tutti.main.help=index.html
tutti.main.menu.action.about.help=index.html\#menu
@@ -283,6 +263,7 @@
tutti.selectCruise.action.editProgram.help=selectCruise.html\#actions
tutti.selectCruise.action.editProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.exportCruise.help=
+tutti.selectCruise.action.exportCruiseForSumatra.help=
tutti.selectCruise.action.exportProgram.help=
tutti.selectCruise.action.exportProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.importProtocol.help=selectCruise.html\#actions
@@ -310,3 +291,8 @@
tutti.splitSpeciesBatch.field.sampleWeightField.help=splitSpeciesBatch.html\#fields
tutti.splitSpeciesBatch.field.speciesField.help=splitSpeciesBatch.html\#fields
tutti.splitSpeciesBatch.help=splitSpeciesBatch.html
+tuttihelp.config.help=
+tuttihelp.editAccidentalBatch.help=
+tuttihelp.editIndividualObservationBatch.help=
+tuttihelp.editMarineLitterBatch.help=
+tuttihelp.editPlanktonBatch.help=
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-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/filtered-resources/tutti-help-fr.properties 2013-04-22 13:30:21 UTC (rev 849)
@@ -1,28 +1,5 @@
-###
-# #%L
-# Tutti :: UI
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2012 - 2013 Ifremer
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/gpl-3.0.html>.
-# #L%
-###
#Generated by org.nuiton.jaxx.plugin.GenerateHelpIdsMojo
-#Mon Apr 22 08:30:46 CEST 2013
+#Mon Apr 22 10:46:45 CEST 2013
tutti.config.help=config.html
tutti.createAccidentalBatch.action.cancel.help=createAccidentalBatch.html\#actions
tutti.createAccidentalBatch.action.save.help=createAccidentalBatch.html\#actions
@@ -248,6 +225,9 @@
tutti.fishingOperations.field.fishingOperation.help=fishingOperations.html\#fields
tutti.fishingOperations.help=fishingOperations.html
tutti.index.help=index.html
+tutti.main.action.changeLocale.help=
+tutti.main.action.changeLocaleFR.help=
+tutti.main.action.changeLocaleUK.help=
tutti.main.action.showHelp.help=index.html\#menu
tutti.main.help=index.html
tutti.main.menu.action.about.help=index.html\#menu
@@ -283,6 +263,7 @@
tutti.selectCruise.action.editProgram.help=selectCruise.html\#actions
tutti.selectCruise.action.editProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.exportCruise.help=
+tutti.selectCruise.action.exportCruiseForSumatra.help=
tutti.selectCruise.action.exportProgram.help=
tutti.selectCruise.action.exportProtocol.help=selectCruise.html\#actions
tutti.selectCruise.action.importProtocol.help=selectCruise.html\#actions
@@ -310,3 +291,8 @@
tutti.splitSpeciesBatch.field.sampleWeightField.help=splitSpeciesBatch.html\#fields
tutti.splitSpeciesBatch.field.speciesField.help=splitSpeciesBatch.html\#fields
tutti.splitSpeciesBatch.help=splitSpeciesBatch.html
+tuttihelp.config.help=
+tuttihelp.editAccidentalBatch.help=
+tuttihelp.editIndividualObservationBatch.help=
+tuttihelp.editMarineLitterBatch.help=
+tuttihelp.editPlanktonBatch.help=
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -44,6 +44,7 @@
import fr.ifremer.tutti.service.pupitri.TuttiPupitriImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialImportExportService;
import fr.ifremer.tutti.service.referential.TuttiReferentialSynchronizeService;
+import fr.ifremer.tutti.service.sumatra.TuttiCatchesSumatraExportService;
import fr.ifremer.tutti.ui.swing.config.TuttiApplicationConfig;
import fr.ifremer.tutti.ui.swing.content.MainUI;
import fr.ifremer.tutti.ui.swing.util.TuttiErrorHelper;
@@ -542,6 +543,10 @@
return serviceContext.getService(TuttiExportService.class);
}
+ public TuttiCatchesSumatraExportService getCatchesSumatraExportService() {
+ return serviceContext.getService(TuttiCatchesSumatraExportService.class);
+ }
+
public boolean useRealPersistenceService() {
return isDbExist() && isDbLoaded();
}
Copied: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportCruiseForSumatraAction.java (from rev 827, trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SendCruiseReportAction.java)
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportCruiseForSumatraAction.java (rev 0)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/ExportCruiseForSumatraAction.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -0,0 +1,89 @@
+package fr.ifremer.tutti.ui.swing.content.home;
+
+import com.google.common.base.Preconditions;
+import fr.ifremer.tutti.TuttiIOUtil;
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.service.catches.ExportCatchesReportService;
+import fr.ifremer.tutti.service.sumatra.TuttiCatchesSumatraExportService;
+import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
+import fr.ifremer.tutti.ui.swing.util.action.AbstractTuttiAction;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.io.File;
+
+import static org.nuiton.i18n.I18n._;
+
+/**
+ * Opens a file chooser, exports the cruise catches into the selected file and open the default email editor.
+ *
+ * @author kmorin <morin(a)codelutin.com>
+ * @since 1.0
+ */
+public class ExportCruiseForSumatraAction extends AbstractTuttiAction<SelectCruiseUIModel, SelectCruiseUI, SelectCruiseUIHandler> {
+
+ /** Logger. */
+ private static final Log log =
+ LogFactory.getLog(ExportCruiseForSumatraAction.class);
+
+ protected File file;
+
+ public ExportCruiseForSumatraAction(SelectCruiseUIHandler handler) {
+ super(handler, true);
+ }
+
+ @Override
+ protected boolean prepareAction() throws Exception {
+
+ boolean doAction = super.prepareAction();
+
+ if (doAction) {
+
+ // choose file to export
+ file = TuttiUIUtil.chooseFile(
+ getContext().getMainUI(),
+ _("tutti.exportCruiseForSumatra.title.choose.exportFile"),
+ _("tutti.exportCruiseForSumatra.action.chooseFile"),
+ "^.+\\.csv$", _("tutti.common.file.csv")
+ );
+ doAction = file != null;
+ if (doAction) {
+ file = TuttiIOUtil.addExtensionIfMissing(file, ".csv");
+
+ // ask user to confirm overwrite.
+ doAction = getHandler().askOverwriteFile(file);
+ }
+ }
+ return doAction;
+ }
+
+ @Override
+ protected void releaseAction() {
+ file = null;
+ super.releaseAction();
+ }
+
+ @Override
+ protected void doAction() throws Exception {
+ Cruise cruise = getModel().getCruise();
+ Preconditions.checkNotNull(cruise);
+ Preconditions.checkNotNull(file);
+
+ if (log.isInfoEnabled()) {
+ log.info("Will export cruise " + cruise.getId() +
+ " to file: " + file);
+ }
+
+ // export catches
+ TuttiCatchesSumatraExportService service =
+ getContext().getCatchesSumatraExportService();
+ service.exportCruiseForSumatra(file, cruise.getId());
+
+ }
+
+ @Override
+ public void postSuccessAction() {
+ super.postSuccessAction();
+ sendMessage(_("tutti.exportCruiseForSumatra.action.success", file));
+ }
+}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.css 2013-04-22 13:30:21 UTC (rev 849)
@@ -106,7 +106,7 @@
}
#editCruiseComboBox {
- model: {handler.newComboModel(editCruiseButton, exportCruiseButton, sendCruiseReportButton)};
+ model: {handler.newComboModel(editCruiseButton, exportCruiseButton, sendCruiseReportButton, exportCruiseForSumatraButton)};
enabled: {model.isProgramFound() && model.isCruiseFound()};
renderer: {new ActionListCellRenderer()};
}
@@ -135,6 +135,14 @@
_help: {"tutti.selectCruise.action.sendCruiseReport.help"};
}
+#exportCruiseForSumatraButton {
+ actionIcon: export;
+ text: "tutti.selectCruise.action.exportCruiseForSumatra";
+ toolTipText: "tutti.selectCruise.action.exportCruiseForSumatra.tip";
+ _tuttiAction: {ExportCruiseForSumatraAction.class};
+ _help: {"tutti.selectCruise.action.exportCruiseForSumatra.help"};
+}
+
#newCruiseButton {
actionIcon: add;
text: "tutti.selectCruise.action.newCruise";
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/home/SelectCruiseUI.jaxx 2013-04-22 13:30:21 UTC (rev 849)
@@ -78,6 +78,7 @@
<JButton id='editCruiseButton'/>
<JButton id='exportCruiseButton'/>
<JButton id='sendCruiseReportButton'/>
+ <JButton id='exportCruiseForSumatraButton'/>
<JButton id='newProtocolButton'/>
<JButton id='importProtocolButton'/>
<JButton id='editProtocolButton'/>
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -55,6 +55,7 @@
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchRowModel;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchUI;
import fr.ifremer.tutti.ui.swing.content.operation.catches.benthos.split.SplitBenthosBatchUIModel;
+import fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchRowModel;
import fr.ifremer.tutti.ui.swing.util.TuttiBeanMonitor;
import fr.ifremer.tutti.ui.swing.util.TuttiUI;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
@@ -820,7 +821,8 @@
newBatch,
sampleCategoryEnum,
row.getCategoryValue(),
- row.getWeight());
+ row.getWeight(),
+ null);
recomputeRowValidState(newBatch);
newBatches.add(newBatch);
@@ -1056,11 +1058,11 @@
BenthosBatchRowModel parentRow,
List<BenthosBatchRowModel> rows) {
+ String id = aBatch.getId();
+
List<BenthosBatchFrequency> frequencies =
- persistenceService.getAllBenthosBatchFrequency(aBatch.getId());
+ persistenceService.getAllBenthosBatchFrequency(id);
-
-
BenthosBatchRowModel newRow =
new BenthosBatchRowModel(aBatch, frequencies);
@@ -1091,7 +1093,8 @@
newRow,
sampleCategoryEnum,
aBatch.getSampleCategoryValue(),
- aBatch.getSampleCategoryWeight());
+ aBatch.getSampleCategoryWeight(),
+ aBatch.getSampleCategoryComputedWeight());
rows.add(newRow);
@@ -1102,10 +1105,27 @@
List<BenthosBatchRowModel> batchChilds = Lists.
newArrayListWithCapacity(aBatch.sizeChildBatchs());
+ Float childrenWeights = 0f;
for (BenthosBatch childBatch : aBatch.getChildBatchs()) {
BenthosBatchRowModel childRow = loadBatch(childBatch, newRow, rows);
+ if (childrenWeights != null) {
+ Float weight = childRow.getFinestCategory().getNotNullWeight();
+ if (weight == null) {
+ childrenWeights = null;
+ } else {
+ childrenWeights += weight;
+ }
+ }
batchChilds.add(childRow);
}
+
+ Float rowWeight = newRow.getFinestCategory().getNotNullWeight();
+ boolean subSample = rowWeight != null && childrenWeights != null
+ && childrenWeights < rowWeight;
+ for (BenthosBatchRowModel childRow : batchChilds) {
+ childRow.getFinestCategory().setSubSample(subSample);
+ }
+
newRow.setChildBatch(batchChilds);
}
@@ -1116,7 +1136,8 @@
BenthosBatchRowModel newRow,
SampleCategoryEnum sampleCategoryEnum,
Serializable categoryValue,
- Float categoryWeight) {
+ Float categoryWeight,
+ Float categoryComputedWeight) {
// get sample category from his type
SampleCategory sampleCategory =
@@ -1125,6 +1146,7 @@
// fill it
sampleCategory.setCategoryValue(categoryValue);
sampleCategory.setCategoryWeight(categoryWeight);
+ sampleCategory.setComputedWeight(categoryComputedWeight);
// push it back to row as his *main* sample category
newRow.setSampleCategory(sampleCategory);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-22 13:30:21 UTC (rev 849)
@@ -355,25 +355,6 @@
recomputeBatchActionEnable();
}
-// @Override
-// protected void onRowModified(int rowIndex,
-// SpeciesBatchRowModel row,
-// String propertyName,
-// Object oldValue,
-// Object newValue) {
-//
-// if (SAMPLING_PROPERTIES.contains(propertyName)) {
-//
-// // species has changed, recompute valid property
-// recomputeRowValidState(row);
-// }
-//
-// saveSelectedRowIfNeeded();
-//
-// // when row valid state has changed, recompute action enabled states
-// recomputeBatchActionEnable();
-// }
-
@Override
protected void saveSelectedRowIfRequired(TuttiBeanMonitor<SpeciesBatchRowModel> rowMonitor,
SpeciesBatchRowModel row) {
@@ -543,13 +524,6 @@
initUI(ui);
-// SwingUtil.applyDataBinding(
-// ui,
-// SpeciesBatchUI.BINDING_CREATE_SPECIES_MELAG_MENU_ENABLED,
-// SpeciesBatchUI.BINDING_REMOVE_SPECIES_BATCH_MENU_ENABLED,
-// SpeciesBatchUI.BINDING_REMOVE_SPECIES_SUB_BATCH_MENU_ENABLED,
-// SpeciesBatchUI.BINDING_RENAME_SPECIES_BATCH_MENU_ENABLED);
-
Map<Integer, SampleCategoryEnum> categoryEnumMap =
SampleCategoryEnum.toIdMapping();
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-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-22 13:30:21 UTC (rev 849)
@@ -344,6 +344,13 @@
tutti.editCatchBatch.action.cancelEditCatchBatch.mnemonic=
tutti.editCatchBatch.action.cancelEditCatchBatch.tip=
tutti.editCatchBatch.action.computeWeights=
+tutti.editCatchBatch.action.computeWeights.error.incoherentCategoryWeight=
+tutti.editCatchBatch.action.computeWeights.error.incoherentParentCategoryWeight=
+tutti.editCatchBatch.action.computeWeights.error.incoherentRowWeightCategory=
+tutti.editCatchBatch.action.computeWeights.error.incoherentRowWeightFrequency=
+tutti.editCatchBatch.action.computeWeights.error.incoherentSpeciesTotalSorted=
+tutti.editCatchBatch.action.computeWeights.error.incoherentTotal=
+tutti.editCatchBatch.action.computeWeights.error.noWeight=
tutti.editCatchBatch.action.computeWeights.mnemonic=
tutti.editCatchBatch.action.computeWeights.replaceTotalSortedWeight.help=
tutti.editCatchBatch.action.computeWeights.replaceTotalSortedWeight.message=
@@ -354,6 +361,8 @@
tutti.editCatchBatch.action.importPupitri.existingData.message=
tutti.editCatchBatch.action.importPupitri.existingData.title=
tutti.editCatchBatch.action.importPupitri.mnemonic=
+tutti.editCatchBatch.action.importPupitri.noProtocol.message=
+tutti.editCatchBatch.action.importPupitri.noProtocol.title=
tutti.editCatchBatch.action.importPupitri.success=
tutti.editCatchBatch.action.importPupitri.tip=
tutti.editCatchBatch.action.saveCatchBatch=
@@ -410,6 +419,8 @@
tutti.editCruise.field.beginDate.tip=
tutti.editCruise.field.comment=
tutti.editCruise.field.comment.tip=
+tutti.editCruise.field.country=
+tutti.editCruise.field.country.tip=
tutti.editCruise.field.departureLocation=
tutti.editCruise.field.departureLocation.tip=
tutti.editCruise.field.endDate=
@@ -800,6 +811,9 @@
tutti.error.ui.business.error=
tutti.error.ui.other.error=
tutti.exportCruise.action.success=
+tutti.exportCruiseForSumatra.action.chooseFile=
+tutti.exportCruiseForSumatra.action.success=
+tutti.exportCruiseForSumatra.title.choose.exportFile=
tutti.exportProgram.action.success=
tutti.exportProtocol.action.success=
tutti.fishingOperations.action.newFishingOperation.mnemonic=
@@ -1010,6 +1024,8 @@
tutti.selectCruise.action.editProtocol.tip=
tutti.selectCruise.action.exportCruise=
tutti.selectCruise.action.exportCruise.tip=
+tutti.selectCruise.action.exportCruiseForSumatra=
+tutti.selectCruise.action.exportCruiseForSumatra.tip=
tutti.selectCruise.action.exportProgram=
tutti.selectCruise.action.exportProgram.tip=
tutti.selectCruise.action.exportProtocol=
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-04-22 09:51:45 UTC (rev 848)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-22 13:30:21 UTC (rev 849)
@@ -7,6 +7,7 @@
tutti.about.bottomText=Copyright %s - %s - version %s
tutti.about.message=<h3>Tutti</h3><p><strong>Outil de saisie de données d'opérations et de captures au cours des campagnes halieutiques.</strong></p><br/><p>Ce logiciel permettra la saisie en mer des données d'opération de pêche (positions, environnement, engin, etc) et des captures associées (composition de la capture en espèces scientifiques avec poids, nombres, tailles etc) pour l'ensemble des campagnes halieutiques réalisées par l'Ifremer.</p><p>Ce projet a été initiée en 2012 par l'<a href\="http\://www.ifremer.fr">Ifremer</a> et réalisé par la société <a href\="http\://codelutin.com">Codelutin</a>.</p><hr/><br/><p>Pour plus d'informations, vous pouvez visiter le <a href\="http\://maven-site.forge.codelutin.com/tutti">site du projet</a>.</p><p>Projet hébergé sur la forge <a href\="http\://forge.codelutin.com/projects/tutti">Forge.codelutin.com</a>.</p>
tutti.about.title=À propos de Tutti
+tutti.label.tab.species=Espèces
tutti.about.translate.content=<h2>Comment traduire Tutti</h2>Vous pouvez nous aider à traduire Tutti.<hr/><br/><ul><li>Récupérer le fichier <a href\="%s">tutti-i18n.csv</a> dans le répertoire <strong>i18n</strong></li><li>ouvrez le avec un tableur (le caractère séprateur est une Tabultation)</li><li>Traduisez, Améliorer, ...</li><li>Enfin renvoyez-le nous</li></ul><br/>Nous intégrerons vos modifications avant la prochaine version.
tutti.about.translate.title=Traduire Tutti
tutti.about.update.app.noup.detail=<tr><td>%1$s</td><td>%2$s</td><td>%2$s<td><td></td></tr>
@@ -799,6 +800,9 @@
tutti.error.ui.business.error=Erreur
tutti.error.ui.other.error=Erreur
tutti.exportCruise.action.success=La campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>.
+tutti.exportCruiseForSumatra.action.chooseFile=Choisir le fichier d'export
+tutti.exportCruiseForSumatra.action.success=Les captures ont correctement été exporté dans le fichier %s
+tutti.exportCruiseForSumatra.title.choose.exportFile=Exporter les captures de la campagne
tutti.exportProgram.action.success=La série de campagne <strong>%s</strong> a été exportée dans le fichier <strong>%s</strong>.
tutti.exportProtocol.action.success=Protocole [%1s] exporté dans le fichier <strong>%2s</strong>.
tutti.fishingOperations.action.newFishingOperation.mnemonic=N
@@ -1005,11 +1009,13 @@
tutti.selectCruise.action.editProgram=Éditer
tutti.selectCruise.action.editProgram.tip=Éditer le programme sélectionné
tutti.selectCruise.action.editProtocol=Éditer
-tutti.selectCruise.action.editProtocol.tip=Éditer le protocole sélectionné
+tutti.selectCruise.action.editProtocol.tip=Éditer le protocol sélectionné
tutti.selectCruise.action.exportCruise=Exporter
-tutti.selectCruise.action.exportCruise.tip=Exporter la campagne au format générique
+tutti.selectCruise.action.exportCruise.tip=Exporter la campagne sélectionnée
+tutti.selectCruise.action.exportCruiseForSumatra=Sumatra
+tutti.selectCruise.action.exportCruiseForSumatra.tip=Exporter la campagne sélectionnée pour Sumatra
tutti.selectCruise.action.exportProgram=Exporter
-tutti.selectCruise.action.exportProgram.tip=Exporter les campagnes de la série au format générique
+tutti.selectCruise.action.exportProgram.tip=Exporter la série sélectionnée
tutti.selectCruise.action.exportProtocol=Exporter
tutti.selectCruise.action.exportProtocol.tip=Exporter le protocole sélectionné
tutti.selectCruise.action.importProtocol=Importer
@@ -1048,7 +1054,7 @@
tutti.sendCruiseReport.action.success=Les captures ont correctement été exporté dans le fichier %s
tutti.sendCruiseReport.mail.body=Bonjour,\n\nVeuillez trouver ci-joint le rapport des captures de la campagne %1s.\n*Pensez à joindre le fichier %2s*\n\nCordialement,\n\n*Votre nom*
tutti.sendCruiseReport.mail.subject=Captures de la campagne %s
-tutti.sendCruiseReport.title.choose.exportFile=Exporter les captures de la campagne
+tutti.sendCruiseReport.title.choose.exportFile=Envoyer les captures de la campagne
tutti.splitBenthosBatch.action.cancel=Annuler
tutti.splitBenthosBatch.action.cancel.mnemonic=A
tutti.splitBenthosBatch.action.cancel.tip=Annuler le sous-échantillonnage
1
0
22 Apr '13
Author: kmorin
Date: 2013-04-22 11:51:45 +0200 (Mon, 22 Apr 2013)
New Revision: 848
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/848
Log:
translations
Modified:
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-22 09:31:26 UTC (rev 847)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-22 09:51:45 UTC (rev 848)
@@ -44,9 +44,9 @@
tutti.propety.no.vessel.name=Nom inconnu
tutti.propety.no.zone=Pas de zone
tutti.propety.vessel.nation.registrationCode=%s (nat.)
-tutti.service.catches.computeWeights.benthos.error.incoherentSampleWeight=
-tutti.service.catches.computeWeights.error.incoherentRowWeightCategory=
-tutti.service.catches.computeWeights.species.error.incoherentSampleWeight=
+tutti.service.catches.computeWeights.benthos.error.incoherentSampleWeight=Le poids de sous-échantillon est supérieur au poids du lot.
+tutti.service.catches.computeWeights.error.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids.
+tutti.service.catches.computeWeights.species.error.incoherentSampleWeight=Le poids de sous-échantillon est supérieur au poids du lot.
tutti.service.export.invalid.cruise=L'export de la campagne %s ne peut pas être réalisé suite aux erreurs rencontrées sur ses traits lors de l'élévation des poids \:\n%s
tutti.service.export.invalid.fishingOperation=L'élévation des poids ne peut pas être réalisé sur le trait %s, pour la raison suivante %s
tutti.service.exportCruise.buildZip=Création de l'archive de l'export (fichier %s)
@@ -60,7 +60,7 @@
tutti.service.operations.computeWeights.benthos.error.incoherentRowWeightFrequency=Le poids total des mensurations d'un lot du benthos est différent du poids du sous-échantillon
tutti.service.operations.computeWeights.benthos.error.incoherentTotalSorted=Le poids total Vrac du benthos est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié
tutti.service.operations.computeWeights.benthos.error.noWeight=Un lot du benthos n'a pas de poids
-tutti.service.operations.computeWeights.error.incoherentRowWeightCategory=
+tutti.service.operations.computeWeights.error.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids.
tutti.service.operations.computeWeights.error.incoherentTotal=Le poids total de la capture ne correspond pas à la somme des poids totaux Vrac, Hors Vrac et non triés
tutti.service.operations.computeWeights.marineLitter.error.incoherentTotal=Le poids total des macro-déchets est inférieur à la somme des poids des macro-déchets saisis
tutti.service.operations.computeWeights.marineLitter.error.noWeight=Un lot de macro-déchets n'a pas de poids
1
0