Wao-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
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- 2352 discussions
[Suiviobsmer-commits] r1265 - trunk/wao-business/src/main/xmi
by bleny@users.labs.libre-entreprise.org 09 May '11
by bleny@users.labs.libre-entreprise.org 09 May '11
09 May '11
Author: bleny
Date: 2011-05-09 12:08:47 +0000 (Mon, 09 May 2011)
New Revision: 1265
Log:
diagram style
Modified:
trunk/wao-business/src/main/xmi/wao.zargo
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
1
0
[Suiviobsmer-commits] r1264 - in trunk: wao-business/src/main/java/fr/ifremer/wao/io wao-business/src/main/java/fr/ifremer/wao/io/csv2 wao-business/src/main/java/fr/ifremer/wao/io/csv2/models wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/resources/i18n wao-business/src/main/xmi wao-business/src/test/java/fr/ifremer/wao/service wao-business/src/test/resources/import wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by bleny@users.labs.libre-entreprise.org 09 May '11
by bleny@users.labs.libre-entreprise.org 09 May '11
09 May '11
Author: bleny
Date: 2011-05-09 10:33:08 +0000 (Mon, 09 May 2011)
New Revision: 1264
Log:
switch boat import-export to using new import-export engine
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportResultsImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
trunk/wao-business/src/test/resources/import/navires.csv
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportResultsImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportResultsImpl.java 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/ImportResultsImpl.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -44,6 +44,7 @@
@Override
public List<String> getErrors() {
+ List<String> errors = super.getErrors();
if (errors == null) {
errors = new ArrayList<String>();
}
@@ -52,12 +53,22 @@
@Override
public void incNbRefused() {
- nbRowsRefused++;
+ int nbRowsRefused = getNbRowsRefused();
+ nbRowsRefused += 1;
+ setNbRowsRefused(nbRowsRefused);
}
@Override
public void incNbImported() {
- nbRowsImported++;
+ int nbRowsImported = getNbRowsImported();
+ nbRowsImported += 1;
+ setNbRowsImported(nbRowsImported);
}
+ @Override
+ public void incNbImportedNew() {
+ int nbRowsImportedNew = getNbRowsImportedNew();
+ nbRowsImportedNew += 1;
+ setNbRowsImportedNew(nbRowsImportedNew);
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Common.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -211,4 +211,25 @@
}
}
+ public static class IntegerParserFormatter implements ValueParserFormatter<Integer> {
+ @Override
+ public String format(Integer value) {
+ String str = "";
+ if (value != null) {
+ str = String.valueOf(value);
+ }
+ return str;
+ }
+
+ @Override
+ public Integer parse(String value) throws ParseException {
+ Integer integer = null;
+ if (StringUtils.isNotBlank(value)) {
+ integer = Integer.valueOf(value);
+ }
+ return integer;
+ }
+ }
+
+ public static ValueParserFormatter<Integer> INTEGER = new IntegerParserFormatter();
}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportExportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/ImportExportModel.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -0,0 +1,6 @@
+package fr.ifremer.wao.io.csv2;
+
+/**
+ *
+ */
+public interface ImportExportModel<E> extends ImportModel<E>, ExportModel<E> {}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -0,0 +1,131 @@
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatDistrictImpl;
+import fr.ifremer.wao.entity.BoatImpl;
+import fr.ifremer.wao.entity.ShipOwnerImpl;
+import fr.ifremer.wao.io.csv2.Common;
+import fr.ifremer.wao.io.csv2.ExportableColumn;
+import fr.ifremer.wao.io.csv2.ImportExportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+import fr.ifremer.wao.io.csv2.ModelBuilder;
+import fr.ifremer.wao.io.csv2.ValueGetterSetter;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ *
+ *
+ */
+public class BoatImportExportModel implements ImportExportModel<Boat> {
+
+ protected ModelBuilder<Boat> modelBuilder;
+
+ public BoatImportExportModel() {
+ modelBuilder = new ModelBuilder<Boat>();
+ modelBuilder.newColumnForImportExport("NAVIRE_IMMATRICULATION", Boat.PROPERTY_IMMATRICULATION, new ValueParserFormatter<Integer>() {
+ Pattern pattern = Pattern.compile("\\d{6}");
+
+ @Override
+ public String format(Integer immatriculation) {
+ return String.valueOf(immatriculation);
+ }
+
+ @Override
+ public Integer parse(String imma) throws ParseException {
+ Matcher matcher = pattern.matcher(imma);
+ if ( ! matcher.find()) {
+ throw new IllegalArgumentException(WaoUtils._("wao.business.boat.validation.immatriculation.wrongFormat"));
+ }
+ Integer immatriculation = Integer.parseInt(imma);
+ return immatriculation;
+ }
+ });
+ modelBuilder.newColumnForImportExport("NAVIRE_NOM", Boat.PROPERTY_NAME);
+ modelBuilder.newColumnForImportExport("NAVIRE_LONGUEUR", Boat.PROPERTY_BOAT_LENGTH, Common.INTEGER);
+ modelBuilder.newColumnForImportExport("NAVIRE_ANNEE", Boat.PROPERTY_BUILD_YEAR, Common.INTEGER);
+ modelBuilder.newColumnForImportExport("NAVIRE_ACTIF", Boat.PROPERTY_ACTIVE, Common.BOOLEAN);
+
+ // ship owner
+ modelBuilder.newColumnForImportExport("ARMATEUR_CODE", new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ return boat.getShipOwner().getCode();
+ }
+
+ @Override
+ public void set(Boat boat, String code) throws Exception {
+ boat.getShipOwner().setCode(code);
+ }
+ });
+ modelBuilder.newColumnForImportExport("ARMATEUR_NOM", new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ return boat.getShipOwner().getLastName();
+ }
+
+ @Override
+ public void set(Boat boat, String lastName) throws Exception {
+ boat.getShipOwner().setLastName(lastName);
+ }
+ });
+ modelBuilder.newColumnForImportExport("ARMATEUR_PRENOM", new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ return boat.getShipOwner().getFirstName();
+ }
+
+ @Override
+ public void set(Boat boat, String firstName) throws Exception {
+ boat.getShipOwner().setFirstName(firstName);
+ }
+ });
+
+ // boat district
+ modelBuilder.newColumnForImportExport("QUARTIER_CODE", new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ return boat.getBoatDistrict().getCode();
+ }
+
+ @Override
+ public void set(Boat boat, String districtCode) throws Exception {
+ boat.getBoatDistrict().setCode(districtCode);
+ }
+ });
+ }
+
+ @Override
+ public char getSeparator() {
+ return ';';
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public Boat newEmptyInstance() {
+ Boat emptyInstance = new BoatImpl();
+ emptyInstance.setShipOwner(new ShipOwnerImpl());
+ emptyInstance.setBoatDistrict(new BoatDistrictImpl());
+ return emptyInstance;
+ }
+
+ @Override
+ public Collection<ImportableColumn> getColumnsForImport() {
+ return modelBuilder.getColumnsForImport();
+ }
+
+ @Override
+ public Collection<ExportableColumn> getColumnsForExport() {
+ return modelBuilder.getColumnsForExport();
+ }
+}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -62,10 +62,15 @@
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.ShipOwner;
import fr.ifremer.wao.entity.ShipOwnerDAO;
+import fr.ifremer.wao.io.ImportResults;
+import fr.ifremer.wao.io.ImportResultsImpl;
import fr.ifremer.wao.io.csv.ExportHelper;
import fr.ifremer.wao.io.csv.ImportHelper;
import fr.ifremer.wao.io.csv.WaoCsvHeader;
import fr.ifremer.wao.io.csv.WaoCsvHeader.BOAT;
+import fr.ifremer.wao.io.csv2.Export;
+import fr.ifremer.wao.io.csv2.Import;
+import fr.ifremer.wao.io.csv2.models.BoatImportExportModel;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -83,6 +88,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
@@ -374,6 +380,7 @@
* QUARTIER_IMMA, PER_COD, PER_NOM,PER_PRENOM.
* Existing boats (with same immatriculation) are updated.
*
+ *
* @param transaction current transaction
* @param input Stream corresponding to Csv file
* @return an array with two int : the first corresponding to total number
@@ -384,224 +391,82 @@
* @see com.csvreader.CsvReader
*/
@Override
- public int[] executeImportBoatCsv(TopiaContext transaction,
- InputStream input)
+ public ImportResults executeImportBoatCsv(TopiaContext transaction,
+ InputStream input)
throws TopiaException, IOException, WaoBusinessException {
- int[] result = new int[]{0,0};
- CsvReader reader = new CsvReader(input, context.getCsvCharset());
- reader.readHeaders();
-
- ImportHelper.checkKeyHeader(reader, BOAT.NAVS_COD);
-
- long tic;
-
+ BoatImportExportModel model = new BoatImportExportModel();
+ Import<Boat> boatImport = new Import<Boat>(model, input);
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
- BoatDistrictDAO districtDAO = WaoDAOHelper.getBoatDistrictDAO(transaction);
+ BoatDistrictDAO boatDistrictDAO = WaoDAOHelper.getBoatDistrictDAO(transaction);
- Map<String, ShipOwner> availableShipOwners = new HashMap<String, ShipOwner>();
+ ImportResults importResults = new ImportResultsImpl();
+ Iterator<Boat> it = boatImport.startImport();
+ while (it.hasNext()) {
+ Boat boat = it.next();
- Map<String, BoatDistrict> availableDistricts = new HashMap<String, BoatDistrict>();
-
- tic = System.currentTimeMillis();
- Pattern pattern = Pattern.compile("\\d{6}");
- while(reader.readRecord()) {
- result[0]++;
-
- if (logger.isTraceEnabled()) {
- logger.trace(" " + Arrays.asList(reader.getValues()));
+ // first, find and reuse existing ship owner
+ ShipOwner shipOwner = shipOwnerDAO.findByCode(boat.getShipOwner().getCode());
+ if (shipOwner == null) {
+ shipOwner = shipOwnerDAO.create(boat.getShipOwner());
}
+ boat.setShipOwner(shipOwner);
- String imma = ImportHelper.read(reader, BOAT.NAVS_COD);
- Matcher matcher = pattern.matcher(imma);
- if (!matcher.find()) {
- throw new WaoBusinessException(Type.SYNTAX,
- ServiceBoat.class,
- "L'immatriculation ne comporte pas 6 chiffres");
- }
-
- int immatriculation = Integer.parseInt(imma);
-
- String boatName =
- ImportHelper.read(reader, BOAT.CARN_NOM);
- int boatLength =
- ImportHelper.readInt(reader, BOAT.CARN_LONGUEUR_HT);
- int buildYear =
- ImportHelper.readInt(reader, BOAT.CARN_ANNEE);
- String districtCode =
- ImportHelper.read(reader, BOAT.QUARTIER_IMMA);
- String shipOwnerCode =
- ImportHelper.read(reader, BOAT.PER_COD);
- String shipOwnerLastName =
- ImportHelper.read(reader, BOAT.PER_NOM);
- String shipOwnerFirstName =
- ImportHelper.read(reader, BOAT.PER_PRENOM);
-
- String activeStr = ImportHelper.read(reader, BOAT.NAVS_ACTIVE);
- boolean active = !activeStr.equals(BOAT.getBoatInactiveCode());
-
- if (logger.isTraceEnabled()) {
- logger.trace("Active : " + active + " (" + activeStr + ")");
- }
-
- // Find existing boat with immatriculation
- Boat boat = boatDAO.findByImmatriculation(immatriculation);
-
- if (boat == null) {
- boat = boatDAO.create(
- Boat.PROPERTY_IMMATRICULATION, immatriculation);
- result[1]++;
- }
- boat.setName(boatName);
- boat.setBuildYear(buildYear);
- boat.setBoatLength(boatLength);
- boat.setActive(active);
-
- BoatDistrict district = availableDistricts.get(districtCode);
-
- if (logger.isDebugEnabled()) {
- logger.debug("District code : " + districtCode +
- " _ district found : " + district);
- }
-
+ // secondly, find and reuse boat district
+ BoatDistrict district = boatDistrictDAO.findByCode(boat.getBoatDistrict().getCode());
if (district == null) {
- district = districtDAO.findByCode(districtCode);
- if (district == null) {
- district = districtDAO.create(BoatDistrict.PROPERTY_CODE, districtCode);
- }
- availableDistricts.put(districtCode, district);
+ district = boatDistrictDAO.create(BoatDistrict.PROPERTY_CODE, boat.getBoatDistrict().getCode());
}
-
boat.setBoatDistrict(district);
- // Find existing shipOwner with code
- ShipOwner shipOwner = availableShipOwners.get(shipOwnerCode);
-
- // If not available, select it from database
- if (shipOwner == null) {
- shipOwner = shipOwnerDAO.findByCode(shipOwnerCode);
- // If not exist yet, create it
- if (shipOwner == null) {
- shipOwner = shipOwnerDAO.create(ShipOwner.PROPERTY_CODE, shipOwnerCode);
- }
- availableShipOwners.put(shipOwnerCode, shipOwner);
+ // now boat object is ready
+ Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation());
+ if (existingBoat == null) {
+ existingBoat = boatDAO.create(boat);
+ importResults.incNbImportedNew();
+ } else {
+ // copy new values in found entity and save changes
+ existingBoat.setName(boat.getName());
+ existingBoat.setBoatLength(boat.getBoatLength());
+ existingBoat.setBuildYear(boat.getBuildYear());
+ existingBoat.setActive(boat.getActive());
+ existingBoat.setShipOwner(boat.getShipOwner());
+ existingBoat.setBoatDistrict(boat.getBoatDistrict());
+ boatDAO.update(existingBoat);
}
- shipOwner.setFirstName(shipOwnerFirstName);
- shipOwner.setLastName(shipOwnerLastName);
- boat.setShipOwner(shipOwner);
-
- if (result[0] % 1000 == 0) {
- availableShipOwners.clear();
-
- transaction.commitTransaction();
- tic = ImportHelper.logTimeAndMemory(
- logger, tic, "navires ligne " + result[0]);
- }
+ importResults.incNbImported();
}
- // For the last rows
transaction.commitTransaction();
-
- return result;
+ return importResults;
}
@Override
public InputStream executeExportBoatCsv(TopiaContext transaction,
BoatFilter filter) throws Exception {
- InputStream result = null;
- CsvWriter writer = null;
- try {
- File file = File.createTempFile("wao-boats-", ".csv");
- file.deleteOnExit();
- FileOutputStream output = new FileOutputStream(file);
- writer = new CsvWriter(output, ',', context.getCsvCharset());
+ // Get boats from database filtered by filter in argument
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
- ExportHelper<BOAT> export =
- new ExportHelper<BOAT>(writer, BOAT.getTotalHeaders()) {
- @Override
- public String getHeaderValue(int index) throws IOException {
- return WaoCsvHeader.getHeaderForBoatCsv(index);
- }
+ WaoQueryBuilder builder = context.newQueryBuilder();
+ builder.initializeForBoat();
- @Override
- public void record(BOAT header, String value) {
- record(header.forBoatCsv(), value);
- }
- };
+ TopiaQuery query = builder.applyBoatFilter(filter);
- export.writeHeaders();
+ // Reset limit : no pagination needed for results
+ query.resetLimit();
- // Get boats from database filterd by filter in argument
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
-
- WaoQueryBuilder builder = context.newQueryBuilder();
- builder.initializeForBoat();
-
- TopiaQuery query = builder.applyBoatFilter(filter);
-
- // Reset limit : no pagination needed for results
- query.resetLimit();
-
- if (logger.isDebugEnabled()) {
- logger.debug("Exec query : " + query);
- }
- List<Boat> boats = dao.findAllByQuery(query);
-
- for (Boat boat : boats) {
- export.newRecord();
-
- if (logger.isTraceEnabled()) {
- logger.trace("add boat : " + boat.getName() + " (" +
- boat.getImmatriculation() + ")");
- }
-
- export.record(BOAT.NAVS_COD,
- String.valueOf(boat.getImmatriculation()));
- export.record(BOAT.CARN_NOM, boat.getName());
- export.record(BOAT.CARN_LONGUEUR_HT,
- String.valueOf(boat.getBoatLength()));
- export.record(BOAT.CARN_ANNEE,
- String.valueOf(boat.getBuildYear()));
- export.record(BOAT.QUARTIER_IMMA, boat.getDistrictCode());
- export.record(BOAT.NAVS_ACTIVE,
- (!boat.getActive() ? BOAT.getBoatInactiveCode() : ""));
-
-
- if (filter.getCompany() != null) {
- BoatInfos boatInfos =
- boat.getCompanyBoatInfos(filter.getCompany());
-
- if (boatInfos != null) {
- export.record(BOAT.CONT_PRENOM,
- boatInfos.getContactFirstName());
- export.record(BOAT.CONT_NOM,
- boatInfos.getContactLastName());
- export.record(BOAT.CONT_EMAIL,
- boatInfos.getContactEmail());
- export.record(BOAT.CONT_TEL,
- boatInfos.getContactPhoneNumber());
- export.record(BOAT.NAVS_DUP,
- String.valueOf(boatInfos.getDup()));
- export.record(BOAT.NAVS_COMMENT,
- boatInfos.getComment());
- }
- }
-
- export.writeRecord();
- }
- result = new FileInputStream(file);
-
- } catch (Exception eee) {
- throw eee;
- } finally {
- if (writer != null) {
- writer.close();
- }
+ if (logger.isDebugEnabled()) {
+ logger.debug("Exec query : " + query);
}
- return result;
+ List<Boat> boats = dao.findAllByQuery(query);
+
+ BoatImportExportModel model = new BoatImportExportModel();
+ Export<Boat> export = new Export<Boat>(model, boats);
+ InputStream inputStream = export.startExport();
+ return inputStream;
}
@Override
Modified: trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-05-09 10:33:08 UTC (rev 1264)
@@ -124,6 +124,7 @@
fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Tall pelagic
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Molluscs
fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Small pelagic
+wao.business.boat.validation.immatriculation.wrongFormat=The boat registry number must be composed of 6 digits
wao.business.contact.validation.commentAdminNecessaryForDataReliability=You must precise in admin comment why data reliability is '%s'
wao.business.contact.validation.dataReliabilityMissingForValidation=You must provide data reliability before validating
wao.business.entity.UserProfile.description=%s on %s%s
Modified: trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties
===================================================================
--- trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-05-09 10:33:08 UTC (rev 1264)
@@ -1,174 +1,175 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=R\u00E9alis\u00E9s
-ContactPieChartConstant.REFUSED=Refus\u00E9s
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00E9finitif
+ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
+ContactPieChartConstant.REFUSED=Refus\u00e9s
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
ContactState.CONTACT_REFUSED=Refus
ContactState.CONTACT_START=Contact pris
-ContactState.OBSERVATION_CANCELLED=Annul\u00E9e
-ContactState.OBSERVATION_DONE=Observation r\u00E9alis\u00E9e
-ContactState.OBSERVATION_EXPECTED=Observation programm\u00E9e
-ContactState.OBSERVATION_NOT_DONE=Non observ\u00E9
-DataReliability.CORRECTION_ASKED=Correction demand\u00E9e
+ContactState.OBSERVATION_CANCELLED=Annul\u00e9e
+ContactState.OBSERVATION_DONE=Observation r\u00e9alis\u00e9e
+ContactState.OBSERVATION_EXPECTED=Observation programm\u00e9e
+ContactState.OBSERVATION_NOT_DONE=Non observ\u00e9
+DataReliability.CORRECTION_ASKED=Correction demand\u00e9e
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contr\u00F4l\u00E9e
+DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=P\u00E9nalit\u00E9 de niveau 1
+GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
GlobalIndicatorValue.GOOD=Bonus de niveau 1
GlobalIndicatorValue.NEUTRAL=Conforme au cahier des charges
-GlobalIndicatorValue.VERY_BAD=P\u00E9nalit\u00E9 de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00e9nalit\u00e9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Cri\u00E9e
+LocationType.AUCTION=Cri\u00e9e
LocationType.PORT=Port
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enqu\u00EAte de terrain
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00E9 \: Toutes esp\u00E8ces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00E9 \: esp\u00E8ces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00E9 \: esp\u00E8ces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00E9cifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00E9s
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00EAme navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de r\u00E9alisation du plan d'\u00E9chantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00E9lais de transmission des donn\u00E9es
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00E9s
-SynthesisId.IND_CONTACT_STATE=\u00C9tats des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualit\u00E9 de la donn\u00E9e
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00E9e
+ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultan\u00e9 \: Toutes esp\u00e8ces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultan\u00e9 \: esp\u00e8ces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock sp\u00e9cifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observ\u00e9s
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un m\u00eame navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de r\u00e9alisation du plan d'\u00e9chantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=D\u00e9lais de transmission des donn\u00e9es
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqu\u00e9s
+SynthesisId.IND_CONTACT_STATE=\u00c9tats des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualit\u00e9 de la donn\u00e9e
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journ\u00e9e
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invit\u00E9
+UserRole.GUEST=Invit\u00e9
UserRole.OBSERVER=Observateur
UserRole.PROFESSIONAL=Professionnel
csv.import.error.missingMandatoryHeaders=Les champs obligatoires %s sont manquants
-csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00E9tation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00E0 la ligne %s
+csv.import.error.unableToParseValue=Erreur lors de l'interpr\u00e9tation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' \u00e0 la ligne %s
csv.import.error.unableToReadLine=Impossible de lire la ligne %s
-csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00E9 '%s', ligne %s)
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s)
csv.import.error.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
csv.import.logComment=Modification depuis import
-fr.ifremer.wao.entity.FishingGearDCF.=Non sp\u00E9cifi\u00E9
-fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorqu\u00E9es par bateau
-fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues \u00E0 main
-fr.ifremer.wao.entity.FishingGearDCF.FAR=Pi\u00E8ges a\u00E9riens
-fr.ifremer.wao.entity.FishingGearDCF.FCN=\u00C9perviers
-fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-sp\u00E9cifi\u00E9s)
-fr.ifremer.wao.entity.FishingGearDCF.FIX=Pi\u00E8ges (non-sp\u00E9cifi\u00E9s)
-fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pi\u00E8ges fixes non couverts
+fr.ifremer.wao.entity.FishingGearDCF.=Non sp\u00e9cifi\u00e9
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorqu\u00e9es par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues \u00e0 main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pi\u00e8ges a\u00e9riens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=\u00c9perviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pi\u00e8ges (non-sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pi\u00e8ges fixes non couverts
fr.ifremer.wao.entity.FishingGearDCF.FPO=Nasses (casiers)
-fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00E0 l'\u00E9talage (diables)
+fr.ifremer.wao.entity.FishingGearDCF.FSN=Filets \u00e0 l'\u00e9talage (diables)
fr.ifremer.wao.entity.FishingGearDCF.FWR=Barrages, parcs, bordigues, etc.
fr.ifremer.wao.entity.FishingGearDCF.FYK=Verveux
-fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emm\u00E9lants (non sp\u00E9cifi\u00E9s)
-fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis \u00E0 civelles
-fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non sp\u00E9cifi\u00E9s)
+fr.ifremer.wao.entity.FishingGearDCF.GEN=Filets maillants et filets emm\u00e9lants (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis \u00e0 civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.GNC=Filets maillants encerclants
-fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants d\u00E9rivants (filets d\u00E9rivants)
+fr.ifremer.wao.entity.FishingGearDCF.GND=Filets maillants d\u00e9rivants (filets d\u00e9rivants)
fr.ifremer.wao.entity.FishingGearDCF.GNF=Filets maillants fixes (sur perches)
-fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants cal\u00E9s (ancr\u00E9s)
-fr.ifremer.wao.entity.FishingGearDCF.GT=Tr\u00E9mailleurs
-fr.ifremer.wao.entity.FishingGearDCF.GTN=Tr\u00E9mails et filets maillants combin\u00E9s
-fr.ifremer.wao.entity.FishingGearDCF.GTR=Tr\u00E9mails
+fr.ifremer.wao.entity.FishingGearDCF.GNS=Filets maillants cal\u00e9s (ancr\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Tr\u00e9mailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Tr\u00e9mails et filets maillants combin\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Tr\u00e9mails
fr.ifremer.wao.entity.FishingGearDCF.HAR=Harpons
-fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00E9canis\u00E9es
+fr.ifremer.wao.entity.FishingGearDCF.HMD=Dragues m\u00e9canis\u00e9es
fr.ifremer.wao.entity.FishingGearDCF.HMP=Pompes
-fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de r\u00E9colte (non sp\u00E9cifi\u00E9s)
+fr.ifremer.wao.entity.FishingGearDCF.HMX=Engins de r\u00e9colte (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.LA=Filets tournants sans coulisse (filet lamparo)
-fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes \u00E0 main et lignes avec cannes
-fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes \u00E0 main et lignes \u00E0 cannes
-fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non sp\u00E9cifi\u00E9es)
-fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres d\u00E9rivantes
-fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres cal\u00E9es ou semi-flottantes
-fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulev\u00E9s (non sp\u00E9cifi\u00E9s)
-fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulev\u00E9s man\u0153uvr\u00E9es du bateau
-fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulev\u00E9s portatifs
-fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulev\u00E9s fixes man\u0153uvr\u00E9es du rivage
-fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de tra\u00EEne
-fr.ifremer.wao.entity.FishingGearDCF.LX=Hame\u00E7ons et lignes (non sp\u00E9cifi\u00E9s)
+fr.ifremer.wao.entity.FishingGearDCF.LHM=Lignes \u00e0 main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes \u00e0 main et lignes \u00e0 cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres d\u00e9rivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres cal\u00e9es ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulev\u00e9s (non sp\u00e9cifi\u00e9s)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulev\u00e9s man\u0153uvr\u00e9es du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulev\u00e9s portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulev\u00e9s fixes man\u0153uvr\u00e9es du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de tra\u00eene
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hame\u00e7ons et lignes (non sp\u00e9cifi\u00e9s)
fr.ifremer.wao.entity.FishingGearDCF.MIS=Divers
-fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non sp\u00E9cifi\u00E9s
-fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts \u00E0 panneaux (non sp\u00E9cifi\u00E9)
-fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond \u00E0 panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts p\u00E9lagiques \u00E0 panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux \u00E0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.NK=Engins inconnus ou non sp\u00e9cifi\u00e9s
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts \u00e0 panneaux (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts p\u00e9lagiques \u00e0 panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux \u00e0 panneaux
fr.ifremer.wao.entity.FishingGearDCF.PS=Filets tournants avec coulisse (sennes coulissantes)
-fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00E9es par un bateau
-fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00E9es par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-b\u0153ufs (non sp\u00E9cifi\u00E9)
+fr.ifremer.wao.entity.FishingGearDCF.PS1=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-b\u0153ufs (non sp\u00e9cifi\u00e9)
fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-b\u0153ufs de fond
-fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-b\u0153ufs p\u00E9lagiques
-fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de p\u00EAche r\u00E9vr\u00E9ative
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-b\u0153ufs p\u00e9lagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de p\u00eache r\u00e9vr\u00e9ative
fr.ifremer.wao.entity.FishingGearDCF.SB=Sennes de plages
fr.ifremer.wao.entity.FishingGearDCF.SDN=Sennes danoises
-fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes man\u0153uvr\u00E9es par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes \u00E9cossaises
-fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes hal\u00E9es \u00E0 bord
-fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non sp\u00E9cifi\u00E9es)
-fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non sp\u00E9cifi\u00E9)
-fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts \u00E0 perche
-fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut \u00E0 langoustines
-fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut \u00E0 crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut p\u00E9lagique (non sp\u00E9cifi\u00E9)
-fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut \u00E0 crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non sp\u00E9cifi\u00E9)
-fr.ifremer.wao.entity.TargetSpeciesDCF.=Non sp\u00E9cifi\u00E9
+fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes man\u0153uvr\u00e9es par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes \u00e9cossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes hal\u00e9es \u00e0 bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non sp\u00e9cifi\u00e9es)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts \u00e0 perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut \u00e0 langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut p\u00e9lagique (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut \u00e0 crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non sp\u00e9cifi\u00e9)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non sp\u00e9cifi\u00e9
fr.ifremer.wao.entity.TargetSpeciesDCF.ALG=Algues
-fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Esp\u00E8ces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00E9s
+fr.ifremer.wao.entity.TargetSpeciesDCF.CAT=Esp\u00e8ces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustac\u00e9s
fr.ifremer.wao.entity.TargetSpeciesDCF.CSJ=Coquilles Saint-Jacques
-fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Esp\u00E8ces d\u00E9mersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00E8ces d'eaux profondes
+fr.ifremer.wao.entity.TargetSpeciesDCF.DEF=Esp\u00e8ces d\u00e9mersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Esp\u00e8ces d'eaux profondes
fr.ifremer.wao.entity.TargetSpeciesDCF.FIN=Poisson plats
-fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00E9lagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00e9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00E9lagiques
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00E9ciser dans le commentaire administrateur pourquoi la donn\u00E9e est '%s'
-wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut pr\u00E9ciser la qualit\u00E9 de la donn\u00E9e avant de valider
+fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits p\u00e9lagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit \u00eatre form\u00e9e de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut pr\u00e9ciser dans le commentaire administrateur pourquoi la donn\u00e9e est '%s'
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut pr\u00e9ciser la qualit\u00e9 de la donn\u00e9e avant de valider
wao.business.entity.UserProfile.description=%s sur %s%s
-wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseign\u00E9 dans WAO l'information suivante \:\n\nMar\u00E9e \: %s\nM\u00E9tier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
+wao.business.mammalsCapture.mail.message=Bonjour,\n\nUn observateur du programme Obsmer a renseign\u00e9 dans WAO l'information suivante \:\n\nMar\u00e9e \: %s\nM\u00e9tier \: %s\n\nCapture accidentelle \:\n%s\n\nCordialement,\n\nLe programme Obsmer\nhttp\://www.ifremer.fr/wao
wao.business.mammalsCapture.mail.subject=Obsmer WAO\: Information sur capture accidentelle
wao.business.other=Autre
wao.business.readOnly=(lecture seule)
-wao.error.boat.canCreateContact=Impossible de cr\u00E9er un nouveau contact pour la soci\u00E9t\u00E9 %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00E9cup\u00E9rer le nombre d'embarquements r\u00E9els depuis le %1$s pour la soci\u00E9t\u00E9 %2$s
+wao.error.boat.canCreateContact=Impossible de cr\u00e9er un nouveau contact pour la soci\u00e9t\u00e9 %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de r\u00e9cup\u00e9rer le nombre d'embarquements r\u00e9els depuis le %1$s pour la soci\u00e9t\u00e9 %2$s
wao.error.context.close=Une erreur est survenue pendant la fermeture du contexte principale de ToPIA
wao.error.context.encodeString=
-wao.error.context.getRootContext=Une erreur est survenue pour la r\u00E9cup\u00E9ration du contexte principale de ToPIA
+wao.error.context.getRootContext=Une erreur est survenue pour la r\u00e9cup\u00e9ration du contexte principale de ToPIA
wao.error.context.parse=Une erreur est survenue pendant le chargement de la configuration du fichier %1$s
wao.error.context.rollback=Une erreur est survenue pendant l'annulation de la transaction courante
-wao.error.context.start=Une erreur est survenue pendant le d\u00E9marrage de l'application
+wao.error.context.start=Une erreur est survenue pendant le d\u00e9marrage de l'application
wao.error.context.stop=Une erreur est survenue pendant la fermeture de l'application
-wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00E9es r\u00E9els pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00E9crit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00E9er ou modifier les informations li\u00E9s au navire %1$d pour la soci\u00E9t\u00E9 %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00E9lectionn\u00E9s
+wao.error.sampleMonth.addRealTideTime=Impossible d'enregistrer le nombre de mar\u00e9es r\u00e9els pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire \u00e9crit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de cr\u00e9er ou modifier les informations li\u00e9s au navire %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires s\u00e9lectionn\u00e9s
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00E9cup\u00E9rer les navires avec un nom commencant par '%1$s'
+wao.error.serviceBoat.getBoatNamesStartWith=Impossible de r\u00e9cup\u00e9rer les navires avec un nom commencant par '%1$s'
wao.error.serviceBoat.getBoatsByFilter=Impossible de filtrer la liste des navires
-wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00EEne d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00E9der 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00E9cup\u00E9rer les informations du navire immatricul\u00E9 %1$d pour la soci\u00E9t\u00E9 %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00E9 du navire %1$s (%2$d)
+wao.error.serviceBoat.getBoatsByImmatriculations=La cha\u00eene d'immatriculations est incorrect \! Chaque immatriculation doit poss\u00e9der 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de r\u00e9cup\u00e9rer les informations du navire immatricul\u00e9 %1$d pour la soci\u00e9t\u00e9 %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activit\u00e9 du navire %1$s (%2$d)
wao.error.serviceBoat.getNbBoatsByFilter=Impossible de filtrer la liste des navires
wao.error.serviceBoat.getPossibleValuesForFilter=
wao.error.serviceBoat.getShipOwnerNamesContains=
-wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00E8me d'import du fichier CSV des calendriers d'activit\u00E9
-wao.error.serviceBoat.importBoatCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00E9tails.
+wao.error.serviceBoat.importActivityCalendarCsv=Probl\u00e8me d'import du fichier CSV des calendriers d'activit\u00e9
+wao.error.serviceBoat.importBoatCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00E9es des quartiers des navires. V\u00E9rifiez la documentation pour le bon format du fichier Kml.
+wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonn\u00e9es des quartiers des navires. V\u00e9rifiez la documentation pour le bon format du fichier Kml.
wao.error.serviceChart.getContactPieChartData=
wao.error.serviceChart.getContactPieChartUrl=
wao.error.serviceContact.exportContactCsv=Impossible d'exporter les contacts
wao.error.serviceContact.getContact=Impossible de trouver le contact
wao.error.serviceContact.getContacts=Impossible de filtrer la liste des contacts
-wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00E9s
+wao.error.serviceContact.getNbContacts=Impossible de compter le nombre de contacts filtr\u00e9s
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.getPossibleValuesForFilter=
wao.error.serviceContact.importContactCsv=Impossible d'importer les contacts
@@ -179,7 +180,7 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de r\u00E9cup\u00E9rer l'ensemble des news
+wao.error.serviceNews.getNews=Impossible de r\u00e9cup\u00e9rer l'ensemble des news
wao.error.serviceNews.saveNews=Impossible d'enregistrer la news ayant pour titre '%1$s'
wao.error.serviceReferential.getAllContactStateMotifs=
wao.error.serviceReferential.getAllObservationUnits=
@@ -188,83 +189,83 @@
wao.error.serviceReferential.getAllTerrestrialLocations=
wao.error.serviceReferential.getCodesDCF5Contains=
wao.error.serviceReferential.getFacades=Impossible de charger la liste des facades
-wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00EAche
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00E9tiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00EAche
+wao.error.serviceReferential.getFishingZones=Impossible de charger la liste des secteurs de p\u00eache
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des m\u00e9tiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de p\u00eache
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
-wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00E9er le r\u00E9f\u00E9rentiel des codes DCF
-wao.error.serviceReferential.importFishingZoneCsv=Probl\u00E8me d'import du fichier CSV. V\u00E9rifiez l'en-t\u00EAte du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00E9tails.
+wao.error.serviceReferential.importDCFcodes=Impossible de cr\u00e9er le r\u00e9f\u00e9rentiel des codes DCF
+wao.error.serviceReferential.importFishingZoneCsv=Probl\u00e8me d'import du fichier CSV. V\u00e9rifiez l'en-t\u00eate du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de d\u00e9tails.
wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importTerrestrialDivisions=
wao.error.serviceReferential.importTerrestrialLocations=
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00E9chantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00E9chantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00E9chantillonnage sur la p\u00E9riode du %1$s au %2$s
+wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'\u00e9chantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'\u00e9chantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'\u00e9chantillonnage sur la p\u00e9riode du %1$s au %2$s
wao.error.serviceSampling.exportSamplingPlanICalendar=
wao.error.serviceSampling.getDCFGears=
wao.error.serviceSampling.getDCFSpecies=
wao.error.serviceSampling.getNewProfession=
wao.error.serviceSampling.getNewSampleMonth=
wao.error.serviceSampling.getNewSampleRow=
-wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00E9cup\u00E9rer un nouveau code pour une ligne d'\u00E9chantillonnage
+wao.error.serviceSampling.getNewSampleRowCode=Impossible de r\u00e9cup\u00e9rer un nouveau code pour une ligne d'\u00e9chantillonnage
wao.error.serviceSampling.getNewSampleRowLog=
wao.error.serviceSampling.getPossibleValuesForFilter=
wao.error.serviceSampling.getPrograms=Impossible de charger la liste des programmes
-wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00E9chantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00E9chantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
+wao.error.serviceSampling.getSampleRow=Impossible de charger la ligne d'\u00e9chantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'\u00e9chantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.getSampleRowsForEligibility=
-wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00E9cup\u00E9rer la liste des lignes du plan d'\u00E9chantillonnage
+wao.error.serviceSampling.getSampleRowsOrderedByFishingZone=Impossible de r\u00e9cup\u00e9rer la liste des lignes du plan d'\u00e9chantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es du graphique concernant les embarquements sur les navires
+wao.error.serviceSynthesis.getBoardingBoats=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es du graphique concernant les embarquements sur les navires
wao.error.serviceSynthesis.getBoatsCount=
wao.error.serviceSynthesis.getComplianceBoardingIndicator=
-wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00E9cup\u00E9rer l'indicateur de r\u00E9activit\u00E9 sur les dates de saisies dans Allegro
+wao.error.serviceSynthesis.getContactDataInputDateReactivity=Impossible de r\u00e9cup\u00e9rer l'indicateur de r\u00e9activit\u00e9 sur les dates de saisies dans Allegro
wao.error.serviceSynthesis.getContactPieChartData=
wao.error.serviceSynthesis.getContactPieChartDataByBoatDistrict=
wao.error.serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict=
-wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00E9cup\u00E9rer les statistiques sur les \u00E9tats des contacts
+wao.error.serviceSynthesis.getContactStateStatistics=Impossible de r\u00e9cup\u00e9rer les statistiques sur les \u00e9tats des contacts
wao.error.serviceSynthesis.getDataReliability=
-wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es pour le graphique dynamique des efforts de mar\u00E9es
+wao.error.serviceSynthesis.getDataSampling=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es pour le graphique dynamique des efforts de mar\u00e9es
wao.error.serviceSynthesis.getDistinctBoatsCounts=
-wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00E9cup\u00E9rer les donn\u00E9es concernant les indicateurs pour la synth\u00E8se globale
+wao.error.serviceSynthesis.getGlobalSynthesisParameters=Impossible de r\u00e9cup\u00e9rer les donn\u00e9es concernant les indicateurs pour la synth\u00e8se globale
wao.error.serviceSynthesis.getGlobalSynthesisResult=
-wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00E9cup\u00E9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00E9s
+wao.error.serviceSynthesis.getNonComplianceBoardingIndicator=Impossible de r\u00e9cup\u00e9rer l'indicateur de non respect du nombre d'observateurs embarqu\u00e9s
wao.error.serviceSynthesis.getObservationHours=
-wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00E0 jour les param\u00E8tres de la synth\u00E8se globale
+wao.error.serviceSynthesis.updateGlobalSynthesisParameters=Impossible de mettre \u00e0 jour les param\u00e8tres de la synth\u00e8se globale
wao.error.serviceUser.addTokensToAllProfiles=
wao.error.serviceUser.connect=Une erreur est survenue lors de la demande de connexion
-wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00E9er l'administrateur par d\u00E9faut
-wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00E9er ou de mettre \u00E0 jour la soci\u00E9t\u00E9
-wao.error.serviceUser.createUpdateUser=Impossible de cr\u00E9er ou de mettre \u00E0 jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la soci\u00E9t\u00E9 ou de v\u00E9rifier les contraintes de suppression
+wao.error.serviceUser.createDefaultAdmin=Impossible de cr\u00e9er l'administrateur par d\u00e9faut
+wao.error.serviceUser.createUpdateCompany=Impossible de cr\u00e9er ou de mettre \u00e0 jour la soci\u00e9t\u00e9
+wao.error.serviceUser.createUpdateUser=Impossible de cr\u00e9er ou de mettre \u00e0 jour l'utilisateur
+wao.error.serviceUser.deleteCompany=Impossible de supprimer la soci\u00e9t\u00e9 ou de v\u00e9rifier les contraintes de suppression
wao.error.serviceUser.deleteUser=Impossible de supprimer l'utilisateur
wao.error.serviceUser.existLogin=
wao.error.serviceUser.forgetPassword=Impossible d'envoyer le mail d'oubli de mot de passe
-wao.error.serviceUser.getCompanies=Impossible de r\u00E9cup\u00E9rer la liste des soci\u00E9t\u00E9s
+wao.error.serviceUser.getCompanies=Impossible de r\u00e9cup\u00e9rer la liste des soci\u00e9t\u00e9s
wao.error.serviceUser.getCompany=
wao.error.serviceUser.getConnectedUserByToken=
wao.error.serviceUser.getNewUser=Impossible d'instancier un nouvel utilisateur
-wao.error.serviceUser.getObservers=Impossible de r\u00E9cup\u00E9rer la liste des observateurs
+wao.error.serviceUser.getObservers=Impossible de r\u00e9cup\u00e9rer la liste des observateurs
wao.error.serviceUser.getUserByToken=
wao.error.serviceUser.getUserRolesByLogin=
-wao.error.serviceUser.getUsersByCompany=Impossible de r\u00E9cup\u00E9rer la liste des utilisateurs de la soci\u00E9t\u00E9 %1$s
+wao.error.serviceUser.getUsersByCompany=Impossible de r\u00e9cup\u00e9rer la liste des utilisateurs de la soci\u00e9t\u00e9 %1$s
wao.export.ical.desc=avec %s
wao.export.ical.title=Observation ObsDeb
-wao.import.contact.failure.boatMissing=Il faut pr\u00E9ciser l'immatriculation du navire associ\u00E9 au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00EAtre renseign\u00E9
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00E9e
+wao.import.contact.failure.boatMissing=Il faut pr\u00e9ciser l'immatriculation du navire associ\u00e9 au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit \u00eatre renseign\u00e9
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associ\u00e9e
wao.import.contact.failure.terrestrialLocationMissing=Il manque le code du lieu
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
wao.import.contact.failure.wrongSampleRowCode=Il n'y a pas de ligne du plan avec le code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=Il n'y a pas de lieu de type '%s' ayant pour code '%s'
wao.import.failure.wrongUser=Il n'y a pas d'utilisateur ayant pour identifiant '%s'
-wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00EAtre associ\u00E9 \u00E0 la ligne %s car il doit observer, le m\u00EAme jour, pour la ligne %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut \u00eatre associ\u00e9 \u00e0 la ligne %s car il doit observer, le m\u00eame jour, pour la ligne %s
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -54,8 +54,8 @@
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.entity.WaoUserImpl;
+import fr.ifremer.wao.io.ImportResults;
import org.junit.After;
-import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -86,18 +86,11 @@
private ServiceBoat service;
- public ServiceBoatImplTest() {
- }
-
@BeforeClass
public static void setUpClass() throws Exception {
manager = new TestManager();
}
- @AfterClass
- public static void tearDownClass() throws Exception {
- }
-
@Before
public void setUp() throws Exception {
manager.start();
@@ -358,10 +351,10 @@
log.info("importBoatCsv");
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- int[] nbBoats = service.importBoatCsv(input);
- Assert.assertEquals(6, nbBoats[0]);
+ ImportResults importResults = service.importBoatCsv(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
// new boats added
- Assert.assertEquals(6, nbBoats[1]);
+ Assert.assertEquals(6, importResults.getNbRowsImportedNew());
// Check boat 174592 is active &nd boat 177474 is inactive
List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
Modified: trunk/wao-business/src/test/resources/import/navires.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/navires.csv 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-business/src/test/resources/import/navires.csv 2011-05-09 10:33:08 UTC (rev 1264)
@@ -1,7 +1,7 @@
-NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,QUARTIER_IMMA,PER_COD,PER_NOM,PER_PRENOM,NAVS_ACTIVE
-273129,MOISE,7,1992,UX,19771564,BEURRE ,JEAN CLAUDE,A
-174258,SAMOURAI KING,9,1982,UN,19744130,MARIE ,JEAN PHILIPPE,A
-177474,MAYFLOWERS,10,1983,UN,19784252,MOSELLE ,ALAIN RENE,I
-174592,FIFITOU,8,1975,UN,18854131,POUTRE ,JEAN PIERRE,A
-284595,A MA LOUTRE,8,1973,UN, SPR3965,BECANAUD, NA,A
-978419,BISOUNOURS,11,2002,CI,18854131,POUTRE ,JEAN PIERRE,A
+NAVIRE_IMMATRICULATION;NAVIRE_NOM;NAVIRE_LONGUEUR;NAVIRE_ANNEE;QUARTIER_CODE;ARMATEUR_CODE;ARMATEUR_NOM;ARMATEUR_PRENOM;NAVIRE_ACTIF
+273129;MOISE;7;1992;UX;19771564;BEURRE ;JEAN CLAUDE;Y
+174258;SAMOURAI KING;9;1982;UN;19744130;MARIE ;JEAN PHILIPPE;Y
+177474;MAYFLOWERS;10;1983;UN;19784252;MOSELLE ;ALAIN RENE;N
+174592;FIFITOU;8;1975;UN;18854131;POUTRE ;JEAN PIERRE;Y
+284595;A MA LOUTRE;8;1973;UN; SPR3965;BECANAUD; NA;Y
+978419;BISOUNOURS;11;2002;CI;18854131;POUTRE ;JEAN PIERRE;Y
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-05-06 13:38:07 UTC (rev 1263)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-05-09 10:33:08 UTC (rev 1264)
@@ -222,10 +222,7 @@
@Override
public ImportResults execute(InputStream input)
throws WaoException, WaoBusinessException {
- int[] result = serviceBoat.importBoatCsv(input);
- ImportResults results = new ImportResultsImpl();
- results.setNbRowsImported(result[0]);
- results.setNbRowsImportedNew(result[1]);
+ ImportResults results = serviceBoat.importBoatCsv(input);
return results;
}
};
1
0
[Suiviobsmer-commits] r1263 - in trunk/wao-ui/src/main: java/fr/ifremer/wao/ui/pages webapp
by bleny@users.labs.libre-entreprise.org 06 May '11
by bleny@users.labs.libre-entreprise.org 06 May '11
06 May '11
Author: bleny
Date: 2011-05-06 13:38:07 +0000 (Fri, 06 May 2011)
New Revision: 1263
Log:
add delete button
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-06 12:29:32 UTC (rev 1262)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-06 13:38:07 UTC (rev 1263)
@@ -140,12 +140,13 @@
/********* GRID ********/
- private GridDataSource sampleRows;
+ @Persist
+ private SampleRowDataSource sampleRows;
@Property
private SampleRow sampleRow;
- public GridDataSource getSampleRows() {
+ public SampleRowDataSource getSampleRows() {
if (sampleRows == null) {
sampleRows = new SampleRowDataSource(samplingFilter.getFilter(), serviceSampling);
}
@@ -171,6 +172,12 @@
return canEditSampleRow;
}
+ @Log
+ public void onActionFromDeleteSampleRow(String sampleRowId) throws WaoBusinessException {
+ SampleRow sampleRow = getSampleRows().get(sampleRowId);
+ serviceSampling.deleteSampleRow(sampleRow);
+ }
+
/********** IMPORT / EXPORT *********/
public Block onSuccessFromImportForm() {
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-05-06 12:29:32 UTC (rev 1262)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-05-06 13:38:07 UTC (rev 1263)
@@ -146,10 +146,10 @@
<a t:type="pagelink" t:page="sampleRowForm" t:context="sampleRow.topiaId" title="${message:wao.ui.action.edit}" >
<img src="${asset:context:}/img/edit.png" alt="${message:wao.ui.action.edit}" />
</a>
- <!--a t:type="actionlink" t:id="deleteSampleRow" t:context="rowIndex" title="${message:wao.ui.action.deleteSampleRow}"
- t:mixins="nuiton/confirm" t:message="${format:wao.ui.action.deleteSampleRow.confirm=row.code}">
- <img src="${asset:context:}/img/delete2.png" alt="${message:wao.ui.action.deleteSampleRow}" />
- </a-->
+ <a t:type="actionlink" t:id="deleteSampleRow" t:context="sampleRow.topiaId" title="${message:wao.ui.action.deleteSampleRow}"
+ t:mixins="nuiton/confirm" t:message="${format:wao.ui.action.deleteSampleRow.confirm=sampleRow.code}">
+ <img src="${asset:context:}/img/delete2.png" alt="${message:wao.ui.action.deleteSampleRow}" />
+ </a>
</t:if>
</p:actionsCell>
</div>
1
0
[Suiviobsmer-commits] r1262 - trunk/wao-business/src/test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 06 May '11
by bleny@users.labs.libre-entreprise.org 06 May '11
06 May '11
Author: bleny
Date: 2011-05-06 12:29:32 +0000 (Fri, 06 May 2011)
New Revision: 1262
Log:
fix tests ; add 'LIGNE_SANS_CONTACTS' in CSV files
Modified:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java 2011-05-06 09:53:34 UTC (rev 1261)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ObsDebFixtures.java 2011-05-06 12:29:32 UTC (rev 1262)
@@ -28,14 +28,14 @@
protected boolean boatsImported;
protected static final String CSV_CONTENT =
- "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
- + "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007;\n"
- + "2011_889;Code Lutin;MA;OBS2;25/02/2010;UO087;\n"
- + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007;\n"
- + "2011_891;Code Lutin;MA;OBS2;13/02/2010;UO087;";
+ "PLAN_CODE;SOCIETE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS;LIGNE_SANS_CONTACTS\n"
+ + "2011_888;Ifremer;GA;OBS1;05/01/2010;UO007;;N\n"
+ + "2011_889;Code Lutin;MA;OBS2;25/02/2010;UO087;;N\n"
+ + "2011_890;Code Lutin;GA;OBS1;13/02/2010;UO007;;N\n"
+ + "2011_891;Code Lutin;MA;OBS2;13/02/2010;UO087;;N";
protected static final String CSV_WITH_OBSERVERS_CONTENT =
- "PLAN_CODE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS\n"
- + "2011_890;GA;OBS1;13/02/2010;UO007;josh";
+ "PLAN_CODE;REGION_IFREMER_COD;OBSERVATEUR_COD;OBSERVATION_DATE;UNITE_OBSERVATION_COD;OBSERVATEURS;LIGNE_SANS_CONTACTS\n"
+ + "2011_890;GA;OBS1;13/02/2010;UO007;josh;N";
public ObsDebFixtures(TestManager manager) {
this.manager = manager;
1
0
[Suiviobsmer-commits] r1261 - in trunk: wao-business/src/main/java/fr/ifremer/wao/service wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by bleny@users.labs.libre-entreprise.org 06 May '11
by bleny@users.labs.libre-entreprise.org 06 May '11
06 May '11
Author: bleny
Date: 2011-05-06 09:53:34 +0000 (Fri, 06 May 2011)
New Revision: 1261
Log:
fix a bug : print error messages in ObsDeb sampling plan when importing wrong file
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-05 15:09:06 UTC (rev 1260)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-05-06 09:53:34 UTC (rev 1261)
@@ -370,8 +370,8 @@
/**
* Import boats from a CSV file. Warning, must be UTF-8 encoding.
* Use of CsvReader to manage InputStream and create or update boats.
- * Header file must be : NAVS_COD,CARN_NOM,CARN_LONGUEUR_HT,CARN_ANNEE,
- * QUARTIER_IMMA,PER_COD, PER_NOM,PER_PRENOM.
+ * Header file must be : NAVS_COD, CARN_NOM, CARN_LONGUEUR_HT, CARN_ANNEE,
+ * QUARTIER_IMMA, PER_COD, PER_NOM,PER_PRENOM.
* Existing boats (with same immatriculation) are updated.
*
* @param transaction current transaction
@@ -481,13 +481,10 @@
// If not available, select it from database
if (shipOwner == null) {
shipOwner = shipOwnerDAO.findByCode(shipOwnerCode);
-
// If not exist yet, create it
if (shipOwner == null) {
- shipOwner = shipOwnerDAO.create(
- ShipOwner.PROPERTY_CODE, shipOwnerCode);
+ shipOwner = shipOwnerDAO.create(ShipOwner.PROPERTY_CODE, shipOwnerCode);
}
-
availableShipOwners.put(shipOwnerCode, shipOwner);
}
shipOwner.setFirstName(shipOwnerFirstName);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-05 15:09:06 UTC (rev 1260)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-06 09:53:34 UTC (rev 1261)
@@ -901,6 +901,10 @@
List<Object> errorArgs, ConnectedUser user, SamplingFilter filter)
throws Exception {
+ // ignore pagination when exporting
+ filter.setStartIndex(null);
+ filter.setEndIndex(null);
+
SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(transaction);
WaoQueryBuilder builder = context.newQueryBuilder();
WaoQueryHelper.SampleRowProperty sampleRowProperty =
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-05 15:09:06 UTC (rev 1260)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-06 09:53:34 UTC (rev 1261)
@@ -31,12 +31,15 @@
import fr.ifremer.wao.io.ImportResults;
import fr.ifremer.wao.service.ServiceContact;
import fr.ifremer.wao.service.ServiceSampling;
+import fr.ifremer.wao.ui.components.Layout;
import fr.ifremer.wao.ui.components.SamplingFilterComponent;
+import fr.ifremer.wao.ui.data.ErrorReport;
import fr.ifremer.wao.ui.data.ExportStreamResponse;
import fr.ifremer.wao.ui.data.ImportEngine;
import fr.ifremer.wao.ui.data.RequiresAuthentication;
import fr.ifremer.wao.ui.data.SampleRowDataSource;
import fr.ifremer.wao.ui.services.SampleRowModelFactory;
+import org.apache.tapestry5.Block;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.StreamResponse;
import org.apache.tapestry5.annotations.InjectComponent;
@@ -65,6 +68,9 @@
@Inject
private Logger log;
+ @InjectComponent
+ private Layout layout;
+
@Inject
private BeanModelSource beanModelSource;
@@ -167,12 +173,15 @@
/********** IMPORT / EXPORT *********/
+ public Block onSuccessFromImportForm() {
+ showImport = false;
+ return importZone.getBody();
+ }
+
public ImportEngine getSamplingPlanImportEngine() {
return new ImportEngine() {
@Override
- public ImportResults execute(InputStream input)
- throws WaoException, WaoBusinessException {
- // FIXME 20110505 bleny when an error occur, nothing is show in the UI
+ public ImportResults execute(InputStream input) throws WaoBusinessException {
ImportResults results = serviceSampling.importSamplingPlanCsv(input, connectedUser);
return results;
}
@@ -193,4 +202,14 @@
}
};
}
+
+ @Log
+ void onImported(ErrorReport report) {
+ for (String info : report.getInfos()) {
+ layout.addInfo(info);
+ }
+ for (String error : report.getErrors()) {
+ layout.addError(error);
+ }
+ }
}
1
0
[Suiviobsmer-commits] r1260 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/entity wao-business/src/main/java/fr/ifremer/wao/io/csv2/models wao-business/src/main/java/fr/ifremer/wao/service wao-business/src/main/xmi wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/java/fr/ifremer/wao/ui/services wao-ui/src/main/resources/fr/ifremer/wao/ui/pages wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 05 May '11
by bleny@users.labs.libre-entreprise.org 05 May '11
05 May '11
Author: bleny
Date: 2011-05-05 15:09:06 +0000 (Thu, 05 May 2011)
New Revision: 1260
Log:
add possibility to mark row as blank ; show what is realizes in sampling plan
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SampleRowForm_fr.properties
trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
trunk/wao-ui/src/main/webapp/SampleRowForm.tml
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -869,4 +869,10 @@
protected void addTokensToUserProfiles_3_0(List<String> queries) {
queries.add("ALTER TABLE UserProfile ADD token CHARACTER VARYING(50);");
}
+
+ @Override
+ protected void addObsDebToSampleRows_3_0(List<String> queries) {
+ queries.add("ALTER TABLE SampleRow ADD blankRow BOOLEAN");
+ queries.add("UPDATE TABLE SampleRow SET blankRow=FALSE");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -143,6 +143,8 @@
protected abstract void addTokensToUserProfiles_3_0(List<String> queries);
+ protected abstract void addObsDebToSampleRows_3_0(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -505,6 +507,8 @@
addTokensToUserProfiles_3_0(queries);
+ addObsDebToSampleRows_3_0(queries);
+
String[] strings = queries.toArray(new String[queries.size()]);
executeSQL(tx, showSql, showProgression, strings);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/SampleRowLogImpl.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -26,6 +26,7 @@
import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.ObsProgram;
+import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils;
import org.nuiton.util.DateUtil;
@@ -470,6 +471,16 @@
}
}
+ private void compareBlankRows() {
+ if (oldRow == null || oldRow.isBlankRow() != newRow.isBlankRow()) {
+ if (newRow.isBlankRow()) {
+ addChange("La ligne devient réalisée sans contacts");
+ } else {
+ addChange("La ligne devient n'est plus réalisée sans contacts");
+ }
+ }
+ }
+
/** Compare a sample row before and after its modifications and generate
* a differences summary and save it by setting log text.
*/
@@ -517,6 +528,7 @@
compareDays();
compareObservationUnits();
compareObservers();
+ compareBlankRows();
}
compareCompanies();
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/SamplingPlanImportExportModel.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -236,6 +236,7 @@
modelBuilder.newColumnForImportExport("REGION_IFREMER_COD", regionCodeGetterSetter);
modelBuilder.newColumnForImportExport("UNITE_OBSERVATION_COD", SampleRow.PROPERTY_OBSERVATION_UNIT, observationUnitParser);
modelBuilder.newColumnForImportExport("OBSERVATEURS", SampleRow.PROPERTY_OBSERVERS, new UsersParserFormatter(allWaoUsers));
+ modelBuilder.newColumnForImportExport("LIGNE_SANS_CONTACTS", SampleRow.PROPERTY_BLANK_ROW, Common.BOOLEAN);
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -388,7 +388,8 @@
SampleRow.PROPERTY_DAY,
SampleRow.PROPERTY_GROUP_NAME,
SampleRow.PROPERTY_OBSERVERS,
- SampleRow.PROPERTY_OBSERVATION_UNIT);
+ SampleRow.PROPERTY_OBSERVATION_UNIT,
+ SampleRow.PROPERTY_BLANK_ROW);
} else {
oldRow.clearSampleMonth();
oldRow.addAllSampleMonth(row.getSampleMonth());
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -29,6 +29,7 @@
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.io.ImportResults;
+import fr.ifremer.wao.service.ServiceContact;
import fr.ifremer.wao.service.ServiceSampling;
import fr.ifremer.wao.ui.components.SamplingFilterComponent;
import fr.ifremer.wao.ui.data.ExportStreamResponse;
@@ -46,6 +47,7 @@
import org.apache.tapestry5.beaneditor.BeanModel;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.grid.GridDataSource;
+import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.BeanModelSource;
import org.slf4j.Logger;
@@ -72,6 +74,12 @@
@Inject
private ServiceSampling serviceSampling;
+ @Inject
+ private ServiceContact serviceContact;
+
+ @Inject
+ private Messages messages;
+
private DateFormat dateFormat;
public DateFormat getDateFormat() {
@@ -142,7 +150,9 @@
public BeanModel<SampleRow> getObsdebSamplingPlanModel() {
if (obsdebSamplingPlanModel == null) {
- SampleRowModelFactory sampleRowModelFactory = new SampleRowModelFactory(beanModelSource, resources, connectedUser);
+ SampleRowModelFactory sampleRowModelFactory =
+ new SampleRowModelFactory(beanModelSource, resources, connectedUser,
+ messages, serviceContact);
obsdebSamplingPlanModel = sampleRowModelFactory.newModel();
}
return obsdebSamplingPlanModel;
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/SampleRowForm.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -623,15 +623,18 @@
if (sampleRowModel == null) {
sampleRowModel = beanModelSource.createEditModel(SampleRow.class, resources.getMessages());
if (user.isObsDeb()) {
- sampleRowModel.include("comment");
+ sampleRowModel.include(SampleRow.PROPERTY_COMMENT, SampleRow.PROPERTY_BLANK_ROW);
} else {
- sampleRowModel.add("company", null);
+ sampleRowModel.add(SampleRow.PROPERTY_COMPANY, null);
sampleRowModel.add("boats", null);
if (user.getProfile().getObsProgram() == ObsProgram.OBSMER) {
- sampleRowModel.include("code", "company", "nbObservants", "averageTideTime", "boats", "comment");
+ sampleRowModel.include(SampleRow.PROPERTY_CODE, SampleRow.PROPERTY_COMPANY,
+ SampleRow.PROPERTY_NB_OBSERVANTS, SampleRow.PROPERTY_AVERAGE_TIDE_TIME, "boats",
+ SampleRow.PROPERTY_COMMENT);
}
if (user.getProfile().getObsProgram() == ObsProgram.OBSVENTE) {
- sampleRowModel.include("code", "company", "boats", "comment");
+ sampleRowModel.include(SampleRow.PROPERTY_CODE, SampleRow.PROPERTY_COMPANY, "boats",
+ SampleRow.PROPERTY_COMMENT);
sampleRowModel.add("samplingStrategy");
}
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/SampleRowModelFactory.java 2011-05-05 15:09:06 UTC (rev 1260)
@@ -25,14 +25,18 @@
import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactFilter;
+import fr.ifremer.wao.bean.ContactFilterImpl;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.service.ServiceContact;
import org.apache.commons.collections.CollectionUtils;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.PropertyConduit;
import org.apache.tapestry5.beaneditor.BeanModel;
+import org.apache.tapestry5.ioc.Messages;
import org.apache.tapestry5.services.BeanModelSource;
import org.nuiton.util.StringUtil;
@@ -60,12 +64,20 @@
protected ConnectedUser connectedUser;
+ protected Messages messages;
+
protected BeanModel<SampleRow> model;
- public SampleRowModelFactory(BeanModelSource beanModelSource, ComponentResources resources, ConnectedUser connectedUser) {
+ protected ServiceContact serviceContact;
+
+ public SampleRowModelFactory(BeanModelSource beanModelSource, ComponentResources resources,
+ ConnectedUser connectedUser, Messages messages,
+ ServiceContact serviceContact) {
this.beanModelSource = beanModelSource;
this.resources = resources;
this.connectedUser = connectedUser;
+ this.messages = messages;
+ this.serviceContact = serviceContact;
}
/** add a property in the model and make it not sortable
@@ -149,6 +161,29 @@
});
}
add(SampleRow.PROPERTY_OBSERVATION_UNIT);
+ add("actual", new SampleRowReaderPropertyConduit() {
+
+ protected String yes = messages.get("wao.ui.misc.yes");
+ protected String no = messages.get("wao.ui.misc.no");
+ protected ContactFilter contactFilter = new ContactFilterImpl();
+
+ @Override
+ public String getValue(SampleRow sampleRow) {
+ String value;
+ if (sampleRow.isBlankRow()) {
+ value = yes;
+ } else {
+ contactFilter.setSampleRow(sampleRow);
+ int nbContacts = serviceContact.getNbContacts(contactFilter);
+ if (nbContacts == 0) {
+ value = no;
+ } else {
+ value = yes + " (" + nbContacts + ")";
+ }
+ }
+ return value;
+ }
+ });
add(SampleRow.PROPERTY_COMMENT);
add(SampleRow.PROPERTY_OBSERVERS, new SampleRowReaderPropertyConduit() {
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SampleRowForm_fr.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SampleRowForm_fr.properties 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/SampleRowForm_fr.properties 2011-05-05 15:09:06 UTC (rev 1260)
@@ -47,6 +47,7 @@
averageTideTime-label: Dur\u00e9e moyenne d'une mar\u00e9e
comment-label: Commentaire sur la ligne
samplingStrategy-label: Stat\u00e9gie d'\u00e9chantillonnage
+blankRow-label: Journ\u00e9e r\u00e9alis\u00e9e (sans contacts)
# FORM
errors-banner: La ligne n'a pas \u00e9t\u00e9 sauvegard\u00e9 \u00e0 cause des erreurs suivantes :
Modified: trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-ui/src/main/webapp/ObsDebSamplingPlan.tml 2011-05-05 15:09:06 UTC (rev 1260)
@@ -124,6 +124,11 @@
${message:wao.ui.field.SampleRow.observers}
</p:observersHeader>
+ <!-- observers -->
+ <p:actualHeader>
+ ${message:wao.ui.samplingPlan.actual}
+ </p:actualHeader>
+
<!-- comment -->
<p:commentHeader>
${message:wao.ui.field.SampleRow.comment}
Modified: trunk/wao-ui/src/main/webapp/SampleRowForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2011-05-05 13:39:39 UTC (rev 1259)
+++ trunk/wao-ui/src/main/webapp/SampleRowForm.tml 2011-05-05 15:09:06 UTC (rev 1260)
@@ -269,6 +269,10 @@
<t:label t:for="samplingStrategy" />
<input t:type="select" t:id="samplingStrategy" value="sampleRow.samplingStrategy" t:validate="required" />
</p:samplingStrategy>
+ <p:blankRow>
+ <t:label t:for="blankRow" />
+ <input t:type="checkbox" t:id="blankRow" value="sampleRow.blankRow" />
+ </p:blankRow>
</t:beaneditor>
</div>
</fieldset>
1
0
[Suiviobsmer-commits] r1259 - trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages
by bleny@users.labs.libre-entreprise.org 05 May '11
by bleny@users.labs.libre-entreprise.org 05 May '11
05 May '11
Author: bleny
Date: 2011-05-05 13:39:39 +0000 (Thu, 05 May 2011)
New Revision: 1259
Log:
add fixme
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-05 12:08:15 UTC (rev 1258)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ObsDebSamplingPlan.java 2011-05-05 13:39:39 UTC (rev 1259)
@@ -162,6 +162,7 @@
@Override
public ImportResults execute(InputStream input)
throws WaoException, WaoBusinessException {
+ // FIXME 20110505 bleny when an error occur, nothing is show in the UI
ImportResults results = serviceSampling.importSamplingPlanCsv(input, connectedUser);
return results;
}
1
0
[Suiviobsmer-commits] r1258 - in trunk: wao-business/src/main/java/fr/ifremer/wao wao-business/src/main/java/fr/ifremer/wao/bean wao-business/src/main/xmi wao-ui wao-ui/src/main/java/fr/ifremer/wao/ui/components wao-ui/src/main/resources/fr/ifremer/wao/ui/components wao-ui/src/main/resources/i18n
by bleny@users.labs.libre-entreprise.org 05 May '11
by bleny@users.labs.libre-entreprise.org 05 May '11
05 May '11
Author: bleny
Date: 2011-05-05 12:08:15 +0000 (Thu, 05 May 2011)
New Revision: 1258
Log:
add filters for the different level of terrestrial division in sampling filter
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
trunk/wao-business/src/main/xmi/wao.zargo
trunk/wao-ui/pom.xml
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoQueryBuilder.java 2011-05-05 12:08:15 UTC (rev 1258)
@@ -393,6 +393,18 @@
query.addEquals(sampleRowProperty.observationUnit(), filter.getObservationUnit());
}
+ if (filter.getSkillZoneCode() != null) {
+ query.addEquals(sampleRowProperty.observationUnitProperty().skillZoneCode(), filter.getSkillZoneCode());
+ }
+
+ if (filter.getSubPopulationCode() != null) {
+ query.addEquals(sampleRowProperty.observationUnitProperty().subPopulationCode(), filter.getSubPopulationCode());
+ }
+
+ if (filter.getRegionIfremerCode() != null) {
+ query.addEquals(sampleRowProperty.observationUnitProperty().regionIfremerCode(), filter.getRegionIfremerCode());
+ }
+
// XXX 2011 04 12 using UserFilter#observer for both samplingfilter and
// contact filter may lead to buggy filters (observers filters in contacts / obsdeb
// sampling plan)
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingFilterValuesImpl.java 2011-05-05 12:08:15 UTC (rev 1258)
@@ -31,10 +31,13 @@
import fr.ifremer.wao.entity.TerrestrialDivision;
import fr.ifremer.wao.entity.TerrestrialLocation;
import fr.ifremer.wao.entity.WaoUser;
+import org.apache.commons.collections.OrderedMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
public class SamplingFilterValuesImpl extends SamplingFilterValues {
@@ -379,13 +382,45 @@
return new ArrayList<E>(collection);
}
+ protected void addSkillZone(TerrestrialDivision observationUnit) {
+ Map<String,String> skillZones = getSkillZones();
+ if (skillZones == null) {
+ skillZones = new TreeMap<String, String>();
+ setSkillZones(skillZones);
+ }
+ skillZones.put(observationUnit.getSkillZoneCode(), observationUnit.getSkillZoneCode() + " - " +
+ observationUnit.getSkillZoneName());
+ }
+ protected void addSubPopulation(TerrestrialDivision observationUnit) {
+ Map<String,String> subPopulation = getSubPopulations();
+ if (subPopulation == null) {
+ subPopulation = new TreeMap<String, String>();
+ setSubPopulations(subPopulation);
+ }
+ subPopulation.put(observationUnit.getSubPopulationCode(), observationUnit.getSubPopulationCode() + " - " +
+ observationUnit.getSubPopulationName());
+ }
+
+ protected void addRegionIfremer(TerrestrialDivision observationUnit) {
+ Map<String, String> regionIfremers = getRegionIfremers();
+ if (regionIfremers == null) {
+ regionIfremers = new TreeMap<String, String>();
+ setRegionIfremers(regionIfremers);
+ }
+ regionIfremers.put(observationUnit.getRegionIfremerCode(), observationUnit.getRegionIfremerCode());
+ }
+
protected void fillSampleRow(SampleRow sampleRow) {
ObsProgram obsProgram = sampleRow.getObsProgram();
addCompanies(sampleRow.getCompany());
if (ObsProgram.OBSDEB.equals(obsProgram)) {
addAllObservers(sampleRow.getObservers());
- addObservationUnits(sampleRow.getObservationUnit());
+ TerrestrialDivision observationUnit = sampleRow.getObservationUnit();
+ addObservationUnits(observationUnit);
+ addSkillZone(observationUnit);
+ addSubPopulation(observationUnit);
+ addRegionIfremer(observationUnit);
} else {
// for both ObsMer and ObsVente
addFacadeNames(sampleRow.getFacade());
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-ui/pom.xml
===================================================================
--- trunk/wao-ui/pom.xml 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-ui/pom.xml 2011-05-05 12:08:15 UTC (rev 1258)
@@ -183,7 +183,6 @@
<entries>
<entry>
<basedir>${basedir}/src/main/resources/fr/ifremer/wao/ui</basedir>
- <basedir>${basedir}/src/main/java/fr/ifremer/wao/ui</basedir>
<specificGoal>parserTapestry</specificGoal>
</entry>
</entries>
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/components/SamplingFilterComponent.java 2011-05-05 12:08:15 UTC (rev 1258)
@@ -26,10 +26,18 @@
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterValues;
import fr.ifremer.wao.service.ServiceSampling;
+import org.apache.tapestry5.OptionModel;
+import org.apache.tapestry5.SelectModel;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.Persist;
+import org.apache.tapestry5.internal.OptionModelImpl;
+import org.apache.tapestry5.internal.SelectModelImpl;
import org.nuiton.util.PeriodDates;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
/**
* @author sletellier <letellier at codelutin.com>
*/
@@ -136,4 +144,52 @@
}
return format;
}
+
+ private SelectModel skillZoneSelectModel;
+
+ public SelectModel getSkillZoneSelectModel() {
+ if (skillZoneSelectModel == null) {
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ Map<String, String> skillZones = getPossibleValuesForFilter().getSkillZones();
+ if (skillZones != null) {
+ for (Map.Entry<String, String> skillZone : skillZones.entrySet()) {
+ options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey()));
+ }
+ }
+ skillZoneSelectModel = new SelectModelImpl(null, options);
+ }
+ return skillZoneSelectModel;
+ }
+
+ private SelectModel subPopulationSelectModel;
+
+ public SelectModel getSubPopulationSelectModel() {
+ if (subPopulationSelectModel == null) {
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ Map<String, String> subPopulations = getPossibleValuesForFilter().getSubPopulations();
+ if (subPopulations != null) {
+ for (Map.Entry<String, String> skillZone : subPopulations.entrySet()) {
+ options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey()));
+ }
+ }
+ subPopulationSelectModel = new SelectModelImpl(null, options);
+ }
+ return subPopulationSelectModel;
+ }
+
+ private SelectModel regionIfremerSelectModel;
+
+ public SelectModel getRegionIfremerSelectModel() {
+ if (regionIfremerSelectModel == null) {
+ List<OptionModel> options = new ArrayList<OptionModel>();
+ Map<String, String> regionIfremers = getPossibleValuesForFilter().getRegionIfremers();
+ if (regionIfremers != null) {
+ for (Map.Entry<String, String> skillZone : regionIfremers.entrySet()) {
+ options.add(new OptionModelImpl(skillZone.getValue(), skillZone.getKey()));
+ }
+ }
+ regionIfremerSelectModel = new SelectModelImpl(null, options);
+ }
+ return regionIfremerSelectModel;
+ }
}
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/components/SamplingFilterComponent.tml 2011-05-05 12:08:15 UTC (rev 1258)
@@ -73,6 +73,22 @@
</div>
<t:if test="user.obsDeb">
<!-- filter fields only for obsdeb-->
+ <label for="regionIfremer">${message:wao.ui.field.TerrestrialDivision.regionIfremer}</label>
+ <t:select t:id="regionIfremer"
+ t:model="regionIfremerSelectModel"
+ t:value="filter.regionIfremerCode" />
+ <t:if test="filter.regionIfremerCode">
+ <label for="skillZone">${message:wao.ui.field.TerrestrialDivision.skillZone}</label>
+ <t:select t:id="skillZone"
+ t:model="skillZoneSelectModel"
+ t:value="filter.skillZoneCode" />
+ <t:if test="filter.skillZoneCode">
+ <label for="subPopulation">${message:wao.ui.field.TerrestrialDivision.subPopulation}</label>
+ <t:select t:id="subPopulation"
+ t:model="subPopulationSelectModel"
+ t:value="filter.subPopulationCode" />
+ </t:if>
+ </t:if>
<label for="observationUnit">${message:wao.ui.field.SampleRow.observationUnit}</label>
<t:topiaEntitySelector t:id="observationUnit"
t:clazzName="TerrestrialDivision"
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-05-05 12:08:15 UTC (rev 1258)
@@ -134,6 +134,8 @@
wao.ui.field.SampleRow.species=Species
wao.ui.field.SampleRow.terrestrialLocation=Maritime district
wao.ui.field.SampleRow.terrestrialLocationInfos=Terrestrial Location Infos
+wao.ui.field.TerrestrialDivision.regionIfremer=Ifremer region
+wao.ui.field.TerrestrialDivision.skillZone=Skill zone
wao.ui.field.TerrestrialDivision.subPopulation=Sub-population
wao.ui.field.User.firstName=First name
wao.ui.field.User.lastName=Last name
Modified: trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
===================================================================
--- trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-04 09:39:53 UTC (rev 1257)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-05-05 12:08:15 UTC (rev 1258)
@@ -133,6 +133,8 @@
wao.ui.field.SampleRow.species=Esp\u00E8ces cibles
wao.ui.field.SampleRow.terrestrialLocation=Quartier maritime
wao.ui.field.SampleRow.terrestrialLocationInfos=Autre(s) info(s)
+wao.ui.field.TerrestrialDivision.regionIfremer=R\u00E9gion Ifremer
+wao.ui.field.TerrestrialDivision.skillZone=Zone de comp\u00E9tence
wao.ui.field.TerrestrialDivision.subPopulation=Sous-population
wao.ui.field.User.firstName=Pr\u00E9nom
wao.ui.field.User.lastName=Nom
1
0
[Suiviobsmer-commits] r1257 - in trunk/wao-business/src/main/java/fr/ifremer/wao: . bean entity io/csv2 io/csv2/models io/csv2/models/operations service
by bleny@users.labs.libre-entreprise.org 04 May '11
by bleny@users.labs.libre-entreprise.org 04 May '11
04 May '11
Author: bleny
Date: 2011-05-04 09:39:53 +0000 (Wed, 04 May 2011)
New Revision: 1257
Log:
rename WaoUtils#translate to WaoUtils#_ to ease detection of the keys
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactPieChartConstant.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/DataReliability.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/GlobalIndicatorValue.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObsProgram.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObservationType.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingStrategy.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SynthesisId.java
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UserParserFormatter.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UsersParserFormatter.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoUtils.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -134,7 +134,7 @@
context.sendEmail(to, subject, msg);
}
- public static String translate(String i18nKey, Object... args) {
+ public static String _(String i18nKey, Object... args) {
return l_(context.getLocale(), i18nKey, args);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactPieChartConstant.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactPieChartConstant.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactPieChartConstant.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -58,7 +58,7 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
/** Values for ObsVente. Refused is removed due to the fact that
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ContactState.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -144,7 +144,7 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
/**
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/DataReliability.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/DataReliability.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/DataReliability.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -71,6 +71,6 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/GlobalIndicatorValue.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/GlobalIndicatorValue.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/GlobalIndicatorValue.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -53,6 +53,6 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/LocationType.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -48,6 +48,6 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObsProgram.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObsProgram.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObsProgram.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -47,6 +47,6 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObservationType.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObservationType.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ObservationType.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -26,7 +26,7 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
public static ObservationType valueOf(Integer observationTypeOrdinal) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingStrategy.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingStrategy.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SamplingStrategy.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -48,6 +48,6 @@
@Override
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SynthesisId.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SynthesisId.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/SynthesisId.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -77,6 +77,6 @@
}
public String toString() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/UserRole.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -74,7 +74,7 @@
// an Enum.valueOf exception. It seems that Tapestry use toString()
// instead of name() to know witch value is chosen
public String getTranslation() {
- return WaoUtils.translate(i18nKey);
+ return WaoUtils._(i18nKey);
}
/** for a given program, return the roles that can be assigned by someone
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/FishingGearDCFImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -41,7 +41,7 @@
@Override
public String getDescription() {
- return WaoUtils.translate(FishingGearDCF.class.getName() + "." + getCode());
+ return WaoUtils._(FishingGearDCF.class.getName() + "." + getCode());
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TargetSpeciesDCFImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -41,7 +41,7 @@
@Override
public String getDescription() {
- return WaoUtils.translate(TargetSpeciesDCF.class.getName() + "." + getCode());
+ return WaoUtils._(TargetSpeciesDCF.class.getName() + "." + getCode());
}
@Override
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/TerrestrialLocationImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -45,7 +45,7 @@
public String getDistrictName() {
String districtName = super.getDistrictName();
if (districtName == null) {
- districtName = WaoUtils.translate(n_("wao.business.other"));
+ districtName = WaoUtils._("wao.business.other");
}
return districtName;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/UserProfileImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -125,10 +125,10 @@
if (getCanWrite() == null) {
program = "<no write access specified>";
} else if (isReadOnly()) {
- readOnly = WaoUtils.translate(n_("wao.business.readOnly"));
+ readOnly = WaoUtils._("wao.business.readOnly");
}
- String result = WaoUtils.translate(n_("wao.business.entity.UserProfile.description"),
+ String result = WaoUtils._("wao.business.entity.UserProfile.description",
role, program, readOnly);
return result;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/Import.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -136,8 +136,8 @@
for (ImportableColumn importableColumn : model.getColumnsForImport()) {
validHeaderNames.add(importableColumn.getHeaderName());
}
- String validationMessage = WaoUtils.translate(
- n_("csv.import.error.unrecognizedHeaders"),
+ String validationMessage = WaoUtils._(
+ "csv.import.error.unrecognizedHeaders",
StringUtil.join(csvHeaders, ", " ,true),
StringUtil.join(validHeaderNames, ", " ,true));
csvValidationResult.setMessage(validationMessage);
@@ -154,8 +154,8 @@
if ( ! mandatoryHeadersNames.isEmpty()) {
csvValidationResult.setSuccess(false);
- String validationMessage = WaoUtils.translate(
- n_("csv.import.error.missingMandatoryHeaders"),
+ String validationMessage = WaoUtils._(
+ "csv.import.error.missingMandatoryHeaders",
StringUtil.join(mandatoryHeadersNames, ", " , true));
csvValidationResult.setMessage(validationMessage);
}
@@ -210,7 +210,7 @@
value = reader.get(field.getHeaderName());
} catch (IOException e) {
reader.close();
- throw new RuntimeException(WaoUtils.translate(n_("csv.import.error.unableToReadField"), field.getHeaderName(), lineNumber), e);
+ throw new RuntimeException(WaoUtils._("csv.import.error.unableToReadField", field.getHeaderName(), lineNumber), e);
}
time = timeLog.log(time, "readValue", "end read");
@@ -219,7 +219,7 @@
try {
parsedValue = field.parseValue(value);
} catch (Exception e) {
- String message = WaoUtils.translate(n_("csv.import.error.unableToParseValue"), value, field.getHeaderName(), lineNumber)
+ String message = WaoUtils._("csv.import.error.unableToParseValue", value, field.getHeaderName(), lineNumber)
+ "\n" + e.getMessage();
throw new RuntimeException(message, e);
}
@@ -229,7 +229,7 @@
try {
field.setValue(element, parsedValue);
} catch (Exception e) {
- throw new RuntimeException(WaoUtils.translate(n_("csv.import.error.unableToSetValue"), parsedValue, element.toString(), lineNumber), e);
+ throw new RuntimeException(WaoUtils._("csv.import.error.unableToSetValue", parsedValue, element.toString(), lineNumber), e);
}
time = timeLog.log(time, "setValue");
@@ -241,7 +241,7 @@
hasNext = reader.readRecord();
} catch (IOException e) {
reader.close();
- throw new RuntimeException(WaoUtils.translate(n_("csv.import.error.unableToReadLine"), lineNumber + 1), e);
+ throw new RuntimeException(WaoUtils._("csv.import.error.unableToReadLine", lineNumber + 1), e);
}
if (log.isTraceEnabled()) {
@@ -269,7 +269,7 @@
}
} catch (IOException e) {
reader.close();
- throw new RuntimeException(WaoUtils.translate(n_("csv.import.error.unableToReadLine"), 1), e);
+ throw new RuntimeException(WaoUtils._("csv.import.error.unableToReadLine", 1), e);
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -92,7 +92,7 @@
}
}
if (StringUtils.isEmpty(code)) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.terrestrialLocationMissing")));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.terrestrialLocationMissing"));
}
LocationType locationType;
try {
@@ -101,11 +101,11 @@
throw new RuntimeException(e);
}
if (locationType == null) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.locationTypeMissing")));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.locationTypeMissing"));
}
TerrestrialLocation terrestrialLocation = indexedLocations.get(locationType).get(code);
if (terrestrialLocation == null) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.wrongTerrestrialLocation"),
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongTerrestrialLocation",
locationType.toString(), code));
}
return terrestrialLocation;
@@ -129,11 +129,11 @@
public SampleRow parse(String sampleRowCode) throws ParseException {
String trimmedCode = sampleRowCode.trim();
if (StringUtils.isEmpty(trimmedCode)) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.sampleRowCodeMissing")));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.sampleRowCodeMissing"));
}
SampleRow sampleRow = indexedSampleRows.get(sampleRowCode);
if (sampleRow == null) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.wrongSampleRowCode"), sampleRowCode));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongSampleRowCode", sampleRowCode));
}
return sampleRow;
}
@@ -156,12 +156,12 @@
public Boat parse(String value) throws ParseException {
String trimmedValue = value.trim();
if (trimmedValue.isEmpty()) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.boatMissing")));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.boatMissing"));
}
Integer key = Integer.valueOf(trimmedValue);
Boat boat = indexedBoats.get(key);
if (boat == null) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.contact.failure.wrongBoat"), value));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongBoat", value));
}
return boat;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UserParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UserParserFormatter.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UserParserFormatter.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -53,7 +53,7 @@
public WaoUser parse(String login) throws ParseException {
WaoUser user = indexedWaoUsers.get(login.trim());
if (user == null) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.failure.wrongUser"), login));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.failure.wrongUser", login));
}
return user;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UsersParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UsersParserFormatter.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/UsersParserFormatter.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -62,7 +62,7 @@
String trimmedLogin = login.trim();
WaoUser user = indexedWaoUsers.get(trimmedLogin);
if (user == null) {
- throw new IllegalArgumentException(WaoUtils.translate(n_("wao.import.failure.wrongUser"), login));
+ throw new IllegalArgumentException(WaoUtils._("wao.import.failure.wrongUser", login));
}
users.add(user);
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -405,11 +405,11 @@
if (contact.getDataReliability() == null ||
contact.getDataReliability() == DataReliability.UNKNOWN) {
success = false;
- message = WaoUtils.translate(n_("wao.business.contact.validation.dataReliabilityMissingForValidation"));
+ message = WaoUtils._("wao.business.contact.validation.dataReliabilityMissingForValidation");
} else if (contact.getDataReliability() != DataReliability.RELIABLE
&& StringUtils.isEmpty(contact.getCommentAdmin())) {
success = false;
- message = WaoUtils.translate(n_("wao.business.contact.validation.commentAdminNecessaryForDataReliability"),
+ message = WaoUtils._("wao.business.contact.validation.commentAdminNecessaryForDataReliability",
contact.getDataReliability().toString());
}
}
@@ -585,7 +585,7 @@
//Le programme Obsmer
//http://www.ifremer.fr/wao
- String object = WaoUtils.translate(n_("wao.business.mammalsCapture.mail.subject"));
+ String object = WaoUtils._("wao.business.mammalsCapture.mail.subject");
// building 2 string, components of the body
@@ -612,7 +612,7 @@
+ " " + sampleRow.getProfession().getSpecies();
// constructing the whole mail
- String body = WaoUtils.translate(n_("wao.business.mammalsCapture.mail.message"),
+ String body = WaoUtils._("wao.business.mammalsCapture.mail.message",
time, profession, contact.getMammalsInfo());
if (log.isDebugEnabled()) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-05-04 09:39:53 UTC (rev 1257)
@@ -1060,7 +1060,7 @@
long startUpdateDatabase = timeLog.log(startReadLine, "end read csv line");
SampleRowLog sampleRowLog = executeGetNewSampleRowLog(sampleRow, connectedUser);
- String logComment = WaoUtils.translate(n_("csv.import.logComment"));
+ String logComment = WaoUtils._("csv.import.logComment");
sampleRowLog.setComment(logComment);
executeCreateUpdateSampleRow(transaction, sampleRow, new ArrayList<Boat>(), sampleRowLog, connectedUser);
result.incNbImported();
@@ -1538,7 +1538,7 @@
if ( ! conflictingSampleRows.isEmpty()) {
validationResult.setSuccess(false);
- message += WaoUtils.translate(n_("wao.validation.sampleRow.conflictOnObserver"),
+ message += WaoUtils._("wao.validation.sampleRow.conflictOnObserver",
observer.getFullName(), sampleRow.getCode(), conflictingSampleRows.get(0).getCode());
}
}
@@ -1581,7 +1581,7 @@
}
for (SampleRow sampleRow : samplingPlan) {
net.fortuna.ical4j.model.Date day = new net.fortuna.ical4j.model.Date(sampleRow.getDay());
- String eventTitle = WaoUtils.translate(n_("wao.export.ical.title"));
+ String eventTitle = WaoUtils._("wao.export.ical.title");
String eventPlace = sampleRow.getObservationUnit().getDescription();
// liste des noms des observateurs (sauf le connected user) dans Property.Attendee
Collection<WaoUser> observers = sampleRow.getObservers();
@@ -1599,7 +1599,7 @@
}, ", ", true);
- eventDescription = WaoUtils.translate(n_("wao.export.ical.desc"), observersNames);
+ eventDescription = WaoUtils._("wao.export.ical.desc", observersNames);
}
// au pire, tout mettre dans la description
1
0
[Suiviobsmer-commits] r1256 - trunk/wao-business/src/main/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 04 May '11
by bleny@users.labs.libre-entreprise.org 04 May '11
04 May '11
Author: bleny
Date: 2011-05-04 09:20:20 +0000 (Wed, 04 May 2011)
New Revision: 1256
Log:
remove done FIXME
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-04 09:19:30 UTC (rev 1255)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-05-04 09:20:20 UTC (rev 1256)
@@ -327,7 +327,6 @@
}
Date currentDate = context.getCurrentDate();
- // FIXME 20110322 this assertion break a lot of tests :-(
if (success && observationEndDate != null && observationEndDate.after(currentDate)) {
success = false;
message = "La date de fin de la marée ne peut pas être postérieure à la date du jour";
1
0