Tutti-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- 4058 discussions
30 Apr '13
Author: tchemit
Date: 2013-04-30 16:28:59 +0200 (Tue, 30 Apr 2013)
New Revision: 897
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/897
Log:
-refs #1875: [IMP/EXP] - Export des donn?\195?\169es de campagne : format g?\195?\169n?\195?\169rique (export marineLitter + individualObservations)
-add missing svn properties + license headers
Added:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportRow.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportModel.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportRow.java
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.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/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml
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/content/cruise/ExportCruiseValidationMessagesAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportOperationValidationMessagesAction.java
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistence.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -238,6 +238,14 @@
Caracteristic getDeadOrAliveCaracteristic();
+ Caracteristic getSampleIdCaracteristic();
+
+ Caracteristic getOtolitheIdCaracteristic();
+
+ Caracteristic getPmfmIdCaracteristic();
+
+ Caracteristic getWeightMeasuredCaracteristic();
+
List<Gear> getAllScientificGear();
List<Gear> getAllFishingGear();
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceImpl.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -350,6 +350,26 @@
}
@Override
+ public Caracteristic getSampleIdCaracteristic() {
+ return referentialService.getSampleIdCaracteristic();
+ }
+
+ @Override
+ public Caracteristic getOtolitheIdCaracteristic() {
+ return referentialService.getOtolitheIdCaracteristic();
+ }
+
+ @Override
+ public Caracteristic getPmfmIdCaracteristic() {
+ return referentialService.getPmfmIdCaracteristic();
+ }
+
+ @Override
+ public Caracteristic getWeightMeasuredCaracteristic() {
+ return referentialService.getWeightMeasuredCaracteristic();
+ }
+
+ @Override
public List<Gear> getAllScientificGear() {
return referentialService.getAllScientificGear();
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/TuttiPersistenceNoDbImpl.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -201,6 +201,26 @@
}
@Override
+ public Caracteristic getSampleIdCaracteristic() {
+ throw new RuntimeException("method not implemented");
+ }
+
+ @Override
+ public Caracteristic getOtolitheIdCaracteristic() {
+ throw new RuntimeException("method not implemented");
+ }
+
+ @Override
+ public Caracteristic getPmfmIdCaracteristic() {
+ throw new RuntimeException("method not implemented");
+ }
+
+ @Override
+ public Caracteristic getWeightMeasuredCaracteristic() {
+ throw new RuntimeException("method not implemented");
+ }
+
+ @Override
public List<Gear> getAllScientificGear() {
throw new RuntimeException("method not implemented");
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/IndividualObservationBatchPersistenceServiceImpl.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -289,28 +289,26 @@
if (source.getSamplingCode() != null) {
Caracteristic caracteristic =
- referentialService.getCaracteristic(enumeration.PMFM_ID_SAMPLE_ID);
+ referentialService.getSampleIdCaracteristic();
caracteristics.put(caracteristic, source.getSamplingCode());
}
if (source.getCalcifiedPieceSamplingCode() != null) {
Caracteristic caracteristic =
- referentialService.getCaracteristic(enumeration.PMFM_ID_OTOLITHE_ID);
+ referentialService.getOtolitheIdCaracteristic();
caracteristics.put(caracteristic, source.getCalcifiedPieceSamplingCode());
}
if (source.getWeight() != null) {
- Caracteristic caracteristic = referentialService.getCaracteristic(
- enumeration.PMFM_ID_WEIGHT_MEASURED);
+ Caracteristic caracteristic = referentialService.getWeightMeasuredCaracteristic();
caracteristics.put(caracteristic, source.getWeight());
}
if (source.getLengthStepCaracteristic() != null) {
- Caracteristic caracteristic = referentialService.getCaracteristic(
- enumeration.PMFM_ID_ID_PSFM);
+ Caracteristic caracteristic = referentialService.getPmfmIdCaracteristic();
caracteristics.put(caracteristic,
source.getLengthStepCaracteristic().getId());
@@ -351,22 +349,22 @@
sampleMeasurementPersistenceHelper.fillSampleMeasurements(
result, batch.getIdAsInt());
- String sampleCode = (String) result.remove(referentialService.getCaracteristic(enumeration.PMFM_ID_SAMPLE_ID));
+ String sampleCode = (String) result.remove(referentialService.getSampleIdCaracteristic());
if (sampleCode != null) {
batch.setSamplingCode(sampleCode);
}
- String calcifiedPieceSampleCode = (String) result.remove(referentialService.getCaracteristic(enumeration.PMFM_ID_OTOLITHE_ID));
+ String calcifiedPieceSampleCode = (String) result.remove(referentialService.getOtolitheIdCaracteristic());
if (sampleCode != null) {
batch.setCalcifiedPieceSamplingCode(calcifiedPieceSampleCode);
}
- Float weight = (Float) result.remove(referentialService.getCaracteristic(enumeration.PMFM_ID_WEIGHT_MEASURED));
+ Float weight = (Float) result.remove(referentialService.getWeightMeasuredCaracteristic());
if (weight != null) {
batch.setWeight(weight);
}
- String lengthClassId = (String) result.remove(referentialService.getCaracteristic(enumeration.PMFM_ID_ID_PSFM));
+ String lengthClassId = (String) result.remove(referentialService.getPmfmIdCaracteristic());
if (lengthClassId != null) {
Caracteristic lengthStepCaracteristic = referentialService.getCaracteristic(Integer.valueOf(lengthClassId));
batch.setLengthStepCaracteristic(lengthStepCaracteristic);
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceService.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -230,6 +230,14 @@
Caracteristic getDeadOrAliveCaracteristic();
+ Caracteristic getSampleIdCaracteristic();
+
+ Caracteristic getOtolitheIdCaracteristic();
+
+ Caracteristic getPmfmIdCaracteristic();
+
+ Caracteristic getWeightMeasuredCaracteristic();
+
List<Gear> getAllScientificGear();
List<Gear> getAllFishingGear();
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ReferentialPersistenceServiceImpl.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -608,6 +608,34 @@
}
@Override
+ public Caracteristic getSampleIdCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_SAMPLE_ID;
+ Caracteristic result = thisService.getCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getOtolitheIdCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_OTOLITHE_ID;
+ Caracteristic result = thisService.getCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getPmfmIdCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_ID_PSFM;
+ Caracteristic result = thisService.getCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
+ public Caracteristic getWeightMeasuredCaracteristic() {
+ Integer pmfmId = enumeration.PMFM_ID_WEIGHT_MEASURED;
+ Caracteristic result = thisService.getCaracteristic(pmfmId);
+ return result;
+ }
+
+ @Override
public Caracteristic getCaracteristic(Integer pmfmId) {
Object[] source = queryUniqueWithStatus("pmfmById",
"pmfmId", IntegerType.INSTANCE, pmfmId,
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -452,6 +452,26 @@
}
@Override
+ public Caracteristic getSampleIdCaracteristic() {
+ return driver.getSampleIdCaracteristic();
+ }
+
+ @Override
+ public Caracteristic getOtolitheIdCaracteristic() {
+ return driver.getOtolitheIdCaracteristic();
+ }
+
+ @Override
+ public Caracteristic getPmfmIdCaracteristic() {
+ return driver.getPmfmIdCaracteristic();
+ }
+
+ @Override
+ public Caracteristic getWeightMeasuredCaracteristic() {
+ return driver.getWeightMeasuredCaracteristic();
+ }
+
+ @Override
public Vessel getVessel(String vesselCode) {
return driver.getVessel(vesselCode);
}
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-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/CatchExportModel.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -206,7 +206,6 @@
prepareRows(persistenceService, currentRow, rows, childBatch);
}
}
-
}
public void prepareRows(PersistenceService persistenceService,
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportModel.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportModel.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -0,0 +1,168 @@
+package fr.ifremer.tutti.service.export;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch;
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.service.TuttiCsvUtil;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.MapUtils;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Model of a individual observation export.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0.1
+ */
+public class IndividualObservationExportModel extends TuttiCsvUtil.AbstractTuttiExportModel<IndividualObservationExportRow> {
+
+ protected final Caracteristic caracteristicSample;
+
+ protected final Caracteristic caracteristicOtolithe;
+
+ protected final Caracteristic caracteristicWeight;
+
+ protected final Caracteristic caracteristicPmfmId;
+
+ public IndividualObservationExportModel(
+ char separator,
+ Caracteristic caracteristicSample,
+ Caracteristic caracteristicOtolithe,
+ Caracteristic caracteristicWeight,
+ Caracteristic caracteristicPmfmId) {
+ super(separator);
+
+ this.caracteristicSample = caracteristicSample;
+ this.caracteristicOtolithe = caracteristicOtolithe;
+ this.caracteristicWeight = caracteristicWeight;
+ this.caracteristicPmfmId = caracteristicPmfmId;
+
+ newColumnForExport("Annee", Cruise.PROPERTY_BEGIN_DATE, TuttiCsvUtil.YEAR);
+ newColumnForExport("Serie", Cruise.PROPERTY_PROGRAM, Program.PROPERTY_NAME);
+ newColumnForExport("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART);
+ newColumnForExport("Engin", FishingOperation.PROPERTY_GEAR, Gear.PROPERTY_NAME);
+ newColumnForExport("Poche", FishingOperation.PROPERTY_MULTIRIG_AGGREGATION);
+ newColumnForExport("Id_Operation", FishingOperation.PROPERTY_STATION_NUMBER);
+ newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER);
+ newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, Vessel.PROPERTY_NAME);
+
+ newColumnForExport("BatchId", IndividualObservationExportRow.PROPERTY_BATCH_ID, TuttiCsvUtil.PRIMITIVE_INTEGER);
+ newColumnForExport("Comment", IndividualObservationBatch.PROPERTY_COMMENT);
+ newColumnForExport("CaracteristicId", IndividualObservationExportRow.PROPERTY_CARACTERISTIC, Caracteristic.PROPERTY_ID);
+ newColumnForExport("CaracteristicValue", IndividualObservationExportRow.PROPERTY_CARACTERISTIC_VALUE, TuttiCsvUtil.CARACTERISTIC_VALUE_FORMATTER);
+ }
+
+ public void prepareRows(PersistenceService persistenceService,
+ List<IndividualObservationExportRow> rows,
+ Cruise cruise,
+ FishingOperation operation) {
+
+ List<IndividualObservationBatch> observations =
+ persistenceService.getAllIndividualObservationBatch(operation.getId());
+
+ if (CollectionUtils.isNotEmpty(observations)) {
+ for (IndividualObservationBatch child : observations) {
+
+ addCaracteristicRow(rows,
+ cruise,
+ operation,
+ child,
+ caracteristicSample,
+ child.getSamplingCode());
+
+ addCaracteristicRow(rows,
+ cruise,
+ operation,
+ child,
+ caracteristicOtolithe,
+ child.getCalcifiedPieceSamplingCode());
+
+ addCaracteristicRow(rows,
+ cruise,
+ operation,
+ child,
+ caracteristicWeight,
+ child.getWeight());
+
+ if (child.getLengthStepCaracteristic() != null) {
+ addCaracteristicRow(rows,
+ cruise,
+ operation,
+ child,
+ caracteristicPmfmId,
+ child.getLengthStepCaracteristic().getIdAsInt());
+
+ addCaracteristicRow(rows,
+ cruise,
+ operation,
+ child,
+ child.getLengthStepCaracteristic(),
+ child.getSize());
+ }
+
+ CaracteristicMap caracteristics = child.getCaracteristics();
+ if (MapUtils.isNotEmpty(caracteristics)) {
+ for (Map.Entry<Caracteristic, Serializable> entry : caracteristics.entrySet()) {
+ addCaracteristicRow(rows,
+ cruise,
+ operation,
+ child,
+ entry.getKey(),
+ entry.getValue());
+ }
+ }
+ }
+ }
+ }
+
+ private void addCaracteristicRow(List<IndividualObservationExportRow> rows,
+ Cruise cruise,
+ FishingOperation operation,
+ IndividualObservationBatch child,
+ Caracteristic caracteristic,
+ Serializable caracteristicValue) {
+ if (caracteristicValue != null) {
+
+ IndividualObservationExportRow row = new IndividualObservationExportRow();
+ row.setCruise(cruise);
+ row.setFishingOperation(operation);
+ row.setBatch(child);
+ row.setCaracteristic(caracteristic);
+ row.setCaracteristicValue(caracteristicValue);
+ rows.add(row);
+ }
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportRow.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportRow.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportRow.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -0,0 +1,133 @@
+package fr.ifremer.tutti.service.export;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch;
+import fr.ifremer.tutti.persistence.entities.data.Program;
+import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * A row in a individual observation export.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0.1
+ */
+public class IndividualObservationExportRow implements Serializable {
+
+ public static final String PROPERTY_BATCH = "batch";
+
+ private static final long serialVersionUID = 1L;
+
+ public static final String PROPERTY_BATCH_ID = "batchId";
+
+ public static final String PROPERTY_CARACTERISTIC = "caracteristic";
+
+ public static final String PROPERTY_CARACTERISTIC_VALUE = "caracteristicValue";
+
+ protected Cruise cruise;
+
+ protected FishingOperation fishingOperation;
+
+ protected IndividualObservationBatch batch;
+
+ protected Caracteristic caracteristic;
+
+ protected Serializable caracteristicValue;
+
+ public void setCruise(Cruise cruise) {
+ this.cruise = cruise;
+ }
+
+ public void setFishingOperation(FishingOperation fishingOperation) {
+ this.fishingOperation = fishingOperation;
+ }
+
+ public void setBatch(IndividualObservationBatch batch) {
+ this.batch = batch;
+ }
+
+ public void setCaracteristic(Caracteristic caracteristic) {
+ this.caracteristic = caracteristic;
+ }
+
+ public void setCaracteristicValue(Serializable caracteristicValue) {
+ this.caracteristicValue = caracteristicValue;
+ }
+
+ public Integer getBatchId() {
+ return batch.getIdAsInt();
+ }
+
+ public Caracteristic getCaracteristic() {
+ return caracteristic;
+ }
+
+ public Serializable getCaracteristicValue() {
+ return caracteristicValue;
+ }
+
+ public String getComment() {
+ return batch.getComment();
+ }
+
+ public Date getBeginDate() {
+ return cruise.getBeginDate();
+ }
+
+ public Program getProgram() {
+ return cruise.getProgram();
+ }
+
+ public String getSurveyPart() {
+ return cruise.getSurveyPart();
+ }
+
+ public String getStationNumber() {
+ return fishingOperation.getStationNumber();
+ }
+
+ public Integer getFishingOperationNumber() {
+ return fishingOperation.getFishingOperationNumber();
+ }
+
+ public Gear getGear() {
+ return fishingOperation.getGear();
+ }
+
+ public Vessel getVessel() {
+ return fishingOperation.getVessel();
+ }
+
+ public String getMultirigAggregation() {
+ return fishingOperation.getMultirigAggregation();
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/IndividualObservationExportRow.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportModel.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportModel.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportModel.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -0,0 +1,86 @@
+package fr.ifremer.tutti.service.export;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+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.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+import fr.ifremer.tutti.service.PersistenceService;
+import fr.ifremer.tutti.service.TuttiCsvUtil;
+import org.apache.commons.collections.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * Model of a marine litter export.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0.1
+ */
+public class MarineLitterExportModel extends TuttiCsvUtil.AbstractTuttiExportModel<MarineLitterExportRow> {
+
+ public MarineLitterExportModel(char separator) {
+ super(separator);
+
+ newColumnForExport("Annee", Cruise.PROPERTY_BEGIN_DATE, TuttiCsvUtil.YEAR);
+ newColumnForExport("Serie", Cruise.PROPERTY_PROGRAM, Program.PROPERTY_NAME);
+ newColumnForExport("Serie_Partielle", Cruise.PROPERTY_SURVEY_PART);
+ newColumnForExport("Engin", FishingOperation.PROPERTY_GEAR, Gear.PROPERTY_NAME);
+ newColumnForExport("Poche", FishingOperation.PROPERTY_MULTIRIG_AGGREGATION);
+ newColumnForExport("Id_Operation", FishingOperation.PROPERTY_STATION_NUMBER);
+ newColumnForExport("NumOrdre_Station", FishingOperation.PROPERTY_FISHING_OPERATION_NUMBER, TuttiCsvUtil.INTEGER);
+ newColumnForExport("Navire", Cruise.PROPERTY_VESSEL, Vessel.PROPERTY_NAME);
+
+ newColumnForExport("MarineLitterCategory", MarineLitterBatch.PROPERTY_MARINE_LITTER_CATEGORY, TuttiCsvUtil.CARACTERISTIC_VALUE_FORMATTER);
+ newColumnForExport("MarineLitterSizeCategory", MarineLitterBatch.PROPERTY_MARINE_LITTER_SIZE_CATEGORY, TuttiCsvUtil.CARACTERISTIC_VALUE_FORMATTER);
+ newColumnForExport("Number", MarineLitterBatch.PROPERTY_NUMBER, TuttiCsvUtil.INTEGER);
+ newColumnForExport("Weight", MarineLitterBatch.PROPERTY_WEIGHT, TuttiCsvUtil.FLOAT);
+ newColumnForExport("Comment", MarineLitterBatch.PROPERTY_COMMENT);
+ }
+
+ public void prepareRows(PersistenceService persistenceService,
+ List<MarineLitterExportRow> rows,
+ Cruise cruise,
+ FishingOperation operation) {
+
+ BatchContainer<MarineLitterBatch> rootMarineLitterBatch =
+ persistenceService.getRootMarineLitterBatch(operation.getId());
+
+ List<MarineLitterBatch> children = rootMarineLitterBatch.getChildren();
+ if (CollectionUtils.isNotEmpty(children)) {
+ for (MarineLitterBatch child : children) {
+ MarineLitterExportRow row = new MarineLitterExportRow();
+ row.setCruise(cruise);
+ row.setFishingOperation(operation);
+ row.setBatch(child);
+ rows.add(row);
+ }
+ }
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Added: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportRow.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportRow.java (rev 0)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportRow.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -0,0 +1,119 @@
+package fr.ifremer.tutti.service.export;
+
+/*
+ * #%L
+ * Tutti :: Service
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
+import fr.ifremer.tutti.persistence.entities.data.Cruise;
+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.referential.CaracteristicQualitativeValue;
+import fr.ifremer.tutti.persistence.entities.referential.Gear;
+import fr.ifremer.tutti.persistence.entities.referential.Vessel;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * A row in a marine litter export.
+ *
+ * @author tchemit <chemit(a)codelutin.com>
+ * @since 2.0.1
+ */
+public class MarineLitterExportRow implements Serializable {
+
+ public static final String PROPERTY_BATCH= "batch";
+
+ private static final long serialVersionUID = 1L;
+
+ protected Cruise cruise;
+
+ protected FishingOperation fishingOperation;
+
+ protected MarineLitterBatch batch;
+
+ public void setCruise(Cruise cruise) {
+ this.cruise = cruise;
+ }
+
+ public void setFishingOperation(FishingOperation fishingOperation) {
+ this.fishingOperation = fishingOperation;
+ }
+
+ public void setBatch(MarineLitterBatch batch) {
+ this.batch = batch;
+ }
+
+ public CaracteristicQualitativeValue getMarineLitterCategory() {
+ return batch.getMarineLitterCategory();
+ }
+
+ public CaracteristicQualitativeValue getMarineLitterSizeCategory() {
+ return batch.getMarineLitterSizeCategory();
+ }
+
+ public Integer getNumber() {
+ return batch.getNumber();
+ }
+
+ public Float getWeight() {
+ return batch.getWeight();
+ }
+
+ public String getComment() {
+ return batch.getComment();
+ }
+
+ public Date getBeginDate() {
+ return cruise.getBeginDate();
+ }
+
+ public Program getProgram() {
+ return cruise.getProgram();
+ }
+
+ public String getSurveyPart() {
+ return cruise.getSurveyPart();
+ }
+
+ public String getStationNumber() {
+ return fishingOperation.getStationNumber();
+ }
+
+ public Integer getFishingOperationNumber() {
+ return fishingOperation.getFishingOperationNumber();
+ }
+
+ public Gear getGear() {
+ return fishingOperation.getGear();
+ }
+
+ public Vessel getVessel() {
+ return fishingOperation.getVessel();
+ }
+
+ public String getMultirigAggregation() {
+ return fishingOperation.getMultirigAggregation();
+ }
+}
Property changes on: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/MarineLitterExportRow.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
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-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -97,6 +97,14 @@
protected List<SampleCategoryEnum> samplingOrder;
+ protected Caracteristic sampleIdCaracteristic;
+
+ protected Caracteristic otolitheIdCaracteristic;
+
+ protected Caracteristic weightMeasuredCaracteristic;
+
+ protected Caracteristic pmfmIdCaracteristic;
+
@Override
public void setServiceContext(TuttiServiceContext context) {
super.setServiceContext(context);
@@ -108,6 +116,11 @@
verticalOpeningCaracteristic = persistenceService.getVerticalOpeningCaracteristic();
horizontalOpeningWingCaracteristic = persistenceService.getHorizontalOpeningWingCaracteristic();
horizontalOpeningDoorCaracteristic = persistenceService.getHorizontalOpeningDoorCaracteristic();
+ sampleIdCaracteristic = persistenceService.getSampleIdCaracteristic();
+ otolitheIdCaracteristic = persistenceService.getOtolitheIdCaracteristic();
+ weightMeasuredCaracteristic = persistenceService.getWeightMeasuredCaracteristic();
+ pmfmIdCaracteristic = persistenceService.getPmfmIdCaracteristic();
+
List<TuttiLocation> allCountry = persistenceService.getAllCountry();
String countryId = context.getConfig().getExportCountryId();
country = TuttiEntities.splitById(allCountry).get(countryId);
@@ -208,6 +221,10 @@
verticalOpeningCaracteristic,
horizontalOpeningWingCaracteristic,
horizontalOpeningDoorCaracteristic,
+ sampleIdCaracteristic,
+ otolitheIdCaracteristic,
+ weightMeasuredCaracteristic,
+ pmfmIdCaracteristic,
samplingOrder);
}
@@ -279,6 +296,16 @@
progressionModel.increments(1);
progressionModel.setMessage(
+ _("tutti.service.exportCruise.exportMarineLitters", cruiseName));
+ exportMarineLitters(exportContext, cruise, loadedOperations);
+ progressionModel.increments(1);
+
+ progressionModel.setMessage(
+ _("tutti.service.exportCruise.exportIndividualObservations", cruiseName));
+ exportIndividualObservations(exportContext, cruise, loadedOperations);
+ progressionModel.increments(1);
+
+ progressionModel.setMessage(
_("tutti.service.exportCruise.exportCatches", cruiseName));
// exportCatches(exportContext, cruise, loadedOperations);
progressionModel.increments(1);
@@ -328,6 +355,40 @@
}
}
+ protected void exportMarineLitters(ExportContext exportContext,
+ Cruise cruise,
+ List<FishingOperation> operations) {
+
+ try {
+
+ for (FishingOperation operation : operations) {
+ List<MarineLitterExportRow> rows = Lists.newArrayList();
+ exportContext.marineLitterModel.prepareRows(persistenceService, rows, cruise, operation);
+ exportContext.marineLitterExport.write(rows, exportContext.marineLitterWriter);
+ }
+
+ } catch (Exception e) {
+ throw new TuttiTechnicalException(_("tutti.service.export.parameters.error"), e);
+ }
+ }
+
+ protected void exportIndividualObservations(ExportContext exportContext,
+ Cruise cruise,
+ List<FishingOperation> operations) {
+
+ try {
+
+ for (FishingOperation operation : operations) {
+ List<IndividualObservationExportRow> rows = Lists.newArrayList();
+ exportContext.individualObservationModel.prepareRows(persistenceService, rows, cruise, operation);
+ exportContext.individualObservationExport.write(rows, exportContext.individualObservationWriter);
+ }
+
+ } catch (Exception e) {
+ throw new TuttiTechnicalException(_("tutti.service.export.parameters.error"), e);
+ }
+ }
+
protected void exportCatches(ExportContext exportContext,
Cruise cruise,
List<FishingOperation> operations) {
@@ -380,6 +441,10 @@
File parameterFile;
+ File marineLitterFile;
+
+ File individualObservationFile;
+
File catchFile;
BufferedWriter surveyWriter;
@@ -388,30 +453,46 @@
BufferedWriter parameterWriter;
+ BufferedWriter marineLitterWriter;
+
BufferedWriter catchWriter;
+ BufferedWriter individualObservationWriter;
+
SurveyExportModel surveyModel;
OperationExportModel operationModel;
+ MarineLitterExportModel marineLitterModel;
+
ParameterExportModel parameterModel;
CatchExportModel catchModel;
+ IndividualObservationExportModel individualObservationModel;
+
TuttiCsvUtil.TuttiRepeatableExport<SurveyExportRow> surveyExport;
TuttiCsvUtil.TuttiRepeatableExport<OperationExportRow> operationExport;
+ TuttiCsvUtil.TuttiRepeatableExport<MarineLitterExportRow> marineLitterExport;
+
TuttiCsvUtil.TuttiRepeatableExport<ParameterExportRow> parameterExport;
TuttiCsvUtil.TuttiRepeatableExport<CatchExportRow> catchExport;
+ TuttiCsvUtil.TuttiRepeatableExport<IndividualObservationExportRow> individualObservationExport;
+
ExportContext(File basedir,
char csvSeparator,
DecoratorService decoratorService,
Caracteristic verticalOpeningCaracteristic,
Caracteristic horizontalOpeningWingCaracteristic,
Caracteristic horizontalOpeningDoorCaracteristic,
+ Caracteristic sampleIdCaracteristic,
+ Caracteristic otolitheIdCaracteristic,
+ Caracteristic weightMeasuredCaracteristic,
+ Caracteristic pmfmIdCaracteristic,
List<SampleCategoryEnum> samplingOrder) {
try {
@@ -422,12 +503,18 @@
operationFile = new File(basedir, "operation.csv");
operationWriter = Files.newWriter(operationFile, Charsets.UTF_8);
+ marineLitterFile = new File(basedir, "marineLitter.csv");
+ marineLitterWriter = Files.newWriter(marineLitterFile, Charsets.UTF_8);
+
parameterFile = new File(basedir, "parameter.csv");
parameterWriter = Files.newWriter(parameterFile, Charsets.UTF_8);
catchFile = new File(basedir, "catch.csv");
catchWriter = Files.newWriter(catchFile, Charsets.UTF_8);
+ individualObservationFile = new File(basedir, "individualObservation.csv");
+ individualObservationWriter = Files.newWriter(individualObservationFile, Charsets.UTF_8);
+
} catch (FileNotFoundException e) {
// should never happen
@@ -445,7 +532,15 @@
parameterModel = new ParameterExportModel(
csvSeparator, decoratorService);
+
+ marineLitterModel = new MarineLitterExportModel(csvSeparator);
catchModel = new CatchExportModel(csvSeparator, samplingOrder);
+ individualObservationModel = new IndividualObservationExportModel(
+ csvSeparator,
+ sampleIdCaracteristic,
+ otolitheIdCaracteristic,
+ weightMeasuredCaracteristic,
+ pmfmIdCaracteristic);
surveyExport = TuttiCsvUtil.newRepeatableExport(
surveyModel);
@@ -456,7 +551,11 @@
parameterExport = TuttiCsvUtil.newRepeatableExport(
parameterModel);
+ marineLitterExport = TuttiCsvUtil.newRepeatableExport(
+ marineLitterModel);
+
catchExport = TuttiCsvUtil.newRepeatableExport(catchModel);
+ individualObservationExport = TuttiCsvUtil.newRepeatableExport(individualObservationModel);
}
@Override
@@ -465,6 +564,8 @@
IOUtils.closeQuietly(operationWriter);
IOUtils.closeQuietly(parameterWriter);
IOUtils.closeQuietly(catchWriter);
+ IOUtils.closeQuietly(marineLitterWriter);
+ IOUtils.closeQuietly(individualObservationWriter);
}
}
Modified: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml
===================================================================
--- trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml 2013-04-30 14:28:59 UTC (rev 897)
@@ -2,8 +2,8 @@
<!--
#%L
Tutti :: Service
- $Id: SpeciesBatch-error-validation.xml 862 2013-04-23 08:09:40Z kmorin $
- $HeadURL: http://svn.forge.codelutin.com/svn/tutti/trunk/tutti-service/src/main/resou… $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2012 - 2013 Ifremer
%%
Property changes on: trunk/tutti-service/src/main/resources/fr/ifremer/tutti/persistence/entities/data/SpeciesBatch-error-validation.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
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-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-30 14:28:59 UTC (rev 897)
@@ -68,6 +68,8 @@
tutti.service.exportCruise.exportCatches=Export du fichier <strong>catch.csv</strong> pour la campagne %s
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.exportMarineLitters=Export du fichier <strong>marineLitter.csv</strong> pour la campagne %s
+tutti.service.exportCruise.exportIndividualObservations=Export du fichier <strong>individualObservation.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
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-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-service/src/test/java/fr/ifremer/tutti/service/export/TuttiExportServiceTest.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -31,8 +31,11 @@
import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
import fr.ifremer.tutti.persistence.entities.TuttiBeanFactory;
import fr.ifremer.tutti.persistence.entities.TuttiEntities;
+import fr.ifremer.tutti.persistence.entities.data.BatchContainer;
import fr.ifremer.tutti.persistence.entities.data.Cruise;
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
+import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch;
+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.referential.Caracteristic;
@@ -73,6 +76,24 @@
protected TuttiExportService service;
+ protected Caracteristic marineLitterCategory;
+
+ protected Caracteristic marineLitterSizeCategory;
+
+ protected Caracteristic caracteristicVerticalOpening;
+
+ protected Caracteristic caracteristicHorizontalOpeningWing;
+
+ protected Caracteristic caracteristicHorizontalOpeningDoor;
+
+ protected Caracteristic sampleIdCaracteristic;
+
+ protected Caracteristic otolitheIdCaracteristic;
+
+ protected Caracteristic weightMeasuredCaracteristic;
+
+ protected Caracteristic pmfmIdCaracteristic;
+
protected List<TuttiLocation> countries;
protected Program program;
@@ -81,6 +102,10 @@
protected List<FishingOperation> operations;
+ protected List<MarineLitterBatch> marineLitters;
+
+ protected List<IndividualObservationBatch> individualObservations;
+
protected ProgressionModel progressionModel;
@Override
@@ -101,6 +126,8 @@
cruise = createCruise();
operations = createOperations(cruise);
+ marineLitters = createMarineLitters(operations);
+ individualObservations = createIndividualObservations(operations);
SampleCategoryEnum.sortedUnsorted.setFieldValue(1428);
SampleCategoryEnum.sortedUnsorted.setInit(true);
@@ -113,7 +140,7 @@
SampleCategoryEnum.age.setFieldValue(1430);
SampleCategoryEnum.age.setInit(true);
- Map<String,FishingOperation> operationMap = TuttiEntities.splitById(operations);
+ Map<String, FishingOperation> operationMap = TuttiEntities.splitById(operations);
serviceContext.getConfig().setCsvSeparator(';');
@@ -123,6 +150,11 @@
Mockito.when(persistenceService.getVerticalOpeningCaracteristic()).thenReturn(caracteristicVerticalOpening);
Mockito.when(persistenceService.getHorizontalOpeningDoorCaracteristic()).thenReturn(caracteristicHorizontalOpeningDoor);
Mockito.when(persistenceService.getHorizontalOpeningWingCaracteristic()).thenReturn(caracteristicHorizontalOpeningWing);
+ Mockito.when(persistenceService.getSampleIdCaracteristic()).thenReturn(sampleIdCaracteristic);
+ Mockito.when(persistenceService.getOtolitheIdCaracteristic()).thenReturn(otolitheIdCaracteristic);
+ Mockito.when(persistenceService.getWeightMeasuredCaracteristic()).thenReturn(weightMeasuredCaracteristic);
+ Mockito.when(persistenceService.getPmfmIdCaracteristic()).thenReturn(pmfmIdCaracteristic);
+
Mockito.when(persistenceService.getProgram(Mockito.<String>any())).thenReturn(program);
Mockito.when(persistenceService.getCruise(Mockito.<String>any())).thenReturn(cruise);
Mockito.when(persistenceService.getAllCruise(Mockito.<String>any())).thenReturn(Lists.newArrayList(cruise));
@@ -133,6 +165,28 @@
Mockito.when(persistenceService.getFishingOperation("2")).thenReturn(operationMap.get("2"));
Mockito.when(persistenceService.getFishingOperation("3")).thenReturn(operationMap.get("3"));
+ BatchContainer<MarineLitterBatch> marineLitterBatchBatchContainer;
+ marineLitterBatchBatchContainer = new BatchContainer<MarineLitterBatch>();
+ marineLitterBatchBatchContainer.addChildren(marineLitters.get(0));
+ marineLitterBatchBatchContainer.addChildren(marineLitters.get(1));
+ Mockito.when(persistenceService.getRootMarineLitterBatch("0")).thenReturn(marineLitterBatchBatchContainer);
+
+ marineLitterBatchBatchContainer = new BatchContainer<MarineLitterBatch>();
+ marineLitterBatchBatchContainer.addChildren(marineLitters.get(2));
+ marineLitterBatchBatchContainer.addChildren(marineLitters.get(3));
+ Mockito.when(persistenceService.getRootMarineLitterBatch("1")).thenReturn(marineLitterBatchBatchContainer);
+
+ marineLitterBatchBatchContainer = new BatchContainer<MarineLitterBatch>();
+ Mockito.when(persistenceService.getRootMarineLitterBatch("2")).thenReturn(marineLitterBatchBatchContainer);
+
+ marineLitterBatchBatchContainer = new BatchContainer<MarineLitterBatch>();
+ Mockito.when(persistenceService.getRootMarineLitterBatch("3")).thenReturn(marineLitterBatchBatchContainer);
+
+ Mockito.when(persistenceService.getAllIndividualObservationBatch("0")).thenReturn(Lists.newArrayList(individualObservations.get(0), individualObservations.get(1)));
+ Mockito.when(persistenceService.getAllIndividualObservationBatch("1")).thenReturn(Lists.newArrayList(individualObservations.get(2), individualObservations.get(3)));
+ Mockito.when(persistenceService.getAllIndividualObservationBatch("2")).thenReturn(Lists.<IndividualObservationBatch>newArrayList());
+ Mockito.when(persistenceService.getAllIndividualObservationBatch("3")).thenReturn(Lists.<IndividualObservationBatch>newArrayList());
+
TuttiServiceContext serviceContextSpy = Mockito.spy(serviceContext);
Mockito.when(serviceContextSpy.getService(Mockito.eq(PersistenceService.class))).thenReturn(persistenceService);
@@ -146,7 +200,6 @@
tuttiWeightComputingService.setServiceContext(serviceContextSpy);
service.tuttiWeightComputingService = tuttiWeightComputingService;
-
progressionModel = new ProgressionModel();
progressionModel.setTotal(6);
@@ -190,7 +243,7 @@
exportContext.close();
}
Assert.assertTrue(exportContext.surveyFile.exists());
- Assert.assertEquals(Files.readLines(exportContext.surveyFile, Charsets.UTF_8).size(), 1 + 1);
+ Assert.assertEquals(1 + 1, Files.readLines(exportContext.surveyFile, Charsets.UTF_8).size());
if (log.isInfoEnabled()) {
log.info("Survey export:\n" +
@@ -210,7 +263,7 @@
exportContext.close();
}
Assert.assertTrue(exportContext.operationFile.exists());
- Assert.assertEquals(Files.readLines(exportContext.operationFile, Charsets.UTF_8).size(), operations.size() + 1);
+ Assert.assertEquals(operations.size() + 1, Files.readLines(exportContext.operationFile, Charsets.UTF_8).size());
if (log.isInfoEnabled()) {
log.info("Operation export:\n" +
@@ -230,7 +283,7 @@
exportContext.close();
}
Assert.assertTrue(exportContext.parameterFile.exists());
- Assert.assertEquals(Files.readLines(exportContext.parameterFile, Charsets.UTF_8).size(), 1 + operations.size() * 7);
+ Assert.assertEquals(1 + operations.size() * 7, Files.readLines(exportContext.parameterFile, Charsets.UTF_8).size());
if (log.isInfoEnabled()) {
log.info("Parameter export:\n" +
@@ -250,13 +303,59 @@
exportContext.close();
}
Assert.assertTrue(exportContext.catchFile.exists());
- Assert.assertEquals(Files.readLines(exportContext.catchFile, Charsets.UTF_8).size(), 2);
+ Assert.assertEquals(2, Files.readLines(exportContext.catchFile, Charsets.UTF_8).size());
if (log.isInfoEnabled()) {
log.info("Catch export:\n" +
Files.toString(exportContext.catchFile, Charsets.UTF_8));
}
}
+ @Test
+ public void exportMarineLitters() throws Exception {
+
+ TuttiExportService.ExportContext exportContext =
+ service.createExportContext(datadirectory);
+
+ try {
+ service.exportMarineLitters(exportContext, cruise, operations);
+ } finally {
+ exportContext.close();
+ }
+ Assert.assertTrue(exportContext.marineLitterFile.exists());
+ Assert.assertEquals(marineLitters.size() + 1, Files.readLines(exportContext.marineLitterFile, Charsets.UTF_8).size());
+
+ if (log.isInfoEnabled()) {
+ log.info("MarineLitter export:\n" +
+ Files.toString(exportContext.marineLitterFile, Charsets.UTF_8));
+ }
+ }
+
+ @Test
+ public void exportIndividualObservations() throws Exception {
+
+ TuttiExportService.ExportContext exportContext =
+ service.createExportContext(datadirectory);
+
+ try {
+ service.exportIndividualObservations(exportContext, cruise, operations);
+ } finally {
+ exportContext.close();
+ }
+ Assert.assertTrue(exportContext.individualObservationFile.exists());
+ int expectedRow = 1 /* header*/
+ + 5 /* individualObservation 0 */
+ + 3 /* individualObservation 1 */
+ + 5 /* individualObservation 2 */
+ + 3 /* individualObservation 3 */;
+
+ if (log.isInfoEnabled()) {
+ log.info("individualObservation export:\n" +
+ Files.toString(exportContext.individualObservationFile, Charsets.UTF_8));
+ }
+
+ Assert.assertEquals(expectedRow, Files.readLines(exportContext.individualObservationFile, Charsets.UTF_8).size());
+ }
+
private List<TuttiLocation> createCountries() {
List<TuttiLocation> result = Lists.newArrayList();
TuttiLocation country = TuttiBeanFactory.newTuttiLocation();
@@ -340,12 +439,123 @@
return cruise;
}
- Caracteristic caracteristicVerticalOpening;
+ private List<MarineLitterBatch> createMarineLitters(List<FishingOperation> operations) {
- Caracteristic caracteristicHorizontalOpeningWing;
+ List<MarineLitterBatch> result = Lists.newArrayList();
- Caracteristic caracteristicHorizontalOpeningDoor;
+ MarineLitterBatch marineLitterBatch;
+ marineLitterBatch = TuttiBeanFactory.newMarineLitterBatch();
+ result.add(marineLitterBatch);
+ marineLitterBatch.setFishingOperation(operations.get(0));
+ marineLitterBatch.setId(1);
+ marineLitterBatch.setMarineLitterCategory(marineLitterCategory.getQualitativeValue(0));
+ marineLitterBatch.setMarineLitterSizeCategory(marineLitterSizeCategory.getQualitativeValue(0));
+ marineLitterBatch.setComment("Comment1");
+ marineLitterBatch.setNumber(10);
+ marineLitterBatch.setWeight(10f);
+
+ marineLitterBatch = TuttiBeanFactory.newMarineLitterBatch();
+ result.add(marineLitterBatch);
+ marineLitterBatch.setFishingOperation(operations.get(0));
+ marineLitterBatch.setId(2);
+ marineLitterBatch.setMarineLitterCategory(marineLitterCategory.getQualitativeValue(1));
+ marineLitterBatch.setMarineLitterSizeCategory(marineLitterSizeCategory.getQualitativeValue(1));
+ marineLitterBatch.setComment("Comment2");
+ marineLitterBatch.setNumber(20);
+ marineLitterBatch.setWeight(20f);
+
+ marineLitterBatch = TuttiBeanFactory.newMarineLitterBatch();
+ result.add(marineLitterBatch);
+ marineLitterBatch.setFishingOperation(operations.get(1));
+ marineLitterBatch.setId(10);
+ marineLitterBatch.setMarineLitterCategory(marineLitterCategory.getQualitativeValue(0));
+ marineLitterBatch.setMarineLitterSizeCategory(marineLitterSizeCategory.getQualitativeValue(0));
+ marineLitterBatch.setComment("Comment10");
+ marineLitterBatch.setNumber(100);
+ marineLitterBatch.setWeight(100f);
+
+ marineLitterBatch = TuttiBeanFactory.newMarineLitterBatch();
+ result.add(marineLitterBatch);
+ marineLitterBatch.setFishingOperation(operations.get(1));
+ marineLitterBatch.setId(20);
+ marineLitterBatch.setMarineLitterCategory(marineLitterCategory.getQualitativeValue(1));
+ marineLitterBatch.setMarineLitterSizeCategory(marineLitterSizeCategory.getQualitativeValue(1));
+ marineLitterBatch.setComment("Comment20");
+ marineLitterBatch.setNumber(200);
+ marineLitterBatch.setWeight(200f);
+
+ return result;
+ }
+
+ private List<IndividualObservationBatch> createIndividualObservations(List<FishingOperation> operations) {
+
+ List<IndividualObservationBatch> result = Lists.newArrayList();
+
+ Caracteristic lengthStepCaracteristic = TuttiBeanFactory.newCaracteristic();
+ lengthStepCaracteristic.setCaracteristicType(CaracteristicType.NUMBER);
+ lengthStepCaracteristic.setId(200);
+
+ IndividualObservationBatch batch;
+
+ // 5 caracteristics (lengthStep - size - weight - samplingCode - CalcifiedPieceSamplingCode)
+ batch = TuttiBeanFactory.newIndividualObservationBatch();
+ result.add(batch);
+ batch.setFishingOperation(operations.get(0));
+ batch.setId(1);
+ batch.setComment("Comment1");
+ batch.setLengthStepCaracteristic(lengthStepCaracteristic);
+ batch.setSize(10f);
+ batch.setWeight(10f);
+ batch.setSamplingCode("0");
+ batch.setCalcifiedPieceSamplingCode("C1");
+
+ // 3 caracteristics (lengthStep - size - weight)
+ batch = TuttiBeanFactory.newIndividualObservationBatch();
+ result.add(batch);
+ batch.setFishingOperation(operations.get(0));
+ batch.setId(2);
+ batch.setComment("Comment2");
+ batch.setLengthStepCaracteristic(lengthStepCaracteristic);
+ batch.setSize(20f);
+ batch.setWeight(20f);
+
+ // 5 caracteristics (lengthStep - size - weight + 2 others)
+ batch = TuttiBeanFactory.newIndividualObservationBatch();
+ result.add(batch);
+ batch.setFishingOperation(operations.get(1));
+ batch.setId(10);
+ batch.setComment("Comment10");
+ batch.setLengthStepCaracteristic(lengthStepCaracteristic);
+ batch.setSize(100f);
+ batch.setWeight(100f);
+ batch.setCaracteristics(new CaracteristicMap());
+
+ Caracteristic caracteristic;
+
+ caracteristic = TuttiBeanFactory.newCaracteristic();
+ caracteristic.setCaracteristicType(CaracteristicType.NUMBER);
+ caracteristic.setId(100);
+ batch.getCaracteristics().put(caracteristic, 100);
+
+ caracteristic = TuttiBeanFactory.newCaracteristic();
+ caracteristic.setCaracteristicType(CaracteristicType.TEXT);
+ caracteristic.setId(101);
+ batch.getCaracteristics().put(caracteristic, "Text");
+
+ // 3 caracteristics (weight - samplingCode - calcifiedPieceSamplingCode)
+ batch = TuttiBeanFactory.newIndividualObservationBatch();
+ result.add(batch);
+ batch.setFishingOperation(operations.get(1));
+ batch.setId(20);
+ batch.setComment("Comment20");
+ batch.setWeight(200f);
+ batch.setSamplingCode("20");
+ batch.setCalcifiedPieceSamplingCode("2C1");
+
+ return result;
+ }
+
private void createCaracteristics() {
caracteristicVerticalOpening = TuttiBeanFactory.newCaracteristic();
@@ -374,6 +584,52 @@
caracteristicHorizontalOpeningDoor.setMatrixName("CaracteristicHorizontalOpeningDoorMatrixName");
caracteristicHorizontalOpeningDoor.setFractionName("CaracteristicHorizontalOpeningDoorFractionName");
caracteristicHorizontalOpeningDoor.setMethodName("CaracteristicHorizontalOpeningDoorMethodName");
+
+ marineLitterCategory = TuttiBeanFactory.newCaracteristic();
+ marineLitterCategory.setCaracteristicType(CaracteristicType.QUALITATIVE);
+ marineLitterCategory.setId(13);
+ marineLitterCategory.setQualitativeValue(Lists.<CaracteristicQualitativeValue>newArrayList());
+ CaracteristicQualitativeValue qualitativeValue;
+ qualitativeValue = TuttiBeanFactory.newCaracteristicQualitativeValue();
+ qualitativeValue.setId(1);
+ qualitativeValue.setName("Plastic");
+ marineLitterCategory.addQualitativeValue(qualitativeValue);
+ qualitativeValue = TuttiBeanFactory.newCaracteristicQualitativeValue();
+ qualitativeValue.setId(2);
+ qualitativeValue.setName("Machine à laver");
+ marineLitterCategory.addQualitativeValue(qualitativeValue);
+
+ marineLitterSizeCategory = TuttiBeanFactory.newCaracteristic();
+ marineLitterSizeCategory.setCaracteristicType(CaracteristicType.QUALITATIVE);
+ marineLitterSizeCategory.setId(14);
+ marineLitterSizeCategory.setQualitativeValue(Lists.<CaracteristicQualitativeValue>newArrayList());
+
+ qualitativeValue = TuttiBeanFactory.newCaracteristicQualitativeValue();
+ qualitativeValue.setId(3);
+ qualitativeValue.setName("Petit");
+ marineLitterSizeCategory.addQualitativeValue(qualitativeValue);
+ qualitativeValue = TuttiBeanFactory.newCaracteristicQualitativeValue();
+ qualitativeValue.setId(4);
+ qualitativeValue.setName("Gros");
+ marineLitterSizeCategory.addQualitativeValue(qualitativeValue);
+
+ sampleIdCaracteristic = TuttiBeanFactory.newCaracteristic();
+ sampleIdCaracteristic.setCaracteristicType(CaracteristicType.TEXT);
+ sampleIdCaracteristic.setId(15);
+
+ otolitheIdCaracteristic = TuttiBeanFactory.newCaracteristic();
+ otolitheIdCaracteristic.setCaracteristicType(CaracteristicType.TEXT);
+ otolitheIdCaracteristic.setId(16);
+
+ weightMeasuredCaracteristic = TuttiBeanFactory.newCaracteristic();
+ weightMeasuredCaracteristic.setCaracteristicType(CaracteristicType.NUMBER);
+ weightMeasuredCaracteristic.setId(17);
+
+ pmfmIdCaracteristic = TuttiBeanFactory.newCaracteristic();
+ pmfmIdCaracteristic.setCaracteristicType(CaracteristicType.TEXT);
+ pmfmIdCaracteristic.setId(18);
+
+
}
private List<FishingOperation> createOperations(Cruise cruise) {
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportCruiseValidationMessagesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportCruiseValidationMessagesAction.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportCruiseValidationMessagesAction.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content.cruise;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.tutti.TuttiIOUtil;
import fr.ifremer.tutti.service.catches.ValidateCruiseOperationsService;
import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportCruiseValidationMessagesAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportOperationValidationMessagesAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportOperationValidationMessagesAction.java 2013-04-30 14:12:06 UTC (rev 896)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportOperationValidationMessagesAction.java 2013-04-30 14:28:59 UTC (rev 897)
@@ -1,5 +1,29 @@
package fr.ifremer.tutti.ui.swing.content.cruise;
+/*
+ * #%L
+ * Tutti :: UI
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2012 - 2013 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/gpl-3.0.html>.
+ * #L%
+ */
+
import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
import fr.ifremer.tutti.service.DecoratorService;
import fr.ifremer.tutti.service.catches.ValidateCruiseOperationsService;
Property changes on: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/cruise/ExportOperationValidationMessagesAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
1
0
30 Apr '13
Author: kmorin
Date: 2013-04-30 16:12:06 +0200 (Tue, 30 Apr 2013)
New Revision: 896
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/896
Log:
refs #2000 [TECH] Mettre en place les messages d'erreur m?\195?\169tier
fixes #2386 [CAPTURE] - Esp?\195?\168ces - Erreur quand on veut catgoriser un lot cat?\195?\169goriser par age
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeHelper.java
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.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/split/SplitBenthosBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
trunk/tutti-ui-swing/src/main/resources/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/synchro/ReferentialSynchronizeHelper.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeHelper.java 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/synchro/ReferentialSynchronizeHelper.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -48,6 +48,8 @@
import java.util.Properties;
import java.util.Set;
+import static org.nuiton.i18n.I18n._;
+
/**
* Helper to synchronize referential between two databases.
*
@@ -103,12 +105,12 @@
try {
ProgressionModel progressionModel = result.getProgressionModel();
- progressionModel.setMessage("Connection à la base de synchronisation");
+ progressionModel.setMessage(_("tutti.persistence.synchronizeReferential.prepare.step1"));
// create local connection
localConnection = TuttiEntities.createConnection(localProperties);
- progressionModel.setMessage("Connection à la base à synchroniser");
+ progressionModel.setMessage(_("tutti.persistence.synchronizeReferential.prepare.step2"));
// create remote Connection
remoteConnection = TuttiEntities.createConnection(remoteProperties);
@@ -119,7 +121,7 @@
TuttiDatabaseMetadata remoteMeta =
loadDatabaseMetadata(remoteConnection, dialect);
- progressionModel.setMessage("Vérification de la compatibilité des schémas");
+ progressionModel.setMessage(_("tutti.persistence.synchronizeReferential.prepare.step3"));
// check schema
try {
@@ -136,7 +138,7 @@
String tableName = tuttiTable.name();
- progressionModel.setMessage("Lecture de la table " + tableName);
+ progressionModel.setMessage(_("tutti.persistence.synchronizeReferential.prepare.step4", tableName));
TuttiTableMetadata table = remoteMeta.getTable(tableName);
@@ -219,7 +221,7 @@
String tableName = tuttiTable.name();
- progressionModel.setMessage("Mise à jour de la table " + tableName);
+ progressionModel.setMessage(_("tutti.persistence.synchronizeReferential.synchronize.step1", tableName));
TuttiTableMetadata table = remoteMeta.getTable(tableName);
@@ -243,7 +245,7 @@
releaseSynch(localConnection);
}
- progressionModel.setMessage("Sauvegarde des données dans la base locale");
+ progressionModel.setMessage(_("tutti.persistence.synchronizeReferential.synchronize.step2"));
localConnection.commit();
@@ -571,7 +573,7 @@
String tableName = table.getName();
- result.getProgressionModel().setMessage("Mise à jour de la table " + tableName);
+ result.getProgressionModel().setMessage(_("tutti.persistence.synchronizeReferential.synchronizeTable", tableName));
String tablePrefix = getTablePrefix(table);
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-30 14:12:06 UTC (rev 896)
@@ -36,6 +36,13 @@
tutti.persistence.mkDir.error=
tutti.persistence.protocol.delete.error=
tutti.persistence.protocol.fromFile.error=
+tutti.persistence.synchronizeReferential.prepare.step1=
+tutti.persistence.synchronizeReferential.prepare.step2=
+tutti.persistence.synchronizeReferential.prepare.step3=
+tutti.persistence.synchronizeReferential.prepare.step4=
+tutti.persistence.synchronizeReferential.synchronize.step1=
+tutti.persistence.synchronizeReferential.synchronize.step2=
+tutti.persistence.synchronizeReferential.synchronizeTable=
tutti.persistence.tableMetadata.instanciation.error=
tutti.sampleCategoryType.age=
tutti.sampleCategoryType.maturity=
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-04-30 14:12:06 UTC (rev 896)
@@ -36,6 +36,13 @@
tutti.persistence.mkDir.error=Erreur lors de la création du dossier %s
tutti.persistence.protocol.delete.error=Erreur lors de la suppression du protocole %1s (fichier %2s)
tutti.persistence.protocol.fromFile.error=Erreur lors de l'import du protocol du fichier %s
+tutti.persistence.synchronizeReferential.prepare.step1=Connection à la base de synchronisation
+tutti.persistence.synchronizeReferential.prepare.step2=Connection à la base à synchroniser
+tutti.persistence.synchronizeReferential.prepare.step3=Vérification de la compatibilité des schémas
+tutti.persistence.synchronizeReferential.prepare.step4=Lecture de la table %s
+tutti.persistence.synchronizeReferential.synchronize.step1=Mise à jour de la table %s
+tutti.persistence.synchronizeReferential.synchronize.step2=Sauvegarde des données dans la base locale
+tutti.persistence.synchronizeReferential.synchronizeTable=Mise à jour de la table %s
tutti.persistence.tableMetadata.instanciation.error=Erreur à l'initialisation de %s
tutti.sampleCategoryType.age=Age
tutti.sampleCategoryType.maturity=Maturité
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -163,24 +163,24 @@
if (Version.VZERO.toString().equals(info.oldVersion)) {
- progressionModel.setMessage("Téléchargement et installation de la base (version " + info.newVersion + ")");
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.db.installation", info.newVersion));
} else {
- progressionModel.setMessage("Téléchargement et mise à jour de la base (version " + info.newVersion + ")");
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.db.update", info.newVersion));
}
}
if (UpdateType.JRE.name().toLowerCase().equals(info.name)) {
- progressionModel.setMessage("Téléchargement et installation d'une nouvelle JRE (version " + info.newVersion + ")");
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.jre", info.newVersion));
}
if (UpdateType.TUTTI.name().toLowerCase().equals(info.name)) {
- progressionModel.setMessage("Téléchargement et installation d'une nouvelle version de Tutti (version " + info.newVersion + ")");
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.tutti", info.newVersion));
}
if (UpdateType.I18N.name().toLowerCase().equals(info.name)) {
- progressionModel.setMessage("Téléchargement et installation d'une nouveau version I18N (version " + info.newVersion + ")");
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.i18n", info.newVersion));
}
if (UpdateType.HELP.name().toLowerCase().equals(info.name)) {
- progressionModel.setMessage("Téléchargement et installation d'une nouveau version Help (version " + info.newVersion + ")");
+ progressionModel.setMessage(_("tutti.applicationUpdater.startUpdate.help", info.newVersion));
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateApplicationAction.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -123,7 +123,7 @@
ProgressionModel progressionModel = new ProgressionModel();
context.getActionUI().getModel().setProgressionModel(progressionModel);
- progressionModel.setMessage("Recherche de mises à jour");
+ progressionModel.setMessage(_("tutti.updateApplication.checkUpdates"));
TuttiApplicationUpdaterCallBack callback =
new TuttiApplicationUpdaterCallBack(this, progressionModel);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/UpdateDbAction.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -93,7 +93,7 @@
File dest = new File(config.getTuttiBasedir(), "NEW");
ProgressionModel progressionModel = new ProgressionModel();
context.getActionUI().getModel().setProgressionModel(progressionModel);
- progressionModel.setMessage("Recherche de mises à jour de base");
+ progressionModel.setMessage(_("tutti.dbManager.action.upgradeDb.check"));
TuttiApplicationUpdaterCallBack callback =
new TuttiApplicationUpdaterCallBack(this, progressionModel);
callback.setTypes(TuttiApplicationUpdaterCallBack.UpdateType.DB);
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-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -970,8 +970,17 @@
if (enableSplit) {
// can split if selected batch is a leaf
+ Map<Integer, SampleCategoryEnum> categoryEnumMap =
+ SampleCategoryEnum.toIdMapping();
+
+ List<Integer> samplingOrderIds = getConfig().getServiceConfig().getSamplingOrderIds();
+ int lastSamplingId = samplingOrderIds.get(samplingOrderIds.size() - 1);
+ SampleCategoryEnum lastCategory = categoryEnumMap.get(lastSamplingId);
+
+ // can split if selected batch is a leaf
enableSplit = row.isBatchLeaf()
&& selectedRowCount == 1
+ && !lastCategory.equals(row.getFinestCategory().getCategoryType())
&& row.getNumber() == null
&& (row.getComputedNumber() == null
|| row.getComputedNumber() == 0);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.css 2013-04-30 14:12:06 UTC (rev 896)
@@ -22,12 +22,6 @@
* #L%
*/
-BeanFilterableComboBox {
- showReset: true;
- i18nPrefix: "tutti.property.";
- bean: {model};
-}
-
#splitBenthosBatchTopPanel {
_help: {"tutti.splitBenthosBatch.help"};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.jaxx 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUI.jaxx 2013-04-30 14:12:06 UTC (rev 896)
@@ -32,7 +32,6 @@
org.jdesktop.swingx.JXTable
- jaxx.runtime.swing.editor.bean.BeanFilterableComboBox
jaxx.runtime.validator.swing.SwingValidatorUtil
jaxx.runtime.validator.swing.SwingValidatorMessageTableModel
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/split/SplitBenthosBatchUIHandler.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -41,6 +41,7 @@
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
@@ -191,6 +192,9 @@
}
});
+ ui.getCategoryComboBox().setRenderer(newListCellRender(SampleCategoryEnum.class));
+
+
ui.getCategoryComboBox().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -271,18 +275,28 @@
if (batch.getSizeCategory().isValid()) {
categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
if (batch.getSexCategory().isValid()) {
categories.remove(SampleCategoryEnum.sex);
+ categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
if (batch.getMaturityCategory().isValid()) {
categories.remove(SampleCategoryEnum.maturity);
+ categories.remove(SampleCategoryEnum.sex);
+ categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
if (batch.getAgeCategory().isValid()) {
categories.remove(SampleCategoryEnum.age);
+ categories.remove(SampleCategoryEnum.maturity);
+ categories.remove(SampleCategoryEnum.sex);
+ categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
}
@@ -293,7 +307,9 @@
model.setSampleWeight(null);
model.setCategory(categories);
- model.setSelectedCategory(categories.get(0));
+ if (CollectionUtils.isNotEmpty(categories)) {
+ model.setSelectedCategory(categories.get(0));
+ }
// keep batch (will be used to push back editing entry)
model.setBatch(batch);
@@ -322,11 +338,14 @@
log.info("Will recompute sample weight from row: " + row);
}
- Float result = 0f;
+ Float result = null;
List<SplitBenthosBatchRowModel> rows = getTableModel().getRows();
for (SplitBenthosBatchRowModel rowModel : rows) {
Float weight = rowModel.getWeight();
if (weight != null) {
+ if (result == null) {
+ result = 0f;
+ }
result += weight;
}
}
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-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -71,6 +71,7 @@
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -965,8 +966,16 @@
if (enableSplit) {
// can split if selected batch is a leaf
+ Map<Integer, SampleCategoryEnum> categoryEnumMap =
+ SampleCategoryEnum.toIdMapping();
+
+ List<Integer> samplingOrderIds = getConfig().getServiceConfig().getSamplingOrderIds();
+ int lastSamplingId = samplingOrderIds.get(samplingOrderIds.size() - 1);
+ SampleCategoryEnum lastCategory = categoryEnumMap.get(lastSamplingId);
+
enableSplit = row.isBatchLeaf()
&& selectedRowCount == 1
+ && !lastCategory.equals(row.getFinestCategory().getCategoryType())
&& row.getNumber() == null
&& (row.getComputedNumber() == null
|| row.getComputedNumber() == 0);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.css 2013-04-30 14:12:06 UTC (rev 896)
@@ -22,12 +22,6 @@
* #L%
*/
-BeanFilterableComboBox {
- showReset: true;
- i18nPrefix: "tutti.property.";
- bean: {model};
-}
-
#splitSpeciesBatchTopPanel {
_help: {"tutti.splitSpeciesBatch.help"};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUI.jaxx 2013-04-30 14:12:06 UTC (rev 896)
@@ -32,7 +32,6 @@
org.jdesktop.swingx.JXTable
- jaxx.runtime.swing.editor.bean.BeanFilterableComboBox
jaxx.runtime.validator.swing.SwingValidatorUtil
jaxx.runtime.validator.swing.SwingValidatorMessageTableModel
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-04-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/split/SplitSpeciesBatchUIHandler.java 2013-04-30 14:12:06 UTC (rev 896)
@@ -41,10 +41,12 @@
import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIHandler;
import jaxx.runtime.SwingUtil;
import jaxx.runtime.validator.swing.SwingValidator;
+import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jdesktop.swingx.JXTable;
import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
+import org.nuiton.util.decorator.Decorator;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
@@ -55,6 +57,8 @@
import java.beans.PropertyChangeListener;
import java.util.List;
+import static org.nuiton.i18n.I18n._;
+
/**
* Handler of {@link SplitSpeciesBatchUI}.
*
@@ -191,6 +195,8 @@
}
});
+ ui.getCategoryComboBox().setRenderer(newListCellRender(SampleCategoryEnum.class));
+
ui.getCategoryComboBox().addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -271,18 +277,28 @@
if (batch.getSizeCategory().isValid()) {
categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
if (batch.getSexCategory().isValid()) {
categories.remove(SampleCategoryEnum.sex);
+ categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
if (batch.getMaturityCategory().isValid()) {
categories.remove(SampleCategoryEnum.maturity);
+ categories.remove(SampleCategoryEnum.sex);
+ categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
if (batch.getAgeCategory().isValid()) {
categories.remove(SampleCategoryEnum.age);
+ categories.remove(SampleCategoryEnum.maturity);
+ categories.remove(SampleCategoryEnum.sex);
+ categories.remove(SampleCategoryEnum.size);
+ categories.remove(SampleCategoryEnum.sortedUnsorted);
}
}
@@ -293,7 +309,9 @@
model.setSampleWeight(null);
model.setCategory(categories);
- model.setSelectedCategory(categories.get(0));
+ if (CollectionUtils.isNotEmpty(categories)) {
+ model.setSelectedCategory(categories.get(0));
+ }
// keep batch (will be used to push back editing entry)
model.setBatch(batch);
@@ -328,11 +346,14 @@
log.info("Will recompute sample weight from row: " + row);
}
- Float result = 0f;
+ Float result = null;
List<SplitSpeciesBatchRowModel> rows = getTableModel().getRows();
for (SplitSpeciesBatchRowModel rowModel : rows) {
Float weight = rowModel.getWeight();
if (weight != null) {
+ if (result == null) {
+ result = 0f;
+ }
result += weight;
}
}
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-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-30 14:12:06 UTC (rev 896)
@@ -18,6 +18,12 @@
tutti.action.create.error=
tutti.applicationUpdater.prepareFirstDB.copyDirectory.error=
tutti.applicationUpdater.prepareFirstDB.deleteDirectory.error=
+tutti.applicationUpdater.startUpdate.db.installation=
+tutti.applicationUpdater.startUpdate.db.update=
+tutti.applicationUpdater.startUpdate.help=
+tutti.applicationUpdater.startUpdate.i18n=
+tutti.applicationUpdater.startUpdate.jre=
+tutti.applicationUpdater.startUpdate.tutti=
tutti.applicationUpdater.synchroDB.prepare.error=
tutti.applicationUpdater.synchroDB.synchro.error=
tutti.applicationUpdater.synchroDB.writeVersion.error=
@@ -233,6 +239,7 @@
tutti.dbManager.action.openDb.mnemonic=
tutti.dbManager.action.openDb.tip=
tutti.dbManager.action.upgradeDb=
+tutti.dbManager.action.upgradeDb.check=
tutti.dbManager.action.upgradeDb.mnemonic=
tutti.dbManager.action.upgradeDb.opening=
tutti.dbManager.action.upgradeDb.reloading=
@@ -1033,6 +1040,7 @@
tutti.manageTemporaryReferential.title.choose.importTemporarySpeciesFile=
tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile=
tutti.message.action.running=
+tutti.property.=
tutti.property.get.error=
tutti.property.set.error=
tutti.sampleOrder.caracteristicNotFound=
@@ -1142,6 +1150,7 @@
tutti.update.i18n=
tutti.update.jre=
tutti.update.tutti=
+tutti.updateApplication.checkUpdates=
tutti.updateApplication.message.success=
tutti.updateApplication.noUpdate=
tutti.updateApplication.title.success=
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-30 12:23:35 UTC (rev 895)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-30 14:12:06 UTC (rev 896)
@@ -16,6 +16,12 @@
tutti.action.create.error=Erreur à l'instanciation de l'action %s
tutti.applicationUpdater.prepareFirstDB.copyDirectory.error=Erreur lors de la copie du contenu du dossier %1s vers %2s
tutti.applicationUpdater.prepareFirstDB.deleteDirectory.error=Erreur lors de la suppression du dossier %s
+tutti.applicationUpdater.startUpdate.db.installation=Téléchargement et installation de la base (version %s)
+tutti.applicationUpdater.startUpdate.db.update=Téléchargement et mise à jour de la base (version %s)
+tutti.applicationUpdater.startUpdate.help=Téléchargement et installation d'une nouvelle version de l'aide (version %s)
+tutti.applicationUpdater.startUpdate.i18n=Téléchargement et installation d'une nouvelle version des traductions (version %s)
+tutti.applicationUpdater.startUpdate.jre=Téléchargement et installation d'une nouvelle JRE (version %s)
+tutti.applicationUpdater.startUpdate.tutti=Téléchargement et installation d'une nouvelle version de Tutti (version %s)
tutti.applicationUpdater.synchroDB.prepare.error=Erreur lors de la préparation de la synchronisation de la base
tutti.applicationUpdater.synchroDB.synchro.error=Erreur lors de la synchronisation de la base
tutti.applicationUpdater.synchroDB.writeVersion.error=Erreur lors de l'écriture de la nouvelle version de la base de données dans le fichier %s
@@ -229,6 +235,7 @@
tutti.dbManager.action.openDb.mnemonic=O
tutti.dbManager.action.openDb.tip=Ouvrir la base de données
tutti.dbManager.action.upgradeDb=Vérifier les mises à jour
+tutti.dbManager.action.upgradeDb.check=Recherche des mises à jour de la base
tutti.dbManager.action.upgradeDb.mnemonic=V
tutti.dbManager.action.upgradeDb.opening=Ouverture de la base de données
tutti.dbManager.action.upgradeDb.reloading=Rechargement de la base de données
@@ -1004,6 +1011,7 @@
tutti.manageTemporaryReferential.title.choose.importTemporarySpeciesFile=Importer un réferentiel Espèce
tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile=Importer un réferentiel Navire
tutti.message.action.running=<html>Action <strong>%s</strong> en cours d'execution...<hr/></html>
+tutti.property.=
tutti.property.get.error=Propriété %1s non trouvée sur l'objet de type %2s
tutti.property.set.error=Propriété %1s non trouvée sur l'objet de type %2s
tutti.sampleOrder.caracteristicNotFound=La caractéristique d'id %s n'est pas prévue pour l'échantillonage
@@ -1112,6 +1120,7 @@
tutti.update.i18n=Traductions
tutti.update.jre=Java
tutti.update.tutti=Tutti
+tutti.updateApplication.checkUpdates=Recherche de mises à jour
tutti.updateApplication.message.success=La mise à jour nécessite le redémarrage du Tutti.\nL'application va se fermer puis se ré-ouvrir automatiquement.
tutti.updateApplication.noUpdate=Aucune mise à jour de l'application détectée.
tutti.updateApplication.title.success=Redémarrage de Tutti nécessaire...
1
0
r895 - trunk/tutti-service/src/main/java/fr/ifremer/tutti/service
by tchemit@users.forge.codelutin.com 30 Apr '13
by tchemit@users.forge.codelutin.com 30 Apr '13
30 Apr '13
Author: tchemit
Date: 2013-04-30 14:23:35 +0200 (Tue, 30 Apr 2013)
New Revision: 895
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/895
Log:
fixes #2379: [IMP/EXP] - Structure du ZIP lors de l'import d'une base
Modified:
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-30 09:54:27 UTC (rev 894)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-30 12:23:35 UTC (rev 895)
@@ -187,17 +187,26 @@
throw new TuttiBusinessException(_("tutti.service.persistence.checkImportstructure.tooManyChildren", file));
}
fileObject = children[0];
- checkArchiveDb(file, fileObject, "db");
- checkArchiveDb(file, fileObject, "meas_files");
- checkArchiveDb(file, fileObject, "protocol");
+ checkArchiveDb(file, fileObject, "db", true);
+ checkArchiveDb(file, fileObject, "meas_files", false);
+ checkArchiveDb(file, fileObject, "protocol", false);
}
protected void checkArchiveDb(File file,
FileObject fileObject,
- String dir) {
+ String dir,
+ boolean required) {
FileObject directory = TuttiIOUtil.getChild(fileObject, dir, _("tutti.service.persistence.getChild.error", dir));
if (directory == null) {
- throw new TuttiBusinessException(_("tutti.service.persistence.checkArchiveDb.error", file, dir));
+
+ String message = _("tutti.service.persistence.checkArchiveDb.error", file, dir);
+ if (required) {
+ throw new TuttiBusinessException(message);
+ }
+
+ if (log.isWarnEnabled()) {
+ log.warn(message);
+ }
}
}
1
0
30 Apr '13
Author: kmorin
Date: 2013-04-30 11:54:27 +0200 (Tue, 30 Apr 2013)
New Revision: 894
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/894
Log:
refs #2000 [TECH] Mettre en place les messages d'erreur m?\195?\169tier
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java
trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties
trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
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/db/CloseDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.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/AttachmentPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/AttachmentPersistenceServiceImpl.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -50,6 +50,8 @@
import java.util.Iterator;
import java.util.List;
+import static org.nuiton.i18n.I18n._;
+
/**
* Default implementation of the service {@link AttachmentPersistenceService}.
*
@@ -183,7 +185,7 @@
TuttiIOUtil.copyFile(
file, targetFile,
- "Could not copy attachment file " + file + " to " + targetFile);
+ _("tutti.persistence.attachment.copyFile.error", file, targetFile));
return attachment;
}
@@ -282,7 +284,7 @@
measurementFileDao.remove(target.getObjectId());
File file = getFile(target);
- TuttiIOUtil.deleteFile(file, "Could not delete attachement file " + file);
+ TuttiIOUtil.deleteFile(file, _("tutti.persistence.attachment.deleteFile.error", file));
}
}
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/service/ProtocolPersistenceServiceImpl.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -44,6 +44,8 @@
import java.util.List;
import java.util.UUID;
+import static org.nuiton.i18n.I18n._;
+
/**
* @author tchemit <chemit(a)codelutin.com>
* @since 0.3
@@ -168,7 +170,7 @@
if (file.exists()) {
TuttiIOUtil.deleteFile(
file,
- "Could not delete protocol " + protocolId + " (file " + file + ")");
+ _("tutti.persistence.protocol.delete.error", protocolId, file));
}
}
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-30 09:54:27 UTC (rev 894)
@@ -14,6 +14,8 @@
tutti.config.option.persistence.jdbc.url.description=
tutti.config.option.persistence.jdbc.username.description=
tutti.config.persistence=
+tutti.persistence.attachment.copyFile.error=
+tutti.persistence.attachment.deleteFile.error=
tutti.persistence.batch.validation.horsVracBenthosNotFound=
tutti.persistence.batch.validation.horsVracMarineLitterNotFound=
tutti.persistence.batch.validation.horsVracSpeciesNotFound=
@@ -32,6 +34,7 @@
tutti.persistence.dbMetadata.instanciation.error=
tutti.persistence.loader.error=
tutti.persistence.mkDir.error=
+tutti.persistence.protocol.delete.error=
tutti.persistence.protocol.fromFile.error=
tutti.persistence.tableMetadata.instanciation.error=
tutti.sampleCategoryType.age=
@@ -39,3 +42,4 @@
tutti.sampleCategoryType.sex=
tutti.sampleCategoryType.size=
tutti.sampleCategoryType.sortedUnsorted=
+tutti.service.attachment.copyFile.error=
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-04-30 09:54:27 UTC (rev 894)
@@ -14,6 +14,8 @@
tutti.config.option.persistence.jdbc.url.description=URL de connexion à la base de données
tutti.config.option.persistence.jdbc.username.description=Login de l'utilisateur pour se connecter à la base de données
tutti.config.persistence=Configuration de la persistance de Tutti
+tutti.persistence.attachment.copyFile.error=Erreur lors de la copie de la pièce jointe %1s dans le fichier %2s
+tutti.persistence.attachment.deleteFile.error=Erreur lors de la suppression de la pièce jointe %s
tutti.persistence.batch.validation.horsVracBenthosNotFound=Lot 'Hors Vrac > Benthos' non trouvé ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.horsVracMarineLitterNotFound=Lot 'Hors Vrac > Macro-déchet' non trouvé, ou configuré avec d'autres critères de classement.
tutti.persistence.batch.validation.horsVracSpeciesNotFound=Lot 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement.
@@ -32,6 +34,7 @@
tutti.persistence.dbMetadata.instanciation.error=Erreur lors de l'initialisation des metadata de la base de données par la connexion %s
tutti.persistence.loader.error=Erreur de conversion du dossier %s en URL
tutti.persistence.mkDir.error=Erreur lors de la création du dossier %s
+tutti.persistence.protocol.delete.error=Erreur lors de la suppression du protocole %1s (fichier %2s)
tutti.persistence.protocol.fromFile.error=Erreur lors de l'import du protocol du fichier %s
tutti.persistence.tableMetadata.instanciation.error=Erreur à l'initialisation de %s
tutti.sampleCategoryType.age=Age
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -146,15 +146,15 @@
TuttiIOUtil.copyDirectory(pConfig.getDbDirectory(),
new File(structureDirectory, "db"),
- "Could not copy db directory");
+ _("tutti.service.persistence.copyDirectory.db.error"));
TuttiIOUtil.copyDirectory(pConfig.getProtocolDirectory(),
new File(structureDirectory, "protocol"),
- "Could not copy db protocol directory");
+ _("tutti.service.persistence.copyDirectory.protocol.error"));
TuttiIOUtil.copyDirectory(pConfig.getDbAttachmentDirectory(),
new File(structureDirectory, "meas_files"),
- "Could not copy db attachment directory");
+ _("tutti.service.persistence.copyDirectory.attachment.error"));
// create zip
TuttiIOUtil.zip(structureDirectory, file,
@@ -165,7 +165,7 @@
// delete temp files
TuttiIOUtil.forceDeleteOnExit(
structureDirectory,
- "could not delete on exit temporary file " + structureDirectory);
+ _("tutti.service.persistence.exportDb.deleteTempDir.error", structureDirectory));
}
}
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-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -131,7 +131,7 @@
TuttiIOUtil.deleteDirectory(
tmpDirectory,
- "Could not delete temp directory " + tmpDirectory);
+ _("tutti.service.config.deleteTempDirectory.error", tmpDirectory));
}
TuttiIOUtil.forceMkdir(
tmpDirectory,
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-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-30 09:54:27 UTC (rev 894)
@@ -51,6 +51,7 @@
tutti.service.catches.computeWeights.error.incoherentRowWeightCategory=
tutti.service.catches.computeWeights.species.error.incoherentSampleWeight=
tutti.service.compressZipFile.error=
+tutti.service.config.deleteTempDirectory.error=
tutti.service.context.serviceInstanciation.error=
tutti.service.csv.parse.entityAlreadyDefined=
tutti.service.csv.parse.entityNotFound=
@@ -123,6 +124,10 @@
tutti.service.persistence.checkArchiveDb.error=
tutti.service.persistence.checkImportstructure.fileNotExist=
tutti.service.persistence.checkImportstructure.tooManyChildren=
+tutti.service.persistence.copyDirectory.attachment.error=
+tutti.service.persistence.copyDirectory.db.error=
+tutti.service.persistence.copyDirectory.protocol.error=
+tutti.service.persistence.exportDb.deleteTempDir.error=
tutti.service.persistence.exportDb.zip.error=
tutti.service.persistence.extractArchive.error=
tutti.service.persistence.getArchive.error=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-30 09:54:27 UTC (rev 894)
@@ -49,6 +49,7 @@
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.compressZipFile.error=Erreur lors de la compression du dossier %1s dans le fichier %2s
+tutti.service.config.deleteTempDirectory.error=Erreur lors de la suppression du dossier temporaire
tutti.service.context.serviceInstanciation.error=Erreur lors de l'instanciation du service %s
tutti.service.csv.parse.entityAlreadyDefined=La propriété %1s de valeur %2s est déjà définie
tutti.service.csv.parse.entityNotFound=L'entité de type %1s avec la propriété %2s de valeur %3s n'a pas été trouvée
@@ -96,6 +97,10 @@
tutti.service.persistence.checkArchiveDb.error=L'archive de base de données %1s ne contient pas le dossier %2s
tutti.service.persistence.checkImportstructure.fileNotExist=L'archive de base de données %s n'existe pas
tutti.service.persistence.checkImportstructure.tooManyChildren=L'archive de base de données %s ne doit avoir qu'un sous-dossier
+tutti.service.persistence.copyDirectory.attachment.error=Erreur lors de la copie du dossier des pièces jointes
+tutti.service.persistence.copyDirectory.db.error=Erreur lors de la copie du dossier de base de données
+tutti.service.persistence.copyDirectory.protocol.error=Erreur lors de la copie du dossier des protocoles
+tutti.service.persistence.exportDb.deleteTempDir.error=Erreur lors de la suppression du dossier temporaire
tutti.service.persistence.exportDb.zip.error=Erreur lors de la création de l'archive %s
tutti.service.persistence.extractArchive.error=Erreur lors de l'extraction de l'archive %s
tutti.service.persistence.getArchive.error=Erreur lors de la récupération de l'archive %s
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiApplicationUpdaterCallBack.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -264,14 +264,14 @@
File enumerationPath = persistenceConfig.getDbEnumerationPath();
TuttiIOUtil.forceDeleteOnExit(
enumerationPath,
- "Could not delete enumeration file " + enumerationPath
+ _("tutti.applicationUpdater.updateDone.deleteDirectory.enum.error", enumerationPath)
);
// must remove the db conf file at exit
File dbConfPath = persistenceConfig.getDbConfigurationPath();
TuttiIOUtil.forceDeleteOnExit(
dbConfPath,
- "Could not delete db conf file " + dbConfPath
+ _("tutti.applicationUpdater.updateDone.deleteDirectory.dbConf.error", dbConfPath)
);
//FIXME-check this is necessary: i18n is no more generated ?
@@ -279,7 +279,8 @@
File i18nDirectory = context.getConfig().getI18nDirectory();
TuttiIOUtil.forceDeleteOnExit(
i18nDirectory,
- "Could not delete i18n directory " + i18nDirectory);
+ _("tutti.applicationUpdater.updateDone.deleteDirectory.i18n.error", i18nDirectory)
+ );
}
}
return doRestart;
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-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -332,7 +332,7 @@
// clean i18n cache
TuttiIOUtil.cleanDirectory(
i18nDirectory,
- "Could not delete i18n cache at " + i18nDirectory);
+ _("tutti.i18n.deleteCache.error", i18nDirectory));
}
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/CloseDbAction.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -74,7 +74,7 @@
TuttiIOUtil.deleteDirectory(
getConfig().getServiceConfig().getPersistenceConfig().getCacheDirectory(),
- "Could not delete cache directory");
+ _("tutti.dbManager.action.closeDb.deleteCache.error"));
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/db/ExportAndCleanDbAction.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -133,13 +133,13 @@
getConfig().getServiceConfig().getPersistenceConfig();
File dbDirectory = persistenceConfig.getDbDirectory();
- TuttiIOUtil.cleanDirectory(dbDirectory, "Could not delete directory " + dbDirectory);
+ TuttiIOUtil.cleanDirectory(dbDirectory, _("tutti.io.directory.delete.error", dbDirectory));
File attachmentDirectory = persistenceConfig.getDbAttachmentDirectory();
- TuttiIOUtil.cleanDirectory(attachmentDirectory, "Could not delete directory " + attachmentDirectory);
+ TuttiIOUtil.cleanDirectory(attachmentDirectory, _("tutti.io.directory.delete.error", attachmentDirectory));
File protocolDirectory = persistenceConfig.getProtocolDirectory();
- TuttiIOUtil.cleanDirectory(protocolDirectory, "Could not delete directory " + protocolDirectory);
+ TuttiIOUtil.cleanDirectory(protocolDirectory, _("tutti.io.directory.delete.error", protocolDirectory));
getModel().setDbExist(false);
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-04-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/attachment/AttachmentEditorUIHandler.java 2013-04-30 09:54:27 UTC (rev 894)
@@ -287,7 +287,8 @@
if (file != null) {
boolean checkOverwrite = askOverwriteFile(file);
if (checkOverwrite) {
- TuttiIOUtil.copyFile(attachmentFile, file, "Error while saving attachment");
+ TuttiIOUtil.copyFile(attachmentFile, file,
+ _("tutti.attachmentEditor.saveAttachment.error.message", attachmentFile, file.getName()));
context.showInformationMessage(
_("tutti.attachmentEditor.saveAttachment.success.message", file.getName()));
}
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-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-30 09:54:27 UTC (rev 894)
@@ -21,6 +21,9 @@
tutti.applicationUpdater.synchroDB.prepare.error=
tutti.applicationUpdater.synchroDB.synchro.error=
tutti.applicationUpdater.synchroDB.writeVersion.error=
+tutti.applicationUpdater.updateDone.deleteDirectory.dbConf.error=
+tutti.applicationUpdater.updateDone.deleteDirectory.enum.error=
+tutti.applicationUpdater.updateDone.deleteDirectory.i18n.error=
tutti.attachmentEditor.action.add.mnemonic=
tutti.attachmentEditor.action.add.tip=
tutti.attachmentEditor.action.closeAttachment.tip=
@@ -39,6 +42,7 @@
tutti.attachmentEditor.fileNotFound=
tutti.attachmentEditor.none.tip=
tutti.attachmentEditor.saveAttachment.button=
+tutti.attachmentEditor.saveAttachment.error.message=
tutti.attachmentEditor.saveAttachment.fail.message=
tutti.attachmentEditor.saveAttachment.fail.title=
tutti.attachmentEditor.saveAttachment.success.message=
@@ -210,6 +214,7 @@
tutti.dbManager.action.chooseDbExportFile=
tutti.dbManager.action.chooseDbFile=
tutti.dbManager.action.closeDb=
+tutti.dbManager.action.closeDb.deleteCache.error=
tutti.dbManager.action.closeDb.mnemonic=
tutti.dbManager.action.closeDb.tip=
tutti.dbManager.action.exportAndCleanDb=
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-30 09:11:34 UTC (rev 893)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-30 09:54:27 UTC (rev 894)
@@ -19,6 +19,9 @@
tutti.applicationUpdater.synchroDB.prepare.error=Erreur lors de la préparation de la synchronisation de la base
tutti.applicationUpdater.synchroDB.synchro.error=Erreur lors de la synchronisation de la base
tutti.applicationUpdater.synchroDB.writeVersion.error=Erreur lors de l'écriture de la nouvelle version de la base de données dans le fichier %s
+tutti.applicationUpdater.updateDone.deleteDirectory.dbConf.error=Erreur lors de la suppression du dossier de configuration de base de données
+tutti.applicationUpdater.updateDone.deleteDirectory.enum.error=Erreur lors de la suppression du dossier d'énumération
+tutti.applicationUpdater.updateDone.deleteDirectory.i18n.error=Erreur lors de la suppression du dossier d'internationalisation
tutti.attachmentEditor.action.add.mnemonic=A
tutti.attachmentEditor.action.add.tip=Ajouter une pièce jointe
tutti.attachmentEditor.action.closeAttachment.tip=Fermer la fenêtre des pièces-jointes
@@ -37,6 +40,7 @@
tutti.attachmentEditor.fileNotFound=Le fichier %s de la pièce jointe n'a pas été trouvé
tutti.attachmentEditor.none.tip=Pas de pièce-jointes
tutti.attachmentEditor.saveAttachment.button=Enregistrer
+tutti.attachmentEditor.saveAttachment.error.message=Erreur lors de l'enregistrement de la pièce jointe %1s dans le fichier %2s
tutti.attachmentEditor.saveAttachment.fail.message=Une erreur est survenue lors de la sauvegarde du fichier.
tutti.attachmentEditor.saveAttachment.fail.title=Erreur de sauvegarde.
tutti.attachmentEditor.saveAttachment.success.message=Le fichier %s a été sauvegardé sur votre machine.
@@ -206,6 +210,7 @@
tutti.dbManager.action.chooseDbExportFile=Exporter la base de données
tutti.dbManager.action.chooseDbFile=Choisir la base à importer
tutti.dbManager.action.closeDb=Fermer
+tutti.dbManager.action.closeDb.deleteCache.error=Erreur lors de la suppression du dossier de cache
tutti.dbManager.action.closeDb.mnemonic=e
tutti.dbManager.action.closeDb.tip=Fermer la base de données en cours d'utilisation
tutti.dbManager.action.exportAndCleanDb=Exporter et supprimer
@@ -848,7 +853,7 @@
tutti.gearUseFeatureTable.table.header.value=Valeur
tutti.gearUseFeatureTable.title=Mise en œuvre de l'engin
tutti.help.mkDir.error=Erreur à la création du dossier d'aide
-tutti.i18n.deleteCache.error=
+tutti.i18n.deleteCache.error=Erreur à la suppression du cache de l'internationalisation
tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation
tutti.importProtocol.action.success=Protocole [%s] lu depuis le fichier.
tutti.importPupitri.carrouselFile.extension=car
@@ -860,7 +865,7 @@
tutti.importPupitri.title=Import Pupitri
tutti.importPupitri.trunkFile.extension=tnk
tutti.importPupitri.trunkFile.extension.description=Fichier du trémie (.tnk)
-tutti.io.directory.delete.error=
+tutti.io.directory.delete.error=Erreur lors de la suppresion du contenu du dossier %s
tutti.label.catches.planktonTotalSampleWeight=Poids total échantillonné
tutti.label.catches.planktonTotalWeight=Poids total
tutti.label.tab.accidental=Captures accidentelles
1
0
See <http://ci.nuiton.org/jenkins/job/tutti/732/changes>
Changes:
[Kevin Morin] fixes #2384 [CAPTURE] - Observations individuelles - Les poids des lots sont saisis en grammes mais pas convertis en kg pour la sauvegarde
------------------------------------------
[...truncated 429 lines...]
2013;ProgramName;CruiseSurveyPart;A0;100;1;CaracteristicTextParameterName - CaracteristicTextMatrixName - CaracteristicTextFractionName - CaracteristicTextMethodName;Text2;
2013;ProgramName;CruiseSurveyPart;A0;100;2;CaracteristicQualitativeParameterName1 - CaracteristicQualitativeMatrixName1 - CaracteristicQualitativeFractionName1 - CaracteristicQualitativeMethodName1;CaracteristicQualitativeValueName2;
2013;ProgramName;CruiseSurveyPart;A0;100;3;CaracteristicQualitativeParameterName2 - CaracteristicQualitativeMatrixName2 - CaracteristicQualitativeFractionName2 - CaracteristicQualitativeMethodName2;CaracteristicQualitativeValueName1;
2013;ProgramName;CruiseSurveyPart;A0;100;10;CaracteristicVerticalOpeningParameterName - CaracteristicVerticalOpeningMatrixName - CaracteristicVerticalOpeningFractionName - CaracteristicVerticalOpeningMethodName;5;
2013;ProgramName;CruiseSurveyPart;A0;100;12;CaracteristicHorizontalOpeningDoorParameterName - CaracteristicHorizontalOpeningDoorMatrixName - CaracteristicHorizontalOpeningDoorFractionName - CaracteristicHorizontalOpeningDoorMethodName;-2;
2013;ProgramName;CruiseSurveyPart;A0;100;11;CaracteristicHorizontalOpeningWingParameterName - CaracteristicHorizontalOpeningWingMatrixName - CaracteristicHorizontalOpeningWingFractionName - CaracteristicHorizontalOpeningWingMethodName;-9;
2013;ProgramName;CruiseSurveyPart;A1;101;0;CaracteristicIntegerParameterName - CaracteristicIntegerMatrixName - CaracteristicIntegerFractionName - CaracteristicIntegerMethodName;10.4;
2013;ProgramName;CruiseSurveyPart;A1;101;1;CaracteristicTextParameterName - CaracteristicTextMatrixName - CaracteristicTextFractionName - CaracteristicTextMethodName;Text2;
2013;ProgramName;CruiseSurveyPart;A1;101;2;CaracteristicQualitativeParameterName1 - CaracteristicQualitativeMatrixName1 - CaracteristicQualitativeFractionName1 - CaracteristicQualitativeMethodName1;CaracteristicQualitativeValueName2;
2013;ProgramName;CruiseSurveyPart;A1;101;3;CaracteristicQualitativeParameterName2 - CaracteristicQualitativeMatrixName2 - CaracteristicQualitativeFractionName2 - CaracteristicQualitativeMethodName2;CaracteristicQualitativeValueName1;
2013;ProgramName;CruiseSurveyPart;A1;101;10;CaracteristicVerticalOpeningParameterName - CaracteristicVerticalOpeningMatrixName - CaracteristicVerticalOpeningFractionName - CaracteristicVerticalOpeningMethodName;5;
2013;ProgramName;CruiseSurveyPart;A1;101;12;CaracteristicHorizontalOpeningDoorParameterName - CaracteristicHorizontalOpeningDoorMatrixName - CaracteristicHorizontalOpeningDoorFractionName - CaracteristicHorizontalOpeningDoorMethodName;-2;
2013;ProgramName;CruiseSurveyPart;A1;101;11;CaracteristicHorizontalOpeningWingParameterName - CaracteristicHorizontalOpeningWingMatrixName - CaracteristicHorizontalOpeningWingFractionName - CaracteristicHorizontalOpeningWingMethodName;-9;
2013;ProgramName;CruiseSurveyPart;A2;102;0;CaracteristicIntegerParameterName - CaracteristicIntegerMatrixName - CaracteristicIntegerFractionName - CaracteristicIntegerMethodName;10.4;
2013;ProgramName;CruiseSurveyPart;A2;102;1;CaracteristicTextParameterName - CaracteristicTextMatrixName - CaracteristicTextFractionName - CaracteristicTextMethodName;Text2;
2013;ProgramName;CruiseSurveyPart;A2;102;2;CaracteristicQualitativeParameterName1 - CaracteristicQualitativeMatrixName1 - CaracteristicQualitativeFractionName1 - CaracteristicQualitativeMethodName1;CaracteristicQualitativeValueName2;
2013;ProgramName;CruiseSurveyPart;A2;102;3;CaracteristicQualitativeParameterName2 - CaracteristicQualitativeMatrixName2 - CaracteristicQualitativeFractionName2 - CaracteristicQualitativeMethodName2;CaracteristicQualitativeValueName1;
2013;ProgramName;CruiseSurveyPart;A2;102;10;CaracteristicVerticalOpeningParameterName - CaracteristicVerticalOpeningMatrixName - CaracteristicVerticalOpeningFractionName - CaracteristicVerticalOpeningMethodName;5;
2013;ProgramName;CruiseSurveyPart;A2;102;12;CaracteristicHorizontalOpeningDoorParameterName - CaracteristicHorizontalOpeningDoorMatrixName - CaracteristicHorizontalOpeningDoorFractionName - CaracteristicHorizontalOpeningDoorMethodName;-2;
2013;ProgramName;CruiseSurveyPart;A2;102;11;CaracteristicHorizontalOpeningWingParameterName - CaracteristicHorizontalOpeningWingMatrixName - CaracteristicHorizontalOpeningWingFractionName - CaracteristicHorizontalOpeningWingMethodName;-9;
2013-04-30 11:02:54,344 5714 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.catches.TuttiWeightComputingService@14980563
2013-04-30 11:02:54,344 5714 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.ValidationService@7ccf884
2013-04-30 11:02:54,344 5714 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.DecoratorService@7ffc6a12
2013-04-30 11:02:54,345 5715 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.PersistenceService@889b125
2013-04-30 11:02:54,345 5715 [main] INFO fr.ifremer.tutti.service.PersistenceService - Close persistence Service
2013-04-30 11:02:54,345 5715 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* closed.
2013-04-30 11:02:54,351 5721 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.DecoratorService@21cfa61c
2013-04-30 11:02:54,366 5736 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.catches.TuttiWeightComputingService@47a2899b
2013-04-30 11:02:54,366 5736 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.PersistenceService@7ff843da
2013-04-30 11:02:54,366 5736 [main] INFO fr.ifremer.tutti.service.PersistenceService - Open persistence service
2013-04-30 11:02:54,366 5736 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* opened.
2013-04-30 11:02:54,367 5737 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - New service fr.ifremer.tutti.service.ValidationService@42eded9
2013-04-30 11:02:54,398 5768 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.catches.TuttiWeightComputingService@47a2899b
2013-04-30 11:02:54,398 5768 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.ValidationService@42eded9
2013-04-30 11:02:54,398 5768 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.DecoratorService@21cfa61c
2013-04-30 11:02:54,399 5769 [main] INFO fr.ifremer.tutti.service.TuttiServiceContext - Close service fr.ifremer.tutti.service.PersistenceService@7ff843da
2013-04-30 11:02:54,399 5769 [main] INFO fr.ifremer.tutti.service.PersistenceService - Close persistence Service
2013-04-30 11:02:54,399 5769 [main] INFO fr.ifremer.tutti.service.PersistenceService - Persistence driver *Mock persistence service implementation* closed.
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.684 sec
Results :
Tests run: 32, Failures: 0, Errors: 0, Skipped: 1
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ tutti-service ---
[INFO] Building jar: <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-service/target/tutti…>
[INFO]
[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ tutti-service ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ tutti-service ---
[INFO] Installing <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-service/target/tutti…> to /var/local/maven/data/repository/fr/ifremer/tutti/tutti-service/2.0.1-SNAPSHOT/tutti-service-2.0.1-SNAPSHOT.jar
[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.1-SNAPSHOT/tutti-service-2.0.1-SNAPSHOT.pom
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 2.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] [INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target>
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 39 modified jaxx file(s).
[INFO] Generated 39 file(s) in 25.996s
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18: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.
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO] [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…>
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 1/1182 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1205/1205 empty entries! (use -Di18n.showEmpty to see these entries)
[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…>
[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…>
[INFO]
[INFO] --- i18n-maven-plugin:2.5:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 12/1555 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1441/1601 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.4:update-project-license (attach-licenses) @ tutti-ui-swing ---
[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…>
[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
[INFO]
[INFO] --- maven-compiler-plugin:2.3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 292 source files to <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/target/clas…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/tutti-ui-swing/src/main/ja…>:[28,49] ValidationContext is internal proprietary API and may be removed in a future release
[INFO] 1warning
[INFO] -------------------------------------------------------------
[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/target/gene…>:[15,67] error: package fr.ifremer.tutti.ui.swing.content.operation.catches.plankton does not exist
[INFO] 1error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Tutti ............................................. SUCCESS [6.993s]
[INFO] Tutti :: Persistence .............................. SUCCESS [25.829s]
[INFO] Tutti :: Service .................................. SUCCESS [16.384s]
[INFO] Tutti :: UI ....................................... FAILURE [53.886s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:44.583s
[INFO] Finished at: Tue Apr 30 11:03:48 CEST 2013
[INFO] Final Memory: 92M/211M
[INFO] ------------------------------------------------------------------------
[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-30_11-01-58/archive/fr.ifremer.tutti/tutti-service/2.0.1-SNAPSHOT/tutti-service-2.0.1-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-30_11-01-58/archive/fr.ifremer.tutti/tutti-service/2.0.1-SNAPSHOT/tutti-service-2.0.1-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-30_11-01-58/archive/fr.ifremer.tutti/tutti-ui-swing/2.0.1-SNAPSHOT/tutti-ui-swing-2.0.1-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-30_11-01-58/archive/fr.ifremer.tutti/tutti-ui-swing/2.0.1-SNAPSHOT/tutti-ui-swing-2.0.1-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-30_11-01-58/archive/fr.ifremer/tutti/2.0.1-SNAPSHOT/tutti-2.0.1-SNAPSHOT.pom
[JENKINS] Archiving <http://ci.nuiton.org/jenkins/job/tutti/ws/trunk2/target/tutti-2.0.1-SNAPSHO…> to /var/local/jenkins/data/jobs/tutti/modules/fr.ifremer$tutti/builds/2013-04-30_11-01-58/archive/fr.ifremer/tutti/2.0.1-SNAPSHOT/tutti-2.0.1-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-30_11-01-58/archive/fr.ifremer.tutti/tutti-persistence/2.0.1-SNAPSHOT/tutti-persistence-2.0.1-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-30_11-01-58/archive/fr.ifremer.tutti/tutti-persistence/2.0.1-SNAPSHOT/tutti-persistence-2.0.1-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.3.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/target/gene…>:[15,67] error: package fr.ifremer.tutti.ui.swing.content.operation.catches.plankton does not exist
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/target/gene…>:[15,67] error: package fr.ifremer.tutti.ui.swing.content.operation.catches.plankton does not exist
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.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/target/gene…>:[15,67] error: package fr.ifremer.tutti.ui.swing.content.operation.catches.plankton does not exist
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:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
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/target/gene…>:[15,67] error: package fr.ifremer.tutti.ui.swing.content.operation.catches.plankton does not exist
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:656)
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
channel stopped
1
1
30 Apr '13
See <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/732/…>
Changes:
[Kevin Morin] fixes #2384 [CAPTURE] - Observations individuelles - Les poids des lots sont saisis en grammes mais pas convertis en kg pour la sauvegarde
------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Tutti :: UI 2.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] [INFO] Deleting <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tutti-ui-swing ---
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (check-project-files) @ tutti-ui-swing ---
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18:generate (default) @ tutti-ui-swing ---
[INFO] use project compile scope class-path
[INFO] Detects 39 modified jaxx file(s).
[INFO] Generated 39 file(s) in 25.996s
[INFO]
[INFO] --- jaxx-maven-plugin:2.5.18: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.
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserJava (scan-sources) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5:parserValidation (scan-sources) @ tutti-ui-swing ---
[INFO] Load rules file validation.rules
[INFO] [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…>
[INFO] --- i18n-maven-plugin:2.5:get (get) @ tutti-ui-swing ---
[INFO]
[INFO] --- i18n-maven-plugin:2.5:gen (scan-sources) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 1/1182 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1205/1205 empty entries! (use -Di18n.showEmpty to see these entries)
[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…>
[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…>
[INFO]
[INFO] --- i18n-maven-plugin:2.5:bundle (make-bundle) @ tutti-ui-swing ---
[WARNING] bundle fr_FR contains 12/1555 empty entries! (use -Di18n.showEmpty to see these entries)
[WARNING] bundle en_GB contains 1441/1601 empty entries! (use -Di18n.showEmpty to see these entries)
[INFO]
[INFO] --- license-maven-plugin:1.4:update-project-license (attach-licenses) @ tutti-ui-swing ---
[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…>
[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
[INFO]
[INFO] --- maven-compiler-plugin:2.3.1:compile (default-compile) @ tutti-ui-swing ---
[INFO] Compiling 292 source files to <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/t…>
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] <http://ci.nuiton.org/jenkins/job/tutti/fr.ifremer.tutti$tutti-ui-swing/ws/s…>:[28,49] ValidationContext is internal proprietary API and may be removed in a future release
[INFO] 1warning
[INFO] -------------------------------------------------------------
[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/t…>:[15,67] error: package fr.ifremer.tutti.ui.swing.content.operation.catches.plankton does not exist
[INFO] 1error
[INFO] -------------------------------------------------------------
1
1
r893 - in trunk/tutti-ui-swing/src/main: java/fr/ifremer/tutti/ui/swing/content/operation java/fr/ifremer/tutti/ui/swing/content/operation/catches java/fr/ifremer/tutti/ui/swing/content/protocol resources/i18n
by kmorin@users.forge.codelutin.com 30 Apr '13
by kmorin@users.forge.codelutin.com 30 Apr '13
30 Apr '13
Author: kmorin
Date: 2013-04-30 11:11:34 +0200 (Tue, 30 Apr 2013)
New Revision: 893
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/893
Log:
remove plankton
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-04-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationAction.java 2013-04-30 09:11:34 UTC (rev 893)
@@ -570,7 +570,6 @@
ui.getMarineLitterTabFishingOperationReminderLabel().setTitle(fishingOperationText);
ui.getAccidentalTabFishingOperationReminderLabel().setTitle(fishingOperationText);
ui.getIndividualObservationTabFishingOperationReminderLabel().setTitle(fishingOperationText);
-// ui.getPlanktonTabFishingOperationReminderLabel().setTitle(fishingOperationText);
if (loadOtherTabs) {
@@ -581,7 +580,6 @@
ui.getMarineLitterTabContent().getHandler().selectFishingOperation(batch == null ? null : bean);
ui.getAccidentalTabContent().getHandler().selectFishingOperation(batch == null ? null : bean);
ui.getIndividualObservationTabContent().getHandler().selectFishingOperation(batch == null ? null : bean);
-// ui.getPlanktonTabContent().getHandler().selectFishingOperation(bean);
}
catchesUIModel.setLoadingData(false);
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-04-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.css 2013-04-30 09:11:34 UTC (rev 893)
@@ -292,10 +292,6 @@
model: {model.getMarineLitterTotalWeight()};
}
-#planktonTab {
- enabled: {false};
-}
-
#accidentalTabPanel {
layout:{accidentalTabPanelLayout};
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-04-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-04-30 09:11:34 UTC (rev 893)
@@ -40,7 +40,6 @@
fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchUI
fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.create.CreateIndividualObservationBatchUI
fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorUI
- fr.ifremer.tutti.ui.swing.content.operation.catches.plankton.PlanktonBatchUI
fr.ifremer.tutti.ui.swing.content.operation.catches.species.SpeciesBatchUI
fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyUI
fr.ifremer.tutti.ui.swing.content.operation.catches.species.create.CreateSpeciesBatchUI
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-04-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUIHandler.java 2013-04-30 09:11:34 UTC (rev 893)
@@ -143,7 +143,6 @@
closeUI(ui.getSpeciesTabContent());
closeUI(ui.getBenthosTabContent());
closeUI(ui.getMarineLitterTabContent());
-// closeUI(ui.getPlanktonTabContent());
closeUI(ui.getAccidentalTabContent());
}
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-04-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUI.jaxx 2013-04-30 09:11:34 UTC (rev 893)
@@ -207,12 +207,6 @@
</Table>
</JPanel>
</tab>
- <!--<tab title='tutti.editProtocol.tab.plankton' enabled='false'>-->
- <!--<JLabel text='tutti.to.be.done' horizontalAlignment="{JLabel.CENTER}"/>-->
- <!--</tab>-->
- <!--<tab title='tutti.editProtocol.tab.accidental' enabled='false'>-->
- <!--<JLabel text='tutti.to.be.done' horizontalAlignment="{JLabel.CENTER}"/>-->
- <!--</tab>-->
</JTabbedPane>
<JPanel id='saveWarningContainer' layout='{new BorderLayout(10, 10)}'
Modified: trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties
===================================================================
--- trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-30 09:11:34 UTC (rev 893)
@@ -877,6 +877,7 @@
tutti.gearUseFeatureTable.table.header.value=
tutti.gearUseFeatureTable.title=
tutti.help.mkDir.error=
+tutti.i18n.deleteCache.error=
tutti.i18n.mkDir.error=
tutti.importProtocol.action.success=
tutti.importPupitri.carrouselFile.extension=
@@ -888,6 +889,7 @@
tutti.importPupitri.title=
tutti.importPupitri.trunkFile.extension=
tutti.importPupitri.trunkFile.extension.description=
+tutti.io.directory.delete.error=
tutti.label.catches.planktonTotalSampleWeight=
tutti.label.catches.planktonTotalWeight=
tutti.label.tab.accidental=
@@ -1027,6 +1029,7 @@
tutti.manageTemporaryReferential.title.choose.importTemporaryVesselFile=
tutti.message.action.running=
tutti.property.get.error=
+tutti.property.set.error=
tutti.sampleOrder.caracteristicNotFound=
tutti.selectBenthos.title=
tutti.selectCruise.action.chooseCruiseExportFile=
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-30 08:56:13 UTC (rev 892)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-30 09:11:34 UTC (rev 893)
@@ -599,20 +599,6 @@
tutti.editMarineLitterBatch.table.header.number.tip=Nombre d'objets
tutti.editMarineLitterBatch.table.header.weight=Poids
tutti.editMarineLitterBatch.table.header.weight.tip=Poids (kg)
-tutti.editPlanktonBatch.table.header.comment=Commentaire
-tutti.editPlanktonBatch.table.header.comment.tip=Commentaire
-tutti.editPlanktonBatch.table.header.file=Pièces jointes
-tutti.editPlanktonBatch.table.header.file.tip=Pièces jointes
-tutti.editPlanktonBatch.table.header.sampleWeight=Poids échantillonné
-tutti.editPlanktonBatch.table.header.sampleWeight.tip=Poids échantillonné
-tutti.editPlanktonBatch.table.header.speciesByCode=Espèce
-tutti.editPlanktonBatch.table.header.speciesByCode.tip=Espèce
-tutti.editPlanktonBatch.table.header.speciesByGenusCode=Espèce
-tutti.editPlanktonBatch.table.header.speciesByGenusCode.tip=Espèce
-tutti.editPlanktonBatch.table.header.toConfirm=A Confirmer
-tutti.editPlanktonBatch.table.header.toConfirm.tip=A Confirmer
-tutti.editPlanktonBatch.table.header.weight=Poids
-tutti.editPlanktonBatch.table.header.weight.tip=Poids
tutti.editProgram.action.closeEditProgram=Fermer
tutti.editProgram.action.closeEditProgram.mnemonic=r
tutti.editProgram.action.closeEditProgram.tip=Annuler l'édition (ou la création) de la série de campagne, ou fermer l'éditeur suite à un enregistrement
@@ -862,6 +848,7 @@
tutti.gearUseFeatureTable.table.header.value=Valeur
tutti.gearUseFeatureTable.title=Mise en œuvre de l'engin
tutti.help.mkDir.error=Erreur à la création du dossier d'aide
+tutti.i18n.deleteCache.error=
tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation
tutti.importProtocol.action.success=Protocole [%s] lu depuis le fichier.
tutti.importPupitri.carrouselFile.extension=car
@@ -873,6 +860,7 @@
tutti.importPupitri.title=Import Pupitri
tutti.importPupitri.trunkFile.extension=tnk
tutti.importPupitri.trunkFile.extension.description=Fichier du trémie (.tnk)
+tutti.io.directory.delete.error=
tutti.label.catches.planktonTotalSampleWeight=Poids total échantillonné
tutti.label.catches.planktonTotalWeight=Poids total
tutti.label.tab.accidental=Captures accidentelles
1
0
r892 - in trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches: . individualobservation
by kmorin@users.forge.codelutin.com 30 Apr '13
by kmorin@users.forge.codelutin.com 30 Apr '13
30 Apr '13
Author: kmorin
Date: 2013-04-30 10:56:13 +0200 (Tue, 30 Apr 2013)
New Revision: 892
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/892
Log:
fixes #2384 [CAPTURE] - Observations individuelles - Les poids des lots sont saisis en grammes mais pas convertis en kg pour la sauvegarde
Removed:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/
Modified:
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java
trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-04-29 18:21:08 UTC (rev 891)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/EditCatchesUI.jaxx 2013-04-30 08:56:13 UTC (rev 892)
@@ -371,32 +371,6 @@
</JXTitledPanel>
</JPanel>
</tab>
-
- <tab id='planktonTab' title='tutti.label.tab.plancton'>
- <!--JXTitledPanel id='planktonTabFishingOperationReminderLabel'>
- <PlanktonBatchUI id='planktonTabContent' constructorParams='this'/>
- </JXTitledPanel-->
- </tab>
-
- <tab id='accidentalTab'>
- <JPanel id='accidentalTabPanel'>
- <JXTitledPanel id='accidentalTabFishingOperationReminderLabel'
- constraints='EditCatchesUIHandler.MAIN_CARD'>
- <AccidentalBatchUI id='accidentalTabContent'
- constructorParams='this'/>
- </JXTitledPanel>
- <JXTitledPanel id='accidentalTabCreateBatchReminderLabel'
- constraints='EditCatchesUIHandler.CREATE_BATCH_CARD'>
- <CreateAccidentalBatchUI id='accidentalTabCreateBatch'
- constructorParams='this'/>
- </JXTitledPanel>
- <JXTitledPanel id='accidentalCaracteristicMapEditorReminderLabel'
- constraints='EditCatchesUIHandler.EDIT_CARACTERISTICS_CARD'>
- <CaracteristicMapEditorUI id='accidentalCaracteristicMapEditor'
- constructorParams='accidentalTabContent'/>
- </JXTitledPanel>
- </JPanel>
- </tab>
<tab id='individualObservationTab'>
<JPanel id='individualObservationTabPanel'>
<JXTitledPanel
@@ -420,6 +394,25 @@
</JXTitledPanel>
</JPanel>
</tab>
+ <tab id='accidentalTab'>
+ <JPanel id='accidentalTabPanel'>
+ <JXTitledPanel id='accidentalTabFishingOperationReminderLabel'
+ constraints='EditCatchesUIHandler.MAIN_CARD'>
+ <AccidentalBatchUI id='accidentalTabContent'
+ constructorParams='this'/>
+ </JXTitledPanel>
+ <JXTitledPanel id='accidentalTabCreateBatchReminderLabel'
+ constraints='EditCatchesUIHandler.CREATE_BATCH_CARD'>
+ <CreateAccidentalBatchUI id='accidentalTabCreateBatch'
+ constructorParams='this'/>
+ </JXTitledPanel>
+ <JXTitledPanel id='accidentalCaracteristicMapEditorReminderLabel'
+ constraints='EditCatchesUIHandler.EDIT_CARACTERISTICS_CARD'>
+ <CaracteristicMapEditorUI id='accidentalCaracteristicMapEditor'
+ constructorParams='accidentalTabContent'/>
+ </JXTitledPanel>
+ </JPanel>
+ </tab>
</JTabbedPane>
<!-- Actions -->
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java 2013-04-29 18:21:08 UTC (rev 891)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java 2013-04-30 08:56:13 UTC (rev 892)
@@ -79,6 +79,10 @@
public IndividualObservationBatchRowModel(IndividualObservationBatch aBatch) {
this();
fromBean(aBatch);
+ Float weightInG = getWeight();
+ if (weightInG != null) {
+ setWeight(weightInG * 1000.0f);
+ }
}
@Override
Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java
===================================================================
--- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-04-29 18:21:08 UTC (rev 891)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchUIHandler.java 2013-04-30 08:56:13 UTC (rev 892)
@@ -480,6 +480,13 @@
FishingOperation fishingOperation = getModel().getFishingOperation();
catchBean.setFishingOperation(fishingOperation);
+
+ // convert grams into kilograms
+ Float weightInG = catchBean.getWeight();
+ if (weightInG != null) {
+ catchBean.setWeight(weightInG / 1000.0f);
+ }
+
if (log.isInfoEnabled()) {
log.info("Selected fishingOperation: " + fishingOperation.getId());
}
1
0
29 Apr '13
Author: kmorin
Date: 2013-04-29 20:21:08 +0200 (Mon, 29 Apr 2013)
New Revision: 891
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/891
Log:
refs #2000 [TECH] Mettre en place les messages d'erreur m?\195?\169tier
Modified:
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java
trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.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-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.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/RessourceClassLoader.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java 2013-04-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/RessourceClassLoader.java 2013-04-29 18:21:08 UTC (rev 891)
@@ -84,7 +84,7 @@
this.directories.add(directory);
// force to create directory
- TuttiIOUtil.forceMkdir(directory, "could not create directory");
+ TuttiIOUtil.forceMkdir(directory, _("tutti.persistence.mkDir.error", directory));
}
}
loader = null;
Modified: trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java
===================================================================
--- trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java 2013-04-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/config/TuttiPersistenceConfig.java 2013-04-29 18:21:08 UTC (rev 891)
@@ -76,9 +76,12 @@
public void initConfig(RessourceClassLoader resourceLoader) {
- TuttiIOUtil.forceMkdir(getDbDirectory(), "could not create directory");
- TuttiIOUtil.forceMkdir(getDbAttachmentDirectory(), "could not create directory");
- TuttiIOUtil.forceMkdir(getProtocolDirectory(), "could not create directory");
+ File directory = getDbDirectory();
+ TuttiIOUtil.forceMkdir(directory, _("tutti.persistence.mkDir.error", directory));
+ directory = getDbAttachmentDirectory();
+ TuttiIOUtil.forceMkdir(directory, _("tutti.persistence.mkDir.error", directory));
+ directory = getProtocolDirectory();
+ TuttiIOUtil.forceMkdir(directory, _("tutti.persistence.mkDir.error", directory));
// add a predicate to search the configuration file from his directory instead of the class-path
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-29 18:21:08 UTC (rev 891)
@@ -30,9 +30,8 @@
tutti.persistence.config.generateEnumFile.error=
tutti.persistence.config.generateFile.error=
tutti.persistence.dbMetadata.instanciation.error=
-tutti.persistence.dbmetadata.instanciation.error=
-tutti.persistence.dbmetadata.table.error=
tutti.persistence.loader.error=
+tutti.persistence.mkDir.error=
tutti.persistence.protocol.fromFile.error=
tutti.persistence.tableMetadata.instanciation.error=
tutti.sampleCategoryType.age=
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-04-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties 2013-04-29 18:21:08 UTC (rev 891)
@@ -31,6 +31,7 @@
tutti.persistence.config.generateFile.error=Erreur lors de la génération du fichier de configuration de la base de données
tutti.persistence.dbMetadata.instanciation.error=Erreur lors de l'initialisation des metadata de la base de données par la connexion %s
tutti.persistence.loader.error=Erreur de conversion du dossier %s en URL
+tutti.persistence.mkDir.error=Erreur lors de la création du dossier %s
tutti.persistence.protocol.fromFile.error=Erreur lors de l'import du protocol du fichier %s
tutti.persistence.tableMetadata.instanciation.error=Erreur à l'initialisation de %s
tutti.sampleCategoryType.age=Age
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-29 18:21:08 UTC (rev 891)
@@ -137,7 +137,7 @@
try {
TuttiIOUtil.forceMkdir(structureDirectory,
- "Could not create directory");
+ _("tutti.service.mkDir.error", structureDirectory));
if (log.isInfoEnabled()) {
log.info("Export directory: " + structureDirectory);
@@ -158,7 +158,7 @@
// create zip
TuttiIOUtil.zip(structureDirectory, file,
- "Could not create archive at " + file);
+ _("tutti.service.persistence.exportDb.zip.error", file));
} finally {
@@ -178,10 +178,10 @@
// check zip structure
FileObject fileObject = TuttiIOUtil.resolveFile(
- "zip:" + file.getAbsolutePath(), "could not obtain archive");
+ "zip:" + file.getAbsolutePath(), _("tutti.service.persistence.getArchive.error", file));
- FileObject[] children = TuttiIOUtil.getChildren(fileObject, "Could not open archive");
+ FileObject[] children = TuttiIOUtil.getChildren(fileObject, _("tutti.service.persistence.openArchive.error", file));
if (children.length != 1) {
throw new TuttiBusinessException(_("tutti.service.persistence.checkImportstructure.tooManyChildren", file));
@@ -195,7 +195,7 @@
protected void checkArchiveDb(File file,
FileObject fileObject,
String dir) {
- FileObject directory = TuttiIOUtil.getChild(fileObject, dir, " could not obtain child " + dir);
+ FileObject directory = TuttiIOUtil.getChild(fileObject, dir, _("tutti.service.persistence.getChild.error", dir));
if (directory == null) {
throw new TuttiBusinessException(_("tutti.service.persistence.checkArchiveDb.error", file, dir));
}
@@ -222,16 +222,17 @@
if (log.isInfoEnabled()) {
log.info("Import db to " + target);
}
- FileObject fileObject = TuttiIOUtil.resolveFile("zip:" + file.getAbsolutePath(), "could not obtain archive");
+ FileObject fileObject = TuttiIOUtil.resolveFile("zip:" + file.getAbsolutePath(),
+ _("tutti.service.persistence.getArchive.error", file));
- FileObject[] children = TuttiIOUtil.getChildren(fileObject, "Could not open archive");
+ FileObject[] children = TuttiIOUtil.getChildren(fileObject, _("tutti.service.persistence.openArchive.error", file));
fileObject = children[0];
TuttiIOUtil.explode(fileObject,
target,
new AllFileSelector(),
- "Could not decompress archive " + file);
+ _("tutti.service.persistence.extractArchive.error", file));
}
public boolean isDbLoaded() {
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-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/config/TuttiServiceConfig.java 2013-04-29 18:21:08 UTC (rev 891)
@@ -33,6 +33,8 @@
import java.net.URL;
import java.util.List;
+import static org.nuiton.i18n.I18n._;
+
/**
* Configuration for the service layer.
*
@@ -122,7 +124,7 @@
File dataDirectory = getDataDirectory();
TuttiIOUtil.forceMkdir(
dataDirectory,
- "Could not create data directory " + dataDirectory);
+ _("tutti.service.mkDir.error", dataDirectory));
File tmpDirectory = getTmpDirectory();
if (tmpDirectory.exists()) {
@@ -133,7 +135,7 @@
}
TuttiIOUtil.forceMkdir(
tmpDirectory,
- "Could not create temp directory " + tmpDirectory);
+ _("tutti.service.mkDir.error", tmpDirectory));
}
public void setCsvSeparator(char c) {
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-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/export/TuttiExportService.java 2013-04-29 18:21:08 UTC (rev 891)
@@ -144,7 +144,7 @@
File basedir = new File(context.getConfig().newTempFile(
"exportProgram"), "exportProgram-" + programId);
- TuttiIOUtil.forceMkdir(basedir, "Could not create directory");
+ TuttiIOUtil.forceMkdir(basedir, _("tutti.service.mkDir.error", basedir));
ExportContext exportContext = createExportContext(basedir);
@@ -154,12 +154,12 @@
cruise = persistenceService.getCruise(cruise.getId());
exportCruise(cruise, exportContext, progressionModel);
}
- TuttiIOUtil.close(exportContext, "Could not close export context");
+ TuttiIOUtil.close(exportContext, _("tutti.service.export.closeContext.error"));
progressionModel.setMessage(
_("tutti.service.exportCruise.buildZip", exportFile));
- TuttiIOUtil.zip(basedir, exportFile, "Could not create export zip");
+ TuttiIOUtil.zip(basedir, exportFile, _("tutti.service.export.zip.error", exportFile));
progressionModel.increments(1);
} finally {
IOUtils.closeQuietly(exportContext);
@@ -182,18 +182,18 @@
File basedir = new File(context.getConfig().newTempFile(
"exportCruise"), "exportCruise-" + cruiseId);
- TuttiIOUtil.forceMkdir(basedir, "Could not create directory");
+ TuttiIOUtil.forceMkdir(basedir, _("tutti.service.mkDir.error", basedir));
ExportContext exportContext = createExportContext(basedir);
try {
exportCruise(cruise, exportContext, progressionModel);
- TuttiIOUtil.close(exportContext, "Could not close export context");
+ TuttiIOUtil.close(exportContext, _("tutti.service.export.closeContext.error"));
progressionModel.setMessage(
_("tutti.service.exportCruise.buildZip", exportFile));
- TuttiIOUtil.zip(basedir, exportFile, "Could not create export zip");
+ TuttiIOUtil.zip(basedir, exportFile, _("tutti.service.export.zip.error", exportFile));
progressionModel.increments(1);
} finally {
IOUtils.closeQuietly(exportContext);
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-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-29 18:21:08 UTC (rev 891)
@@ -56,12 +56,14 @@
tutti.service.csv.parse.entityNotFound=
tutti.service.cvs.format.error=
tutti.service.export.catches.error=
+tutti.service.export.closeContext.error=
tutti.service.export.context.error=
tutti.service.export.invalid.cruise=
tutti.service.export.invalid.fishingOperation=
tutti.service.export.operations.error=
tutti.service.export.parameters.error=
tutti.service.export.survey.error=
+tutti.service.export.zip.error=
tutti.service.exportCruise.buildZip=
tutti.service.exportCruise.checkCruise=
tutti.service.exportCruise.exportCatches=
@@ -74,6 +76,7 @@
tutti.service.exportSumatra.header.species=
tutti.service.exportSumatra.header.station=
tutti.service.exportSumatra.header.weight=
+tutti.service.mkDir.error=
tutti.service.operations.accidental.error.species.required=
tutti.service.operations.computeWeights.benthos.error.incoherentCategoryWeight=
tutti.service.operations.computeWeights.benthos.error.incoherentParentCategoryWeight=
@@ -120,6 +123,11 @@
tutti.service.persistence.checkArchiveDb.error=
tutti.service.persistence.checkImportstructure.fileNotExist=
tutti.service.persistence.checkImportstructure.tooManyChildren=
+tutti.service.persistence.exportDb.zip.error=
+tutti.service.persistence.extractArchive.error=
+tutti.service.persistence.getArchive.error=
+tutti.service.persistence.getChild.error=
+tutti.service.persistence.openArchive.error=
tutti.service.protocol.export.benthos.error=
tutti.service.protocol.export.caracteristics.all.error=
tutti.service.protocol.export.caracteristics.protocol.error=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-29 18:21:08 UTC (rev 891)
@@ -54,12 +54,14 @@
tutti.service.csv.parse.entityNotFound=L'entité de type %1s avec la propriété %2s de valeur %3s n'a pas été trouvée
tutti.service.cvs.format.error=Erreur lors du formattage de la valeur %s
tutti.service.export.catches.error=Erreur lors de l'export des captures
+tutti.service.export.closeContext.error=Erreur lors de la fermeture du contexte d'export
tutti.service.export.context.error=Erreur lors de la création des fichiers pour l'export
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.export.operations.error=Erreur lors de l'export des traits
tutti.service.export.parameters.error=Erreur lors de l'export des paramètres
tutti.service.export.survey.error=Erreur lors de l'export de la campagne
+tutti.service.export.zip.error=Erreur lors de la création du zip d'export %s
tutti.service.exportCruise.buildZip=Création de l'archive de l'export (fichier %s)
tutti.service.exportCruise.checkCruise=Vérification de la campagne %s
tutti.service.exportCruise.exportCatches=Export du fichier <strong>catch.csv</strong> pour la campagne %s
@@ -72,6 +74,7 @@
tutti.service.exportSumatra.header.species=Espèce
tutti.service.exportSumatra.header.station=Station
tutti.service.exportSumatra.header.weight=Total
+tutti.service.mkDir.error=Erreur à la création du dossier %s
tutti.service.operations.computeWeights.error.benthos.incoherentCategoryWeight=Le poids total des mensurations d'un lot du benthos est supérieur au poids de la catégorie
tutti.service.operations.computeWeights.error.benthos.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.error.benthos.incoherentRowWeightCategory=Le poids de sous-échantillon est renseigné alors que le lot n'a pas de poids.
@@ -93,6 +96,11 @@
tutti.service.persistence.checkArchiveDb.error=L'archive de base de données %1s ne contient pas le dossier %2s
tutti.service.persistence.checkImportstructure.fileNotExist=L'archive de base de données %s n'existe pas
tutti.service.persistence.checkImportstructure.tooManyChildren=L'archive de base de données %s ne doit avoir qu'un sous-dossier
+tutti.service.persistence.exportDb.zip.error=Erreur lors de la création de l'archive %s
+tutti.service.persistence.extractArchive.error=Erreur lors de l'extraction de l'archive %s
+tutti.service.persistence.getArchive.error=Erreur lors de la récupération de l'archive %s
+tutti.service.persistence.getChild.error=Erreur lors de la récupération du fils %s
+tutti.service.persistence.openArchive.error=Erreur lors de l'ouverture de l'archive %s
tutti.service.protocol.export.benthos.error=Erreur lors de l'export du benthos dans le fichier %s
tutti.service.protocol.export.caracteristics.all.error=Erreur lors de l'export des caractéristiques dans le fichier %s
tutti.service.protocol.export.caracteristics.protocol.error=Erreur lors de l'export des caractéristiques du protocole dans le fichier %s
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-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/TuttiUIContext.java 2013-04-29 18:21:08 UTC (rev 891)
@@ -337,7 +337,7 @@
}
TuttiIOUtil.forceMkdir(i18nDirectory,
- "Could not create i18n at " + i18nDirectory);
+ _("tutti.i18n.mkDir.error", i18nDirectory));
if (log.isDebugEnabled()) {
log.debug("I18N directory: " + i18nDirectory);
@@ -371,7 +371,7 @@
}
TuttiIOUtil.forceMkdir(
helpDirectory,
- "Could not create helpDirectory at " + helpDirectory);
+ _("tutti.help.mkDir.error", helpDirectory));
// load help mapping
String mappingProperties =
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-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties 2013-04-29 18:21:08 UTC (rev 891)
@@ -876,6 +876,8 @@
tutti.gearUseFeatureTable.table.header.key=
tutti.gearUseFeatureTable.table.header.value=
tutti.gearUseFeatureTable.title=
+tutti.help.mkDir.error=
+tutti.i18n.mkDir.error=
tutti.importProtocol.action.success=
tutti.importPupitri.carrouselFile.extension=
tutti.importPupitri.carrouselFile.extension.description=
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-29 17:54:57 UTC (rev 890)
+++ trunk/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties 2013-04-29 18:21:08 UTC (rev 891)
@@ -861,6 +861,8 @@
tutti.gearUseFeatureTable.table.header.key=Caractéristique
tutti.gearUseFeatureTable.table.header.value=Valeur
tutti.gearUseFeatureTable.title=Mise en œuvre de l'engin
+tutti.help.mkDir.error=Erreur à la création du dossier d'aide
+tutti.i18n.mkDir.error=Erreur à la création du dossier d'internationalisation
tutti.importProtocol.action.success=Protocole [%s] lu depuis le fichier.
tutti.importPupitri.carrouselFile.extension=car
tutti.importPupitri.carrouselFile.extension.description=Fichier du carrousel (.car)
1
0
r890 - in trunk: tutti-persistence/src/main/resources/i18n tutti-service/src/main/java/fr/ifremer/tutti/service tutti-service/src/main/resources/i18n
by kmorin@users.forge.codelutin.com 29 Apr '13
by kmorin@users.forge.codelutin.com 29 Apr '13
29 Apr '13
Author: kmorin
Date: 2013-04-29 19:54:57 +0200 (Mon, 29 Apr 2013)
New Revision: 890
Url: http://forge.codelutin.com/projects/tutti/repository/revisions/890
Log:
refs #2000 [TECH] Mettre en place les messages d'erreur m?\195?\169tier
Modified:
trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.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
Modified: trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties
===================================================================
--- trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-29 17:42:04 UTC (rev 889)
+++ trunk/tutti-persistence/src/main/resources/i18n/tutti-persistence_en_GB.properties 2013-04-29 17:54:57 UTC (rev 890)
@@ -29,6 +29,7 @@
tutti.persistence.batch.validation.vracSpeciesNotFound=
tutti.persistence.config.generateEnumFile.error=
tutti.persistence.config.generateFile.error=
+tutti.persistence.dbMetadata.instanciation.error=
tutti.persistence.dbmetadata.instanciation.error=
tutti.persistence.dbmetadata.table.error=
tutti.persistence.loader.error=
Modified: trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java
===================================================================
--- trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-29 17:42:04 UTC (rev 889)
+++ trunk/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java 2013-04-29 17:54:57 UTC (rev 890)
@@ -69,6 +69,8 @@
import java.text.SimpleDateFormat;
import java.util.List;
+import static org.nuiton.i18n.I18n._;
+
/**
* Persistence service.
*
@@ -171,7 +173,7 @@
public void checkImportStructure(File file) {
if (!file.exists()) {
- throw new TuttiBusinessException("Db archive " + file + " does not exists");
+ throw new TuttiBusinessException(_("tutti.service.persistence.checkImportstructure.fileNotExist", file));
}
// check zip structure
@@ -182,7 +184,7 @@
FileObject[] children = TuttiIOUtil.getChildren(fileObject, "Could not open archive");
if (children.length != 1) {
- throw new TuttiBusinessException("Db archive " + file + " should have only one children");
+ throw new TuttiBusinessException(_("tutti.service.persistence.checkImportstructure.tooManyChildren", file));
}
fileObject = children[0];
checkArchiveDb(file, fileObject, "db");
@@ -195,9 +197,7 @@
String dir) {
FileObject directory = TuttiIOUtil.getChild(fileObject, dir, " could not obtain child " + dir);
if (directory == null) {
- throw new TuttiBusinessException(
- "Db archive " + file + " does not contains a " +
- dir + " directory.");
+ throw new TuttiBusinessException(_("tutti.service.persistence.checkArchiveDb.error", file, dir));
}
}
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-29 17:42:04 UTC (rev 889)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties 2013-04-29 17:54:57 UTC (rev 890)
@@ -9,6 +9,8 @@
tutti.config.option.tmp.directory.description=
tutti.config.option.version.description=
tutti.config.service=
+tutti.persistence.checkArchiveDb.error=
+tutti.persistence.checkImportstructure.fileNotExist=
tutti.property.attachment=
tutti.property.caracteristic=
tutti.property.country=
@@ -115,6 +117,9 @@
tutti.service.operations.validate.marineLitter.error.marineLitterSizeCategory.required=
tutti.service.operations.validate.marineLitter.error.number.required=
tutti.service.operations.validate.marineLitter.warning.weight.required=
+tutti.service.persistence.checkArchiveDb.error=
+tutti.service.persistence.checkImportstructure.fileNotExist=
+tutti.service.persistence.checkImportstructure.tooManyChildren=
tutti.service.protocol.export.benthos.error=
tutti.service.protocol.export.caracteristics.all.error=
tutti.service.protocol.export.caracteristics.protocol.error=
Modified: trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties
===================================================================
--- trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-29 17:42:04 UTC (rev 889)
+++ trunk/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties 2013-04-29 17:54:57 UTC (rev 890)
@@ -90,6 +90,9 @@
tutti.service.operations.computeWeights.error.species.incoherentTotalSorted=Le poids total Vrac des espèces est inférieur à la somme des poids Vrac triés, inerte trié et vivant non détaillé trié
tutti.service.operations.computeWeights.error.species.noWeight=Un lot des espèces n'a pas de poids
tutti.service.operations.exportCatchesReport.error=Erreur lors de la génération du rapport des captures
+tutti.service.persistence.checkArchiveDb.error=L'archive de base de données %1s ne contient pas le dossier %2s
+tutti.service.persistence.checkImportstructure.fileNotExist=L'archive de base de données %s n'existe pas
+tutti.service.persistence.checkImportstructure.tooManyChildren=L'archive de base de données %s ne doit avoir qu'un sous-dossier
tutti.service.protocol.export.benthos.error=Erreur lors de l'export du benthos dans le fichier %s
tutti.service.protocol.export.caracteristics.all.error=Erreur lors de l'export des caractéristiques dans le fichier %s
tutti.service.protocol.export.caracteristics.protocol.error=Erreur lors de l'export des caractéristiques du protocole dans le fichier %s
1
0