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
June 2011
- 2 participants
- 54 discussions
[Suiviobsmer-commits] r1341 - in trunk: 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/business wao-business/src/test/java/fr/ifremer/wao/business/fixtures wao-business/src/test/resources/import wao-ui/src/main/java/fr/ifremer/wao/ui/pages wao-ui/src/main/resources/i18n wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 13:30:19 +0000 (Thu, 16 Jun 2011)
New Revision: 1341
Log:
split importing of boat groups and importing of boats
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java
trunk/wao-business/src/test/resources/import/strates.csv
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.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/business/ObsDebPhoneTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
trunk/wao-business/src/test/resources/import/navires.csv
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Administration.tml
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatGroupImportModel.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -0,0 +1,145 @@
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatGroupImpl;
+import fr.ifremer.wao.entity.BoatImpl;
+import fr.ifremer.wao.io.csv2.ExportableColumn;
+import fr.ifremer.wao.io.csv2.ImportModel;
+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.models.operations.BoatImmatriculationParserFormatter;
+import org.apache.commons.lang.StringUtils;
+
+import java.util.Collection;
+import java.util.List;
+
+public class BoatGroupImportModel implements ImportModel<Boat> {
+
+ protected ModelBuilder<Boat> modelBuilder;
+
+ protected void buildModel() {
+ modelBuilder = new ModelBuilder<Boat>();
+ modelBuilder.newColumnForImportExport(
+ "NAVIRE_IMMATRICULATION",
+ Boat.PROPERTY_IMMATRICULATION,
+ new BoatImmatriculationParserFormatter());
+
+ // boat group
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CODE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String boatGroupCode = "";
+ if (boat.getBoatGroup() != null) {
+ boatGroupCode = boat.getBoatGroup().getCode();
+ }
+ return boatGroupCode;
+ }
+
+ @Override
+ public void set(Boat boat, String code) throws Exception {
+ if (StringUtils.isNotBlank(code)) {
+ boat.getBoatGroup().setCode(code);
+ }
+ }
+ });
+
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CLASSE_LONGUEUR",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getLengthGroup();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setLengthGroup(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_CLASSE_EFFECTIF",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getStaffSizeGroup();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setStaffSizeGroup(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_COMMUNE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getCommune();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setCommune(value);
+ }
+ });
+ modelBuilder.newColumnForImportExport(
+ "STRATE_SECTEUR_GEOGRAPHIQUE",
+ new ValueGetterSetter<Boat, String>() {
+ @Override
+ public String get(Boat boat) throws Exception {
+ String value = "";
+ if (boat.getBoatGroup() != null) {
+ value = boat.getBoatGroup().getSector();
+ }
+ return value;
+ }
+
+ @Override
+ public void set(Boat boat, String value) throws Exception {
+ boat.getBoatGroup().setSector(value);
+ }
+ });
+
+ }
+
+ @Override
+ public char getSeparator() {
+ return ';';
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public Boat newEmptyInstance() {
+ Boat emptyInstance = new BoatImpl();
+ emptyInstance.setBoatGroup(new BoatGroupImpl());
+ return emptyInstance;
+ }
+
+ @Override
+ public Collection<ImportableColumn> getColumnsForImport() {
+ if (modelBuilder == null) {
+ buildModel();
+ }
+ return modelBuilder.getColumnsForImport();
+ }
+
+}
Modified: 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 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/BoatImportExportModel.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -198,96 +198,6 @@
}
});
- // boat group
- modelBuilder.newColumnForImportExport(
- "STRATE_CODE",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String boatGroupCode = "";
- if (boat.getBoatGroup() != null) {
- boatGroupCode = boat.getBoatGroup().getCode();
- }
- return boatGroupCode;
- }
-
- @Override
- public void set(Boat boat, String code) throws Exception {
- if (StringUtils.isNotBlank(code)) {
- boat.getBoatGroup().setCode(code);
- }
- }
- });
-
- modelBuilder.newColumnForImportExport(
- "STRATE_CLASSE_LONGUEUR",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getLengthGroup();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setLengthGroup(value);
- }
- });
- modelBuilder.newColumnForImportExport(
- "STRATE_CLASSE_EFFECTIF",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getStaffSizeGroup();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setStaffSizeGroup(value);
- }
- });
- modelBuilder.newColumnForImportExport(
- "STRATE_COMMUNE",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getCommune();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setCommune(value);
- }
- });
- modelBuilder.newColumnForImportExport(
- "STRATE_SECTEUR_GEOGRAPHIQUE",
- new ValueGetterSetter<Boat, String>() {
- @Override
- public String get(Boat boat) throws Exception {
- String value = "";
- if (boat.getBoatGroup() != null) {
- value = boat.getBoatGroup().getSector();
- }
- return value;
- }
-
- @Override
- public void set(Boat boat, String value) throws Exception {
- boat.getBoatGroup().setSector(value);
- }
- });
-
}
@Override
@@ -305,7 +215,6 @@
Boat emptyInstance = new BoatImpl();
emptyInstance.setShipOwner(new ShipOwnerImpl());
emptyInstance.setBoatDistrict(new BoatDistrictImpl());
- emptyInstance.setBoatGroup(new BoatGroupImpl());
emptyInstance.setFleet(new FleetImpl());
return emptyInstance;
}
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceBoatImpl.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -72,7 +72,7 @@
import fr.ifremer.wao.io.ImportResultsImpl;
import fr.ifremer.wao.io.csv2.Export;
import fr.ifremer.wao.io.csv2.Import;
-import fr.ifremer.wao.io.csv2.models.BoatImportExportModel;
+import fr.ifremer.wao.io.csv2.models.BoatGroupImportModel;import fr.ifremer.wao.io.csv2.models.BoatImportExportModel;
import org.apache.commons.lang.StringUtils;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -435,7 +435,6 @@
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
ShipOwnerDAO shipOwnerDAO = WaoDAOHelper.getShipOwnerDAO(transaction);
BoatDistrictDAO boatDistrictDAO = WaoDAOHelper.getBoatDistrictDAO(transaction);
- BoatGroupDAO boatGroupDAO = WaoDAOHelper.getBoatGroupDAO(transaction);
FleetDAO fleetDAO = WaoDAOHelper.getFleetDAO(transaction);
// load data that will be linked to the boat
@@ -451,10 +450,6 @@
WaoUtils.projectPropertyUnique(
fleetDAO.findAll(),
Fleet.PROPERTY_CODE);
- Map<String, BoatGroup> boatGroups =
- WaoUtils.projectPropertyUnique(
- boatGroupDAO.findAll(),
- BoatGroup.PROPERTY_CODE);
// init the counts to be returned
ImportResults importResults = new ImportResultsImpl();
@@ -499,19 +494,6 @@
boat.setFleet(fleet);
}
- // fourth, the group
- String boatGroupCode = boat.getBoatGroup().getCode();
- if (boatGroupCode == null) {
- boat.setBoatGroup(null);
- } else {
- BoatGroup boatGroup = boatGroups.get(boatGroupCode);
- if (boatGroup == null) {
- boatGroup = boatGroupDAO.create(boat.getBoatGroup());
- boatGroups.put(boatGroupCode, boatGroup);
- }
- boat.setBoatGroup(boatGroup);
- }
-
// now boat object is ready
Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation());
if (existingBoat == null) {
@@ -526,7 +508,6 @@
existingBoat.setShipOwner(boat.getShipOwner());
existingBoat.setBoatDistrict(boat.getBoatDistrict());
existingBoat.setPortOfRegistry(boat.getPortOfRegistry());
- existingBoat.setBoatGroup(boat.getBoatGroup());
existingBoat.setFleet(boat.getFleet());
boatDAO.update(existingBoat);
}
@@ -565,6 +546,59 @@
}
@Override
+ protected ImportResults executeImportBoatGroups(TopiaContext transaction, InputStream input) throws Exception {
+ // Building the model, providing ports
+ BoatGroupImportModel model = new BoatGroupImportModel();
+ Import<Boat> boatImport = new Import<Boat>(model, input);
+
+ // Getting some DAOs
+ BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+ BoatGroupDAO boatGroupDAO = WaoDAOHelper.getBoatGroupDAO(transaction);
+
+ Map<String, BoatGroup> boatGroups =
+ WaoUtils.projectPropertyUnique(
+ boatGroupDAO.findAll(),
+ BoatGroup.PROPERTY_CODE);
+
+ // init the counts to be returned
+ ImportResults importResults = new ImportResultsImpl();
+
+ // now iterating over the lines of the CSV
+ Iterator<Boat> it = boatImport.startImport();
+ while (it.hasNext()) {
+ Boat boat = it.next();
+
+ // fourth, the group
+ String boatGroupCode = boat.getBoatGroup().getCode();
+ if (boatGroupCode == null) {
+ boat.setBoatGroup(null);
+ } else {
+ BoatGroup boatGroup = boatGroups.get(boatGroupCode);
+ if (boatGroup == null) {
+ boatGroup = boatGroupDAO.create(boat.getBoatGroup());
+ boatGroups.put(boatGroupCode, boatGroup);
+ }
+ boat.setBoatGroup(boatGroup);
+ }
+
+ // now boat object is ready
+ Boat existingBoat = boatDAO.findByImmatriculation(boat.getImmatriculation());
+ if (existingBoat == null) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongBoat", String.valueOf(boat.getImmatriculation())));
+ } else {
+ // copy new values in found entity and save changes
+ existingBoat.setBoatGroup(boat.getBoatGroup());
+ boatDAO.update(existingBoat);
+ }
+
+ importResults.incNbImported();
+ }
+
+ transaction.commitTransaction();
+ return importResults;
+ }
+
+ @Override
public void executeImportActivityCalendarCsv(InputStream input)
throws IOException {
if (!context.isActivityCalendarImportRun()) {
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -241,7 +241,7 @@
* @param input a CVS file with terrestrial locations
*/
@Override
- protected void executeImportTerrestrialLocations(TopiaContext transaction, InputStream input) throws Exception {
+ protected ImportResults executeImportTerrestrialLocations(TopiaContext transaction, InputStream input) throws Exception {
TerrestrialLocationDAO dao = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
@@ -387,6 +387,11 @@
}
transaction.commitTransaction();
+
+ ImportResults importResults = new ImportResultsImpl();
+ importResults.setNbRowsImported(locationAdded + locationUpdated);
+ importResults.setNbRowsImportedNew(locationAdded);
+ return importResults;
}
@Override
@@ -502,7 +507,7 @@
}
@Override
- protected void executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception {
+ protected ImportResults executeImportTerrestrialDivisions(TopiaContext transaction, InputStream input) throws Exception {
TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
@@ -516,6 +521,8 @@
log.debug(ports.size() + " ports, " + regions.size() + " regions");
}
+ ImportResults importResults = new ImportResultsImpl();
+
// the import itself
ImportModel<TerrestrialDivision> importModel = new TerrestrialDivisionImportModel(ports, regions);
Import<TerrestrialDivision> terrestrialDivisionImport = new Import<TerrestrialDivision>(importModel, input);
@@ -532,12 +539,14 @@
if (existingTerrestrialDivision == null) {
// add as new
dao.create(terrestrialDivision);
+ importResults.incNbImportedNew();
} else {
// update the old one
terrestrialDivisionBinder.copyExcluding(terrestrialDivision, existingTerrestrialDivision,
TopiaEntity.TOPIA_ID, TopiaEntity.TOPIA_CREATE_DATE, TopiaEntity.TOPIA_VERSION);
dao.update(existingTerrestrialDivision);
}
+ importResults.incNbImported();
TerrestrialDivision observationUnit = new TerrestrialDivisionImpl();
terrestrialDivisionBinder.copyExcluding(
@@ -573,6 +582,7 @@
log.debug(dao.count() + " terrestrial divisions in database");
}
+ return importResults;
}
@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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -165,6 +165,7 @@
wao.error.serviceBoat.getShipOwnerNamesContains=
wao.error.serviceBoat.importActivityCalendarCsv=
wao.error.serviceBoat.importBoatCsv=
+wao.error.serviceBoat.importBoatGroups=
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -165,6 +165,7 @@
wao.error.serviceBoat.getShipOwnerNamesContains=
wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
+wao.error.serviceBoat.importBoatGroups=
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -34,15 +34,35 @@
protected ObsDebFixtures fixtures = new ObsDebFixtures(manager);
@Test
- public void adminCanImportPhoneSamplingPlan() throws WaoBusinessException {
+ public void adminCanImportBoatGroups() throws WaoBusinessException {
manager.setCurrentDate(2, 1, 2010);
+ fixtures.boats();
+
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/strates.csv");
+ ImportResults importResults = serviceBoat.importBoatGroups(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
+ Assert.assertEquals(0, importResults.getNbRowsRefused());
+ Assert.assertNotNull(serviceBoat.getBoat(fixtures.samourai().getImmatriculation()).getBoatGroup());
+ Assert.assertNull(serviceBoat.getBoat(fixtures.bisounours().getImmatriculation()).getBoatGroup());
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+
+ }
+
+ @Test
+ public void adminCanImportPhoneSamplingPlan() throws WaoBusinessException {
+
fixtures.ifremer();
fixtures.codeLutin();
- fixtures.boats();
manager.setCurrentDate(3, 1, 2010);
+ adminCanImportBoatGroups();
+
InputStream input = IOUtils.toInputStream(PHONE_SAMPLING_PLAN_CSV);
ImportResults importResults = serviceSampling.importSamplingPlanCsv(input, fixtures.joshAsAdministrator());
Assert.assertEquals(1, importResults.getNbRowsImported());
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -4,6 +4,7 @@
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.WaoUser;
@@ -46,4 +47,8 @@
protected void importSamplingPlan() {
throw new UnsupportedOperationException("not yet implemented");
}
+
+ public Boat bisounours() {
+ return getBoat(978419);
+ }
}
Modified: trunk/wao-business/src/test/resources/import/navires.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/navires.csv 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-business/src/test/resources/import/navires.csv 2011-06-16 13:30:19 UTC (rev 1341)
@@ -1,7 +1,7 @@
-"NAVIRE_IMMATRICULATION";"NAVIRE_NOM";"NAVIRE_LONGUEUR";"NAVIRE_ANNEE";"NAVIRE_EFFECTIF";"QUARTIER_CODE";"ARMATEUR_CODE";"ARMATEUR_NOM";"ARMATEUR_PRENOM";"NAVIRE_ACTIF";"PORT_CODE";"FLOTILLE_CODE";"FLOTILLE_NOM";"SOUS_FLOTILLE_NOM";"SOUS_SOUS_FLOTILLE_NOM";"STRATE_CODE";"STRATE_CLASSE_LONGUEUR";"STRATE_CLASSE_EFFECTIF";"STRATE_COMMUNE";"STRATE_SECTEUR_GEOGRAPHIQUE"
-273129;"MOISE";7;1992;3;"UX";19771564;"BEURRE ";"JEAN CLAUDE";"Y";"MP3";"FLOTILLE0";"Les colons";"Les colons";"Les colons";"STRATE1";"<10 mètres";"< 5 marins";"Ici";"Les bermudes"
-174258;"SAMOURAI KING";9;1982;3;"UN";19744130;"MARIE";"JEAN PHILIPPE";"Y";"MP6";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE1";"<10 mètres";"< 5 marins";"Ailleurs";"Les bermudes"
-177474;"MAYFLOWERS";10;1983;3;"UN";19784252;"MOSELLE";"ALAIN RENE";"N";"XSN";"FLOTILLE0";"Les colons";"Les colons";"Les colons";"STRATE0";">= 10 mètres";"< 5 marins";"Autre-part";"Les bermudes"
-174592;"FIFITOU";8;1975;7;"UN";18854131;"POUTRE";"JEAN PIERRE";"Y";"XSN";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE1";"<10 mètres";">= 5 marins";"Loin";"Les bermudes"
-284595;"A MA LOUTRE";8;1973;9;"UN";"SPR3965";"BECANAUD";"NA";"Y";"LP3";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille";"STRATE2";"<10 mètres";">= 5 marins";"Pas si loin";"Les bermudes"
-978419;"BISOUNOURS";11;2002;8;"CI";18854131;"POUTRE ";"JEAN PIERRE";"Y";"MP6";;;;;;;;;
+"NAVIRE_IMMATRICULATION";"NAVIRE_NOM";"NAVIRE_LONGUEUR";"NAVIRE_ANNEE";"NAVIRE_EFFECTIF";"QUARTIER_CODE";"ARMATEUR_CODE";"ARMATEUR_NOM";"ARMATEUR_PRENOM";"NAVIRE_ACTIF";"PORT_CODE";"FLOTILLE_CODE";"FLOTILLE_NOM";"SOUS_FLOTILLE_NOM";"SOUS_SOUS_FLOTILLE_NOM"
+273129;"MOISE";7;1992;3;"UX";19771564;"BEURRE ";"JEAN CLAUDE";"Y";"MP3";"FLOTILLE0";"Les colons";"Les colons";"Les colons"
+174258;"SAMOURAI KING";9;1982;3;"UN";19744130;"MARIE";"JEAN PHILIPPE";"Y";"MP6";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille"
+177474;"MAYFLOWERS";10;1983;3;"UN";19784252;"MOSELLE";"ALAIN RENE";"N";"XSN";"FLOTILLE0";"Les colons";"Les colons";"Les colons"
+174592;"FIFITOU";8;1975;7;"UN";18854131;"POUTRE";"JEAN PIERRE";"Y";"XSN";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille"
+284595;"A MA LOUTRE";8;1973;9;"UN";"SPR3965";"BECANAUD";"NA";"Y";"LP3";"FLOTILLE1";"Ma première flotille";"Ma première flotille";"Ma première flotille"
+978419;"BISOUNOURS";11;2002;8;"CI";18854131;"POUTRE ";"JEAN PIERRE";"Y";"MP6";;;;
Added: trunk/wao-business/src/test/resources/import/strates.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/strates.csv (rev 0)
+++ trunk/wao-business/src/test/resources/import/strates.csv 2011-06-16 13:30:19 UTC (rev 1341)
@@ -0,0 +1,7 @@
+"NAVIRE_IMMATRICULATION";"STRATE_CODE";"STRATE_CLASSE_LONGUEUR";"STRATE_CLASSE_EFFECTIF";"STRATE_COMMUNE";"STRATE_SECTEUR_GEOGRAPHIQUE"
+273129;"STRATE1";"<10 mètres";"< 5 marins";"Ici";"Les bermudes"
+174258;"STRATE1";"<10 mètres";"< 5 marins";"Ailleurs";"Les bermudes"
+177474;"STRATE0";">= 10 mètres";"< 5 marins";"Autre-part";"Les bermudes"
+174592;"STRATE1";"<10 mètres";">= 5 marins";"Loin";"Les bermudes"
+284595;"STRATE2";"<10 mètres";">= 5 marins";"Pas si loin";"Les bermudes"
+978419;;;;;
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-06-16 13:30:19 UTC (rev 1341)
@@ -248,8 +248,8 @@
@Override
public ImportResults execute(InputStream input)
throws WaoException, WaoBusinessException {
- serviceReferential.importTerrestrialLocations(input);
- return null;
+ ImportResults importResults = serviceReferential.importTerrestrialLocations(input);
+ return importResults;
}
};
}
@@ -260,8 +260,8 @@
@Override
public ImportResults execute(InputStream input)
throws WaoException, WaoBusinessException {
- serviceReferential.importTerrestrialDivisions(input);
- return null;
+ ImportResults importResults = serviceReferential.importTerrestrialDivisions(input);
+ return importResults;
}
};
}
@@ -286,6 +286,16 @@
};
}
+ public ImportEngine getBoatGroupsImportEngine() {
+ return new ImportEngine() {
+ @Override
+ public ImportResults execute(InputStream input) throws WaoException, WaoBusinessException {
+ ImportResults results = serviceBoat.importBoatGroups(input);
+ return results;
+ }
+ };
+ }
+
public InputStream getActivityCalendarLogFile() {
return getActivityCalendarLogFile(WaoProperty.FILENAME_LOG_ACTIVITY_IMPORT);
}
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -195,6 +195,7 @@
wao.ui.import.activityCalendarLabel=of the activity calendars
wao.ui.import.activityCalendarUserAccessesLabel=of user accesses to the activity calendars
wao.ui.import.boatDistrictLabel=of the coordinates of boat districts
+wao.ui.import.boatGroupsLabel=
wao.ui.import.boatsLabel=of boats
wao.ui.import.contactStateMotivesLabel=of the contact state motives
wao.ui.import.description=File %s %s \:
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-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-16 13:30:19 UTC (rev 1341)
@@ -194,6 +194,7 @@
wao.ui.import.activityCalendarLabel=des calendriers d'activité
wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
+wao.ui.import.boatGroupsLabel=
wao.ui.import.boatsLabel=des navires
wao.ui.import.contactStateMotivesLabel=des motifs de refus
wao.ui.import.description=Fichier %s %s \:
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-16 09:29:27 UTC (rev 1340)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-16 13:30:19 UTC (rev 1341)
@@ -186,6 +186,7 @@
<t:if test="currentUser.obsDeb">
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialDivisionsLabel}" t:engine="terrestrialDivisionsImportEngine" />
<t:importFieldSet t:label="${message:wao.ui.import.obsDebCodesLabel}" t:engine="obsDebCodesImportEngine" />
+ <t:importFieldSet t:label="${message:wao.ui.import.boatGroupsLabel}" t:engine="boatGroupsEngine" />
</t:if>
</t:if>
1
0
[Suiviobsmer-commits] r1340 - in trunk: wao-business/src/main/resources wao-ui/src/main/webapp
by bleny@users.labs.libre-entreprise.org 16 Jun '11
by bleny@users.labs.libre-entreprise.org 16 Jun '11
16 Jun '11
Author: bleny
Date: 2011-06-16 09:29:27 +0000 (Thu, 16 Jun 2011)
New Revision: 1340
Log:
fix conflict
Modified:
trunk/wao-business/src/main/resources/motifs.csv
trunk/wao-ui/src/main/webapp/Cartography.tml
Modified: trunk/wao-business/src/main/resources/motifs.csv
===================================================================
--- trunk/wao-business/src/main/resources/motifs.csv 2011-06-15 16:13:33 UTC (rev 1339)
+++ trunk/wao-business/src/main/resources/motifs.csv 2011-06-16 09:29:27 UTC (rev 1340)
@@ -3,3 +3,4 @@
REFUS_PROGRAMME;Rejet du programme;FF0000
REFUS_PROFESSION;Blocage de la profession;0000FF
REFUS_AUTRE;Autre;DDDDDD
+
Modified: trunk/wao-ui/src/main/webapp/Cartography.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-15 16:13:33 UTC (rev 1339)
+++ trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-16 09:29:27 UTC (rev 1340)
@@ -68,13 +68,11 @@
<label for="periodEnd"> ${message:wao.ui.form.period.to} </label>
<input t:type="datefield" class="width70" t:id="periodEnd" t:value="filter.period.thruDate" t:validate="required" />
</p>
-
<t:if t:test="user.obsMer">
<p class="mtop5"><label for="mapType">${message:wao.ui.form.mapType}</label> : </p>
<p><input t:type="select" t:id="mapType" value="mapType"
t:zone="cartography-filters-sampling" t:validate="required" /></p>
</t:if>
-
<t:if t:test="user.admin">
<!-- COMPANY -->
<p class="mtop5"><label for="company">${message:wao.ui.entity.Company}</label> : </p>
1
0
[Suiviobsmer-commits] r1339 - in trunk/wao-business/src: main/resources/i18n test/java/fr/ifremer/wao/business/fixtures test/java/fr/ifremer/wao/entity test/resources/import
by bleny@users.labs.libre-entreprise.org 15 Jun '11
by bleny@users.labs.libre-entreprise.org 15 Jun '11
15 Jun '11
Author: bleny
Date: 2011-06-15 16:13:33 +0000 (Wed, 15 Jun 2011)
New Revision: 1339
Log:
fix tests
Modified:
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/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
trunk/wao-business/src/test/resources/import/contacts.csv
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-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-15 16:13:33 UTC (rev 1339)
@@ -282,7 +282,7 @@
wao.import.contact.failure.sampleRowCodeMissing=The code of the sample row line is missing
wao.import.contact.failure.terrestrialLocationMissing=The code of the terrestrial location is missing
wao.import.contact.failure.wrongBoat=There is no boat with plate number '%s'
-wao.import.contact.failure.wrongColor=The color '%s' is not a valid color. It must be composed of 6 characters without the hash (#), see http://en.wikipedia.org/wiki/Web_colors
+wao.import.contact.failure.wrongColor=The color '%s' is not a valid color. It must be composed of 6 characters without the hash (\#), see http\://en.wikipedia.org/wiki/Web_colors
wao.import.contact.failure.wrongContactStateMotifCode=The code '%s' is not a valid code
wao.import.contact.failure.wrongSampleRowCode=The is no sample row with code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=There is no location of type '%s' with code '%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-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-15 16:13:33 UTC (rev 1339)
@@ -1,180 +1,180 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=R\u00e9alis\u00e9s
-ContactPieChartConstant.REFUSED=Refus\u00e9s
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus d\u00e9finitif
+ContactPieChartConstant.REALIZED=Réalisés
+ContactPieChartConstant.REFUSED=Refusés
+ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
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ée
+ContactState.OBSERVATION_DONE=Observation réalisée
+ContactState.OBSERVATION_EXPECTED=Observation programmée
+ContactState.OBSERVATION_NOT_DONE=Non observé
+DataReliability.CORRECTION_ASKED=Correction demandée
DataReliability.DOUBTFUL=Douteuse
-DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
+DataReliability.NOT_PROVIDED=Non contrôlée
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=P\u00e9nalit\u00e9 de niveau 1
+GlobalIndicatorValue.BAD=Pénalité 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énalité de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Cri\u00e9e
+LocationType.AUCTION=Criée
LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
-LocationType.REGION=R\u00e9gion Ifremer
+LocationType.REGION=Région Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
-ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
-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ête de terrain
+ObservationType.PHONE_CALL=Enquête téléphonique
+SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
+SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
+SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
+SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
+SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
+SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
+SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
+SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
+SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
+SynthesisId.IND_CONTACT_STATE=États des contacts
+SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
+SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
UserRole.ADMIN=Administrateur
UserRole.COORDINATOR=Coordinateur
-UserRole.GUEST=Invit\u00e9
+UserRole.GUEST=Invité
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étation de la valeur '%s' (colonne '%s', ligne %s)
+csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à 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, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entité '%s', ligne %s, column '%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écifié
+fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
+fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
+fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
+fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
+fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges 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 à l'étalage (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élants (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
+fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
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érivants (filets dérivants)
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és (ancrés)
+fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
+fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
+fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
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écanisées
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écolte (non spécifiés)
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 à main et lignes avec cannes
+fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
+fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
+fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
+fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
+fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
+fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
+fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
+fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
+fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
+fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
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écifiés
+fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
+fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à 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.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.PS1=Filets tournants, sennes coulissantes manœuvrées par un bateau
+fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
+fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
+fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
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œuvrées par deux bateaux
+fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
+fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
+fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
+fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
+fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
+fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
+fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
+fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
+fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
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èces catadromes
+fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
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èces démersales
+fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces 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élagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-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.contactStateMotifMissing=Il faut pr\u00e9ciser un motif de refus
-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élagiques
+wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
+wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
+wao.business.contact.validation.contactStateMotifMissing=Il faut préciser un motif de refus
+wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée 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é dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %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éer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
+wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
+wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %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écupération 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émarrage 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ées réels pour le mois de %1$s [ligne \: %2$s]
+wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
+wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
+wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
wao.error.serviceBoat.getActivityCalendarLogAccessFile=
wao.error.serviceBoat.getActivityCalendarLogFile=
wao.error.serviceBoat.getAllActiveBoats=
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écupérer 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îne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
+wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
+wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité 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.
+wao.error.serviceBoat.importActivityCalendarCsv=Problème d'import du fichier CSV des calendriers d'activité
+wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
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ées des quartiers des navires. Vérifiez 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és
wao.error.serviceContact.getNewContact=Impossible d'instancier un nouveau contact
wao.error.serviceContact.getPossibleObsDebCodes=
wao.error.serviceContact.getPossibleTerrestrialLocations=
@@ -190,7 +190,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écupérer 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.getAllObsDebCodes=
@@ -202,14 +202,14 @@
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êche
+wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
+wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
wao.error.serviceReferential.importContactStateMotives=
-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éer le référentiel des codes DCF
+wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
wao.error.serviceReferential.importInitialContactStateMotifs=
wao.error.serviceReferential.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -218,76 +218,76 @@
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'échantillon
+wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
+wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période 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écupérer un nouveau code pour une ligne d'échantillonnage
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'échantillon ayant pour identifiant \: %1$s
+wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
+wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
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écupérer la liste des lignes du plan d'échantillonnage
wao.error.serviceSampling.importSamplingPlanCsv=Erreur lors de l'import du plan
wao.error.serviceSampling.newOperation=
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écupérer les données 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écupérer l'indicateur de réactivité 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écupérer les statistiques sur les états 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écupérer les données pour le graphique dynamique des efforts de marées
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écupérer les données concernant les indicateurs pour la synthèse 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écupérer l'indicateur de non respect du nombre d'observateurs embarqués
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 à jour les paramètres de la synthèse 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éer l'administrateur par défaut
+wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
+wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
+wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier 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écupérer la liste des sociétés
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écupérer 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écupérer la liste des utilisateurs de la société %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éciser l'immatriculation du navire associé au contact
+wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
+wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
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.wrongColor=Le code couleur '%s' n'est pas valide, il doit \u00eatre compos\u00e9 de six caract\u00e8res sans di\u00e8ze voir http://fr.wikipedia.org/wiki/Couleurs_du_Web
+wao.import.contact.failure.wrongColor=Le code couleur '%s' n'est pas valide, il doit être composé de six caractères sans dièze voir http\://fr.wikipedia.org/wiki/Couleurs_du_Web
wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
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.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier 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.observerNotInCompany=L'observateur %s ne fait pas parti de la soci\u00e9t\u00e9 %s
+wao.validation.sampleRow.conflictOnObserver=L'observateur %s ne peut être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
+wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la société %s
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-15 16:13:33 UTC (rev 1339)
@@ -13,6 +13,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.SampleRow;
@@ -157,6 +158,7 @@
contact3.setMainObserver(user);
contact3.setSampleRow(row);
contact3.setContactState(ContactState.CONTACT_REFUSED);
+ contact3.setContactStateMotif(defaultContactStateMotif());
begin = DateUtil.createDate(3, 5, 2010);
end = DateUtil.createDate(4, 5, 2010);
contact3.setObservationEndDate(end);
@@ -294,4 +296,15 @@
}
return defaultContact;
}
+
+ protected ContactStateMotif defaultContactStateMotif;
+
+ public ContactStateMotif defaultContactStateMotif() {
+ if (defaultContactStateMotif == null) {
+ defaultContactStateMotif = manager.getServiceReferential().
+ getAllContactStateMotifs(ContactState.CONTACT_REFUSED).
+ get(2);
+ }
+ return defaultContactStateMotif;
+ }
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-15 16:13:33 UTC (rev 1339)
@@ -29,6 +29,7 @@
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.DataReliability;
import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.business.fixtures.Fixtures;
import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.service.AbstractServiceTest;
import fr.ifremer.wao.service.ServiceContact;
@@ -100,6 +101,7 @@
Assert.assertFalse(result);
contact1.setContactState(ContactState.CONTACT_DEFINITELY_REFUSED);
+ contact1.setContactStateMotif(obsMerFixtures.defaultContactStateMotif());
contact1.setComment("why contact was definitely refused");
contact1.setDataReliability(DataReliability.RELIABLE);
contact1.setValidationProgram(Boolean.TRUE);
Modified: trunk/wao-business/src/test/resources/import/contacts.csv
===================================================================
--- trunk/wao-business/src/test/resources/import/contacts.csv 2011-06-15 15:16:11 UTC (rev 1338)
+++ trunk/wao-business/src/test/resources/import/contacts.csv 2011-06-15 16:13:33 UTC (rev 1339)
@@ -1,2 +1,2 @@
-CONTACT_ID;CONTACT_DATE_CREATION;CONTACT_OBSERVATEUR_PRINCIPAL;CONTACT_OBSERVATEURS_SECONDAIRES;CONTACT_ETAT;CONTACT_DEBUT_OBSERVATION;CONTACT_FIN_OBSERVATION;CONTACT_SAISIE_DONNEES;CONTACT_COMMENTAIRE_OBSERVATEUR;CONTACT_COMMENTAIRE_COORDINATEUR;CONTACT_COMMENTAIRE_PROGRAMME;PLAN_CODE;NAVIRE_IMMATRICULATION;CONTACT_VALIDATION_SOCIETE;CONTACT_VALIDATION_PROGRAMME;CONTACT_QUALITE_DONNEE;CONTACT_OBSERVATION_MAMMIFERE;CONTACT_CAPTURE_ACCIDENTELLE
-;01/03/2011 10:24;jmichmuche;;Refus définitif;;;;ne veut plus collaborer;;;2010_0001;175846;?;?;Inconnue;N;N
\ No newline at end of file
+CONTACT_ID;CONTACT_DATE_CREATION;CONTACT_OBSERVATEUR_PRINCIPAL;CONTACT_OBSERVATEURS_SECONDAIRES;CONTACT_ETAT;CONTACT_DEBUT_OBSERVATION;CONTACT_FIN_OBSERVATION;CONTACT_SAISIE_DONNEES;CONTACT_COMMENTAIRE_OBSERVATEUR;CONTACT_COMMENTAIRE_COORDINATEUR;CONTACT_COMMENTAIRE_PROGRAMME;PLAN_CODE;NAVIRE_IMMATRICULATION;CONTACT_VALIDATION_SOCIETE;CONTACT_VALIDATION_PROGRAMME;CONTACT_QUALITE_DONNEE;CONTACT_OBSERVATION_MAMMIFERE;CONTACT_CAPTURE_ACCIDENTELLE;CONTACT_ETAT_MOTIF_CODE;CONTACT_ETAT_MOTIF_NOM
+;01/03/2011 10:24;jmichmuche;;Refus définitif;;;;ne veut plus collaborer;;;2010_0001;175846;?;?;Inconnue;N;N;REFUS_PROFESSION;
\ No newline at end of file
1
0
15 Jun '11
Author: bleny
Date: 2011-06-15 15:16:11 +0000 (Wed, 15 Jun 2011)
New Revision: 1338
Log:
add contact states motives in form/import, export/synthesis and cartography
Added:
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java
trunk/wao-business/src/main/resources/motifs.csv
Removed:
trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java
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/ContactStateMotifImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.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/ServiceReferentialTest.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java
trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties
trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties
trunk/wao-ui/src/main/webapp/Administration.tml
trunk/wao-ui/src/main/webapp/Cartography.tml
trunk/wao-ui/src/main/webapp/ContactForm.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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/PostgresMigrationCallback.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -943,7 +943,7 @@
}
@Override
- protected void addLocationTypeToAllTerrestrialLocations(List<String> queries) {
+ protected void addLocationTypeToAllTerrestrialLocations_3_0(List<String> queries) {
// Before this version, district was found by having locationTypeOrdinal
// null. Now that region are added, types are now explicit so we must
// take that in consideration
@@ -954,7 +954,7 @@
}
@Override
- protected void migrateTerrestrialDivisions(List<String> queries) {
+ protected void migrateTerrestrialDivisions_3_0(List<String> queries) {
// add the new column
queries.add("ALTER TABLE TerrestrialDivision"
+ " ADD regionIfremer CHARACTER VARYING(255);");
@@ -976,4 +976,16 @@
// drop old column
queries.add("ALTER TABLE TerrestrialDivision DROP regionIfremerCode;");
}
+
+ @Override
+ protected void dropTranslations_3_0(List<String> queries) {
+ queries.add("DROP TABLE Translation;");
+ }
+
+ @Override
+ protected void addContactStateMotives(List<String> queries) {
+ queries.add("ALTER TABLE ContactStateMotif ADD code CHARACTER VARYING(255);");
+ queries.add("ALTER TABLE ContactStateMotif ADD name CHARACTER VARYING(1000);");
+ queries.add("ALTER TABLE ContactStateMotif ADD color CHARACTER VARYING(20);");
+ }
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/WaoMigrationCallBack.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -155,10 +155,14 @@
protected abstract void addObsDebCodes_3_0(List<String> queries);
- protected abstract void addLocationTypeToAllTerrestrialLocations(List<String> queries);
+ protected abstract void addLocationTypeToAllTerrestrialLocations_3_0(List<String> queries);
- protected abstract void migrateTerrestrialDivisions(List<String> queries);
+ protected abstract void migrateTerrestrialDivisions_3_0(List<String> queries);
+ protected abstract void dropTranslations_3_0(List<String> queries);
+
+ protected abstract void addContactStateMotives(List<String> queries);
+
protected static final Version[] VERSIONS = new Version[] {
VersionUtil.valueOf("1.0"),
VersionUtil.valueOf("1.1"),
@@ -536,10 +540,14 @@
addFleetToBoats_3_0(queries);
- addLocationTypeToAllTerrestrialLocations(queries);
+ addLocationTypeToAllTerrestrialLocations_3_0(queries);
- migrateTerrestrialDivisions(queries);
+ migrateTerrestrialDivisions_3_0(queries);
+ dropTranslations_3_0(queries);
+
+ addContactStateMotives(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/ContactStateMotifImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/entity/ContactStateMotifImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -23,17 +23,11 @@
*/
package fr.ifremer.wao.entity;
-import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.ContactState;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
public class ContactStateMotifImpl extends ContactStateMotifAbstract {
- protected Map<Locale, String> translations;
-
+ /** Do not use, needed by Hibernate */
public ContactStateMotifImpl() {}
public ContactStateMotifImpl(ContactState contactState) {
@@ -64,29 +58,9 @@
}
@Override
- public String getTranslation() {
- return translations.get(WaoUtils.getCurrentLocale());
- }
-
- @Override
- public void setTranslation(Locale locale, String value) {
- if (translations == null) {
- translations = new HashMap<Locale, String>();
- }
- translations.put(locale, value);
- }
-
- @Override
public String toString() {
- String toString = getTranslation();
- if (toString == null) {
- toString = getTopiaId();
- }
- return toString;
+ String name = getName();
+ return name;
}
- @Override
- public Map<Locale, String> getTranslations() {
- return translations;
- }
-} //ContactStateMotifImpl
+}
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -32,6 +32,7 @@
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ObsDebCode;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.TerrestrialLocation;
@@ -46,8 +47,10 @@
import fr.ifremer.wao.io.csv2.ValueGetterSetter;
import fr.ifremer.wao.io.csv2.ValueParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.BoatParserFormatter;
+import fr.ifremer.wao.io.csv2.models.operations.ContactStateMotivesParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.LocationTypeParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.ObsDebCodeParserFormatter;
+import fr.ifremer.wao.io.csv2.models.operations.SampleRowParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.UserParserFormatter;
import fr.ifremer.wao.io.csv2.models.operations.UsersParserFormatter;
import org.apache.commons.lang.StringUtils;
@@ -57,9 +60,11 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.jar.Attributes;
public class ContactImportExportModel implements ImportModel<Contact>, ExportModel<Contact> {
+ /** will get terrestrial location depending on location code and pushed location type */
static class TerrestrialLocationParserFormatter implements ValueParserFormatter<TerrestrialLocation> {
protected Map<LocationType, Map<String, TerrestrialLocation>> indexedLocations;
@@ -118,33 +123,6 @@
}
}
- static class SampleRowParserFormatter implements ValueParserFormatter<SampleRow> {
-
- protected Map<String, SampleRow> indexedSampleRows;
-
- SampleRowParserFormatter(List<SampleRow> sampleRows) {
- indexedSampleRows = WaoUtils.projectPropertyUnique(sampleRows, SampleRow.PROPERTY_CODE);
- }
-
- @Override
- public String format(SampleRow sampleRow) {
- return sampleRow.getCode();
- }
-
- @Override
- public SampleRow parse(String sampleRowCode) throws ParseException {
- String trimmedCode = sampleRowCode.trim();
- if (StringUtils.isEmpty(trimmedCode)) {
- throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.sampleRowCodeMissing"));
- }
- SampleRow sampleRow = indexedSampleRows.get(sampleRowCode);
- if (sampleRow == null) {
- throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongSampleRowCode", sampleRowCode));
- }
- return sampleRow;
- }
- }
-
protected ObsProgram obsProgram;
protected List<WaoUser> waoUsers;
@@ -157,6 +135,8 @@
protected List<ObsDebCode> obsDebCodes;
+ protected List<ContactStateMotif> motives;
+
/** for export */
public ContactImportExportModel(ObsProgram obsProgram) {
this.obsProgram = obsProgram;
@@ -166,13 +146,14 @@
public ContactImportExportModel(ObsProgram obsProgram, List<WaoUser> waoUsers,
List<TerrestrialLocation> terrestrialLocations,
List<SampleRow> sampleRows, List<Boat> boats,
- List<ObsDebCode> obsDebCodes) {
+ List<ObsDebCode> obsDebCodes, List<ContactStateMotif> motives) {
this.obsProgram = obsProgram;
this.waoUsers = waoUsers;
this.terrestrialLocations = terrestrialLocations;
this.sampleRows = sampleRows;
this.boats = boats;
this.obsDebCodes = obsDebCodes;
+ this.motives = motives;
}
@Override
@@ -224,6 +205,18 @@
new Common.ToStringParserFormatter<DataReliability>(DataReliability.values()));
modelBuilder.newColumnForImportExport("CONTACT_OBSERVATION_MAMMIFERE", Contact.PROPERTY_MAMMALS_OBSERVATION, Common.BOOLEAN);
modelBuilder.newColumnForImportExport("CONTACT_CAPTURE_ACCIDENTELLE", Contact.PROPERTY_MAMMALS_CAPTURE, Common.BOOLEAN);
+ modelBuilder.newColumnForImportExport("CONTACT_ETAT_MOTIF_CODE", Contact.PROPERTY_CONTACT_STATE_MOTIF, new ContactStateMotivesParserFormatter(motives));
+ modelBuilder.newIgnoredColumn("CONTACT_ETAT_MOTIF_NOM");
+ modelBuilder.newColumnForExport("CONTACT_ETAT_MOTIF_NOM", new ValueGetter<Contact, String>() {
+ @Override
+ public String get(Contact contact) throws Exception {
+ String name = "";
+ if (contact.getContactStateMotif() != null) {
+ name = contact.getContactStateMotif().getName();
+ }
+ return name;
+ }
+ });
} else {
// FIXME 20110606 bleny contact.getTerrestrialLocation() may be null, export will fail
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactStateMotivesImportModel.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,62 @@
+package fr.ifremer.wao.io.csv2.models;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifImpl;
+import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.ImportableColumn;
+import fr.ifremer.wao.io.csv2.ModelBuilder;
+import fr.ifremer.wao.io.csv2.ValueParser;
+
+import java.text.ParseException;
+import java.util.Collection;
+import java.util.List;
+
+public class ContactStateMotivesImportModel implements ImportModel<ContactStateMotif> {
+
+ protected ModelBuilder<ContactStateMotif> modelBuilder;
+
+ @Override
+ public char getSeparator() {
+ return ';';
+ }
+
+ @Override
+ public void pushCsvHeaderNames(List<String> headerNames) {
+ // nothing to do
+ }
+
+ @Override
+ public ContactStateMotif newEmptyInstance() {
+ ContactStateMotif newContactStateMotif =
+ new ContactStateMotifImpl(ContactState.CONTACT_REFUSED);
+ return newContactStateMotif;
+ }
+
+ protected void buildModel() {
+ modelBuilder = new ModelBuilder<ContactStateMotif>();
+ modelBuilder.newMandatoryColumn(
+ "MOTIF_CODE", ContactStateMotif.PROPERTY_CODE);
+ modelBuilder.newMandatoryColumn(
+ "MOTIF_NOM", ContactStateMotif.PROPERTY_NAME);
+ modelBuilder.newMandatoryColumn(
+ "MOTIF_COULEUR", new ValueParser<String>() {
+ @Override
+ public String parse(String value) throws ParseException {
+ if (value.length() != 6) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongColor", value));
+ }
+ return value.trim();
+ }
+ }, ContactStateMotif.PROPERTY_COLOR);
+ }
+
+ @Override
+ public Collection<ImportableColumn> getColumnsForImport() {
+ if (modelBuilder == null) {
+ buildModel();
+ }
+ return modelBuilder.getColumnsForImport();
+ }
+}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/ContactStateMotivesParserFormatter.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,47 @@
+package fr.ifremer.wao.io.csv2.models.operations;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+import org.apache.commons.lang.StringUtils;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+public class ContactStateMotivesParserFormatter implements ValueParserFormatter<ContactStateMotif> {
+
+ protected List<ContactStateMotif> motives;
+
+ protected Map<String, ContactStateMotif> indexedMotives;
+
+ public ContactStateMotivesParserFormatter(List<ContactStateMotif> motives) {
+ this.motives = motives;
+ }
+
+ @Override
+ public String format(ContactStateMotif motif) {
+ String code = "";
+ if (motif != null) {
+ code = motif.getCode();
+ }
+ return code;
+ }
+
+ @Override
+ public ContactStateMotif parse(String code) throws ParseException {
+ if (indexedMotives == null) {
+ indexedMotives = WaoUtils.projectPropertyUnique(motives, ContactStateMotif.PROPERTY_CODE);
+ }
+ ContactStateMotif contactStateMotif;
+ if (StringUtils.isBlank(code)) {
+ contactStateMotif = null;
+ } else {
+ contactStateMotif = indexedMotives.get(code.trim());
+ if (contactStateMotif == null) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongContactStateMotifCode", code));
+ }
+ }
+ return contactStateMotif;
+ }
+}
Added: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java (rev 0)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/operations/SampleRowParserFormatter.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,37 @@
+package fr.ifremer.wao.io.csv2.models.operations;
+
+import fr.ifremer.wao.WaoUtils;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.io.csv2.ValueParserFormatter;
+import org.apache.commons.lang.StringUtils;
+
+import java.text.ParseException;
+import java.util.List;
+import java.util.Map;
+
+public class SampleRowParserFormatter implements ValueParserFormatter<SampleRow> {
+
+ protected Map<String, SampleRow> indexedSampleRows;
+
+ public SampleRowParserFormatter(List<SampleRow> sampleRows) {
+ indexedSampleRows = WaoUtils.projectPropertyUnique(sampleRows, SampleRow.PROPERTY_CODE);
+ }
+
+ @Override
+ public String format(SampleRow sampleRow) {
+ return sampleRow.getCode();
+ }
+
+ @Override
+ public SampleRow parse(String sampleRowCode) throws ParseException {
+ String trimmedCode = sampleRowCode.trim();
+ if (StringUtils.isEmpty(trimmedCode)) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.sampleRowCodeMissing"));
+ }
+ SampleRow sampleRow = indexedSampleRows.get(sampleRowCode);
+ if (sampleRow == null) {
+ throw new IllegalArgumentException(WaoUtils._("wao.import.contact.failure.wrongSampleRowCode", sampleRowCode));
+ }
+ return sampleRow;
+ }
+}
Deleted: trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/EntitiesTranslator.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,120 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2011 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.entity.TranslatableEntity;
-import fr.ifremer.wao.entity.Translation;
-import fr.ifremer.wao.entity.TranslationDAO;
-import org.apache.commons.lang.LocaleUtils;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-/**
- * Manage the translations of all entities. This class aim to be
- * used by service that output some translatable entities and
- * provides methods to fulfill an entity with its translations
- * to make it ready to printed in a localized UI.
- */
-public class EntitiesTranslator {
-
- private static final Logger log =
- LoggerFactory.getLogger(EntitiesTranslator.class);
-
- protected TopiaContext transaction;
-
- public EntitiesTranslator(TopiaContext transaction) {
- this.transaction = transaction;
- }
-
- /** For a given list of entities, make all known translations available
- * in the entity.
- *
- * This method will look in database to find all translations for a given
- * entity and push them in the object.
- */
- public <E extends TranslatableEntity> List<E> translateEntities(List<E> entities) throws TopiaException {
- List<E> result = new ArrayList<E>(entities);
- TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
- for (TranslatableEntity entity : result) {
- // find translations for this entity
- List<Translation> translations = translationDAO.findAllById(entity.getTopiaId());
- for (Translation translation : translations) {
- Locale locale = LocaleUtils.toLocale(translation.getLocale());
- entity.setTranslation(locale, translation.getText());
- }
- }
- return result;
- }
-
- public void updateTranslations(List<? extends TranslatableEntity> entities) throws TopiaException {
-
- TranslationDAO translationDAO = WaoDAOHelper.getTranslationDAO(transaction);
-
- int translationAdded = 0;
- int translationUpdated = 0;
-
- for (TranslatableEntity entity : entities) {
- Map<Locale, String> translations = entity.getTranslations();
- String id = entity.getTopiaId();
-
- for (Map.Entry<Locale, String> translation : translations.entrySet()) {
- Locale locale = translation.getKey();
- String value = translation.getValue();
-
- Translation translationEntity = translationDAO.findByProperties(
- Translation.PROPERTY_ID, id,
- Translation.PROPERTY_LOCALE, locale.toString());
- // create or update
- if (translationEntity == null) {
- translationDAO.create(Translation.PROPERTY_ID, id,
- Translation.PROPERTY_LOCALE, locale.toString(),
- Translation.PROPERTY_TEXT, value);
- translationAdded += 1;
- } else {
- if (log.isDebugEnabled()) {
- log.debug("will change translation from '" + translationEntity.getText() +
- "' to '" + value + "'");
- }
- translationEntity.setText(value);
- translationDAO.update(translationEntity);
- translationUpdated += 1;
- }
- }
- }
-
- if (log.isDebugEnabled()) {
- log.debug(translationAdded + " translation added, " +
- translationUpdated + " translations updated");
- }
- }
-
-}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceCartographyImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -291,8 +291,7 @@
BoatDistrictDAO dao = WaoDAOHelper.getBoatDistrictDAO(transaction);
- Map<String, PieChartData> districts = null; // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- // serviceSynthesis.getContactMotifsPieChartDataByBoatDistrict(filter);
+ Map<String, PieChartData> districts = serviceSynthesis.getContactStateMotifsPieChartDataByBoatDistrict(filter);
// Create new IconSizeHelper to calculate icon size and scale for pieCharts
IconSizeHelper sizeHelper = new IconSizeHelper(districts.values());
@@ -311,6 +310,12 @@
BoatDistrict district = dao.findByTopiaId(districtId);
+ if (logger.isDebugEnabled()) {
+ logger.debug("district " + district.getCode() +
+ " coordinates are " + district.getLatitude() +
+ ", " + district.getLongitude());
+ }
+
String title = "Répartition des motifs de refus pour le quartier " +
district.getCode();
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -54,6 +54,7 @@
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifDAO;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -163,14 +164,16 @@
sampleRow.sizeSampleMonth();
contact.getBoat().getName();
+ if (contact.getObsProgram() == ObsProgram.OBSMER) {
+ contact.getContactStateMotif();
+ }
+
if (contact.getObsProgram() == ObsProgram.OBSVENTE) {
- // load
sampleRow.getTerrestrialLocation();
contact.getTerrestrialLocation();
}
if (contact.getObsProgram() == ObsProgram.OBSDEB) {
- // load
if (sampleRow.isPhoneCall()) {
sampleRow.getTerrestrialLocation();
} else if (sampleRow.isFieldWorkObservation()) {
@@ -219,24 +222,19 @@
Map<String, Contact> results = dao.findAllMappedByQuery(query);
- List<ContactStateMotif> motives = new LinkedList<ContactStateMotif>();
-
// force load
for (Contact contact : results.values()) {
contact.getMainObserver();
contact.sizeSecondaryObservers();
contact.getTerrestrialLocation();
- if (contact.getContactStateMotif() != null) {
- motives.add(contact.getContactStateMotif());
+ if (contact.getObsProgram() == ObsProgram.OBSMER) {
+ contact.getContactStateMotif();
}
if (contact.getObsProgram() == ObsProgram.OBSDEB) {
contact.getObsDebCode();
}
}
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- translator.translateEntities(motives);
-
return results;
}
@@ -343,38 +341,50 @@
// Non abouti, Refus ou Refus Définitif
if (success && contactState.isUnfinishedState()) {
- Contact oldContact = null;
- if (contact.getTopiaId() != null) {
- oldContact = executeGetContact(transaction, contact.getTopiaId());
- }
+ boolean contactMustHaveAMotif = contact.getObsProgram() == ObsProgram.OBSMER
+ && (contactState == ContactState.CONTACT_REFUSED
+ || contactState == ContactState.CONTACT_DEFINITELY_REFUSED);
+ if (contactMustHaveAMotif) {
- if (oldContact != null) {
+ if (contact.getContactStateMotif() == null) {
+ success = false;
+ message = WaoUtils._("wao.business.contact.validation.contactStateMotifMissing");
+ }
- String newComment = contact.getComment();
+ } else {
- boolean commentDefined = StringUtils.isNotEmpty(newComment);
- boolean commentChanged = commentDefined &&
- !newComment.equals(oldContact.getComment());
+ Contact oldContact = null;
+ if (contact.getTopiaId() != null) {
+ oldContact = executeGetContact(transaction, contact.getTopiaId());
+ }
- // Ano #2540 : NPE on oldState, extract boolean for
- // previous unfinishedState case
- boolean previousUnfinishedState = commentDefined &&
- oldContact.getContactState() != null && oldContact.getContactState().isUnfinishedState();
+ if (oldContact != null) {
- // Ano #2440 : no restriction if previous state is unfinished
- if (previousUnfinishedState || commentChanged) {
+ String newComment = contact.getComment();
- // RAZ des champs
- contact.setObservationBeginDate(null);
- contact.setObservationEndDate(null);
- contact.setNbObservants(0);
- contact.setMammalsCapture(false);
- contact.setMammalsObservation(false);
- contact.setDataInputDate(null);
+ boolean commentDefined = StringUtils.isNotEmpty(newComment);
+ boolean commentChanged = commentDefined &&
+ !newComment.equals(oldContact.getComment());
- } else {
- success = false;
- message = "Vous devez ajouter un commentaire pour l'état '" + contactState + "'";
+ // Ano #2540 : NPE on oldState, extract boolean for
+ // previous unfinishedState case
+ boolean previousUnfinishedState = commentDefined &&
+ oldContact.getContactState() != null && oldContact.getContactState().isUnfinishedState();
+
+ // Ano #2440 : no restriction if previous state is unfinished
+ if (previousUnfinishedState || commentChanged) {
+
+ // RAZ des champs
+ contact.setObservationBeginDate(null);
+ contact.setObservationEndDate(null);
+ contact.setMammalsCapture(false);
+ contact.setMammalsObservation(false);
+ contact.setDataInputDate(null);
+
+ } else {
+ success = false;
+ message = "Vous devez ajouter un commentaire pour l'état '" + contactState + "'";
+ }
}
}
// Embarquement Réalisé
@@ -1068,6 +1078,8 @@
BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
ObsDebCodeDAO obsDebCodeDAO =
WaoDAOHelper.getObsDebCodeDAO(transaction);
+ ContactStateMotifDAO contactStateMotifDAO =
+ WaoDAOHelper.getContactStateMotifDAO(transaction);
// prepare selection of sample-rows, those are restrained
// by ObsProgram and by company
@@ -1082,11 +1094,12 @@
List<TerrestrialLocation> terrestrialLocations =
terrestrialLocationDAO.findAll();
List<ObsDebCode> obsDebCodes = obsDebCodeDAO.findAll();
+ List<ContactStateMotif> motives = contactStateMotifDAO.findAll();
// model creation, and import starting
ImportModel<Contact> contactImportModel = new ContactImportExportModel(
user.getProfile().getObsProgram(),
- waoUsers, terrestrialLocations, sampleRows, boats, obsDebCodes);
+ waoUsers, terrestrialLocations, sampleRows, boats, obsDebCodes, motives);
Import<Contact> contactImport =
new Import<Contact>(contactImportModel, input);
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -31,15 +31,11 @@
import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.WaoQueryBuilder;
import fr.ifremer.wao.WaoQueryHelper;
-import fr.ifremer.wao.WaoUtils;
-import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.LocationType;
-import fr.ifremer.wao.bean.ObservationType;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.entity.ContactStateMotif;
import fr.ifremer.wao.entity.ContactStateMotifDAO;
-import fr.ifremer.wao.entity.ContactStateMotifImpl;
import fr.ifremer.wao.entity.FishingGearDCF;
import fr.ifremer.wao.entity.FishingGearDCFDAO;
import fr.ifremer.wao.entity.FishingZone;
@@ -63,6 +59,7 @@
import fr.ifremer.wao.io.csv.WaoCsvHeader.FISHING_ZONE;
import fr.ifremer.wao.io.csv2.Import;
import fr.ifremer.wao.io.csv2.ImportModel;
+import fr.ifremer.wao.io.csv2.models.ContactStateMotivesImportModel;
import fr.ifremer.wao.io.csv2.models.ObsDebCodesImportModel;
import fr.ifremer.wao.io.csv2.models.TerrestrialDivisionImportModel;
import fr.ifremer.wao.io.csv2.models.TerrestrialLocationImportModel;
@@ -77,15 +74,12 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.xml.stream.Location;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
/**
@@ -453,15 +447,13 @@
protected List<ContactStateMotif> executeGetAllContactStateMotifs(TopiaContext transaction, ContactState contactState) throws Exception {
ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- List<ContactStateMotif> notTranslatedResult;
+ List<ContactStateMotif> result;
if (contactState == null) {
- notTranslatedResult = contactStateMotifDAO.findAll();
+ result = contactStateMotifDAO.findAll();
} else {
ContactState substituteState = ContactState.getSubstituteForMotif(contactState);
- notTranslatedResult = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
+ result = contactStateMotifDAO.findAllByContactStateOrdinal(substituteState.ordinal());
}
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- List<ContactStateMotif> result = translator.translateEntities(notTranslatedResult);
if (log.isDebugEnabled()) {
log.debug(result.size() + " motifs found for state " + contactState);
@@ -471,67 +463,42 @@
}
@Override
- protected void executeUpdateAllContactStatesMotifs(TopiaContext transaction, List<ContactStateMotif> motifs) throws Exception {
- ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- for (ContactStateMotif motif : motifs) {
- if (motif.getTopiaId() == null) {
- contactStateMotifDAO.create(motif);
- } else {
- contactStateMotifDAO.update(motif);
+ protected ImportResults executeImportContactStateMotives(TopiaContext transaction, InputStream input) throws Exception {
+ ImportResults result = new ImportResultsImpl();
+ ImportModel<ContactStateMotif> model = new ContactStateMotivesImportModel();
+ Import<ContactStateMotif> motivesImport = new Import<ContactStateMotif>(model, input);
+
+ try {
+ Iterator<ContactStateMotif> it = motivesImport.startImport();
+ ContactStateMotifDAO dao = WaoDAOHelper.getContactStateMotifDAO(transaction);
+ while (it.hasNext()) {
+ ContactStateMotif motif = it.next();
+ ContactStateMotif existingMotif = dao.findByCode(motif.getCode());
+ if (existingMotif == null) {
+ dao.create(motif);
+ result.incNbImportedNew();
+ } else {
+ existingMotif.setName(motif.getName());
+ existingMotif.setContactState(motif.getContactState());
+ existingMotif.setColor(motif.getColor());
+ dao.update(existingMotif);
+ }
+ result.incNbImported();
}
+ transaction.commitTransaction();
+ } catch (Exception eee) {
+ transaction.rollbackTransaction();
+ throw eee;
+ } finally {
+ motivesImport.stopImport();
}
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- translator.updateTranslations(motifs);
- transaction.commitTransaction();
- }
- /**
- * @deprecated write a CSV file and use import
- */
- @Deprecated
- protected void executeImportInitialContactStateMotifs(TopiaContext transaction) throws Exception {
- ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
- long count = contactStateMotifDAO.count();
- if (count == 0) {
-
- List<ContactStateMotif> motifs = new LinkedList<ContactStateMotif>();
-
- ContactStateMotif motif;
-
- // add Administratif, Rejet du programme, Blocage de la profession, autre
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Administratif");
- motif.setTranslation(Locale.ENGLISH, "Administrative");
- motifs.add(motif);
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Rejet du programme");
- motif.setTranslation(Locale.ENGLISH, "Program rejection");
- motifs.add(motif);
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Blocage de la profession");
- motif.setTranslation(Locale.ENGLISH, "Profession locking");
- motifs.add(motif);
-
- motif = contactStateMotifDAO.create(new ContactStateMotifImpl(ContactState.CONTACT_REFUSED));
- motif.setTranslation(Locale.FRENCH, "Autre");
- motif.setTranslation(Locale.ENGLISH, "Other");
- motifs.add(motif);
-
- EntitiesTranslator translator = new EntitiesTranslator(transaction);
- translator.updateTranslations(motifs);
-
- count = contactStateMotifDAO.count();
- if (log.isDebugEnabled()) {
- log.debug(count + " contact states motifs imported");
- }
- } else {
- if (log.isDebugEnabled()) {
- log.debug("will not import contact states motifs");
- }
+ if (log.isInfoEnabled()) {
+ log.info(result.getNbRowsImported() + " contact state motifs imported (" +
+ result.getNbRowsImportedNew() + " new)");
}
+
+ return result;
}
@Override
@@ -747,6 +714,7 @@
TerrestrialLocationDAOImpl terrestrialLocationDAO = WaoDAOHelper.getTerrestrialLocationDAO(transaction);
ObsDebCodeDAO obsDebCodeDAO = WaoDAOHelper.getObsDebCodeDAO(transaction);
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
// import terrestrial locations if base is empty
boolean importTerrestrialLocations =
@@ -778,6 +746,13 @@
}
}
- // executeImportInitialContactStateMotifs(transaction);
+ if (contactStateMotifDAO.count() == 0) {
+ try {
+ input = getClass().getResourceAsStream("/motifs.csv");
+ executeImportContactStateMotives(transaction, input);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
}
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -31,6 +31,7 @@
import fr.ifremer.wao.WaoQueryHelper;
import fr.ifremer.wao.WaoQueryHelper.BoatDistrictProperty;
import fr.ifremer.wao.WaoQueryHelper.ContactProperty;
+import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.bean.BoardingResult;
import fr.ifremer.wao.bean.BoardingResultImpl;
import fr.ifremer.wao.bean.ContactAverageReactivity;
@@ -57,6 +58,7 @@
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactStateMotif;
+import fr.ifremer.wao.entity.ContactStateMotifDAO;
import fr.ifremer.wao.entity.Indicator;
import fr.ifremer.wao.entity.IndicatorDAO;
import fr.ifremer.wao.entity.IndicatorLevel;
@@ -75,6 +77,7 @@
import org.nuiton.util.PeriodDates;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import sun.awt.image.ShortInterleavedRaster;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -1203,7 +1206,8 @@
(TopiaContext transaction, ContactFilter filter)
throws TopiaException {
- // TODO 2011-02-15 bleny this piece of code was just started, must be reviewed
+ ContactStateMotifDAO contactStateMotifDAO = WaoDAOHelper.getContactStateMotifDAO(transaction);
+ Map<String, ContactStateMotif> indexedMotives = WaoUtils.projectPropertyUnique(contactStateMotifDAO.findAll(), ContactStateMotif.PROPERTY_CODE);
WaoQueryBuilder builder = context.newQueryBuilder();
@@ -1221,8 +1225,8 @@
addNullOr(contactProperty.validationProgram(), Op.NEQ, Boolean.FALSE).
addNotNull(contactProperty.contactStateMotif()).
// Set the results wanted : by boatDistrict, by State, get number of results
- setSelect(boatDistrictProperty.topiaId(), contactProperty.contactStateMotif(), "COUNT(*)").
- addGroup(boatDistrictProperty.topiaId(), contactProperty.contactStateMotif());
+ setSelect(boatDistrictProperty.topiaId(), contactProperty.contactStateMotifProperty().code(), "COUNT(*)").
+ addGroup(boatDistrictProperty.topiaId(), contactProperty.contactStateMotifProperty().code());
List<Object[]> queryResults = transaction.findByQuery(query);
@@ -1231,26 +1235,35 @@
for (Object[] row : queryResults) {
String districtId = (String) row[0];
- ContactStateMotif motif = (ContactStateMotif) row[1];
+ ContactStateMotif motif = indexedMotives.get(row[1]);
long count = (Long)row[2];
PieChartData data = results.get(districtId);
if (data == null) {
data = new PieChartDataImpl();
-// for (ContactPieChartConstant constant : ContactPieChartConstant.values(obsProgram)) {
-// PieChartSeries series = new PieChartSeriesImpl();
-// series.setLabel(constant.toString());
-// series.setColor(constant.getColor());
-// data.addSeries(series);
-// }
results.put(districtId, data);
}
+ PieChartSeries series = new PieChartSeriesImpl();
+ series.setLabel(motif.getName());
+ series.setColor(motif.getColor());
+ series.setValue(count);
+ data.addSeries(series);
+ data.setTotal(data.getTotal() + count);
}
- throw new UnsupportedOperationException("not yet implemented");
+ if (log.isTraceEnabled()) {
+ StringBuilder stringBuilder = new StringBuilder();
+ for (Map.Entry<String, PieChartData> stringPieChartDataEntry : results.entrySet()) {
+ stringBuilder.append(stringPieChartDataEntry.getKey())
+ .append(" -> ")
+ .append(stringPieChartDataEntry.getValue().toString())
+ .append("\n");
+ }
+ log.trace(stringBuilder.toString());
+ }
- // return results;
+ return results;
}
@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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_en_GB.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -129,6 +129,7 @@
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.contactStateMotifMissing=You must precise a motif for the refusal
wao.business.contact.validation.dataReliabilityMissingForValidation=You must provide data reliability before validating
wao.business.entity.UserProfile.description=%s on %s%s
wao.business.mammalsCapture.mail.message=Hello,\n\nAn observer of the ObsMer program provided to WAO the following information\:\n\nTide\: %s\nProfession\: %s\n\nAccidental capture\:\n%s\n\nBest regards,\n\nObsmer program\nhttp\://www.ifremer.fr/wao
@@ -206,6 +207,7 @@
wao.error.serviceReferential.getSectors=
wao.error.serviceReferential.getTerrestrialDistrict=
wao.error.serviceReferential.importContactStateMotifs=
+wao.error.serviceReferential.importContactStateMotives=
wao.error.serviceReferential.importDCFcodes=
wao.error.serviceReferential.importFishingZoneCsv=
wao.error.serviceReferential.importInitialContactStateMotifs=
@@ -280,6 +282,8 @@
wao.import.contact.failure.sampleRowCodeMissing=The code of the sample row line is missing
wao.import.contact.failure.terrestrialLocationMissing=The code of the terrestrial location is missing
wao.import.contact.failure.wrongBoat=There is no boat with plate number '%s'
+wao.import.contact.failure.wrongColor=The color '%s' is not a valid color. It must be composed of 6 characters without the hash (#), see http://en.wikipedia.org/wiki/Web_colors
+wao.import.contact.failure.wrongContactStateMotifCode=The code '%s' is not a valid code
wao.import.contact.failure.wrongSampleRowCode=The is no sample row with code '%s'
wao.import.contact.failure.wrongTerrestrialLocation=There is no location of type '%s' with code '%s'
wao.import.failure.wrongLocationType='%s' is not a valid location type, allowed values are %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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/main/resources/i18n/wao-business_fr_FR.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,179 +1,180 @@
ContactPieChartConstant.OTHER=Autres
-ContactPieChartConstant.REALIZED=Réalisés
-ContactPieChartConstant.REFUSED=Refusés
-ContactState.CONTACT_DEFINITELY_REFUSED=Refus définitif
+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ée
-ContactState.OBSERVATION_DONE=Observation réalisée
-ContactState.OBSERVATION_EXPECTED=Observation programmée
-ContactState.OBSERVATION_NOT_DONE=Non observé
-DataReliability.CORRECTION_ASKED=Correction demandée
+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ôlée
+DataReliability.NOT_PROVIDED=Non contr\u00f4l\u00e9e
DataReliability.NOT_RELIABLE=Non exploitable
DataReliability.RELIABLE=Exploitable
DataReliability.UNKNOWN=Inconnue
-GlobalIndicatorValue.BAD=Pénalité 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énalité de niveau 2
+GlobalIndicatorValue.VERY_BAD=P\u00e9nalit\u00e9 de niveau 2
GlobalIndicatorValue.VERY_GOOD=Bonus de niveau 2
-LocationType.AUCTION=Criée
+LocationType.AUCTION=Cri\u00e9e
LocationType.DISTRICT=Quartier maritime
LocationType.PORT=Port
-LocationType.REGION=Région Ifremer
+LocationType.REGION=R\u00e9gion Ifremer
ObsProgram.OBSDEB=ObsDeb
ObsProgram.OBSMER=ObsMer
ObsProgram.OBSVENTE=ObsVente
ObservationType.FIELD_WORK_OBSERVATION=Observation de terrain
-ObservationType.FIELD_WORK_SURVEY=Enquête de terrain
-ObservationType.PHONE_CALL=Enquête téléphonique
-SamplingStrategy.SIMULTANEOUS_ALL_SPECIES=Simultané \: Toutes espèces commerciales
-SamplingStrategy.SIMULTANEOUS_G1_G2_SPECIES=Simultané \: espèces G1+G2
-SamplingStrategy.SIMULTANEOUS_G1_SPECIES=Simultané \: espèces G1
-SamplingStrategy.SPECIFIC_STOCK=Stock spécifique
-SynthesisId.DISTINCT_BOATS_COUNTS=Nombres de navires distincts observés
-SynthesisId.GRAPH_BOARDING=Taux d'embarquement sur un même navire conforme aux exigences
-SynthesisId.GRAPH_SAMPLING=Taux de réalisation du plan d'échantillonage
-SynthesisId.IND_ALLEGRO_REACTIVITY=Délais de transmission des données
-SynthesisId.IND_COMPLIANCE_BOARDING=Respect du nombre d'observateurs embarqués
-SynthesisId.IND_CONTACT_STATE=États des contacts
-SynthesisId.IND_DATA_RELIABILITY=Qualité de la donnée
-SynthesisId.OBSERVATION_HOUR=Heures d'observation dans la journée
+ObservationType.FIELD_WORK_SURVEY=Enqu\u00eate de terrain
+ObservationType.PHONE_CALL=Enqu\u00eate t\u00e9l\u00e9phonique
+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é
+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étation de la valeur '%s' (colonne '%s', ligne %s)
-csv.import.error.unableToReadField=Impossible de lire la colonne '%s' à 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é '%s', ligne %s, column '%s')
+csv.import.error.unableToSetValue=Impossible d'enregistrer la valeur '%s' (entit\u00e9 '%s', ligne %s, column '%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écifié
-fr.ifremer.wao.entity.FishingGearDCF.DRB=Dragues remorquées par bateau
-fr.ifremer.wao.entity.FishingGearDCF.DRH=Dragues à main
-fr.ifremer.wao.entity.FishingGearDCF.FAR=Pièges aériens
-fr.ifremer.wao.entity.FishingGearDCF.FCN=Éperviers
-fr.ifremer.wao.entity.FishingGearDCF.FG=Autres engins retombants (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FIX=Pièges (non-spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.FPN=Filets-pièges 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 à l'étalage (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élants (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.GES=Tamis à civelles
-fr.ifremer.wao.entity.FishingGearDCF.GN=Filets maillants (non spécifiés)
+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érivants (filets dérivants)
+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és (ancrés)
-fr.ifremer.wao.entity.FishingGearDCF.GT=Trémailleurs
-fr.ifremer.wao.entity.FishingGearDCF.GTN=Trémails et filets maillants combinés
-fr.ifremer.wao.entity.FishingGearDCF.GTR=Trémails
+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écanisées
+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écolte (non spécifiés)
+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 à main et lignes avec cannes
-fr.ifremer.wao.entity.FishingGearDCF.LHP=Lignes à main et lignes à cannes
-fr.ifremer.wao.entity.FishingGearDCF.LL=Palangres (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.LLD=Palangres dérivantes
-fr.ifremer.wao.entity.FishingGearDCF.LLS=Palangres calées ou semi-flottantes
-fr.ifremer.wao.entity.FishingGearDCF.LN=Filets soulevés (non spécifiés)
-fr.ifremer.wao.entity.FishingGearDCF.LNB=Filets soulevés manœuvrées du bateau
-fr.ifremer.wao.entity.FishingGearDCF.LNP=Filets soulevés portatifs
-fr.ifremer.wao.entity.FishingGearDCF.LNS=Filets soulevés fixes manœuvrées du rivage
-fr.ifremer.wao.entity.FishingGearDCF.LTL=lignes de traîne
-fr.ifremer.wao.entity.FishingGearDCF.LX=Hameçons et lignes (non spécifiés)
+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écifiés
-fr.ifremer.wao.entity.FishingGearDCF.OT=Chaluts à panneaux (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.OTB=Chalut de fond à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTM=Chaluts pélagiques à panneaux
-fr.ifremer.wao.entity.FishingGearDCF.OTT=Chaluts jumeaux à 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œuvrées par un bateau
-fr.ifremer.wao.entity.FishingGearDCF.PS2=Filets tournants, sennes coulissantes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.PT=Chalut-bœufs (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.PTB=Chalut-bœufs de fond
-fr.ifremer.wao.entity.FishingGearDCF.PTM=Chalut-bœufs pélagiques
-fr.ifremer.wao.entity.FishingGearDCF.RG=Engins de pêche révréative
+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.SB=Sennes de plages
fr.ifremer.wao.entity.FishingGearDCF.SDN=Sennes danoises
-fr.ifremer.wao.entity.FishingGearDCF.SPR=Sennes manœuvrées par deux bateaux
-fr.ifremer.wao.entity.FishingGearDCF.SSC=Sennes écossaises
-fr.ifremer.wao.entity.FishingGearDCF.SV=Sennes halées à bord
-fr.ifremer.wao.entity.FishingGearDCF.SW=Sennes (non spécifiées)
-fr.ifremer.wao.entity.FishingGearDCF.TB=Chalut de fond (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TBB=Chaluts à perche
-fr.ifremer.wao.entity.FishingGearDCF.TBN=Chalut à langoustines
-fr.ifremer.wao.entity.FishingGearDCF.TBS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TM=Chalut pélagique (non spécifié)
-fr.ifremer.wao.entity.FishingGearDCF.TMS=Chalut à crevettes
-fr.ifremer.wao.entity.FishingGearDCF.TX=Autre chalut (non spécifié)
-fr.ifremer.wao.entity.TargetSpeciesDCF.=Non spécifié
+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èces catadromes
-fr.ifremer.wao.entity.TargetSpeciesDCF.CRU=Crustacés
+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èces démersales
-fr.ifremer.wao.entity.TargetSpeciesDCF.DWS=Espèces 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élagiques
+fr.ifremer.wao.entity.TargetSpeciesDCF.LPF=Grands p\u00e9lagiques
fr.ifremer.wao.entity.TargetSpeciesDCF.MOL=Mollusques
-fr.ifremer.wao.entity.TargetSpeciesDCF.SPF=Petits pélagiques
-wao.business.boat.validation.immatriculation.wrongFormat=L'immatriculation du navire doit être formée de 6 chiffres
-wao.business.contact.validation.commentAdminNecessaryForDataReliability=Il faut préciser dans le commentaire administrateur pourquoi la donnée est '%s'
-wao.business.contact.validation.dataReliabilityMissingForValidation=Il faut préciser la qualité de la donnée 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.contactStateMotifMissing=Il faut pr\u00e9ciser un motif de refus
+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é dans WAO l'information suivante \:\n\nMarée \: %s\nMétier \: %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éer un nouveau contact pour la société %1$s et le navire %2$s (%3$d)
-wao.error.boat.getNbBoarding=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s
-wao.error.boatInfos.getNbBoardingForCompany=Impossible de récupérer le nombre d'embarquements réels depuis le %1$s pour la société %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écupération 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émarrage 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ées réels pour le mois de %1$s [ligne \: %2$s]
-wao.error.sampleRow.saveSampleRowLog=Impossible d'enregistrer le commentaire écrit par %1$s
-wao.error.serviceBoat.createUpdateCompanyBoatInfos=Impossible de créer ou modifier les informations liés au navire %1$d pour la société %2$s
-wao.error.serviceBoat.exportBoatCsv=Impossible d'exporter les navires sélectionnés
+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.getAllActiveBoats=
wao.error.serviceBoat.getBoat=Impossible de charger le navire
-wao.error.serviceBoat.getBoatNamesStartWith=Impossible de récupérer 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îne d'immatriculations est incorrect \! Chaque immatriculation doit posséder 6 chiffres
-wao.error.serviceBoat.getCompanyBoatInfos=Impossible de récupérer les informations du navire immatriculé %1$d pour la société %2$s
-wao.error.serviceBoat.getLastActivityCalendar=Impossible de charger le dernier calendrier d'activité 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ème d'import du fichier CSV des calendriers d'activité
-wao.error.serviceBoat.importBoatCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier.
+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.
wao.error.serviceBoat.newBoatFilter=
wao.error.serviceCartography.exportContactMotifsStatisticsKml=
wao.error.serviceCartography.exportContactStatisticsKml=
-wao.error.serviceCartography.importBoatDistrictKml=Impossible d'importer les coordonnées des quartiers des navires. Vérifiez 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és
+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.getPossibleObsDebCodes=
wao.error.serviceContact.getPossibleTerrestrialLocations=
@@ -189,7 +190,7 @@
wao.error.serviceContact.updateSampleMonthTidesValue=
wao.error.serviceContact.validateContact=
wao.error.serviceNews.getNewNews=
-wao.error.serviceNews.getNews=Impossible de récupérer 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.getAllObsDebCodes=
@@ -201,13 +202,14 @@
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êche
-wao.error.serviceReferential.getProfessions=Impossible de charger la liste des métiers
-wao.error.serviceReferential.getSectors=Impossible de charger la liste des zones de pêche
+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éer le référentiel des codes DCF
-wao.error.serviceReferential.importFishingZoneCsv=Problème d'import du fichier CSV. Vérifiez l'en-tête du fichier \: [ PECHE_DIVISION,PECHE_ZONE,PECHE_FACADE ]. Voir documentation pour plus de détails.
+wao.error.serviceReferential.importContactStateMotives=
+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.importObsDebCodes=
wao.error.serviceReferential.importTerrestrialDivisions=
@@ -216,74 +218,76 @@
wao.error.serviceReferential.updateAllContactStatesMotifs=
wao.error.serviceSampling.countSampleRows=
wao.error.serviceSampling.createSampleRowLog=
-wao.error.serviceSampling.createUpdateSampleRow=Impossible de sauvegarder la ligne d'échantillon
-wao.error.serviceSampling.deleteSampleRow=Impossible de supprimer la ligne d'échantillon \: %1$s
-wao.error.serviceSampling.exportSamplingPlanCsv=Impossible d'exporter le plan d'échantillonnage sur la période 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écupérer un nouveau code pour une ligne d'échantillonnage
+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'échantillon ayant pour identifiant \: %1$s
-wao.error.serviceSampling.getSampleRowByCode=Impossible de charger la ligne d'échantillon ayant pour code %1$s
-wao.error.serviceSampling.getSampleRowsByFilter=Impossible de récupérer la liste des lignes du plan d'échantillonnage
+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écupérer la liste des lignes du plan d'échantillonnage
+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.newOperation=
wao.error.serviceSampling.newSampleRow=
wao.error.serviceSampling.newSamplingFilter=
wao.error.serviceSampling.validateSampleRow=
wao.error.serviceSynthesis.getAllIndicatorLogs=
-wao.error.serviceSynthesis.getBoardingBoats=Impossible de récupérer les données 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écupérer l'indicateur de réactivité 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écupérer les statistiques sur les états 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écupérer les données pour le graphique dynamique des efforts de marées
+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écupérer les données concernant les indicateurs pour la synthèse 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écupérer l'indicateur de non respect du nombre d'observateurs embarqués
+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 à jour les paramètres de la synthèse 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éer l'administrateur par défaut
-wao.error.serviceUser.createUpdateCompany=Impossible de créer ou de mettre à jour la société
-wao.error.serviceUser.createUpdateUser=Impossible de créer ou de mettre à jour l'utilisateur
-wao.error.serviceUser.deleteCompany=Impossible de supprimer la société ou de vérifier 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écupérer la liste des sociétés
+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écupérer 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écupérer la liste des utilisateurs de la société %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éciser l'immatriculation du navire associé au contact
-wao.import.contact.failure.locationTypeMissing=Le type du lieu doit être renseigné
-wao.import.contact.failure.sampleRowCodeMissing=Il manque le code de la ligne de plan associée
+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.wrongColor=Le code couleur '%s' n'est pas valide, il doit \u00eatre compos\u00e9 de six caract\u00e8res sans di\u00e8ze voir http://fr.wikipedia.org/wiki/Couleurs_du_Web
+wao.import.contact.failure.wrongContactStateMotifCode=Le code '%s' n'est pas un code de motif de refus valide
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.wrongLocationType='%s' n'est pas un type de lieu valide, les valeurs admises sont %s
-wao.import.failure.wrongObsDebCode=Il n'y a pas de code métier ayant pour code '%s'
+wao.import.failure.wrongObsDebCode=Il n'y a pas de code m\u00e9tier 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 être associé à la ligne %s car il doit observer, le même jour, pour la ligne %s
-wao.validation.sampleRow.observerNotInCompany=L'observateur %s ne fait pas parti de la société %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.observerNotInCompany=L'observateur %s ne fait pas parti de la soci\u00e9t\u00e9 %s
Added: trunk/wao-business/src/main/resources/motifs.csv
===================================================================
--- trunk/wao-business/src/main/resources/motifs.csv (rev 0)
+++ trunk/wao-business/src/main/resources/motifs.csv 2011-06-15 15:16:11 UTC (rev 1338)
@@ -0,0 +1,5 @@
+MOTIF_CODE;MOTIF_NOM;MOTIF_COULEUR
+REFUS_ADMINISTRATIF;Administratif;00FFFF
+REFUS_PROGRAMME;Rejet du programme;FF0000
+REFUS_PROFESSION;Blocage de la profession;0000FF
+REFUS_AUTRE;Autre;DDDDDD
Modified: trunk/wao-business/src/main/xmi/wao.zargo
===================================================================
(Binary files differ)
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -121,5 +121,4 @@
IOUtils.closeQuietly(input);
}
}
-
}
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Administration.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -266,6 +266,16 @@
};
}
+ public ImportEngine getContactStateMotivesImportEngine() {
+ return new ImportEngine() {
+ @Override
+ public ImportResults execute(InputStream input) throws WaoException, WaoBusinessException {
+ ImportResults result = serviceReferential.importContactStateMotives(input);
+ return result;
+ }
+ };
+ }
+
public ImportEngine getObsDebCodesImportEngine() {
return new ImportEngine() {
@Override
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Cartography.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -76,7 +76,14 @@
private String url;
+ @Property
+ @Persist
+ private KmlLoader.StrategyValues mapType;
+
void setupRender() {
+ if (mapType == null) {
+ mapType = KmlLoader.StrategyValues.CONTACTS_STATES;
+ }
}
/**************************** FILTERS *************************************/
@@ -161,7 +168,7 @@
if (url == null) {
Link link = pageRender.createPageRenderLinkWithContext(
KmlLoader.class,
- KmlLoader.StrategyValues.CONTACTS_STATES
+ mapType
);
url = link.toURI();
}
@@ -171,5 +178,6 @@
public String getTitle() {
return "Contacts";
}
+
}
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/ContactForm.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -281,6 +281,11 @@
allowedStates.toArray(new ContactState[allowedStates.size()]));
}
+ public List<ContactStateMotif> getContactStateMotives() {
+ List<ContactStateMotif> motives = serviceReferential.getAllContactStateMotifs(null);
+ return motives;
+ }
+
/************************ ADMIN FIELDS ************************************/
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/KmlLoader.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -34,6 +34,8 @@
import java.io.IOException;
+import static org.nuiton.i18n.I18n.n_;
+
/**
* Page used directly as url for OpenLayers Kml reference. The activate method
* will return the StreamResponse with Kml data depends on {@link StrategyValues}
@@ -49,8 +51,14 @@
/** Strategy values for loading Kml */
public enum StrategyValues {
- CONTACTS_STATES,
- CONTACTS_STATES_MOTIFS;
+ CONTACTS_STATES(n_("StrategyValues.CONTACTS_STATES")),
+ CONTACTS_STATES_MOTIFS(n_("StrategyValues.CONTACTS_STATES_MOTIFS"));
+
+ protected String i18nKey;
+
+ StrategyValues(String i18nKey) {
+ this.i18nKey = i18nKey;
+ }
}
@SessionState(create = false)
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/services/ContactModelFactory.java 2011-06-15 15:16:11 UTC (rev 1338)
@@ -95,6 +95,7 @@
addNonSortableProperty("boatDistrictCode", getBoatDistrictCodePropertyConduit());
addNonSortableProperty("observationType", getObservationTypePropertyConduit());
addNonSortableProperty(Contact.PROPERTY_STATE, null);
+ addNonSortableProperty(Contact.PROPERTY_CONTACT_STATE_MOTIF, getContactStateMotifPropertyConduit());
addNonSortableProperty(Contact.PROPERTY_LANDING_DATE, getLandingDatePropertyConduit());
addNonSortableProperty(Contact.PROPERTY_OBSERVATION_BEGIN_DATE, null);
addNonSortableProperty(Contact.PROPERTY_OBSERVATION_END_DATE, null);
@@ -118,6 +119,7 @@
if (obsProgram == ObsProgram.OBSMER) {
model.exclude(Contact.PROPERTY_TERRESTRIAL_LOCATION);
} else {
+ model.exclude(Contact.PROPERTY_CONTACT_STATE_MOTIF);
model.exclude("mammals");
model.exclude("dataReliability");
}
@@ -402,4 +404,17 @@
};
}
+ public PropertyConduit getContactStateMotifPropertyConduit() {
+ return new ContactReaderPropertyConduit() {
+ @Override
+ public String getValue(Contact contact) {
+ String value = "";
+ if (contact.getContactStateMotif() != null) {
+ value = contact.getContactStateMotif().toString();
+ }
+ return value;
+ }
+ };
+ }
+
}
Modified: trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties
===================================================================
--- trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/resources/fr/ifremer/wao/ui/pages/Contacts_fr.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -58,4 +58,5 @@
actualSamplingStrategy-label: Strat\u00e9gie d'\u00e9chantillonnage utilis\u00e9e
completeSampling-label: \u00c9chantillonnage complet
terrestrialLocation-label: Lieu
-mainObserver-label: Observateurs
\ No newline at end of file
+mainObserver-label: Observateurs
+contactStateMotif-label: Motif de refus
\ No newline at end of file
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_en_GB.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,3 +1,5 @@
+StrategyValues.CONTACTS_STATES=Contact states
+StrategyValues.CONTACTS_STATES_MOTIFS=Refusal motives
SynthesisId.DISTINCT_BOATS_COUNTS=
SynthesisId.GRAPH_BOARDING=
SynthesisId.GRAPH_SAMPLING=
@@ -174,6 +176,7 @@
wao.ui.form.estimatedTides=View estimated effort
wao.ui.form.estimatedTides.description=The estimated observation effort is the number of contact that are validated by the company or not. Contacts refused by program are ignored.
wao.ui.form.generatePassword=Generate password
+wao.ui.form.mapType=Map
wao.ui.form.otherBoatInfos=Other boat infos
wao.ui.form.period=Period
wao.ui.form.period.from=from
@@ -193,6 +196,7 @@
wao.ui.import.activityCalendarUserAccessesLabel=of user accesses to the activity calendars
wao.ui.import.boatDistrictLabel=of the coordinates of boat districts
wao.ui.import.boatsLabel=of boats
+wao.ui.import.contactStateMotivesLabel=of the contact state motives
wao.ui.import.description=File %s %s \:
wao.ui.import.fishingZoneLabel=of fishing zones
wao.ui.import.fullDescription=Import %s (%s format with UTF-8 characters set)
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-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/resources/i18n/wao-ui_fr_FR.properties 2011-06-15 15:16:11 UTC (rev 1338)
@@ -1,3 +1,5 @@
+StrategyValues.CONTACTS_STATES=États des contacts
+StrategyValues.CONTACTS_STATES_MOTIFS=Motifs de refus
SynthesisId.DISTINCT_BOATS_COUNTS=
SynthesisId.GRAPH_BOARDING=
SynthesisId.GRAPH_SAMPLING=
@@ -173,6 +175,7 @@
wao.ui.form.estimatedTides=Voir l'effort d'observations estimé
wao.ui.form.estimatedTides.description=L'effort d'observations estimé équivaut au nombre de contacts validés ou non par la société. Les contacts refusés par le programme ne sont pas pris en compte.
wao.ui.form.generatePassword=Générer le mot de passe
+wao.ui.form.mapType=Carte
wao.ui.form.otherBoatInfos=Autres informations sur le navire
wao.ui.form.period=Période
wao.ui.form.period.from=du
@@ -192,6 +195,7 @@
wao.ui.import.activityCalendarUserAccessesLabel=des accès utilisateurs aux calendriers d'activité
wao.ui.import.boatDistrictLabel=des coordonnées des quartiers des navires
wao.ui.import.boatsLabel=des navires
+wao.ui.import.contactStateMotivesLabel=des motifs de refus
wao.ui.import.description=Fichier %s %s \:
wao.ui.import.fishingZoneLabel=des zones de pêches
wao.ui.import.fullDescription=Import %s (format %s avec encodage UTF-8)
Modified: trunk/wao-ui/src/main/webapp/Administration.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/webapp/Administration.tml 2011-06-15 15:16:11 UTC (rev 1338)
@@ -180,6 +180,10 @@
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialLocationsLabel}" t:engine="terrestrialLocationsImportEngine" />
<t:if test="currentUser.obsDeb">
+ <t:importFieldSet t:label="${message:wao.ui.import.contactStateMotivesLabel}" t:engine="contactStateMotivesImportEngine" />
+ </t:if>
+
+ <t:if test="currentUser.obsDeb">
<t:importFieldSet t:label="${message:wao.ui.import.terrestrialDivisionsLabel}" t:engine="terrestrialDivisionsImportEngine" />
<t:importFieldSet t:label="${message:wao.ui.import.obsDebCodesLabel}" t:engine="obsDebCodesImportEngine" />
</t:if>
Modified: trunk/wao-ui/src/main/webapp/Cartography.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/webapp/Cartography.tml 2011-06-15 15:16:11 UTC (rev 1338)
@@ -69,6 +69,12 @@
<input t:type="datefield" class="width70" t:id="periodEnd" t:value="filter.period.thruDate" t:validate="required" />
</p>
+ <t:if t:test="user.obsMer">
+ <p class="mtop5"><label for="mapType">${message:wao.ui.form.mapType}</label> : </p>
+ <p><input t:type="select" t:id="mapType" value="mapType"
+ t:zone="cartography-filters-sampling" t:validate="required" /></p>
+ </t:if>
+
<t:if t:test="user.admin">
<!-- COMPANY -->
<p class="mtop5"><label for="company">${message:wao.ui.entity.Company}</label> : </p>
Modified: trunk/wao-ui/src/main/webapp/ContactForm.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-06-10 22:25:28 UTC (rev 1337)
+++ trunk/wao-ui/src/main/webapp/ContactForm.tml 2011-06-15 15:16:11 UTC (rev 1338)
@@ -146,6 +146,14 @@
<label>${message:wao.ui.field.Contact.contactState}</label>
${getLabelForEnum(contact.contactState)}
</div>
+ <t:if test="connectedUser.obsMer">
+ <t:if test="contact.contactStateMotif">
+ <div>
+ <label>${message:wao.ui.field.Contact.contactStateMotif}</label>
+ ${contact.contactStateMotif.name}
+ </div>
+ </t:if>
+ </t:if>
<t:if test="connectedUser.obsDeb">
<div>
<label>${message:wao.ui.field.Contact.landingDate}</label>
@@ -261,6 +269,16 @@
t:validate="required"
t:model="contactStateSelectModel" />
</div>
+ <t:if test="connectedUser.obsMer">
+ <div>
+ <label for="contactStateMotif">${message:wao.ui.field.Contact.contactStateMotif}</label>
+ <t:topiaEntitySelector t:id="contactStateMotif"
+ t:clazzName="ContactStateMotif"
+ t:labelPropertyName="name"
+ t:values="contactStateMotives"
+ t:selectedValue="contact.contactStateMotif" />
+ </div>
+ </t:if>
<t:if test="connectedUser.obsDeb">
<div>
<label for="landingDate">${message:wao.ui.field.Contact.landingDate}</label>
1
0
[Suiviobsmer-commits] r1337 - in trunk/wao-business/src/test/java/fr/ifremer/wao: business/fixtures service
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 22:25:28 +0000 (Fri, 10 Jun 2011)
New Revision: 1337
Log:
end of test refactoring
Added:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java
Removed:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
Modified:
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -1,6 +1,7 @@
package fr.ifremer.wao.business.fixtures;
import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ObsProgram;
@@ -8,6 +9,8 @@
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
import fr.ifremer.wao.entity.UserProfile;
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
@@ -31,6 +34,8 @@
protected Map<Integer, Boat> boats;
+ protected Map<String, SampleRow> sampleRows;
+
protected TopiaContext transaction;
public Fixtures(WaoServices manager) {
@@ -65,8 +70,6 @@
return transaction;
}
- protected abstract ObsProgram getObsProgram();
-
protected Company getCompany(String name) {
Company company = companies.get(name);
if (company == null) {
@@ -106,11 +109,10 @@
return waoUser;
}
- public ConnectedUser connectedUser(WaoUser user, UserRole userRole) {
+ protected ConnectedUser connectedUser(WaoUser user, UserRole userRole) {
// first, log in
ConnectedUser connectedUser;
try {
- System.out.println("trying to connect " + user.getLogin() + " " + user.getPassword());
connectedUser = manager.getServiceUser().connect(user.getLogin(), user.getPassword());
} catch (WaoBusinessException e) {
throw new RuntimeException(e);
@@ -151,11 +153,46 @@
return boat;
}
+ /** 174258 */
public Boat samourai() {
return getBoat(174258);
}
+ /** 273129 */
public Boat moise() {
return getBoat(273129);
}
+
+ protected abstract ObsProgram getObsProgram();
+
+ protected abstract void importSamplingPlan();
+
+ public void samplingPlan() {
+ if (sampleRows == null) {
+ sampleRows = new HashMap<String, SampleRow>();
+ importSamplingPlan();
+ }
+ }
+
+ protected SampleRow getSampleRow(String code) {
+ samplingPlan();
+ SampleRow sampleRow = sampleRows.get(code);
+ if (sampleRow == null) {
+ try {
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ sampleRow = rowDAO.findByCode(code);
+ sampleRow.getProfession();
+ sampleRow.sizeElligibleBoat();
+ sampleRow.sizeSampleMonth();
+ sampleRow.sizeSampleRowLog();
+ sampleRow.getCompany();
+ transaction.closeContext();
+ return sampleRow;
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return sampleRow;
+ }
}
\ No newline at end of file
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -41,4 +41,9 @@
public ConnectedUser joshAsObserver() {
return connectedUser(josh(), UserRole.OBSERVER);
}
+
+ @Override
+ protected void importSamplingPlan() {
+ throw new UnsupportedOperationException("not yet implemented");
+ }
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -8,9 +8,13 @@
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowDAO;
import fr.ifremer.wao.entity.WaoUser;
@@ -21,6 +25,8 @@
import org.nuiton.util.DateUtil;
import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
public class ObsMerFixtures extends Fixtures {
@@ -34,10 +40,13 @@
return ObsProgram.OBSMER;
}
+ /** a company name 'TARTANPION' */
public Company tartanpion() {
return getCompany("TARTANPION");
}
+
+ /** a company name 'BIS' */
public Company bis() {
return getCompany("BIS");
}
@@ -70,7 +79,8 @@
return connectedUser;
}
- public void samplingPlan() {
+ @Override
+ protected void importSamplingPlan() {
tartanpion();
bis();
fishingZones();
@@ -86,10 +96,6 @@
}
}
- public ConnectedUser connectedAdmin() {
- return jeanMichmucheAsAdmin();
- }
-
public ConnectedUser jeanMichmucheAsObserver() {
return connectedUser(jeanMichmuche(), UserRole.OBSERVER);
}
@@ -98,6 +104,9 @@
return connectedUser(billMurray(), UserRole.OBSERVER);
}
+ /**
+ * @return a boat '177474'
+ */
public Boat mayflowers() {
return getBoat(177474);
}
@@ -194,4 +203,95 @@
}
}
+ /** @return a boat '174592' */
+ public Boat fifitou() {
+ return getBoat(174592);
+ }
+
+ public SampleRow row2009_0003() {
+ return getSampleRow("2009_0003");
+ }
+
+ public SampleRow row2010_0004() {
+ return getSampleRow("2010_0004");
+ }
+
+ public SampleRow row2010_0001() {
+ return getSampleRow("2010_0001");
+ }
+
+ public SampleRow row2009_0006() {
+ return getSampleRow("2009_0006");
+ }
+
+ protected Boat springfield;
+
+ public Boat springfield() {
+ if (springfield == null) {
+ try {
+ BoatDAO dao = WaoDAOHelper.getBoatDAO(getTransaction());
+ springfield = dao.create();
+ springfield.setImmatriculation(123456);
+ springfield.setName("SPRINGFIELD");
+ springfield.setActive(true);
+ transaction.commitTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return springfield;
+ }
+
+ public WaoUser homerSimpson() {
+ return getWaoUser("homer", "doh", "Homer", "Simpson", tartanpion());
+ }
+
+ public ConnectedUser homerSimpsonAsObserver() {
+ return connectedUser(homerSimpson(), UserRole.OBSERVER);
+ }
+
+ protected SampleRow defaultSampleRow;
+
+ public SampleRow defaultSampleRow() {
+ if (defaultSampleRow == null) {
+ try {
+ SampleRowDAO dao = WaoDAOHelper.getSampleRowDAO(getTransaction());
+ defaultSampleRow = dao.create();
+ defaultSampleRow.setCode("2010_0001");
+ defaultSampleRow.setCompany(tartanpion());
+
+ ElligibleBoatDAO elligibleBoatDAO = WaoDAOHelper.getElligibleBoatDAO(getTransaction());
+ ElligibleBoat elligibleBoat = elligibleBoatDAO.create();
+ elligibleBoat.setSampleRow(defaultSampleRow());
+ elligibleBoat.setBoat(samourai());
+ elligibleBoat.setCompanyActive(true);
+ elligibleBoat.setGlobalActive(true);
+
+ defaultSampleRow.addElligibleBoat(elligibleBoat);
+ getTransaction().commitTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return defaultSampleRow;
+ }
+
+ protected Contact defaultContact;
+
+ public Contact defaultContact() {
+ if (defaultContact == null) {
+ try {
+ ContactDAO dao = WaoDAOHelper.getContactDAO(getTransaction());
+ defaultContact = dao.create();
+ defaultContact.setBoat(springfield());
+ defaultContact.setContactState(ContactState.CONTACT_START);
+ defaultContact.setMainObserver(homerSimpson());
+ defaultContact.setSampleRow(defaultSampleRow());
+ getTransaction().commitTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return defaultContact;
+ }
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -21,31 +21,12 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatDAO;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ContactDAO;
-import fr.ifremer.wao.entity.ElligibleBoat;
-import fr.ifremer.wao.entity.ElligibleBoatDAO;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserDAO;
-import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -61,7 +42,7 @@
public abstract class AbstractServiceTest {
private static final Logger log =
- LoggerFactory.getLogger(AbstractServiceTest.class);
+ LoggerFactory.getLogger(AbstractServiceTest.class);
protected WaoServices getWaoServices() {
// laziness ensure that manager is always available whatever the order
@@ -78,421 +59,22 @@
@Rule
public ObsMerFixtures obsMerFixtures = new ObsMerFixtures(getWaoServices());
- protected ServiceSamplingImpl serviceSampling;
-
- protected static final String BOAT_DEFAULT_NAME = "SPRINGFIELD";
- protected static final int BOAT_DEFAULT_IMMATRICULATION = 123456;
- protected static final String SAMPLE_ROW_DEFAULT_CODE = "2010_0001";
- protected static final String OBSERVER_DEFAULT_FIRST_NAME = "Homer";
- protected static final String OBSERVER_DEFAULT_LAST_NAME = "Simpson";
- protected static final String OBSERVER_DEFAULT_LOGIN = "homer";
-
@BeforeClass
- public static void setUpClass() throws Exception {
- // Create tmpdir if not exist
+ public static void createTempDir() throws Exception {
String tmpdir = System.getProperty("java.io.tmpdir");
File file = new File(tmpdir);
- if (!file.exists()) {
+ if ( ! file.exists()) {
boolean b = file.mkdirs();
- if (!b) {
- if (log.isWarnEnabled())
- log.warn("Could not create tmp directory : " + file);
- }
- if (log.isInfoEnabled()) {
- log.info("tmp dir : " + file + " was created");
- }
- }
- }
-
- @Before
- public void setUp() throws Throwable {
- serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling();
- }
-
- /**
- * Create a company : <br />
- * <ul>
- * <li>first name : Homer</li>
- * <li>last name : Simpson</li>
- * <li>login : homer</li>
- * <li>company : ref to TARTANPION</li>
- * <li>role : OBSERVER</li>
- * </ul>
- *
- * @return the new Company
- * @throws TopiaException
- */
- protected WaoUser createDefaultObserver() throws TopiaException {
- TopiaContext transaction = manager.getContext().beginTransaction();
- WaoUser observer = null;
- try {
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, obsMerFixtures.tartanpion(),
- WaoUser.PROPERTY_LOGIN, OBSERVER_DEFAULT_LOGIN,
- WaoUser.PROPERTY_FIRST_NAME, OBSERVER_DEFAULT_FIRST_NAME,
- WaoUser.PROPERTY_LAST_NAME, OBSERVER_DEFAULT_LAST_NAME);
- if (log.isDebugEnabled()) {
- log.debug("Create default observer : " + observer);
- }
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
- return observer;
- }
-
- /**
- * Create a user : <br />
- * <ul>
- * <li>first name : null</li>
- * <li>last name : null</li>
- * <li>login : defined with {@code login} argument</li>
- * <li>company : defined with {@code company} argument</li>
- * <li>role : defined with {@code role} argument</li>
- * </ul>
- *
- * @param login String unique login for the new user
- * @param role UserRole of the user
- * @param company Company parent of the user
- * @return the new WaoUser
- * @throws TopiaException
- */
- protected WaoUser createUser(String login, UserRole role,
- Company company) throws TopiaException {
- TopiaContext transaction = manager.getContext().beginTransaction();
- WaoUser observer = null;
- try {
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, company,
- WaoUser.PROPERTY_LOGIN, login,
- WaoUser.PROPERTY_FIRST_NAME, null,
- WaoUser.PROPERTY_LAST_NAME, null);
-
- if (log.isDebugEnabled()) {
- log.debug("Create observer : " + observer);
- }
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
- return observer;
- }
-
- /**
- * Create a company : <br />
- * <ul>
- * <li>name : defined with {@code name} argument</li>
- * </ul>
- *
- * @param name
- * @return the new Company
- * @throws TopiaException
- */
- protected Company createCompany(String name) throws TopiaException {
- Company company = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction);
-
- company = dao.create();
- company.setName(name);
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
-
- return company;
- }
-
- /**
- * Create a default sampleRow : <br />
- * <ul>
- * <li>code : 2010_0001</li>
- * <li>company : TARTANPION</li>
- * </ul>
- *
- * @return the new SampleRow
- * @throws TopiaException
- */
- protected SampleRow createDefaultSampleRow() throws TopiaException {
- return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, obsMerFixtures.tartanpion());
- }
-
- /**
- * Create a default sampleRow : <br />
- * <ul>
- * <li>code : defined with {@code code} argument</li>
- * <li>company : defined with {@code company} argument</li>
- * </ul>
- *
- * @param code
- * @param company
- * @return the new SampleRow
- * @throws TopiaException
- */
- protected SampleRow createSampleRow(String code, Company company)
- throws TopiaException {
- SampleRow row = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- SampleRowDAO dao =
- WaoDAOHelper.getSampleRowDAO(transaction);
-
- row = dao.create();
- row.setCode(code);
- row.setCompany(company);
- if (log.isDebugEnabled()) {
- log.debug("Create sampleRow : " + row);
- }
-
- transaction.commitTransaction();
- } finally {
- transaction.closeContext();
- }
-
- return row;
- }
-
- /**
- * Create a default boat : <br />
- * <ul>
- * <li>immatriculation : 123456</li>
- * <li>name : SPRINGFIELD</li>
- * <li>active : true</li>
- * </ul>
- *
- * @return the new Boat
- * @throws TopiaException
- */
- protected Boat createDefaultBoat() throws TopiaException {
- return createBoat(123456, "SPRINGFIELD");
- }
-
- /**
- * Create a boat : <br />
- * <ul>
- * <li>immatriculation : defined with {@code immatriculation} argument</li>
- * <li>name : defined with {@code name} argument</li>
- * <li>active : true</li>
- * </ul>
- *
- * @param immatriculation
- * @param name
- * @return the new Boat
- * @throws TopiaException
- */
- protected Boat createBoat(int immatriculation, String name)
- throws TopiaException {
- Boat boat = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- BoatDAO dao = WaoDAOHelper.getBoatDAO(transaction);
-
- // CREATE
- boat = dao.create();
- boat.setImmatriculation(immatriculation);
- boat.setName(name);
- boat.setActive(true);
- if (log.isDebugEnabled()) {
- log.debug("Create boat : " + boat);
- }
-
- transaction.commitTransaction();
-
- } finally {
- transaction.closeContext();
- }
- return boat;
- }
-
- /**
- * Create an elligibleBoat : <br />
- * <ul>
- * <li>sampleRow : defined with {@code row} argument</li>
- * <li>boat : defined with {@code boat} argument</li>
- * <li>companyActive : true if {@code company} is true, null otherwise</li>
- * <li>globalActive : true if {@code company} is false, false otherwise</li>
- * </ul>
- *
- * @param row to set for ElligibleBoat
- * @param boat to set for ElligibleBoat
- * @param company true for companyActive, false for globalActive
- * @return the new ElligibleBoat
- * @throws TopiaException
- */
- protected ElligibleBoat createElligibleBoat(SampleRow row, Boat boat,
- boolean company) throws TopiaException {
-
- ElligibleBoat elligibleBoat = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- ElligibleBoatDAO dao =
- WaoDAOHelper.getElligibleBoatDAO(transaction);
-
- // CREATE
- elligibleBoat = dao.create();
- elligibleBoat.setBoat(boat);
- elligibleBoat.setSampleRow(row);
- if (company) {
- elligibleBoat.setCompanyActive(true);
+ if (b) {
+ if (log.isInfoEnabled()) {
+ log.info("tmp dir : " + file + " was created");
+ }
} else {
- elligibleBoat.setGlobalActive(true);
- }
- transaction.commitTransaction();
-
- } finally {
- transaction.closeContext();
- }
- return elligibleBoat;
- }
-
- /**
- * Create a default contact : <br />
- * <ul>
- * <li>boat : SPRINGFIELD</li>
- * <li>observer : homer</li>
- * <li>sampleRow : 2010_0001</li>
- * <li>state : CONTACT_START</li>
- * <li>companyValidation : null</li>
- * <li>programValidation : null</li>
- * </ul>
- *
- * @return the new Contact
- * @throws TopiaException
- */
- protected Contact createDefaultContact() throws TopiaException {
- TopiaContext transaction = manager.getContext().beginTransaction();
- Contact contact = null;
- try {
- ContactDAO dao = WaoDAOHelper.getContactDAO(transaction);
-
- // CREATE
- contact = dao.create();
- contact.setBoat(findDefaultBoat());
- contact.setContactState(ContactState.CONTACT_START);
- contact.setMainObserver(findDefaultObserver());
- contact.setSampleRow(findDefaultSampleRow());
- if (log.isDebugEnabled()) {
- log.debug("Create contact : " + contact);
- }
-
- transaction.commitTransaction();
-
- } finally {
- transaction.closeContext();
- }
- return contact;
- }
-
- protected SampleRow findDefaultSampleRow(String... properties)
- throws TopiaException {
- SampleRow findRow = findSampleRowByCode(
- SAMPLE_ROW_DEFAULT_CODE, properties);
-
- if (findRow == null) {
- findRow = createDefaultSampleRow();
- }
- return findRow;
- }
-
- /**
- * Find a sampleRow existing using his unique {@code code}. Some
- * {@code properties} can be added to load them if the sampleRow is
- * corretly retrieve.
- *
- * @param code SampleRow unique code
- * @param properties authorized properties : ElligibleBoat
- * @return the existing SampleRow if found, null otherwise
- * @throws TopiaException
- */
- protected SampleRow findSampleRowByCode(String code, String... properties)
- throws TopiaException {
- SampleRow row = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- SampleRowDAO dao =
- WaoDAOHelper.getSampleRowDAO(transaction);
-
- row = dao.findByCode(code);
- if (row != null) {
- // Load properties
- for (String property : properties) {
- if (property.equals(SampleRow.PROPERTY_ELLIGIBLE_BOAT)) {
- row.sizeElligibleBoat();
- }
+ if (log.isWarnEnabled()) {
+ log.warn("Could not create tmp directory : " + file);
}
}
- } finally {
- transaction.closeContext();
}
- return row;
}
- protected Boat findDefaultBoat() throws TopiaException {
- Boat findBoat =
- findBoatByImmatriculation(BOAT_DEFAULT_IMMATRICULATION);
- if (findBoat == null) {
- findBoat = createDefaultBoat();
- }
- return findBoat;
- }
-
- protected Boat findBoatByImmatriculation(int immatriculation)
- throws TopiaException {
- Boat boat = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- BoatDAO dao =
- WaoDAOHelper.getBoatDAO(transaction);
-
- boat = dao.findByImmatriculation(immatriculation);
- } finally {
- transaction.closeContext();
- }
- return boat;
- }
-
- protected WaoUser findDefaultObserver() throws TopiaException {
- WaoUser findObserver =
- findUserByLogin(OBSERVER_DEFAULT_LOGIN);
- if (findObserver == null) {
- findObserver = createDefaultObserver();
- }
- return findObserver;
- }
-
- protected WaoUser findUserByLogin(String login)
- throws TopiaException {
- WaoUser user = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- WaoUserDAO dao =
- WaoDAOHelper.getWaoUserDAO(transaction);
-
- user = dao.findByLogin(login);
- // Load company
- if (user != null) {
- user.getCompany();
- }
- } finally {
- transaction.closeContext();
- }
- return user;
- }
-
- @Deprecated
- public ConnectedUser getConnectedUser(WaoUser user, UserRole userRole, ObsProgram obsProgram) {
- return obsMerFixtures.jeanMichmucheAsAdmin();
- }
-
- @Deprecated
- public ConnectedUser getConnectedAdmin() {
- return obsMerFixtures.connectedAdmin();
- }
-
}
Deleted: 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-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -1,374 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.bean.BoatFilter;
-import fr.ifremer.wao.bean.BoatFilterImpl;
-import fr.ifremer.wao.bean.CompanyBoatInfos;
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatInfos;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ElligibleBoat;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.SampleRowLogImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.io.ImportResults;
-import org.apache.commons.io.IOUtils;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.topia.TopiaException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-/**
- *
- * @author fdesbois <fdesbois at codelutin.com>
- */
-public class ServiceBoatImplTest extends AbstractServiceTest {
-
- private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
-
- protected ServiceBoat service;
-
- @Before
- public void setUp() {
- service = manager.getServiceBoat();
- }
-
- /**
- * Test of getBoatsByFilter method, of class ServiceBoatImpl.
- * @throws Exception
- */
- @Test
- public void testGetBoatsByFilter() throws Exception {
-
- obsMerFixtures.boats();
- Company company = obsMerFixtures.tartanpion();
- List<SampleRow> rows = prepareSampleRows(company);
- obsMerFixtures.jeanMichmuche();
-
- BoatFilter filter = new BoatFilterImpl();
-
- // Exec with no filter
- Map<Integer, Boat> boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(6, boats.size());
- // first boat of the file
- Boat boat = boats.get(273129);
- Assert.assertNotNull(boat);
-
- // Exec with filter on Immatriculation
- filter.setBoatImmatriculation(273129);
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(1, boats.size());
-
- // Exec with filter on Name : start with "M"
- filter = new BoatFilterImpl();
- filter.setBoatName("M");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(2, boats.size());
-
- // Exec with filter on DistrictCode
- filter = new BoatFilterImpl();
- filter.setBoatDistrictCode("UN");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(4, boats.size());
-
- // Exec with filter on SampleRowCode and company
- filter = new BoatFilterImpl();
- filter.setSampleRow(rows.get(0)); // Code = 2009_03
- filter.setCompany(company);
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(2, boats.size());
-
- // Exec with filter on shipOwnerName
- filter = new BoatFilterImpl();
- filter.setShipOwnerName("JEAN");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(4, boats.size());
-
- filter.setShipOwnerName("JEAN PIERRE POUTRE");
- boats = service.getBoatsByFilter(filter);
- Assert.assertEquals(2, boats.size());
- }
-
- @Test
- public void testGetBoatsByImmatriculations() throws Exception {
- obsMerFixtures.boats();
-
- String immatriculations = "174592 978419 273129";
- List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
- Assert.assertEquals(3, results.size());
- immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129";
- results = service.getBoatsByImmatriculations(immatriculations);
- Assert.assertEquals(3, results.size());
- }
-
- @Test
- public void testGetElligibleBoats() throws Exception {
-
- obsMerFixtures.boats();
- Company company = obsMerFixtures.tartanpion();
- prepareSampleRows(company);
-
- CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
- Assert.assertNotNull(result);
- Assert.assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation());
- Assert.assertEquals(company.getName(), result.getCompany().getName());
- // only row1 is getting
- Assert.assertEquals(1, result.getElligibleBoatsValues().size());
- }
-
- private List<SampleRow> prepareSampleRows(Company company)
- throws TopiaException, WaoBusinessException {
- obsMerFixtures.fishingZones();
- obsMerFixtures.bis();
-
- ServiceSampling serviceSampling = manager.getServiceSampling();
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- // Get two SampleRows : 2009_3 & 2010_4
- TopiaContext transaction = manager.getContext().beginTransaction();
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row1 = rowDAO.findByCode("2009_0003");
- row1.getProfession();
- row1.sizeElligibleBoat();
- row1.sizeSampleMonth();
- row1.sizeSampleRowLog();
- SampleRow row2 = rowDAO.findByCode("2010_0004");
- row2.getProfession();
- row2.sizeElligibleBoat();
- row2.sizeSampleMonth();
- row2.sizeSampleRowLog();
-
- transaction.commitTransaction();
-
- transaction.closeContext();
-
- // Set company and elligibleBoats '174592 177474' for row1
- List<Boat> boats = service.getBoatsByImmatriculations("174592 177474");
- row1.setCompany(company);
- serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), getConnectedAdmin());
- // Set company only for row2
- row2.setCompany(company);
- serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), getConnectedAdmin());
-
- return Arrays.asList(row1, row2);
- }
-
- @Test
- public void testCreateUpdateBoatInfos() throws Exception {
-
- /** PREPARE DATA **/
- obsMerFixtures.boats();
-
- List<Boat> boats = service.getBoatsByImmatriculations("174592");
- Boat boat = boats.get(0);
-
- // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
- Company company = obsMerFixtures.tartanpion();
- WaoUser user = obsMerFixtures.jeanMichmuche();
- List<SampleRow> rows = prepareSampleRows(company);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getCompany();
- row.getProfession();
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
- ServiceContact serviceContact = manager.getServiceContact();
-
- // creating the contact will make the boat 174592 eligible for row
- Contact contact1 = serviceContact.newContact(connectedUser, row, boat);
- contact1.setContactState(ContactState.CONTACT_START);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
-
- /** EXEC METHOD **/
- BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
-
- boatInfos.setDup(2);
- boatInfos.setContactFirstName("Jean-Paul");
- boatInfos.setContactLastName("Belmondo");
-
- /** TEST1 **/
- // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent
- companyBoatInfos.setNewElligibleBoat(rows.get(1));
- // ligne deja elligible mise en inactive
- companyBoatInfos.removeElligibleBoat("2009_0003");
-
- service.createUpdateCompanyBoatInfos(companyBoatInfos);
-
- companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
-
- Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
- Assert.assertEquals(3, results.size());
-
- ElligibleBoat elligible = companyBoatInfos.getElligibleBoat("2009_0003");
- Assert.assertNotNull(elligible.getCompanyActive());
- Assert.assertFalse(elligible.getCompanyActive());
-
- elligible = companyBoatInfos.getElligibleBoat("2010_0004");
- Assert.assertTrue(elligible.getCompanyActive());
-
- /** TEST2 **/
- // Suppression ligne lié elligible pour la société
- companyBoatInfos.removeElligibleBoat("2010_0004");
- // Reactivation ligne mise en inactive juste avant
- companyBoatInfos.activeElligibleBoat("2009_0003");
-
- service.createUpdateCompanyBoatInfos(companyBoatInfos);
-
- companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
-
- results = companyBoatInfos.getElligibleBoats();
- Assert.assertEquals(2, results.size());
-
- elligible = companyBoatInfos.getElligibleBoat("2009_0003");
- Assert.assertNull(elligible.getCompanyActive());
- Assert.assertTrue(elligible.getGlobalActive());
-
- /** EXEC METHOD **/
- Contact result = companyBoatInfos.getLastContact();
- Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId());
- }
-
- /**
- * Test of importBoatCsv method, of class ServiceBoatImpl.
- * @throws Exception
- */
- @Test
- public void testImportBoatCsv() throws Exception {
- InputStream input = null;
- try {
- input = getClass().getResourceAsStream("/import/navires.csv");
- ImportResults importResults = service.importBoatCsv(input);
- Assert.assertEquals(6, importResults.getNbRowsImported());
- // new boats added
- Assert.assertEquals(6, importResults.getNbRowsImportedNew());
-
- // Check boat 174592 is active and boat 177474 is inactive
- List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
- Assert.assertTrue(results.get(0).getActive());
- Assert.assertFalse(results.get(1).getActive());
- } finally {
- IOUtils.closeQuietly(input);
- }
- }
-
-// @Test
-// @Ignore("activity calendars are deprecated")
-// public void testGetLastActivityCalendar() throws Exception {
-// log.info("getLastActivityCalendar");
-//
-// /** PREPARE DATA **/
-// TopiaContext transaction = manager.getContext().beginTransaction();
-//
-// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
-// Boat boat = boatDAO.create(
-// Boat.PROPERTY_NAME, "TESTBOAT",
-// Boat.PROPERTY_IMMATRICULATION, 174592);
-//
-// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
-//
-// ActivityCalendar calendar1 = dao.create(
-// ActivityCalendar.PROPERTY_BOAT, boat,
-// ActivityCalendar.PROPERTY_YEAR, 2008);
-//
-// ActivityCalendar calendar2 = dao.create(
-// ActivityCalendar.PROPERTY_BOAT, boat,
-// ActivityCalendar.PROPERTY_YEAR, 2007);
-//
-// ActivityCalendar calendar3 = dao.create(
-// ActivityCalendar.PROPERTY_BOAT, boat,
-// ActivityCalendar.PROPERTY_YEAR, 2009);
-//
-// transaction.commitTransaction();
-// transaction.closeContext();
-//
-// /** EXEC METHOD **/
-// WaoUser user = new WaoUserImpl();
-// user.setFirstName("Jean");
-// user.setLastName("Michmuche");
-// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
-// // user automatically as an non admin
-// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
-// user.addUserProfile(profile);
-// Company company = new CompanyImpl();
-// company.setName("TARTANPION");
-// user.setCompany(company);
-//
-// ConnectedUser connectedUser = new ConnectedUserImpl();
-// connectedUser.setUser(user);
-// connectedUser.setProfile(profile);
-//
-// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
-// Assert.assertNotNull(result);
-// Assert.assertEquals(2009, result.getYear());
-//
-//
-// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
-//
-// if (log.isDebugEnabled()) {
-// log.debug("ActivityCalendar filename for access : " + filename);
-// }
-//
-// File file = new File(filename);
-// Assert.assertTrue(file.exists());
-//
-// BufferedReader reader = new BufferedReader(new FileReader(file));
-// try {
-// String line = reader.readLine();
-// Assert.assertTrue(line.contains("Jean Michmuche"));
-// Assert.assertTrue(line.contains("TARTANPION"));
-// Assert.assertTrue(line.contains("TESTBOAT"));
-// Assert.assertTrue(line.contains("174592"));
-// } finally {
-// reader.close();
-// }
-// }
-
-}
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java (from rev 1336, trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -0,0 +1,327 @@
+/*
+ * #%L
+ * Wao :: Business
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.bean.BoatFilter;
+import fr.ifremer.wao.bean.BoatFilterImpl;
+import fr.ifremer.wao.bean.CompanyBoatInfos;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.BoatInfos;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ElligibleBoat;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowLogImpl;
+import fr.ifremer.wao.io.ImportResults;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * @author fdesbois <fdesbois at codelutin.com>
+ */
+public class ServiceBoatTest extends AbstractServiceTest {
+
+ private static final Logger log = LoggerFactory.getLogger(ServiceBoatTest.class);
+
+ protected ServiceBoat service;
+
+ protected ServiceSampling serviceSampling;
+
+ @Before
+ public void initServiceBoat() {
+ serviceSampling = manager.getServiceSampling();
+ service = manager.getServiceBoat();
+ }
+
+ /**
+ * Test of getBoatsByFilter method, of class ServiceBoatImpl.
+ * @throws Exception
+ */
+ @Test
+ public void testGetBoatsByFilter() {
+
+ obsMerFixtures.boats();
+ Company company = obsMerFixtures.tartanpion();
+ List<SampleRow> rows = prepareSampleRows();
+ obsMerFixtures.jeanMichmuche();
+
+ BoatFilter filter = new BoatFilterImpl();
+
+ // Exec with no filter
+ Map<Integer, Boat> boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(6, boats.size());
+ // first boat of the file
+ Boat boat = boats.get(273129);
+ Assert.assertNotNull(boat);
+
+ // Exec with filter on Immatriculation
+ filter.setBoatImmatriculation(273129);
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(1, boats.size());
+
+ // Exec with filter on Name : start with "M"
+ filter = new BoatFilterImpl();
+ filter.setBoatName("M");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(2, boats.size());
+
+ // Exec with filter on DistrictCode
+ filter = new BoatFilterImpl();
+ filter.setBoatDistrictCode("UN");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(4, boats.size());
+
+ // Exec with filter on SampleRowCode and company
+ filter = new BoatFilterImpl();
+ filter.setSampleRow(rows.get(0)); // Code = 2009_03
+ filter.setCompany(company);
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(2, boats.size());
+
+ // Exec with filter on shipOwnerName
+ filter = new BoatFilterImpl();
+ filter.setShipOwnerName("JEAN");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(4, boats.size());
+
+ filter.setShipOwnerName("JEAN PIERRE POUTRE");
+ boats = service.getBoatsByFilter(filter);
+ Assert.assertEquals(2, boats.size());
+ }
+
+ @Test
+ public void testGetBoatsByImmatriculations() throws Exception {
+ obsMerFixtures.boats();
+
+ String immatriculations = "174592 978419 273129";
+ List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
+ Assert.assertEquals(3, results.size());
+ immatriculations = "174592 \\ èè-- ç999 àà \n\n 978419 00 ççç 273129";
+ results = service.getBoatsByImmatriculations(immatriculations);
+ Assert.assertEquals(3, results.size());
+ }
+
+ @Test
+ public void testGetElligibleBoats() throws Exception {
+
+ Company company = obsMerFixtures.tartanpion();
+ prepareSampleRows();
+
+ CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company);
+ Assert.assertNotNull(result);
+ Assert.assertEquals(obsMerFixtures.fifitou().getImmatriculation(), result.getBoatInfos().getBoat().getImmatriculation());
+ Assert.assertEquals(company.getName(), result.getCompany().getName());
+ // only row1 is getting
+ Assert.assertEquals(1, result.getElligibleBoatsValues().size());
+ }
+
+ protected List<SampleRow> prepareSampleRows() {
+
+ // Get two SampleRows : 2009_3 & 2010_4
+ SampleRow row1 = obsMerFixtures.row2009_0003();
+ SampleRow row2 = obsMerFixtures.row2010_0004();
+
+ // Set company and elligibleBoats '174592 177474' for row1
+ List<Boat> boats = Arrays.asList(obsMerFixtures.fifitou(), obsMerFixtures.mayflowers());
+ row1.setCompany(obsMerFixtures.tartanpion());
+ serviceSampling.createUpdateSampleRow(row1, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
+ row2.setCompany(obsMerFixtures.tartanpion());
+ serviceSampling.createUpdateSampleRow(row2, new ArrayList<Boat>(), new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
+ return Arrays.asList(row1, row2);
+ }
+
+ @Test
+ public void testCreateUpdateBoatInfos() {
+ // Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
+ Company company = obsMerFixtures.tartanpion();
+ Boat boat = obsMerFixtures.fifitou();
+ List<SampleRow> rows = prepareSampleRows();
+
+ SampleRow row = obsMerFixtures.row2010_0001();
+
+ ServiceContact serviceContact = manager.getServiceContact();
+
+ // creating the contact will make the boat 174592 eligible for row
+ Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
+ contact1.setContactState(ContactState.CONTACT_START);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
+
+ CompanyBoatInfos companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, boat.getImmatriculation(), company);
+ BoatInfos boatInfos = companyBoatInfos.getBoatInfos();
+
+ boatInfos.setDup(2);
+ boatInfos.setContactFirstName("Jean-Paul");
+ boatInfos.setContactLastName("Belmondo");
+ // ajout d'une nouvelle ligne "2010_4" non mise en elligible auparavent
+ companyBoatInfos.setNewElligibleBoat(rows.get(1));
+ // ligne deja elligible mise en inactive
+ companyBoatInfos.removeElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+
+ service.createUpdateCompanyBoatInfos(companyBoatInfos);
+
+ companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company);
+
+ Map<String, ElligibleBoat> results = companyBoatInfos.getElligibleBoats();
+ Assert.assertEquals(3, results.size());
+
+ ElligibleBoat elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+ Assert.assertNotNull(elligible.getCompanyActive());
+ Assert.assertFalse(elligible.getCompanyActive());
+
+ elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2010_0004().getCode());
+ Assert.assertTrue(elligible.getCompanyActive());
+
+ // Suppression ligne lié elligible pour la société
+ companyBoatInfos.removeElligibleBoat(obsMerFixtures.row2010_0004().getCode());
+ // Reactivation ligne mise en inactive juste avant
+ companyBoatInfos.activeElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+
+ service.createUpdateCompanyBoatInfos(companyBoatInfos);
+
+ companyBoatInfos = service.getCompanyBoatInfos(ObsProgram.OBSMER, obsMerFixtures.fifitou().getImmatriculation(), company);
+
+ results = companyBoatInfos.getElligibleBoats();
+ Assert.assertEquals(2, results.size());
+
+ elligible = companyBoatInfos.getElligibleBoat(obsMerFixtures.row2009_0003().getCode());
+ Assert.assertNull(elligible.getCompanyActive());
+ Assert.assertTrue(elligible.getGlobalActive());
+
+ Contact result = companyBoatInfos.getLastContact();
+ Assert.assertEquals(contact1.getTopiaId(), result.getTopiaId());
+ }
+
+ /**
+ * Test of importBoatCsv method, of class ServiceBoatImpl.
+ * @throws WaoBusinessException if import of boats fails or if retrieving
+ * boats fail
+ */
+ @Test
+ public void testImportBoatCsv() throws WaoBusinessException {
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/navires.csv");
+ ImportResults importResults = service.importBoatCsv(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
+ // new boats added
+ Assert.assertEquals(6, importResults.getNbRowsImportedNew());
+
+ // Check boat 174592 is active and boat 177474 is inactive
+ List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
+ Assert.assertTrue(results.get(0).getActive());
+ Assert.assertFalse(results.get(1).getActive());
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
+
+// @Test
+// @Ignore("activity calendars are deprecated")
+// public void testGetLastActivityCalendar() throws Exception {
+// log.info("getLastActivityCalendar");
+//
+// /** PREPARE DATA **/
+// TopiaContext transaction = manager.getContext().beginTransaction();
+//
+// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+// Boat boat = boatDAO.create(
+// Boat.PROPERTY_NAME, "TESTBOAT",
+// Boat.PROPERTY_IMMATRICULATION, 174592);
+//
+// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
+//
+// ActivityCalendar calendar1 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2008);
+//
+// ActivityCalendar calendar2 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2007);
+//
+// ActivityCalendar calendar3 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2009);
+//
+// transaction.commitTransaction();
+// transaction.closeContext();
+//
+// /** EXEC METHOD **/
+// WaoUser user = new WaoUserImpl();
+// user.setFirstName("Jean");
+// user.setLastName("Michmuche");
+// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
+// // user automatically as an non admin
+// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
+// user.addUserProfile(profile);
+// Company company = new CompanyImpl();
+// company.setName("TARTANPION");
+// user.setCompany(company);
+//
+// ConnectedUser connectedUser = new ConnectedUserImpl();
+// connectedUser.setUser(user);
+// connectedUser.setProfile(profile);
+//
+// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
+// Assert.assertNotNull(result);
+// Assert.assertEquals(2009, result.getYear());
+//
+//
+// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+//
+// if (log.isDebugEnabled()) {
+// log.debug("ActivityCalendar filename for access : " + filename);
+// }
+//
+// File file = new File(filename);
+// Assert.assertTrue(file.exists());
+//
+// BufferedReader reader = new BufferedReader(new FileReader(file));
+// try {
+// String line = reader.readLine();
+// Assert.assertTrue(line.contains("Jean Michmuche"));
+// Assert.assertTrue(line.contains("TARTANPION"));
+// Assert.assertTrue(line.contains("TESTBOAT"));
+// Assert.assertTrue(line.contains("174592"));
+// } finally {
+// reader.close();
+// }
+// }
+
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -30,6 +30,7 @@
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.SamplingStrategy;
import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.business.fixtures.Fixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.Company;
@@ -92,7 +93,7 @@
protected ServiceContactImpl service;
@Before
- public void setUp() throws Exception {
+ public void setUp() {
MockitoAnnotations.initMocks(this);
service = (ServiceContactImpl) manager.getServiceContact();
sampleMonth = null;
@@ -133,13 +134,11 @@
SampleRowDAO rowDAO =
WaoDAOHelper.getSampleRowDAO(transaction);
- log.trace("SampleRow : 2010_0001");
sampleRow = rowDAO.create(SampleRow.PROPERTY_CODE, "2010_0001",
SampleRow.PROPERTY_COMPANY, company);
SampleMonthDAO monthDAO =
WaoDAOHelper.getSampleMonthDAO(transaction);
- log.trace("SampleMonth : 03/2010 _ row 2010_0001");
Date monthDate = DateUtil.createDate(1, 3, 2010);
sampleMonth = monthDAO.create(SampleMonth.PROPERTY_SAMPLE_ROW, sampleRow,
SampleMonth.PROPERTY_PERIOD_DATE, monthDate);
@@ -700,16 +699,11 @@
/** PREPARE DATA **/
prepareData(true, true);
- when(creator.getCompany()).thenReturn(company);
- when(creator.getLogin()).thenReturn(observer.getLogin());
- when(creator.getProfile()).thenReturn(new UserProfileImpl(ObsProgram.OBSMER, UserRole.ADMIN, true));
-
- /** EXEC METHOD **/
// test 1 : Import new contact with observer creator
- InputStream input =
- getClass().getResourceAsStream("/import/contacts.csv");
+ InputStream input = null;
try {
- ImportResults results = service.importContactCsv(creator, input);
+ input = getClass().getResourceAsStream("/import/contacts.csv");
+ ImportResults results = service.importContactCsv(obsMerFixtures.jeanMichmucheAsAdmin(), input);
assertEquals(0, results.getNbRowsRefused());
assertEquals(1, results.getNbRowsImported());
assertTrue(results.getErrors().isEmpty());
@@ -734,20 +728,5 @@
transaction.closeContext();
}
}
-
- // test 2 : Import new contact with super admin creator
- when(creator.getCompany()).thenReturn(company);
- when(creator.getLogin()).thenReturn("admin");
- when(creator.getProfile()).thenReturn(new UserProfileImpl(ObsProgram.OBSMER, UserRole.ADMIN, true));
-
- input = getClass().getResourceAsStream("/import/contacts.csv");
- try {
- ImportResults results = service.importContactCsv(creator, input);
- assertEquals(1, results.getNbRowsImported());
- assertEquals(0, results.getNbRowsRefused());
- assertTrue(results.getErrors().isEmpty());
- } finally {
- input.close();
- }
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -21,12 +21,9 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ContactFilter;
import fr.ifremer.wao.bean.ContactFilterImpl;
-import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.WaoUser;
import org.junit.Assert;
@@ -60,14 +57,12 @@
@Test
public void testGetContactsFilteredByObserver() throws TopiaException {
- log.info("getContactsFilteredByObserver");
-
/** PREPARE DATA **/
- Contact contact = createDefaultContact();
+ Contact contact = obsMerFixtures.defaultContact();
/** EXEC METHOD **/
ContactFilter filter = new ContactFilterImpl();
- filter.setObserver(findDefaultObserver());
+ filter.setObserver(obsMerFixtures.homerSimpson());
log.info("test 1 : Ok good filter, contact is correctly returned");
Map<String, Contact> results = service.getContacts(filter);
@@ -77,8 +72,7 @@
Assert.assertEquals(contact, contactFind);
log.info("test 2 : Bad filter, no contact is returned");
- WaoUser observer2 = createUser("marge",
- UserRole.OBSERVER, obsMerFixtures.tartanpion());
+ WaoUser observer2 = obsMerFixtures.billMurray();
filter.setObserver(observer2);
@@ -88,21 +82,20 @@
@Test
public void testSaveContactWithMultipleObservers() throws TopiaException {
- Contact contact = createDefaultContact();
+ Contact contact = obsMerFixtures.defaultContact();
- Company company = createCompany("Boite");
- WaoUser toto = createUser("toto", UserRole.OBSERVER, company);
- contact.addSecondaryObservers(toto);
- contact.addSecondaryObservers(createUser("titi", UserRole.OBSERVER, company));
+ WaoUser observer1 = obsMerFixtures.jeanMichmuche();
+ WaoUser observer2 = obsMerFixtures.billMurray();
+ contact.addSecondaryObservers(observer1);
+ contact.addSecondaryObservers(observer2);
- ConnectedUser connectedUser = getConnectedUser(toto, UserRole.COORDINATOR, ObsProgram.OBSMER);
- service.saveContact(connectedUser, contact, false);
+ service.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact, false);
Contact savedContact = service.getContact(contact.getTopiaId());
Assert.assertEquals(2, savedContact.getSecondaryObservers().size());
contact.clearSecondaryObservers();
- service.saveContact(connectedUser, contact, false);
+ service.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact, false);
savedContact = service.getContact(contact.getTopiaId());
Assert.assertEquals(0, savedContact.getSecondaryObservers().size());
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSamplingTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -33,10 +33,7 @@
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.bean.SamplingStrategy;
-import fr.ifremer.wao.bean.UserRole;
import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
import fr.ifremer.wao.entity.ContactImpl;
@@ -60,6 +57,7 @@
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.io.ImportResults;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -93,6 +91,13 @@
private static final Logger log =
LoggerFactory.getLogger(ServiceSamplingTest.class);
+ protected ServiceSamplingImpl serviceSampling;
+
+ @Before
+ public void initServiceSampling() {
+ serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling();
+ }
+
@Test
public void testCreateUpdateSampleRow() throws Exception {
/** PREPARE DATA **/
@@ -136,7 +141,7 @@
months.add(month);
}
- SampleRow row = serviceSampling.newSampleRow(getConnectedAdmin());
+ SampleRow row = serviceSampling.newSampleRow(obsMerFixtures.jeanMichmucheAsAdmin());
row.setCode("2010_03");
row.setNbObservants(3);
row.setAverageTideTime(2.5);
@@ -161,7 +166,7 @@
/** EXEC CREATE **/
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
- serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
assertNotNull(row.getTopiaId());
assertNotNull(row.getProfession().getTopiaId());
@@ -172,7 +177,7 @@
// TEST FOR DELETE ELLIGIBLE PROPERTY_BOAT
boats.remove(2);
- serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
result = serviceSampling.getSampleRow(row.getTopiaId());
assertEquals(2, result.getElligibleBoat().size());
@@ -180,7 +185,7 @@
// TEST FOR REMOVE FISHING ZONE
//FishingZone zone = result.getFishingZone().get(0);
result.getFishingZone().remove(0);
- serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
result = serviceSampling.getSampleRow(row.getTopiaId());
assertEquals(2, result.getFishingZone().size());
@@ -188,11 +193,11 @@
// test if sampleRow becomes null in contact after update
Contact contact = new ContactImpl();
- WaoUser observer = createDefaultObserver();
+ WaoUser observer = obsMerFixtures.homerSimpson();
contact.setMainObserver(observer);
contact.setSampleRow(result);
- ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER);
+ ConnectedUser connectedUser = obsMerFixtures.homerSimpsonAsObserver();
manager.getServiceContact().saveContact(connectedUser, contact, false);
// serviceSampling.createUpdateSampleRow(result, boats, new SampleRowLogImpl());
@@ -211,40 +216,6 @@
}
- @Test
- public void testUpdateElligibleBoats() throws TopiaException {
- /** PREPARE DATA **/
- SampleRow row = createDefaultSampleRow();
- Boat boat = createDefaultBoat();
-
- // Create an elligibleBoat active for company
- ElligibleBoat elligible = createElligibleBoat(row, boat, true);
- // Retrieve the sampleRow (updated with elligible)
- row = findDefaultSampleRow(SampleRow.PROPERTY_ELLIGIBLE_BOAT);
-
- /** EXEC METHOD **/
- List<Boat> boats = new ArrayList<Boat>();
- boats.add(boat);
-
- TopiaContext transaction = serviceSampling.beginTransaction();
- // Will update the existing ElligibleBoat and set globalActive to true
- List<List<Integer>> results =
- serviceSampling.updateElligibleBoats(transaction, row, boats);
-
- /** CHECKING RESULTS **/
- Assert.assertEquals(2, results.size());
- // Index=1 for updatedImmatriculations, 1 is updated
- Assert.assertEquals(1, results.get(1).size());
- // Index=0 for removedImmatriculations, 0 is removed
- Assert.assertEquals(0, results.get(0).size());
-
- Assert.assertEquals(1, row.sizeElligibleBoat());
- ElligibleBoat updatedElligible =
- row.getElligibleBoatByTopiaId(elligible.getTopiaId());
-
- Assert.assertTrue(updatedElligible.getGlobalActive());
- }
-
/**
* Test of getSampleRowsOrderedByFishingZone method, of class ServiceSamplingImpl.
*/
@@ -383,46 +354,13 @@
}
public void testGetSampleRowsForUser() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Calendar begin = new GregorianCalendar(2009,8,1);
- Calendar end = new GregorianCalendar(2010,11,31);
- SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = sampleRowDAO.create(
- SampleRow.PROPERTY_CODE,"2010_178",
- SampleRow.PROPERTY_COMPANY,company,
- SampleRow.PROPERTY_PROGRAM_NAME, "DPMA-2009",
- SampleRow.PROPERTY_PERIOD_BEGIN, begin.getTime(),
- SampleRow.PROPERTY_PERIOD_END, end.getTime());
-
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- /** EXEC METHOD **/
+ obsMerFixtures.samplingPlan();
SamplingFilter filter = new SamplingFilterImpl();
-// User admin = new UserImpl();
-// admin.setAdmin(true);
-// filter.setCompany()
filter.setNbMonthFinishedFromToday(0);
List<SampleRow> results = serviceSampling.getSampleRowsByFilter(filter);
// total in file : 11, 1 refused, 1 finished
assertEquals(9, results.size());
-
-// User user = new UserImpl();
-// user.setCompany(company);
- filter.setCompany(company);
+ filter.setCompany(obsMerFixtures.tartanpion());
results = serviceSampling.getSampleRowsByFilter(filter);
assertEquals(1, results.size());
}
@@ -456,45 +394,21 @@
@Test
public void testDeleteSampleRow() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
+ obsMerFixtures.boats();
+ obsMerFixtures.samplingPlan();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
+ SampleRow row = obsMerFixtures.row2010_0001();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getProfession();
- row.getProfession();
- row.getCompany();
- row.sizeSampleMonth();
- row.sizeElligibleBoat();
- row.sizeSampleRowLog();
- transaction.closeContext();
-
- input = getClass().getResourceAsStream("/import/navires.csv");
ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174592 978419 273129");
-
- serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin());
- /** EXEC METHOD **/
+ serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), obsMerFixtures.jeanMichmucheAsAdmin());
+
serviceSampling.deleteSampleRow(row);
- transaction = manager.getContext().beginTransaction();
- rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- row = rowDAO.findByCode("2010_0001");
+
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRowDAO sampleRowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ row = sampleRowDAO.findByCode("2010_0001");
assertNull(row);
ElligibleBoatDAO elligibleDAO = WaoDAOHelper.getElligibleBoatDAO(transaction);
@@ -502,16 +416,15 @@
assertEquals(0, elligibles.size());
// test if sampleRow can't be deleted if contacts are associated
-
- row = rowDAO.findByCode("2010_0002");
+ row = sampleRowDAO.findByCode("2010_0002");
transaction.closeContext();
Contact contact = new ContactImpl();
- WaoUser observer = createDefaultObserver();
+ WaoUser observer = obsMerFixtures.homerSimpson();
contact.setMainObserver(observer);
contact.setSampleRow(row);
- ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER);
+ ConnectedUser connectedUser = obsMerFixtures.homerSimpsonAsObserver();
manager.getServiceContact().saveContact(connectedUser, contact, false);
try {
@@ -519,8 +432,8 @@
Assert.fail("deleting a sample-row with associated contact should"
+ " not be permitted");
} catch (WaoBusinessException eee) {
- if (log.isTraceEnabled()) {
- log.trace("exception raised while trying to delete sample row",
+ if (log.isDebugEnabled()) {
+ log.debug("exception raised while trying to delete sample row",
eee);
}
}
@@ -529,24 +442,14 @@
@Test
public void testImportSamplingPlanCsv()
throws TopiaException, WaoException, WaoBusinessException {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
+ obsMerFixtures.tartanpion();
+ obsMerFixtures.bis();
+ obsMerFixtures.fishingZones();
- transaction.commitTransaction();
- transaction.closeContext();
-
/** EXEC METHOD **/
InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ImportResults result = serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
+ ImportResults result = serviceSampling.importSamplingPlanCsv(input, obsMerFixtures.jeanMichmucheAsAdmin());
// total imported
assertEquals(12, result.getNbRowsImported());
@@ -554,7 +457,7 @@
assertEquals(1, result.getNbRowsRefused());
/** CHECK VALUES **/
- transaction = manager.getContext().beginTransaction();
+ TopiaContext transaction = manager.getContext().beginTransaction();
SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
@@ -585,8 +488,6 @@
Collection<FishingZone> zones = row1.getFishingZone();
assertEquals(2, zones.size());
- zones.contains(zoneI);
- zones.contains(zoneIId);
Collection<DCF5Code> dcf5codes = row1.getDCF5Code();
assertEquals(1, dcf5codes.size());
@@ -598,24 +499,7 @@
@Test
public void testGetPrograms() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
- transaction.closeContext();
-
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- /** EXEC METHOD **/
+ obsMerFixtures.samplingPlan();
List<String> programs = serviceSampling.getPrograms(null);
assertEquals(4, programs.size());
}
@@ -623,40 +507,12 @@
@Test
public void testGetNewSampleRowCode() throws Exception {
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
+ obsMerFixtures.samplingPlan();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
-
- ServiceSampling serviceSampling = manager.getServiceSampling();
- InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- transaction.closeContext();
-
- /** EXEC METHOD **/
-
Calendar begin = new GregorianCalendar(2009, 11, 1);
String result = serviceSampling.getNewSampleRowCode(begin.getTime());
Assert.assertEquals("2009_0007", result);
-
- // Test regex for replacment in importSamplingPlanCsv
-// String code = "2010_1";
-// code = code.replaceFirst("_(\\d)$", "_0$1");
-// Assert.assertEquals("2010_01", code);
-//
-// code = "2010_04";
-// code = code.replaceFirst("_(\\d)$", "_0$1");
-// Assert.assertEquals("2010_04", code);
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -83,47 +83,13 @@
*/
@Test
public void testGetBoardingBoats() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
+ Boat boat = obsMerFixtures.samourai();
+ Boat boat2 = obsMerFixtures.mayflowers();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
+ SampleRow row = obsMerFixtures.row2010_0001();
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
@@ -181,48 +147,19 @@
*/
@Test
public void testGetComplianceBoardingIndicator() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
+ Boat boat = obsMerFixtures.samourai();
+ Boat boat2 = obsMerFixtures.mayflowers();
+ Company company = obsMerFixtures.tartanpion();
+ Company company2 = obsMerFixtures.bis();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
+ WaoUser user2 = obsMerFixtures.billMurray();
+ obsMerFixtures.samplingPlan();
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
+ SampleRow row = obsMerFixtures.row2010_0001();
+ SampleRow row2 = obsMerFixtures.row2009_0006();
- TopiaContext transaction = manager.getContext().beginTransaction();
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
@@ -267,8 +204,6 @@
contact3.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(connectedUser, contact3, false);
- /** EXEC METHOD **/
-
// result for company TARTANPION
SamplingFilter filter = new SamplingFilterImpl();
filter.setCompany(company);
@@ -364,48 +299,19 @@
*/
@Test
public void testGetContactDataInputDateReactivity() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
+ Boat boat = obsMerFixtures.samourai();
+ Boat boat2 = obsMerFixtures.mayflowers();
+ Company company = obsMerFixtures.tartanpion();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
+ WaoUser user2 = obsMerFixtures.billMurray();
+ obsMerFixtures.samplingPlan();
- TopiaContext transaction = manager.getContext().beginTransaction();
+ SampleRow row = obsMerFixtures.row2010_0001();
+ SampleRow row2 = obsMerFixtures.row2009_0006();
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
ServiceContact serviceContact = manager.getServiceContact();
// First contact : OK
Contact contact1 = new ContactImpl();
@@ -449,8 +355,6 @@
contact3.setValidationCompany(Boolean.TRUE);
serviceContact.saveContact(connectedUser, contact3, false);
- /** EXEC METHOD **/
-
PeriodDates period = new PeriodDates(begin, begin);
SamplingFilter filter = new SamplingFilterImpl();
filter.setCompany(company);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceUserImplTest.java 2011-06-10 22:25:28 UTC (rev 1337)
@@ -34,6 +34,7 @@
import fr.ifremer.wao.entity.UserProfileDAO;
import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserDAO;
import fr.ifremer.wao.entity.WaoUserImpl;
import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
@@ -63,6 +64,25 @@
service = manager.getServiceUser();
}
+ protected WaoUser findUserByLogin(String login)
+ throws TopiaException {
+ WaoUser user = null;
+ TopiaContext transaction = manager.getContext().beginTransaction();
+ try {
+ WaoUserDAO dao =
+ WaoDAOHelper.getWaoUserDAO(transaction);
+
+ user = dao.findByLogin(login);
+ // Load company
+ if (user != null) {
+ user.getCompany();
+ }
+ } finally {
+ transaction.closeContext();
+ }
+ return user;
+ }
+
/**
* Test of createUpdateUser method, of class ServiceUserImpl.
*
1
0
[Suiviobsmer-commits] r1336 - in trunk/wao-business/src: main/java/fr/ifremer/wao/bean test/java/fr/ifremer/wao/business test/java/fr/ifremer/wao/business/fixtures test/java/fr/ifremer/wao/entity test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 16:35:23 +0000 (Fri, 10 Jun 2011)
New Revision: 1336
Log:
refactoring tests
Added:
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
Removed:
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -133,8 +133,8 @@
public String toString() {
StringBuilder toStringBuilder = new StringBuilder();
toStringBuilder.append(getFullName()).append(" (")
- .append(getUser().getCompany().getName())
- .append(getProfile().getDescription());
+ .append(getUser().getCompany().getName()).append(", ")
+ .append(getProfile().getDescription()).append(")");
return toStringBuilder.toString();
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFieldWorkTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -34,6 +34,7 @@
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterValues;
import fr.ifremer.wao.bean.ValidationResult;
+import fr.ifremer.wao.business.fixtures.ObsDebFixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ObsDebCode;
@@ -44,7 +45,6 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Test;
import org.nuiton.util.DateUtil;
import org.nuiton.util.PeriodDates;
@@ -77,13 +77,8 @@
"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";
- protected ObsDebFixtures fixtures;
+ protected ObsDebFixtures fixtures = new ObsDebFixtures(manager);
- @Before
- public void setUpFixtures() {
- fixtures = new ObsDebFixtures(manager);
- }
-
/**
* As an admin, i must be able to import terrestrial divisions
*/
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -1,146 +0,0 @@
-package fr.ifremer.wao.business;
-
-import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.WaoBusinessException;
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyImpl;
-import fr.ifremer.wao.entity.UserProfile;
-import fr.ifremer.wao.entity.UserProfileImpl;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserImpl;
-import fr.ifremer.wao.service.ServiceBoat;
-
-import java.io.InputStream;
-
-public class ObsDebFixtures {
-
- protected WaoServices manager;
-
- protected WaoUser josh;
- protected Company codeLutin;
- protected Company ifremer;
- protected Boat moise;
- protected Boat samourai;
-
- protected boolean boatsImported;
-
- public ObsDebFixtures(WaoServices manager) {
- this.manager = manager;
- }
-
- public Company codeLutin() {
- if (codeLutin == null) {
- codeLutin = new CompanyImpl();
- codeLutin.setName("Code Lutin");
- codeLutin.setActive(true);
- manager.getServiceUser().createUpdateCompany(codeLutin);
- }
- return codeLutin;
- }
-
- public Company ifremer() {
- if (ifremer == null) {
- ifremer = new CompanyImpl();
- ifremer.setName("Ifremer");
- ifremer.setActive(true);
- manager.getServiceUser().createUpdateCompany(ifremer);
- }
- return ifremer;
- }
-
- public void boats() {
- if ( ! boatsImported) {
- ServiceBoat serviceBoat = manager.getServiceBoat();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- try {
- serviceBoat.importBoatCsv(input);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- }
-
- public Boat samourai() {
- if (samourai == null) {
- boats();
- ServiceBoat serviceBoat = manager.getServiceBoat();
- try {
- samourai = serviceBoat.getBoat(174258);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- return samourai;
- }
-
- public Boat moise() {
- if (moise == null) {
- boats();
- ServiceBoat serviceBoat = manager.getServiceBoat();
- try {
- moise = serviceBoat.getBoat(273129);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- }
- return moise;
- }
-
- public WaoUser josh() {
- if (josh == null) {
- josh = new WaoUserImpl();
- josh.setLogin("josh");
- josh.setFirstName("Joshua");
- josh.setLastName("B.");
- josh.setPassword(manager.getContext().encodeString("mdp"));
- josh.setActive(true);
- josh.setCompany(codeLutin());
- UserProfile adminProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.ADMIN, true);
- UserProfile coordinatorProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.COORDINATOR, true);
- UserProfile observerProfile = new UserProfileImpl(ObsProgram.OBSDEB, UserRole.OBSERVER, true);
- josh.addUserProfile(adminProfile);
- josh.addUserProfile(coordinatorProfile);
- josh.addUserProfile(observerProfile);
- try {
- manager.getServiceUser().createUpdateUser(josh, false);
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- josh.setPassword("mdp");
- }
- return josh;
- }
-
- protected ConnectedUser joshAs(UserRole userRole) {
- // first, log in as josh
- ConnectedUser connectedUser = null;
- try {
- connectedUser = manager.getServiceUser().connect(josh().getLogin(), josh().getPassword());
- } catch (WaoBusinessException e) {
- throw new RuntimeException(e);
- }
- // then choose profile
- for (UserProfile userProfile : josh().getUserProfile()) {
- if (userProfile.getUserRole() == userRole) {
- connectedUser.setProfile(userProfile);
- }
- }
- return connectedUser;
- }
-
- public ConnectedUser joshAsAdministrator() {
- return joshAs(UserRole.ADMIN);
- }
-
- public ConnectedUser joshAsCoordinator() {
- return joshAs(UserRole.COORDINATOR);
- }
-
- public ConnectedUser joshAsObserver() {
- return joshAs(UserRole.OBSERVER);
- }
-}
\ No newline at end of file
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebPhoneTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -3,6 +3,7 @@
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ObservationType;
+import fr.ifremer.wao.business.fixtures.ObsDebFixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ObsDebCode;
@@ -11,7 +12,6 @@
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.time.DateUtils;
import org.junit.Assert;
-import org.junit.Before;
import org.junit.Test;
import org.nuiton.util.DateUtil;
import org.slf4j.Logger;
@@ -31,13 +31,8 @@
"PLAN_CODE;REGION_IFREMER;SOCIETE;OBSERVATEUR_COD;OBSERVATION_DATE;NAVIRE_COD;OBSERVATEURS\n"
+ "2011_901;MA;Code Lutin;OBS1;6/2010;174258;";
- protected ObsDebFixtures fixtures;
+ protected ObsDebFixtures fixtures = new ObsDebFixtures(manager);
- @Before
- public void setUpFixtures() {
- fixtures = new ObsDebFixtures(manager);
- }
-
@Test
public void adminCanImportPhoneSamplingPlan() throws WaoBusinessException {
manager.setCurrentDate(2, 1, 2010);
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsMerTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,42 @@
+package fr.ifremer.wao.business;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
+import fr.ifremer.wao.io.ImportResults;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+
+public class ObsMerTest extends AbstractBusinessTest {
+
+ private static final Logger log =
+ LoggerFactory.getLogger(ObsMerTest.class);
+
+ @Rule
+ public ObsMerFixtures fixtures = new ObsMerFixtures(manager);
+
+ @Test
+ public void adminCanImportSamplingPlan() {
+
+ fixtures.tartanpion();
+ fixtures.bis();
+ fixtures.fishingZones();
+
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ImportResults result = serviceSampling.importSamplingPlanCsv(input, fixtures.jeanMichmucheAsAdmin());
+ Assert.assertEquals(12, result.getNbRowsImported());
+ Assert.assertEquals(1, result.getNbRowsRefused());
+ } catch (WaoBusinessException e) {
+ log.error("error while importing sampling plan", e);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
+}
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java (from rev 1327, trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/Fixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,161 @@
+package fr.ifremer.wao.business.fixtures;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoServices;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyImpl;
+import fr.ifremer.wao.entity.UserProfile;
+import fr.ifremer.wao.entity.UserProfileImpl;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserImpl;
+import fr.ifremer.wao.service.ServiceBoat;
+import org.junit.rules.ExternalResource;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
+
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+public abstract class Fixtures extends ExternalResource {
+
+ protected WaoServices manager;
+
+ protected Map<String, Company> companies = new HashMap<String, Company>();
+
+ protected Map<String, WaoUser> waoUsers = new HashMap<String, WaoUser>();
+
+ protected Map<Integer, Boat> boats;
+
+ protected TopiaContext transaction;
+
+ public Fixtures(WaoServices manager) {
+ if (manager == null) {
+ throw new NullPointerException();
+ }
+ this.manager = manager;
+ }
+
+ @Override
+ public void before() {}
+
+ @Override
+ public void after() {
+ if (transaction != null && ! transaction.isClosed()) {
+ try {
+ transaction.closeContext();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ protected TopiaContext getTransaction() {
+ if (transaction == null) {
+ try {
+ transaction = manager.getContext().beginTransaction();
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return transaction;
+ }
+
+ protected abstract ObsProgram getObsProgram();
+
+ protected Company getCompany(String name) {
+ Company company = companies.get(name);
+ if (company == null) {
+ company = new CompanyImpl();
+ company.setName(name);
+ company.setActive(true);
+ manager.getServiceUser().createUpdateCompany(company);
+ companies.put(name, company);
+ }
+ return company;
+ }
+
+ protected WaoUser getWaoUser(String login, String password, String firstName, String lastName, Company company) {
+ WaoUser waoUser = waoUsers.get(login);
+ if (waoUser == null) {
+ waoUser = new WaoUserImpl();
+ waoUser.setLogin(login);
+ waoUser.setPassword(manager.getContext().encodeString(password));
+ waoUser.setFirstName(firstName);
+ waoUser.setLastName(lastName);
+ waoUser.setCompany(company);
+ waoUser.setActive(true);
+ UserProfile adminProfile = new UserProfileImpl(getObsProgram(), UserRole.ADMIN, true);
+ UserProfile coordinatorProfile = new UserProfileImpl(getObsProgram(), UserRole.COORDINATOR, true);
+ UserProfile observerProfile = new UserProfileImpl(getObsProgram(), UserRole.OBSERVER, true);
+ waoUser.addUserProfile(adminProfile);
+ waoUser.addUserProfile(coordinatorProfile);
+ waoUser.addUserProfile(observerProfile);
+ try {
+ manager.getServiceUser().createUpdateUser(waoUser, false);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ waoUser.setPassword(password);
+ waoUsers.put(waoUser.getLogin(), waoUser);
+ }
+ return waoUser;
+ }
+
+ public ConnectedUser connectedUser(WaoUser user, UserRole userRole) {
+ // first, log in
+ ConnectedUser connectedUser;
+ try {
+ System.out.println("trying to connect " + user.getLogin() + " " + user.getPassword());
+ connectedUser = manager.getServiceUser().connect(user.getLogin(), user.getPassword());
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ // then choose profile
+ for (UserProfile userProfile : user.getUserProfile()) {
+ if (userProfile.getUserRole() == userRole) {
+ connectedUser.setProfile(userProfile);
+ }
+ }
+ return connectedUser;
+ }
+
+ public void boats() {
+ if (boats == null) {
+ boats = new HashMap<Integer, Boat>();
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ try {
+ serviceBoat.importBoatCsv(input);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ protected Boat getBoat(Integer immatriculation) {
+ boats();
+ Boat boat = boats.get(immatriculation);
+ if (boat == null) {
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ try {
+ boat = serviceBoat.getBoat(immatriculation);
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ return boat;
+ }
+
+ public Boat samourai() {
+ return getBoat(174258);
+ }
+
+ public Boat moise() {
+ return getBoat(273129);
+ }
+}
\ No newline at end of file
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java (from rev 1327, trunk/wao-business/src/test/java/fr/ifremer/wao/business/ObsDebFixtures.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsDebFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,44 @@
+package fr.ifremer.wao.business.fixtures;
+
+import fr.ifremer.wao.WaoServices;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.WaoUser;
+
+public class ObsDebFixtures extends Fixtures {
+
+ public ObsDebFixtures(WaoServices manager) {
+ super(manager);
+ }
+
+ @Override
+ protected ObsProgram getObsProgram() {
+ return ObsProgram.OBSDEB;
+ }
+
+ public Company codeLutin() {
+ return getCompany("Code Lutin");
+ }
+
+ public Company ifremer() {
+ return getCompany("Ifremer");
+ }
+
+ public WaoUser josh() {
+ return getWaoUser("josh", "mdp", "Joshua", "B.", codeLutin());
+ }
+
+ public ConnectedUser joshAsAdministrator() {
+ return connectedUser(josh(), UserRole.ADMIN);
+ }
+
+ public ConnectedUser joshAsCoordinator() {
+ return connectedUser(josh(), UserRole.COORDINATOR);
+ }
+
+ public ConnectedUser joshAsObserver() {
+ return connectedUser(josh(), UserRole.OBSERVER);
+ }
+}
Added: trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/business/fixtures/ObsMerFixtures.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -0,0 +1,197 @@
+package fr.ifremer.wao.business.fixtures;
+
+import fr.ifremer.wao.WaoBusinessException;
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoServices;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.service.ServiceContact;
+import fr.ifremer.wao.service.ServiceSampling;
+import org.apache.commons.io.IOUtils;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.util.DateUtil;
+
+import java.io.InputStream;
+import java.util.Date;
+
+public class ObsMerFixtures extends Fixtures {
+
+ public ObsMerFixtures(WaoServices manager) {
+ super(manager);
+ }
+
+ @Override
+ protected ObsProgram getObsProgram() {
+ return ObsProgram.OBSMER;
+ }
+
+ public Company tartanpion() {
+ return getCompany("TARTANPION");
+ }
+
+ public Company bis() {
+ return getCompany("BIS");
+ }
+
+ protected boolean fishingZonesImported = false;
+
+ public void fishingZones() {
+ if ( ! fishingZonesImported) {
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ manager.getServiceReferential().importFishingZoneCsv(input);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ fishingZonesImported = true;
+ }
+ }
+
+ public WaoUser jeanMichmuche() {
+ return getWaoUser("jmichmuche", "mdp", "Jean", "Michmuche", tartanpion());
+ }
+
+ public WaoUser billMurray() {
+ return getWaoUser("BillMurray", "mdp", "Bill", "Murray", bis());
+ }
+
+ public ConnectedUser jeanMichmucheAsAdmin() {
+ ConnectedUser connectedUser = connectedUser(jeanMichmuche(), UserRole.ADMIN);
+ return connectedUser;
+ }
+
+ public void samplingPlan() {
+ tartanpion();
+ bis();
+ fishingZones();
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+ InputStream input = null;
+ try {
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ serviceSampling.importSamplingPlanCsv(input, jeanMichmucheAsAdmin());
+ } catch (WaoBusinessException e) {
+ throw new RuntimeException(e);
+ } finally {
+ IOUtils.closeQuietly(input);
+ }
+ }
+
+ public ConnectedUser connectedAdmin() {
+ return jeanMichmucheAsAdmin();
+ }
+
+ public ConnectedUser jeanMichmucheAsObserver() {
+ return connectedUser(jeanMichmuche(), UserRole.OBSERVER);
+ }
+
+ public ConnectedUser billMurrayAsObserver() {
+ return connectedUser(billMurray(), UserRole.OBSERVER);
+ }
+
+ public Boat mayflowers() {
+ return getBoat(177474);
+ }
+
+ public void contacts() {
+ Boat boat = samourai();
+ Boat boat2 = mayflowers();
+ WaoUser user = jeanMichmuche();
+ WaoUser user2 = billMurray();
+ samplingPlan();
+
+ try {
+ manager.setCurrentDate(DateUtil.createDate(5, 10, 2010));
+
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(getTransaction());
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ SampleRow row2 = rowDAO.findByCode("2009_0006");
+
+ ServiceContact serviceContact = manager.getServiceContact();
+
+ ConnectedUser connectedUser = jeanMichmucheAsAdmin();
+
+ // Contacts for company TARTANPION
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setMainObserver(user);
+ contact1.setSampleRow(row);
+ contact1.setContactState(ContactState.OBSERVATION_DONE);
+ Date begin = DateUtil.createDate(3, 3, 2010);
+ contact1.setObservationBeginDate(begin);
+ Date end = DateUtil.createDate(4, 3, 2010);
+ contact1.setObservationEndDate(end);
+ serviceContact.saveContact(connectedUser, contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setMainObserver(user);
+ contact2.setSampleRow(row);
+ contact2.setContactState(ContactState.OBSERVATION_DONE);
+ begin = DateUtil.createDate(3, 10, 2010);
+ contact2.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 10, 2010);
+ contact2.setObservationEndDate(end);
+ serviceContact.saveContact(connectedUser, contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat);
+ contact3.setMainObserver(user);
+ contact3.setSampleRow(row);
+ contact3.setContactState(ContactState.CONTACT_REFUSED);
+ begin = DateUtil.createDate(3, 5, 2010);
+ end = DateUtil.createDate(4, 5, 2010);
+ contact3.setObservationEndDate(end);
+ contact3.setCreationDate(begin);
+ serviceContact.saveContact(connectedUser, contact3, false);
+
+ // Contacts for company BIS
+ Contact contact4 = new ContactImpl();
+ contact4.setBoat(boat2);
+ contact4.setMainObserver(user2);
+ contact4.setSampleRow(row2);
+ contact4.setContactState(ContactState.OBSERVATION_EXPECTED);
+ begin = DateUtil.createDate(3, 3, 2010);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact4.setObservationEndDate(end);
+ contact4.setCreationDate(begin);
+ serviceContact.saveContact(connectedUser, contact4, false);
+
+ Contact contact5 = new ContactImpl();
+ contact5.setBoat(boat2);
+ contact5.setMainObserver(user2);
+ contact5.setSampleRow(row2);
+ contact5.setContactState(ContactState.OBSERVATION_CANCELLED);
+ begin = DateUtil.createDate(3, 5, 2010);
+ end = DateUtil.createDate(4, 5, 2010);
+ contact5.setObservationEndDate(end);
+ contact5.setCreationDate(begin);
+ serviceContact.saveContact(connectedUser, contact5, false);
+
+ // Contact refused by program, will not be in result
+ Contact contact6 = new ContactImpl();
+ contact6.setBoat(boat2);
+ contact6.setMainObserver(user2);
+ contact6.setSampleRow(row2);
+ contact6.setContactState(ContactState.OBSERVATION_CANCELLED);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact6.setCreationDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact6.setObservationEndDate(end);
+ contact6.setValidationProgram(Boolean.FALSE);
+ serviceContact.saveContact(connectedUser, contact6, false);
+ } catch (TopiaException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/entity/BoatImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -26,27 +26,24 @@
import fr.ifremer.wao.WaoDAOHelper;
import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.bean.ConnectedUser;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.DataReliability;
import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.service.AbstractServiceTest;
-import fr.ifremer.wao.service.ServiceBoat;
import fr.ifremer.wao.service.ServiceContact;
-import fr.ifremer.wao.service.ServiceSampling;
-import fr.ifremer.wao.service.ServiceUser;
+import org.junit.After;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaException;
import org.nuiton.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.InputStream;
import java.util.Date;
-import java.util.List;
/**
* BoatImplTest
@@ -59,68 +56,46 @@
private static final Logger log = LoggerFactory.getLogger(BoatImplTest.class);
- /**
- * Test of canCreateContact method, of class BoatImpl.
- */
- @Test
- public void testCanCreateContact() throws Exception {
- /** PREPARE DATA **/
- ServiceUser serviceUser = manager.getServiceUser();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- Company company2 = new CompanyImpl();
- company2.setName("BIS");
- serviceUser.createUpdateCompany(company2);
-
- WaoUser user = new WaoUserImpl();
- user.setLogin("user");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
+ protected TopiaContext transaction;
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
+ protected SampleRow row;
+ protected SampleRow row2;
+ protected ServiceContact serviceContact;
- TopiaContext transaction = manager.getContext().beginTransaction();
+ @Before
+ public void initSampleRows() throws TopiaException {
+ obsMerFixtures.samplingPlan();
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
+ transaction = manager.getContext().beginTransaction();
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ row = rowDAO.findByCode("2010_0001");
+ row2 = rowDAO.findByCode("2009_0006");
- transaction.commitTransaction();
+ serviceContact = manager.getServiceContact();
+ }
- ServiceSampling serviceSampling = manager.getServiceSampling();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedAdmin());
+ @After
+ public void closeTransaction() throws TopiaException {
+ if (transaction != null) {
+ transaction.closeContext();
+ }
+ }
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- row.getCompany();
- row.getProfession();
- row.sizeElligibleBoat();
- row.sizeSampleMonth();
- row.sizeSampleRowLog();
- transaction.closeContext();
-
- row.setCompany(company);
- serviceSampling.createUpdateSampleRow(row, boats, new SampleRowLogImpl(), getConnectedAdmin());
+ /**
+ * Test of canCreateContact method, of class BoatImpl.
+ */
+ @Test
+ public void testCanCreateContact() throws Exception {
- ServiceContact serviceContact = manager.getServiceContact();
- Contact contact1 = serviceContact.newContact(connectedUser, row, boat);
+ Boat boat = obsMerFixtures.samourai();
+ Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
contact1.setContactState(ContactState.CONTACT_START);
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
manager.setCurrentDate(DateUtil.createDate(5, 3, 2010));
/** EXEC METHOD **/
- boolean result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ boolean result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact still open
Assert.assertFalse(result);
@@ -128,34 +103,34 @@
contact1.setComment("why contact was definitely refused");
contact1.setDataReliability(DataReliability.RELIABLE);
contact1.setValidationProgram(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact have a definitive refused for this boat
Assert.assertTrue(result);
contact1.setContactState(ContactState.OBSERVATION_DONE);
contact1.setObservationBeginDate(DateUtil.createDate(3, 3, 2010));
contact1.setObservationEndDate(DateUtil.createDate(4, 3, 2010));
- contact1.setMainObserver(user);
- serviceContact.saveContact(connectedUser, contact1, false);
+ contact1.setMainObserver(obsMerFixtures.jeanMichmuche());
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact is finished
Assert.assertTrue(result);
contact1.setContactState(ContactState.OBSERVATION_CANCELLED);
contact1.setComment("why it was cancelled");
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact is finished
Assert.assertTrue(result);
contact1.setContactState(ContactState.CONTACT_REFUSED);
- serviceContact.saveContact(connectedUser, contact1, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
- result = boat.canCreateContact(ObsProgram.OBSMER, company);
+ result = boat.canCreateContact(ObsProgram.OBSMER, obsMerFixtures.tartanpion());
// contact is finished
Assert.assertTrue(result);
}
@@ -165,79 +140,25 @@
*/
@Test
public void testGetNbBoarding() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- FishingZoneDAO zoneDAO = WaoDAOHelper.getFishingZoneDAO(transaction);
- FishingZone zoneIId = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IId");
- FishingZone zoneIV = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "IV");
- FishingZone zoneI = zoneDAO.create(FishingZone.PROPERTY_DISTRICT_CODE, "I");
-
- transaction.commitTransaction();
-
- ServiceSampling serviceSampling = manager.getServiceSampling();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
- row.getCompany();
- row.getProfession();
- row.sizeElligibleBoat();
- row.sizeSampleMonth();
- row2.getCompany();
- row2.getProfession();
- row2.sizeElligibleBoat();
- row2.sizeSampleMonth();
-
-// BoatInfosDAO boatInfosDAO = WaoDAOHelper.getBoatInfosDAO(transaction);
-// BoatInfos boatInfos = boatInfosDAO.create(BoatInfos.BOAT, boat, BoatInfos.COMPANY, company);
-
- transaction.closeContext();
-
manager.setCurrentDate(DateUtil.createDate(5, 8, 2010));
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
- ServiceContact serviceContact = manager.getServiceContact();
-
- // First contact : OK
- Contact contact1 = serviceContact.newContact(connectedUser, row, boat);
+ Boat boat = obsMerFixtures.samourai();
+ Contact contact1 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
contact1.setContactState(ContactState.OBSERVATION_DONE);
Date begin = DateUtil.createDate(3, 5, 2010);
contact1.setObservationBeginDate(begin);
Date end = DateUtil.createDate(4, 5, 2010);
contact1.setObservationEndDate(end);
contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
- /** EXEC METHOD **/
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact1, false);
Date fromDate = DateUtil.createDate(1, 5, 2010);
int result = boat.getNbBoarding(fromDate);
Assert.assertEquals(1, result);
- Contact contact2 = serviceContact.newContact(connectedUser, row, boat);
+ Contact contact2 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
// Second contact with ValidationProgram = FALSE
contact2.setContactState(ContactState.OBSERVATION_DONE);
begin = DateUtil.createDate(3, 8, 2010);
@@ -246,12 +167,12 @@
contact2.setObservationEndDate(end);
contact2.setValidationCompany(Boolean.TRUE);
contact2.setValidationProgram(Boolean.FALSE);
- serviceContact.saveContact(connectedUser, contact2, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsAdmin(), contact2, false);
result = boat.getNbBoarding(fromDate);
Assert.assertEquals(1, result);
- Contact contact3 = serviceContact.newContact(connectedUser, row, boat);
+ Contact contact3 = serviceContact.newContact(obsMerFixtures.jeanMichmucheAsObserver(), row, boat);
// Third contact with tideBeginDate < fromDate
contact3.setContactState(ContactState.OBSERVATION_DONE);
begin = DateUtil.createDate(3, 3, 2010);
@@ -259,13 +180,12 @@
end = DateUtil.createDate(4, 3, 2010);
contact3.setObservationEndDate(end);
contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact3, false);
+ serviceContact.saveContact(obsMerFixtures.jeanMichmucheAsObserver(), contact3, false);
result = boat.getNbBoarding(fromDate);
Assert.assertEquals(1, result);
- connectedUser = getConnectedUser(user2, UserRole.ADMIN, ObsProgram.OBSMER);
- Contact contact4 = serviceContact.newContact(connectedUser, row2, boat);
+ Contact contact4 = serviceContact.newContact(obsMerFixtures.billMurrayAsObserver(), row2, boat);
// Fourth contact : OK with an other company
contact4.setContactState(ContactState.OBSERVATION_DONE);
begin = DateUtil.createDate(3, 5, 2010);
@@ -273,7 +193,7 @@
end = DateUtil.createDate(4, 5, 2010);
contact4.setObservationEndDate(end);
contact4.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact4, false);
+ serviceContact.saveContact(obsMerFixtures.billMurrayAsObserver(), contact4, false);
result = boat.getNbBoarding(fromDate);
Assert.assertEquals(2, result);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/AbstractServiceTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -21,43 +21,35 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ConnectedUserImpl;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.entity.CompanyDAO;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactDAO;
-import fr.ifremer.wao.entity.ContactImpl;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.ElligibleBoatDAO;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.UserProfileImpl;
import fr.ifremer.wao.entity.WaoUser;
import fr.ifremer.wao.entity.WaoUserDAO;
-import fr.ifremer.wao.entity.WaoUserImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
-import org.nuiton.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
-import java.io.InputStream;
-import java.util.Date;
-import java.util.List;
/**
* AbstractServiceTest
@@ -71,15 +63,26 @@
private static final Logger log =
LoggerFactory.getLogger(AbstractServiceTest.class);
+ protected WaoServices getWaoServices() {
+ // laziness ensure that manager is always available whatever the order
+ // of the rules
+ if (manager == null) {
+ manager = new WaoServices();
+ }
+ return manager;
+ }
+
@Rule
- public WaoServices manager = new WaoServices();
+ public WaoServices manager = getWaoServices();
+ @Rule
+ public ObsMerFixtures obsMerFixtures = new ObsMerFixtures(getWaoServices());
+
protected ServiceSamplingImpl serviceSampling;
protected static final String BOAT_DEFAULT_NAME = "SPRINGFIELD";
protected static final int BOAT_DEFAULT_IMMATRICULATION = 123456;
protected static final String SAMPLE_ROW_DEFAULT_CODE = "2010_0001";
- protected static final String COMPANY_DEFAULT_NAME = "TARTANPION";
protected static final String OBSERVER_DEFAULT_FIRST_NAME = "Homer";
protected static final String OBSERVER_DEFAULT_LAST_NAME = "Simpson";
protected static final String OBSERVER_DEFAULT_LOGIN = "homer";
@@ -102,7 +105,7 @@
}
@Before
- public void setUp() throws Exception {
+ public void setUp() throws Throwable {
serviceSampling = (ServiceSamplingImpl) manager.getServiceSampling();
}
@@ -125,7 +128,7 @@
try {
WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, findDefaultCompany(),
+ WaoUser.PROPERTY_COMPANY, obsMerFixtures.tartanpion(),
WaoUser.PROPERTY_LOGIN, OBSERVER_DEFAULT_LOGIN,
WaoUser.PROPERTY_FIRST_NAME, OBSERVER_DEFAULT_FIRST_NAME,
WaoUser.PROPERTY_LAST_NAME, OBSERVER_DEFAULT_LAST_NAME);
@@ -182,19 +185,6 @@
/**
* Create a company : <br />
* <ul>
- * <li>name : TARTANPION</li>
- * </ul>
- *
- * @return the new Company
- * @throws TopiaException
- */
- protected Company createDefaultCompany() throws TopiaException {
- return createCompany(COMPANY_DEFAULT_NAME);
- }
-
- /**
- * Create a company : <br />
- * <ul>
* <li>name : defined with {@code name} argument</li>
* </ul>
*
@@ -230,7 +220,7 @@
* @throws TopiaException
*/
protected SampleRow createDefaultSampleRow() throws TopiaException {
- return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, findDefaultCompany());
+ return createSampleRow(SAMPLE_ROW_DEFAULT_CODE, obsMerFixtures.tartanpion());
}
/**
@@ -398,28 +388,7 @@
}
return contact;
}
-
- protected Company findDefaultCompany() throws TopiaException {
- Company findCompany = findCompanyByName(BOAT_DEFAULT_NAME);
- if (findCompany == null) {
- findCompany = createDefaultCompany();
- }
- return findCompany;
- }
- protected Company findCompanyByName(String name) throws TopiaException {
- Company company = null;
- TopiaContext transaction = manager.getContext().beginTransaction();
- try {
- CompanyDAO dao = WaoDAOHelper.getCompanyDAO(transaction);
-
- company = dao.findByName(name);
- } finally {
- transaction.closeContext();
- }
- return company;
- }
-
protected SampleRow findDefaultSampleRow(String... properties)
throws TopiaException {
SampleRow findRow = findSampleRowByCode(
@@ -516,136 +485,14 @@
return user;
}
- protected void prepareContactsData(Company company1, Company company2)
- throws WaoBusinessException, TopiaException {
-
- manager.setCurrentDate(DateUtil.createDate(5, 10, 2010));
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company1);
- company1.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
-
- ServiceContact serviceContact = manager.getServiceContact();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
- // Contacts for company TARTANPION
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setMainObserver(user);
- contact1.setSampleRow(row);
- contact1.setContactState(ContactState.OBSERVATION_DONE);
- Date begin = DateUtil.createDate(3, 3, 2010);
- contact1.setObservationBeginDate(begin);
- Date end = DateUtil.createDate(4, 3, 2010);
- contact1.setObservationEndDate(end);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setMainObserver(user);
- contact2.setSampleRow(row);
- contact2.setContactState(ContactState.OBSERVATION_DONE);
- begin = DateUtil.createDate(3, 10, 2010);
- contact2.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 10, 2010);
- contact2.setObservationEndDate(end);
- serviceContact.saveContact(connectedUser, contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat);
- contact3.setMainObserver(user);
- contact3.setSampleRow(row);
- contact3.setContactState(ContactState.CONTACT_REFUSED);
- begin = DateUtil.createDate(3, 5, 2010);
- end = DateUtil.createDate(4, 5, 2010);
- contact3.setObservationEndDate(end);
- contact3.setCreationDate(begin);
- serviceContact.saveContact(connectedUser, contact3, false);
-
- // Contacts for company BIS
- Contact contact4 = new ContactImpl();
- contact4.setBoat(boat2);
- contact4.setMainObserver(user2);
- contact4.setSampleRow(row2);
- contact4.setContactState(ContactState.OBSERVATION_EXPECTED);
- begin = DateUtil.createDate(3, 3, 2010);
- end = DateUtil.createDate(4, 3, 2010);
- contact4.setObservationEndDate(end);
- contact4.setCreationDate(begin);
- serviceContact.saveContact(connectedUser, contact4, false);
-
- Contact contact5 = new ContactImpl();
- contact5.setBoat(boat2);
- contact5.setMainObserver(user2);
- contact5.setSampleRow(row2);
- contact5.setContactState(ContactState.OBSERVATION_CANCELLED);
- begin = DateUtil.createDate(3, 5, 2010);
- end = DateUtil.createDate(4, 5, 2010);
- contact5.setObservationEndDate(end);
- contact5.setCreationDate(begin);
- serviceContact.saveContact(connectedUser, contact5, false);
-
- // Contact refused by program, will not be in result
- Contact contact6 = new ContactImpl();
- contact6.setBoat(boat2);
- contact6.setMainObserver(user2);
- contact6.setSampleRow(row2);
- contact6.setContactState(ContactState.OBSERVATION_CANCELLED);
- begin = DateUtil.createDate(3, 3, 2010);
- contact6.setCreationDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact6.setObservationEndDate(end);
- contact6.setValidationProgram(Boolean.FALSE);
- serviceContact.saveContact(connectedUser, contact6, false);
- }
-
+ @Deprecated
public ConnectedUser getConnectedUser(WaoUser user, UserRole userRole, ObsProgram obsProgram) {
- ConnectedUser connectedUser = new ConnectedUserImpl();
- if (user == null) {
- WaoUser waoUser = new WaoUserImpl();
- connectedUser.setUser(waoUser);
- } else {
- connectedUser.setUser(user);
- }
- connectedUser.setProfile(new UserProfileImpl(obsProgram, userRole, true));
- return connectedUser;
+ return obsMerFixtures.jeanMichmucheAsAdmin();
}
+ @Deprecated
public ConnectedUser getConnectedAdmin() {
- return getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER);
+ return obsMerFixtures.connectedAdmin();
}
}
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-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceBoatImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -24,49 +24,36 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoServices;
import fr.ifremer.wao.WaoBusinessException;
import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.WaoProperty;
import fr.ifremer.wao.bean.BoatFilter;
import fr.ifremer.wao.bean.BoatFilterImpl;
import fr.ifremer.wao.bean.CompanyBoatInfos;
import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ConnectedUserImpl;
import fr.ifremer.wao.bean.ContactState;
import fr.ifremer.wao.bean.ObsProgram;
import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.ActivityCalendar;
-import fr.ifremer.wao.entity.ActivityCalendarDAO;
+import fr.ifremer.wao.business.fixtures.ObsMerFixtures;
import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.BoatDAO;
import fr.ifremer.wao.entity.BoatInfos;
import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.CompanyImpl;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ElligibleBoat;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowDAO;
import fr.ifremer.wao.entity.SampleRowLogImpl;
-import fr.ifremer.wao.entity.UserProfile;
-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.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.BeforeClass;
+import org.junit.Rule;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
@@ -81,10 +68,10 @@
private static final Logger log = LoggerFactory.getLogger(ServiceBoatImplTest.class);
- private ServiceBoat service;
+ protected ServiceBoat service;
@Before
- public void setUp() throws Exception {
+ public void setUp() {
service = manager.getServiceBoat();
}
@@ -94,22 +81,11 @@
*/
@Test
public void testGetBoatsByFilter() throws Exception {
- log.info("getBoatsByFilter");
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- ServiceUser serviceUser = manager.getServiceUser();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- WaoUser user = new WaoUserImpl();
- user.setLogin("login");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
+ obsMerFixtures.boats();
+ Company company = obsMerFixtures.tartanpion();
List<SampleRow> rows = prepareSampleRows(company);
+ obsMerFixtures.jeanMichmuche();
BoatFilter filter = new BoatFilterImpl();
@@ -157,11 +133,8 @@
@Test
public void testGetBoatsByImmatriculations() throws Exception {
- log.info("getBoats");
+ obsMerFixtures.boats();
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
String immatriculations = "174592 978419 273129";
List<Boat> results = service.getBoatsByImmatriculations(immatriculations);
Assert.assertEquals(3, results.size());
@@ -172,45 +145,30 @@
@Test
public void testGetElligibleBoats() throws Exception {
- log.info("getElligibleBoats");
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
-
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
+ obsMerFixtures.boats();
+ Company company = obsMerFixtures.tartanpion();
prepareSampleRows(company);
- /** EXEC METHOD **/
-
CompanyBoatInfos result = service.getCompanyBoatInfos(ObsProgram.OBSMER, 174592, company);
Assert.assertNotNull(result);
Assert.assertEquals(174592, result.getBoatInfos().getBoat().getImmatriculation());
- Assert.assertEquals("TARTANPION", result.getCompany().getName());
+ Assert.assertEquals(company.getName(), result.getCompany().getName());
// only row1 is getting
Assert.assertEquals(1, result.getElligibleBoatsValues().size());
}
private List<SampleRow> prepareSampleRows(Company company)
throws TopiaException, WaoBusinessException {
- ServiceReferential serviceReferential = manager.getServiceReferential();
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- serviceReferential.importFishingZoneCsv(input);
+ obsMerFixtures.fishingZones();
+ obsMerFixtures.bis();
- TopiaContext transaction = manager.getContext().beginTransaction();
- // Create a company
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- manager.getContext().prepareTopiaId(Company.class, company);
- companyDAO.update(company);
- companyDAO.create(Company.PROPERTY_NAME, "BIS");
- transaction.commitTransaction();
-
ServiceSampling serviceSampling = manager.getServiceSampling();
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ InputStream input = getClass().getResourceAsStream("/import/echantillonnage.csv");
serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
// Get two SampleRows : 2009_3 & 2010_4
+ TopiaContext transaction = manager.getContext().beginTransaction();
SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
SampleRow row1 = rowDAO.findByCode("2009_0003");
row1.getProfession();
@@ -240,26 +198,16 @@
@Test
public void testCreateUpdateBoatInfos() throws Exception {
- log.info("createUpdateBoatInfos");
/** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- service.importBoatCsv(input);
+ obsMerFixtures.boats();
List<Boat> boats = service.getBoatsByImmatriculations("174592");
Boat boat = boats.get(0);
// Two rows created : 2009_3 & 2010_4 and one Company : "TARTANPION"
- ServiceUser serviceUser = manager.getServiceUser();
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- serviceUser.createUpdateCompany(company);
- WaoUser user = new WaoUserImpl();
- user.setLogin("user");
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- user.setCompany(company);
- serviceUser.createUpdateUser(user, true);
+ Company company = obsMerFixtures.tartanpion();
+ WaoUser user = obsMerFixtures.jeanMichmuche();
List<SampleRow> rows = prepareSampleRows(company);
TopiaContext transaction = manager.getContext().beginTransaction();
@@ -334,89 +282,93 @@
*/
@Test
public void testImportBoatCsv() throws Exception {
- log.info("importBoatCsv");
-
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ImportResults importResults = service.importBoatCsv(input);
- Assert.assertEquals(6, importResults.getNbRowsImported());
- // new boats added
- Assert.assertEquals(6, importResults.getNbRowsImportedNew());
-
- // Check boat 174592 is active &nd boat 177474 is inactive
- List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
- Assert.assertTrue(results.get(0).getActive());
- Assert.assertFalse(results.get(1).getActive());
- }
-
- @Test
- public void testGetLastActivityCalendar() throws Exception {
- log.info("getLastActivityCalendar");
-
- /** PREPARE DATA **/
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
- Boat boat = boatDAO.create(
- Boat.PROPERTY_NAME, "TESTBOAT",
- Boat.PROPERTY_IMMATRICULATION, 174592);
-
- ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
-
- ActivityCalendar calendar1 = dao.create(
- ActivityCalendar.PROPERTY_BOAT, boat,
- ActivityCalendar.PROPERTY_YEAR, 2008);
-
- ActivityCalendar calendar2 = dao.create(
- ActivityCalendar.PROPERTY_BOAT, boat,
- ActivityCalendar.PROPERTY_YEAR, 2007);
-
- ActivityCalendar calendar3 = dao.create(
- ActivityCalendar.PROPERTY_BOAT, boat,
- ActivityCalendar.PROPERTY_YEAR, 2009);
-
- transaction.commitTransaction();
- transaction.closeContext();
-
- /** EXEC METHOD **/
- WaoUser user = new WaoUserImpl();
- user.setFirstName("Jean");
- user.setLastName("Michmuche");
- // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
- // user automatically as an non admin
- UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
- user.addUserProfile(profile);
- Company company = new CompanyImpl();
- company.setName("TARTANPION");
- user.setCompany(company);
-
- ConnectedUser connectedUser = new ConnectedUserImpl();
- connectedUser.setUser(user);
- connectedUser.setProfile(profile);
-
- ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
- Assert.assertNotNull(result);
- Assert.assertEquals(2009, result.getYear());
-
-
- String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
-
- if (log.isDebugEnabled()) {
- log.debug("ActivityCalendar filename for access : " + filename);
- }
-
- File file = new File(filename);
- Assert.assertTrue(file.exists());
-
- BufferedReader reader = new BufferedReader(new FileReader(file));
+ InputStream input = null;
try {
- String line = reader.readLine();
- Assert.assertTrue(line.contains("Jean Michmuche"));
- Assert.assertTrue(line.contains("TARTANPION"));
- Assert.assertTrue(line.contains("TESTBOAT"));
- Assert.assertTrue(line.contains("174592"));
+ input = getClass().getResourceAsStream("/import/navires.csv");
+ ImportResults importResults = service.importBoatCsv(input);
+ Assert.assertEquals(6, importResults.getNbRowsImported());
+ // new boats added
+ Assert.assertEquals(6, importResults.getNbRowsImportedNew());
+
+ // Check boat 174592 is active and boat 177474 is inactive
+ List<Boat> results = service.getBoatsByImmatriculations("174592 177474");
+ Assert.assertTrue(results.get(0).getActive());
+ Assert.assertFalse(results.get(1).getActive());
} finally {
- reader.close();
+ IOUtils.closeQuietly(input);
}
}
+// @Test
+// @Ignore("activity calendars are deprecated")
+// public void testGetLastActivityCalendar() throws Exception {
+// log.info("getLastActivityCalendar");
+//
+// /** PREPARE DATA **/
+// TopiaContext transaction = manager.getContext().beginTransaction();
+//
+// BoatDAO boatDAO = WaoDAOHelper.getBoatDAO(transaction);
+// Boat boat = boatDAO.create(
+// Boat.PROPERTY_NAME, "TESTBOAT",
+// Boat.PROPERTY_IMMATRICULATION, 174592);
+//
+// ActivityCalendarDAO dao = WaoDAOHelper.getActivityCalendarDAO(transaction);
+//
+// ActivityCalendar calendar1 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2008);
+//
+// ActivityCalendar calendar2 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2007);
+//
+// ActivityCalendar calendar3 = dao.create(
+// ActivityCalendar.PROPERTY_BOAT, boat,
+// ActivityCalendar.PROPERTY_YEAR, 2009);
+//
+// transaction.commitTransaction();
+// transaction.closeContext();
+//
+// /** EXEC METHOD **/
+// WaoUser user = new WaoUserImpl();
+// user.setFirstName("Jean");
+// user.setLastName("Michmuche");
+// // Evo #2063 : the defaut instanciation of WaoUser doesn't put the
+// // user automatically as an non admin
+// UserProfile profile = new UserProfileImpl(ObsProgram.OBSMER, UserRole.OBSERVER, true);
+// user.addUserProfile(profile);
+// Company company = new CompanyImpl();
+// company.setName("TARTANPION");
+// user.setCompany(company);
+//
+// ConnectedUser connectedUser = new ConnectedUserImpl();
+// connectedUser.setUser(user);
+// connectedUser.setProfile(profile);
+//
+// ActivityCalendar result = service.getLastActivityCalendar(connectedUser, boat);
+// Assert.assertNotNull(result);
+// Assert.assertEquals(2009, result.getYear());
+//
+//
+// String filename = WaoProperty.FILENAME_LOG_ACTIVITY_ACCESS.getValue();
+//
+// if (log.isDebugEnabled()) {
+// log.debug("ActivityCalendar filename for access : " + filename);
+// }
+//
+// File file = new File(filename);
+// Assert.assertTrue(file.exists());
+//
+// BufferedReader reader = new BufferedReader(new FileReader(file));
+// try {
+// String line = reader.readLine();
+// Assert.assertTrue(line.contains("Jean Michmuche"));
+// Assert.assertTrue(line.contains("TARTANPION"));
+// Assert.assertTrue(line.contains("TESTBOAT"));
+// Assert.assertTrue(line.contains("174592"));
+// } finally {
+// reader.close();
+// }
+// }
+
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -30,6 +30,7 @@
import fr.ifremer.wao.entity.BoatDistrictDAO;
import fr.ifremer.wao.entity.Company;
import fr.ifremer.wao.io.ImportResults;
+import org.apache.commons.io.IOUtils;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
@@ -41,7 +42,6 @@
import java.io.IOException;
import java.io.InputStream;
-import java.lang.annotation.Inherited;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -68,12 +68,10 @@
public void testImportBoatDistrictKml()
throws WaoBusinessException, TopiaException {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- manager.getServiceBoat().importBoatCsv(input);
+ obsMerFixtures.boats();
/** EXEC METHOD **/
- input = getClass().getResourceAsStream("/import/boat_districts.kml");
+ InputStream input = getClass().getResourceAsStream("/import/boat_districts.kml");
ImportResults results = service.importBoatDistrictKml(input);
Assert.assertEquals(3, results.getNbRowsImported());
Assert.assertEquals(0, results.getNbRowsRefused());
@@ -107,12 +105,10 @@
@Test
@Ignore("SAX print a stack trace in log while testing :-(")
public void testImportBoatDistrictBadKml() throws WaoBusinessException {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- manager.getServiceBoat().importBoatCsv(input);
- /** EXEC METHOD **/
- input = getClass().getResourceAsStream("/import/activity.csv");
+ obsMerFixtures.boats();
+
+ InputStream input = getClass().getResourceAsStream("/import/activity.csv");
try {
ImportResults results = service.importBoatDistrictKml(input);
} catch (WaoException eee) {
@@ -121,23 +117,20 @@
}
@Test
- public void testExportContactStatisticsKml() throws TopiaException, WaoBusinessException {
- /** PREPARE DATA **/
+ public void testExportContactStatisticsKml() throws IOException {
+ obsMerFixtures.contacts();
- // Company TARTANPION
- Company company = createDefaultCompany();
- Company company2 = createCompany("BIS");
-
- prepareContactsData(company, company2);
- //FIXME tchemit 2010-10-13 : Ca sert a quoi, on teste rien ?
InputStream input = getClass().getResourceAsStream("/import/boat_districts.kml");
- ImportResults results = service.importBoatDistrictKml(input);
+ service.importBoatDistrictKml(input);
- /** EXEC METHOD **/
ContactFilter filter = new ContactFilterImpl();
filter.setObsProgram(ObsProgram.OBSMER);
InputStream stream = service.exportContactStatisticsKml(filter);
- //FileUtils.readFileToString()
+ String kml = IOUtils.toString(stream);
+ if (log.isDebugEnabled()) {
+ log.debug("exported contact statistics Kml", kml);
+ }
+ //FIXME tchemit 2010-10-13 : Ca sert a quoi, on teste rien ?
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactImplTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -125,16 +125,9 @@
try {
if (needObserver) {
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
+ company = obsMerFixtures.tartanpion();
+ observer = obsMerFixtures.jeanMichmuche();
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- observer = userDAO.create(
- WaoUser.PROPERTY_COMPANY, company,
- WaoUser.PROPERTY_LOGIN, "jmichmuche",
- WaoUser.PROPERTY_FIRST_NAME, "Jean",
- WaoUser.PROPERTY_LAST_NAME, "Michmuche");
-
when(contact.getMainObserver()).thenReturn(observer);
}
@@ -605,7 +598,7 @@
/** PREPARE DATA **/
prepareData(true, true);
- ConnectedUser connectedUser = getConnectedUser(observer, UserRole.OBSERVER, ObsProgram.OBSMER);
+ ConnectedUser connectedUser = obsMerFixtures.jeanMichmucheAsObserver();
// Don't use a mock in this case
Contact newContact = service.newContact(connectedUser, sampleRow, boat);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceContactTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -78,7 +78,7 @@
log.info("test 2 : Bad filter, no contact is returned");
WaoUser observer2 = createUser("marge",
- UserRole.OBSERVER, findDefaultCompany());
+ UserRole.OBSERVER, obsMerFixtures.tartanpion());
filter.setObserver(observer2);
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceReferentialTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -24,8 +24,6 @@
package fr.ifremer.wao.service;
-import fr.ifremer.wao.WaoServices;
-import fr.ifremer.wao.WaoException;
import fr.ifremer.wao.bean.SamplingFilter;
import fr.ifremer.wao.bean.SamplingFilterImpl;
import fr.ifremer.wao.entity.FishingZone;
@@ -94,32 +92,17 @@
assertTrue(sectors.contains("Golfe de Gascogne"));
}
- /**
- * Test of getFishingZones method, of class ServiceReferentialImpl.
- * @throws WaoException if error during import or getFishingZones
- */
@Test
public void testGetFishingZones() {
InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
int nbNew = service.importFishingZoneCsv(input);
- // nbNew = 6
+ assertEquals(6, nbNew);
List<FishingZone> results = service.getFishingZones();
- assertEquals(nbNew, results.size());
+ assertEquals(6, results.size());
}
- /**
- * Test of importFishingZoneCsv method, of class ServiceReferentialImpl.
- * @throws WaoException if import error
- */
@Test
- public void testImportFishingZoneCsv() {
- InputStream input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- int result = service.importFishingZoneCsv(input);
- assertEquals(6, result);
- }
-
- @Test
public void testImportTerrestrialDivision() {
InputStream input = null;
try {
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 08:49:15 UTC (rev 1335)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 16:35:23 UTC (rev 1336)
@@ -297,14 +297,10 @@
*/
@Test
public void testGetContactStateStatistics() throws Exception {
- /** PREPARE DATA **/
+ obsMerFixtures.contacts();
+ Company company = obsMerFixtures.tartanpion();
+ Company company2 = obsMerFixtures.bis();
- // Company TARTANPION
- Company company = createDefaultCompany();
- Company company2 = createCompany("BIS");
-
- prepareContactsData(company, company2);
-
/** EXEC METHOD **/
// result for company TARTANPION with no period
1
0
[Suiviobsmer-commits] r1335 - trunk/wao-ui/src/main/webapp/css
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 08:49:15 +0000 (Fri, 10 Jun 2011)
New Revision: 1335
Log:
remove bad font formatting
Modified:
trunk/wao-ui/src/main/webapp/css/common.css
Modified: trunk/wao-ui/src/main/webapp/css/common.css
===================================================================
--- trunk/wao-ui/src/main/webapp/css/common.css 2011-06-10 08:48:49 UTC (rev 1334)
+++ trunk/wao-ui/src/main/webapp/css/common.css 2011-06-10 08:49:15 UTC (rev 1335)
@@ -348,9 +348,6 @@
div.so-filters-form div.t-beaneditor label,
div.so-filters-form div.t-beaneditor span {
width: 120px;
- color: #007CC2;
- font-weight: bold;
- font-size: 0.8em;
}
div.t-autocomplete-menu ul {
1
0
[Suiviobsmer-commits] r1334 - in trunk/wao-ui/src/main: java/fr/ifremer/wao/ui/pages webapp
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 08:48:49 +0000 (Fri, 10 Jun 2011)
New Revision: 1334
Log:
fix sample row context in boats
Modified:
trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
trunk/wao-ui/src/main/webapp/Boats.tml
Modified: trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java
===================================================================
--- trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-06-10 08:48:22 UTC (rev 1333)
+++ trunk/wao-ui/src/main/java/fr/ifremer/wao/ui/pages/Boats.java 2011-06-10 08:48:49 UTC (rev 1334)
@@ -118,18 +118,22 @@
waoActivationContext = WaoActivationContext.newContextFromTapestry(ec);
}
- String[] onPassivate() {
- WaoActivationContext waoActivationContext = WaoActivationContext.newEmptyContext();
- if (sampleRowContext != null) {
- waoActivationContext.setSampleRowCode(sampleRowContext.getCode());
- }
- return waoActivationContext.toStrings();
- }
+// String[] onPassivate() {
+// WaoActivationContext waoActivationContext = WaoActivationContext.newEmptyContext();
+// if (sampleRowContext != null) {
+// waoActivationContext.setSampleRowCode(sampleRowContext.getCode());
+// }
+// return waoActivationContext.toStrings();
+// }
@Property
@Persist
private SampleRow sampleRowContext;
+ public void onActionFromCancelSelection() {
+ sampleRowContext = null;
+ }
+
void setupRender() throws WaoException, WaoBusinessException {
// XXX bleny 20110511 resetting on page load may solve an issue when
@@ -146,11 +150,14 @@
waoActivationContext.getShipOwnerName());
String sampleRowContextId = waoActivationContext.getSampleRowCode();
- if (sampleRowContextId == null) {
- sampleRowContext = null;
- } else {
- sampleRowContext = serviceSampling.getSampleRowByCode(user, sampleRowContextId);
- filterComponent.setSampleRow(sampleRowContext);
+ if (sampleRowContextId != null) {
+ SampleRow sampleRow = serviceSampling.getSampleRowByCode(user, sampleRowContextId);
+ filterComponent.setSampleRow(sampleRow);
+ if (user.isCoordinatorOrObserver()) {
+ sampleRowContext = sampleRow;
+ } else {
+ sampleRowContext = null;
+ }
}
}
Modified: trunk/wao-ui/src/main/webapp/Boats.tml
===================================================================
--- trunk/wao-ui/src/main/webapp/Boats.tml 2011-06-10 08:48:22 UTC (rev 1333)
+++ trunk/wao-ui/src/main/webapp/Boats.tml 2011-06-10 08:48:49 UTC (rev 1334)
@@ -50,7 +50,7 @@
<t:if test="sampleRowContext">
<div style="text-align: center;">
- ${format:wao.ui.boats.selecting=sampleRowContext.code}
+ ${format:wao.ui.boats.selecting=sampleRowContext.code} (<a t:type="actionlink" t:id="cancelSelection">${message:wao.ui.action.cancel}</a>)
</div>
</t:if>
1
0
[Suiviobsmer-commits] r1333 - trunk/wao-business/src/test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 10 Jun '11
by bleny@users.labs.libre-entreprise.org 10 Jun '11
10 Jun '11
Author: bleny
Date: 2011-06-10 08:48:22 +0000 (Fri, 10 Jun 2011)
New Revision: 1333
Log:
rename test according to convention
Added:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
Removed:
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
Deleted: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2011-06-09 16:01:11 UTC (rev 1332)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java 2011-06-10 08:48:22 UTC (rev 1333)
@@ -1,485 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-
-package fr.ifremer.wao.service;
-
-import fr.ifremer.wao.WaoDAOHelper;
-import fr.ifremer.wao.bean.BoardingResult;
-import fr.ifremer.wao.bean.ConnectedUser;
-import fr.ifremer.wao.bean.ContactAverageReactivity;
-import fr.ifremer.wao.bean.ContactState;
-import fr.ifremer.wao.bean.ContactStateStatistics;
-import fr.ifremer.wao.bean.ObsProgram;
-import fr.ifremer.wao.bean.SamplingFilter;
-import fr.ifremer.wao.bean.SamplingFilterImpl;
-import fr.ifremer.wao.bean.UserRole;
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.CompanyDAO;
-import fr.ifremer.wao.entity.Contact;
-import fr.ifremer.wao.entity.ContactImpl;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowDAO;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.entity.WaoUserDAO;
-import org.apache.commons.collections.CollectionUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.nuiton.topia.TopiaContext;
-import org.nuiton.util.DateUtil;
-import org.nuiton.util.PeriodDates;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-/**
- *
- * @author fdesbois <fdesbois at codelutin.com>
- */
-public class ServiceSynthesisImplTest extends AbstractServiceTest {
-
- private static final Logger log =
- LoggerFactory.getLogger(ServiceSynthesisImplTest.class);
-
- protected ServiceSynthesis service;
-
- @Before
- public void initialize() {
- manager.setCurrentDate(DateUtil.createDate(5, 10, 2010));
- service = manager.getServiceSynthesis();
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetBoardingBoats() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
- ServiceContact serviceContact = manager.getServiceContact();
- // First contact : OK
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setMainObserver(user);
- contact1.setSampleRow(row);
- contact1.setContactState(ContactState.OBSERVATION_DONE);
- Date begin = DateUtil.createDate(3, 3, 2010);
- contact1.setObservationBeginDate(begin);
- Date end = DateUtil.createDate(4, 3, 2010);
- contact1.setObservationEndDate(end);
- contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setMainObserver(user);
- contact2.setSampleRow(row);
- contact2.setContactState(ContactState.OBSERVATION_DONE);
- begin = DateUtil.createDate(3, 3, 2010);
- contact2.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact2.setObservationEndDate(end);
- contact2.setValidationCompany(Boolean.TRUE);
- contact2.setObservationBeginDate(begin);
- contact2.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat2);
- contact3.setMainObserver(user);
- contact3.setSampleRow(row);
- contact3.setContactState(ContactState.OBSERVATION_DONE);
- begin = DateUtil.createDate(3, 3, 2010);
- contact3.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact3.setObservationEndDate(end);
- contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact3, false);
-
- /** EXEC METHOD **/
- SamplingFilter filter = new SamplingFilterImpl();
- filter.setEstimatedTides(true);
- BoardingResult result = service.getBoardingBoats(filter);
- // one boat with one boarding (177474)
- assertEquals(1, result.getBoardings().get("1").intValue());
- // one boat with two boardings (174258)
- assertEquals(1, result.getBoardings().get("2").intValue());
- assertEquals(2, result.getMaxBoardingValue());
- assertEquals(174258, result.getMaxBoardingBoat().getImmatriculation());
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetComplianceBoardingIndicator() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
- ServiceContact serviceContact = manager.getServiceContact();
- // First contact : OK
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setMainObserver(user);
- contact1.setSampleRow(row);
- // 1 real observer over 1
- contact1.setNbObservants(1);
- contact1.setContactState(ContactState.OBSERVATION_DONE);
- Date begin = DateUtil.createDate(3, 3, 2010);
- contact1.setObservationBeginDate(begin);
- Date end = DateUtil.createDate(4, 3, 2010);
- contact1.setObservationEndDate(end);
- contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setMainObserver(user);
- contact2.setSampleRow(row);
- // 2 real observer over 1
- contact2.setNbObservants(2);
- contact2.setContactState(ContactState.OBSERVATION_DONE);
- begin = DateUtil.createDate(3, 3, 2010);
- contact2.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact2.setObservationEndDate(end);
- contact2.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat2);
- contact3.setMainObserver(user2);
- contact3.setSampleRow(row2);
- // 1 real observer over 2
- contact3.setNbObservants(1);
- contact3.setContactState(ContactState.OBSERVATION_DONE);
- begin = DateUtil.createDate(3, 3, 2010);
- contact3.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact3.setObservationEndDate(end);
- contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact3, false);
-
- /** EXEC METHOD **/
-
- // result for company TARTANPION
- SamplingFilter filter = new SamplingFilterImpl();
- filter.setCompany(company);
- Map<String, Double> results =
- service.getComplianceBoardingIndicator(filter);
-
- assertEquals(1, results.size());
-
- // 0% of non compliance
- Double value = results.get(company.getName());
- assertEquals(1., value, 0);
-
- // result for company BIS using admin mode (no company filtered)
- filter = new SamplingFilterImpl();
- results = service.getComplianceBoardingIndicator(filter);
-
- assertEquals(2, results.size());
-
- // 100% of non compliance
- value = results.get(company2.getName());
- assertEquals(0., value, 0);
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetContactStateStatistics() throws Exception {
- /** PREPARE DATA **/
-
- // Company TARTANPION
- Company company = createDefaultCompany();
- Company company2 = createCompany("BIS");
-
- prepareContactsData(company, company2);
-
- /** EXEC METHOD **/
-
- // result for company TARTANPION with no period
- SamplingFilter filter = new SamplingFilterImpl();
- filter.setEstimatedTides(true);
- filter.setCompany(company);
- Collection<ContactStateStatistics> results =
- service.getContactStateStatistics(filter);
-
- assertEquals(1, results.size());
- ContactStateStatistics result = (ContactStateStatistics)CollectionUtils.get(results, 0);
- assertEquals(3, result.getTotal());
- Map<ContactState, Integer> data = result.getData();
- assertNotNull(data);
-
- assertEquals(ContactState.values().length, data.size());
- assertEquals(2, data.get(ContactState.OBSERVATION_DONE).intValue());
- assertEquals(1, data.get(ContactState.CONTACT_REFUSED).intValue());
-
- // result for company BIS using admin mode
- filter = new SamplingFilterImpl();
- filter.setEstimatedTides(true);
- results = service.getContactStateStatistics(filter);
- assertEquals(2, results.size());
-
- result = null;
- for (ContactStateStatistics stats : results) {
- if (stats.getCompanyName().equals(company2.getName())) {
- result = stats;
- break;
- }
- }
-
- assertEquals(2, result.getTotal());
- data = result.getData();
- assertEquals(1, data.get(ContactState.OBSERVATION_EXPECTED).intValue());
- assertEquals(1, data.get(ContactState.OBSERVATION_CANCELLED).intValue());
-
- // result for period 3/1/2010 to 31/3/2010 for BIS company
- Date begin = DateUtil.createDate(3, 1, 2010);
- Date end = DateUtil.createDate(31, 3, 2010);
- PeriodDates period = new PeriodDates(begin, end);
-
- filter = new SamplingFilterImpl();
- filter.setEstimatedTides(true);
- filter.setCompany(company2);
- filter.setPeriod(period);
- results = service.getContactStateStatistics(filter);
- assertEquals(1, results.size());
-
- result = (ContactStateStatistics)CollectionUtils.get(results, 0);
-
- assertEquals(1, result.getTotal());
- data = result.getData();
- assertEquals(1, data.get(ContactState.OBSERVATION_EXPECTED).intValue());
- assertEquals(0, data.get(ContactState.OBSERVATION_CANCELLED).intValue());
- }
-
- /**
- * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
- */
- @Test
- public void testGetContactDataInputDateReactivity() throws Exception {
- /** PREPARE DATA **/
- InputStream input = getClass().getResourceAsStream("/import/navires.csv");
- ServiceBoat serviceBoat = manager.getServiceBoat();
- serviceBoat.importBoatCsv(input);
- List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
- Boat boat = boats.get(0);
-
- List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
- Boat boat2 = boats2.get(0);
-
- TopiaContext transaction = manager.getContext().beginTransaction();
-
- CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
- Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
- Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
-
- WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
- WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
- WaoUser.PROPERTY_COMPANY, company);
- company.addWaoUser(user);
- WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
- WaoUser.PROPERTY_COMPANY, company2);
- company2.addWaoUser(user2);
-
- transaction.commitTransaction();
-
- input = getClass().getResourceAsStream("/import/zonesPeche.csv");
- ServiceReferential serviceReferential = manager.getServiceReferential();
- serviceReferential.importFishingZoneCsv(input);
-
- input = getClass().getResourceAsStream("/import/echantillonnage.csv");
- ServiceSampling serviceSampling = manager.getServiceSampling();
- serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
-
- SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
- SampleRow row = rowDAO.findByCode("2010_0001");
- SampleRow row2 = rowDAO.findByCode("2009_0006");
-
- transaction.closeContext();
-
- ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
-
- ServiceContact serviceContact = manager.getServiceContact();
- // First contact : OK
- Contact contact1 = new ContactImpl();
- contact1.setBoat(boat);
- contact1.setMainObserver(user);
- contact1.setSampleRow(row);
- Date begin = DateUtil.createDate(3, 3, 2010);
- contact1.setObservationBeginDate(begin);
- Date end = DateUtil.createDate(4, 3, 2010);
- contact1.setObservationEndDate(end);
- Date inputDate = DateUtil.createDate(15, 4, 2010);
- contact1.setDataInputDate(inputDate);
- contact1.setContactState(ContactState.OBSERVATION_DONE);
- contact1.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact1, false);
-
- Contact contact2 = new ContactImpl();
- contact2.setBoat(boat);
- contact2.setMainObserver(user);
- contact2.setSampleRow(row);
- begin = DateUtil.createDate(3, 3, 2010);
- contact2.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact2.setObservationEndDate(end);
- inputDate = DateUtil.createDate(15, 3, 2010);
- contact2.setDataInputDate(inputDate);
- contact2.setContactState(ContactState.OBSERVATION_DONE);
- contact2.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact2, false);
-
- Contact contact3 = new ContactImpl();
- contact3.setBoat(boat2);
- contact3.setMainObserver(user2);
- contact3.setSampleRow(row2);
- begin = DateUtil.createDate(3, 3, 2010);
- contact3.setObservationBeginDate(begin);
- end = DateUtil.createDate(4, 3, 2010);
- contact3.setObservationEndDate(end);
- contact3.setDataInputDate(DateUtil.createDate(6, 3, 2010));
- contact3.setContactState(ContactState.OBSERVATION_DONE);
- contact3.setValidationCompany(Boolean.TRUE);
- serviceContact.saveContact(connectedUser, contact3, false);
-
- /** EXEC METHOD **/
-
- PeriodDates period = new PeriodDates(begin, begin);
- SamplingFilter filter = new SamplingFilterImpl();
- filter.setCompany(company);
- filter.setPeriod(period);
-
- // result for company TARTANPION
- Collection<ContactAverageReactivity> results =
- service.getContactDataInputDateReactivity(filter);
-
- assertEquals(1, results.size());
-
- // 12 days for contact1 + 43 days for contact2 / 2 = 27.5 days
- ContactAverageReactivity res =
- (ContactAverageReactivity)CollectionUtils.get(results, 0);
-
- assertEquals(27., res.getResult(), 0.01);
-
- // result for company BIS using admin mode (no company filtered)
- filter = new SamplingFilterImpl();
- filter.setPeriod(period);
- results = service.getContactDataInputDateReactivity(filter);
-
- // 6 days for contact3 / 1 = 6 days
- res = (ContactAverageReactivity)CollectionUtils.get(results, 0);
-
- assertEquals(3, res.getResult(), 0.01);
- }
-}
Copied: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java (from rev 1327, trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisImplTest.java)
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java (rev 0)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java 2011-06-10 08:48:22 UTC (rev 1333)
@@ -0,0 +1,485 @@
+/*
+ * #%L
+ * Wao :: Business
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+
+package fr.ifremer.wao.service;
+
+import fr.ifremer.wao.WaoDAOHelper;
+import fr.ifremer.wao.bean.BoardingResult;
+import fr.ifremer.wao.bean.ConnectedUser;
+import fr.ifremer.wao.bean.ContactAverageReactivity;
+import fr.ifremer.wao.bean.ContactState;
+import fr.ifremer.wao.bean.ContactStateStatistics;
+import fr.ifremer.wao.bean.ObsProgram;
+import fr.ifremer.wao.bean.SamplingFilter;
+import fr.ifremer.wao.bean.SamplingFilterImpl;
+import fr.ifremer.wao.bean.UserRole;
+import fr.ifremer.wao.entity.Boat;
+import fr.ifremer.wao.entity.Company;
+import fr.ifremer.wao.entity.CompanyDAO;
+import fr.ifremer.wao.entity.Contact;
+import fr.ifremer.wao.entity.ContactImpl;
+import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.entity.SampleRowDAO;
+import fr.ifremer.wao.entity.WaoUser;
+import fr.ifremer.wao.entity.WaoUserDAO;
+import org.apache.commons.collections.CollectionUtils;
+import org.junit.Before;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.util.DateUtil;
+import org.nuiton.util.PeriodDates;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+/**
+ *
+ * @author fdesbois <fdesbois at codelutin.com>
+ */
+public class ServiceSynthesisTest extends AbstractServiceTest {
+
+ private static final Logger log =
+ LoggerFactory.getLogger(ServiceSynthesisTest.class);
+
+ protected ServiceSynthesis service;
+
+ @Before
+ public void initialize() {
+ manager.setCurrentDate(DateUtil.createDate(5, 10, 2010));
+ service = manager.getServiceSynthesis();
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetBoardingBoats() throws Exception {
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = manager.getContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
+ WaoUser.PROPERTY_COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
+ WaoUser.PROPERTY_COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = manager.getServiceReferential();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+ serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
+
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+
+ transaction.closeContext();
+
+ ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
+
+ ServiceContact serviceContact = manager.getServiceContact();
+ // First contact : OK
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setMainObserver(user);
+ contact1.setSampleRow(row);
+ contact1.setContactState(ContactState.OBSERVATION_DONE);
+ Date begin = DateUtil.createDate(3, 3, 2010);
+ contact1.setObservationBeginDate(begin);
+ Date end = DateUtil.createDate(4, 3, 2010);
+ contact1.setObservationEndDate(end);
+ contact1.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setMainObserver(user);
+ contact2.setSampleRow(row);
+ contact2.setContactState(ContactState.OBSERVATION_DONE);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact2.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact2.setObservationEndDate(end);
+ contact2.setValidationCompany(Boolean.TRUE);
+ contact2.setObservationBeginDate(begin);
+ contact2.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat2);
+ contact3.setMainObserver(user);
+ contact3.setSampleRow(row);
+ contact3.setContactState(ContactState.OBSERVATION_DONE);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact3.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact3.setObservationEndDate(end);
+ contact3.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact3, false);
+
+ /** EXEC METHOD **/
+ SamplingFilter filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
+ BoardingResult result = service.getBoardingBoats(filter);
+ // one boat with one boarding (177474)
+ assertEquals(1, result.getBoardings().get("1").intValue());
+ // one boat with two boardings (174258)
+ assertEquals(1, result.getBoardings().get("2").intValue());
+ assertEquals(2, result.getMaxBoardingValue());
+ assertEquals(174258, result.getMaxBoardingBoat().getImmatriculation());
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetComplianceBoardingIndicator() throws Exception {
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = manager.getContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
+ WaoUser.PROPERTY_COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
+ WaoUser.PROPERTY_COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = manager.getServiceReferential();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+ serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
+
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ SampleRow row2 = rowDAO.findByCode("2009_0006");
+
+ transaction.closeContext();
+
+ ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
+
+ ServiceContact serviceContact = manager.getServiceContact();
+ // First contact : OK
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setMainObserver(user);
+ contact1.setSampleRow(row);
+ // 1 real observer over 1
+ contact1.setNbObservants(1);
+ contact1.setContactState(ContactState.OBSERVATION_DONE);
+ Date begin = DateUtil.createDate(3, 3, 2010);
+ contact1.setObservationBeginDate(begin);
+ Date end = DateUtil.createDate(4, 3, 2010);
+ contact1.setObservationEndDate(end);
+ contact1.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setMainObserver(user);
+ contact2.setSampleRow(row);
+ // 2 real observer over 1
+ contact2.setNbObservants(2);
+ contact2.setContactState(ContactState.OBSERVATION_DONE);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact2.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact2.setObservationEndDate(end);
+ contact2.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat2);
+ contact3.setMainObserver(user2);
+ contact3.setSampleRow(row2);
+ // 1 real observer over 2
+ contact3.setNbObservants(1);
+ contact3.setContactState(ContactState.OBSERVATION_DONE);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact3.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact3.setObservationEndDate(end);
+ contact3.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact3, false);
+
+ /** EXEC METHOD **/
+
+ // result for company TARTANPION
+ SamplingFilter filter = new SamplingFilterImpl();
+ filter.setCompany(company);
+ Map<String, Double> results =
+ service.getComplianceBoardingIndicator(filter);
+
+ assertEquals(1, results.size());
+
+ // 0% of non compliance
+ Double value = results.get(company.getName());
+ assertEquals(1., value, 0);
+
+ // result for company BIS using admin mode (no company filtered)
+ filter = new SamplingFilterImpl();
+ results = service.getComplianceBoardingIndicator(filter);
+
+ assertEquals(2, results.size());
+
+ // 100% of non compliance
+ value = results.get(company2.getName());
+ assertEquals(0., value, 0);
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetContactStateStatistics() throws Exception {
+ /** PREPARE DATA **/
+
+ // Company TARTANPION
+ Company company = createDefaultCompany();
+ Company company2 = createCompany("BIS");
+
+ prepareContactsData(company, company2);
+
+ /** EXEC METHOD **/
+
+ // result for company TARTANPION with no period
+ SamplingFilter filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
+ filter.setCompany(company);
+ Collection<ContactStateStatistics> results =
+ service.getContactStateStatistics(filter);
+
+ assertEquals(1, results.size());
+ ContactStateStatistics result = (ContactStateStatistics)CollectionUtils.get(results, 0);
+ assertEquals(3, result.getTotal());
+ Map<ContactState, Integer> data = result.getData();
+ assertNotNull(data);
+
+ assertEquals(ContactState.values().length, data.size());
+ assertEquals(2, data.get(ContactState.OBSERVATION_DONE).intValue());
+ assertEquals(1, data.get(ContactState.CONTACT_REFUSED).intValue());
+
+ // result for company BIS using admin mode
+ filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
+ results = service.getContactStateStatistics(filter);
+ assertEquals(2, results.size());
+
+ result = null;
+ for (ContactStateStatistics stats : results) {
+ if (stats.getCompanyName().equals(company2.getName())) {
+ result = stats;
+ break;
+ }
+ }
+
+ assertEquals(2, result.getTotal());
+ data = result.getData();
+ assertEquals(1, data.get(ContactState.OBSERVATION_EXPECTED).intValue());
+ assertEquals(1, data.get(ContactState.OBSERVATION_CANCELLED).intValue());
+
+ // result for period 3/1/2010 to 31/3/2010 for BIS company
+ Date begin = DateUtil.createDate(3, 1, 2010);
+ Date end = DateUtil.createDate(31, 3, 2010);
+ PeriodDates period = new PeriodDates(begin, end);
+
+ filter = new SamplingFilterImpl();
+ filter.setEstimatedTides(true);
+ filter.setCompany(company2);
+ filter.setPeriod(period);
+ results = service.getContactStateStatistics(filter);
+ assertEquals(1, results.size());
+
+ result = (ContactStateStatistics)CollectionUtils.get(results, 0);
+
+ assertEquals(1, result.getTotal());
+ data = result.getData();
+ assertEquals(1, data.get(ContactState.OBSERVATION_EXPECTED).intValue());
+ assertEquals(0, data.get(ContactState.OBSERVATION_CANCELLED).intValue());
+ }
+
+ /**
+ * Test of getBoardingBoats method, of class ServiceSynthesisImpl.
+ */
+ @Test
+ public void testGetContactDataInputDateReactivity() throws Exception {
+ /** PREPARE DATA **/
+ InputStream input = getClass().getResourceAsStream("/import/navires.csv");
+ ServiceBoat serviceBoat = manager.getServiceBoat();
+ serviceBoat.importBoatCsv(input);
+ List<Boat> boats = serviceBoat.getBoatsByImmatriculations("174258");
+ Boat boat = boats.get(0);
+
+ List<Boat> boats2 = serviceBoat.getBoatsByImmatriculations("177474");
+ Boat boat2 = boats2.get(0);
+
+ TopiaContext transaction = manager.getContext().beginTransaction();
+
+ CompanyDAO companyDAO = WaoDAOHelper.getCompanyDAO(transaction);
+ Company company = companyDAO.create(Company.PROPERTY_NAME, "TARTANPION");
+ Company company2 = companyDAO.create(Company.PROPERTY_NAME, "BIS");
+
+ WaoUserDAO userDAO = WaoDAOHelper.getWaoUserDAO(transaction);
+ WaoUser user = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Jean", WaoUser.PROPERTY_LAST_NAME, "Michmuche",
+ WaoUser.PROPERTY_COMPANY, company);
+ company.addWaoUser(user);
+ WaoUser user2 = userDAO.create(WaoUser.PROPERTY_FIRST_NAME,"Bill", WaoUser.PROPERTY_LAST_NAME, "Murray",
+ WaoUser.PROPERTY_COMPANY, company2);
+ company2.addWaoUser(user2);
+
+ transaction.commitTransaction();
+
+ input = getClass().getResourceAsStream("/import/zonesPeche.csv");
+ ServiceReferential serviceReferential = manager.getServiceReferential();
+ serviceReferential.importFishingZoneCsv(input);
+
+ input = getClass().getResourceAsStream("/import/echantillonnage.csv");
+ ServiceSampling serviceSampling = manager.getServiceSampling();
+ serviceSampling.importSamplingPlanCsv(input, getConnectedUser(null, UserRole.ADMIN, ObsProgram.OBSMER));
+
+ SampleRowDAO rowDAO = WaoDAOHelper.getSampleRowDAO(transaction);
+ SampleRow row = rowDAO.findByCode("2010_0001");
+ SampleRow row2 = rowDAO.findByCode("2009_0006");
+
+ transaction.closeContext();
+
+ ConnectedUser connectedUser = getConnectedUser(user, UserRole.ADMIN, ObsProgram.OBSMER);
+
+ ServiceContact serviceContact = manager.getServiceContact();
+ // First contact : OK
+ Contact contact1 = new ContactImpl();
+ contact1.setBoat(boat);
+ contact1.setMainObserver(user);
+ contact1.setSampleRow(row);
+ Date begin = DateUtil.createDate(3, 3, 2010);
+ contact1.setObservationBeginDate(begin);
+ Date end = DateUtil.createDate(4, 3, 2010);
+ contact1.setObservationEndDate(end);
+ Date inputDate = DateUtil.createDate(15, 4, 2010);
+ contact1.setDataInputDate(inputDate);
+ contact1.setContactState(ContactState.OBSERVATION_DONE);
+ contact1.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact1, false);
+
+ Contact contact2 = new ContactImpl();
+ contact2.setBoat(boat);
+ contact2.setMainObserver(user);
+ contact2.setSampleRow(row);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact2.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact2.setObservationEndDate(end);
+ inputDate = DateUtil.createDate(15, 3, 2010);
+ contact2.setDataInputDate(inputDate);
+ contact2.setContactState(ContactState.OBSERVATION_DONE);
+ contact2.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact2, false);
+
+ Contact contact3 = new ContactImpl();
+ contact3.setBoat(boat2);
+ contact3.setMainObserver(user2);
+ contact3.setSampleRow(row2);
+ begin = DateUtil.createDate(3, 3, 2010);
+ contact3.setObservationBeginDate(begin);
+ end = DateUtil.createDate(4, 3, 2010);
+ contact3.setObservationEndDate(end);
+ contact3.setDataInputDate(DateUtil.createDate(6, 3, 2010));
+ contact3.setContactState(ContactState.OBSERVATION_DONE);
+ contact3.setValidationCompany(Boolean.TRUE);
+ serviceContact.saveContact(connectedUser, contact3, false);
+
+ /** EXEC METHOD **/
+
+ PeriodDates period = new PeriodDates(begin, begin);
+ SamplingFilter filter = new SamplingFilterImpl();
+ filter.setCompany(company);
+ filter.setPeriod(period);
+
+ // result for company TARTANPION
+ Collection<ContactAverageReactivity> results =
+ service.getContactDataInputDateReactivity(filter);
+
+ assertEquals(1, results.size());
+
+ // 12 days for contact1 + 43 days for contact2 / 2 = 27.5 days
+ ContactAverageReactivity res =
+ (ContactAverageReactivity)CollectionUtils.get(results, 0);
+
+ assertEquals(27., res.getResult(), 0.01);
+
+ // result for company BIS using admin mode (no company filtered)
+ filter = new SamplingFilterImpl();
+ filter.setPeriod(period);
+ results = service.getContactDataInputDateReactivity(filter);
+
+ // 6 days for contact3 / 1 = 6 days
+ res = (ContactAverageReactivity)CollectionUtils.get(results, 0);
+
+ assertEquals(3, res.getResult(), 0.01);
+ }
+}
Property changes on: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceSynthesisTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
[Suiviobsmer-commits] r1332 - in trunk/wao-business/src: main/java/fr/ifremer/wao/bean main/java/fr/ifremer/wao/service test/java/fr/ifremer/wao/io test/java/fr/ifremer/wao/service
by bleny@users.labs.libre-entreprise.org 09 Jun '11
by bleny@users.labs.libre-entreprise.org 09 Jun '11
09 Jun '11
Author: bleny
Date: 2011-06-09 16:01:11 +0000 (Thu, 09 Jun 2011)
New Revision: 1332
Log:
fix log to make build more readable
Modified:
trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java
trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java
trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/bean/ConnectedUserImpl.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -128,4 +128,13 @@
String token = getProfile().getToken();
return token;
}
+
+ @Override
+ public String toString() {
+ StringBuilder toStringBuilder = new StringBuilder();
+ toStringBuilder.append(getFullName()).append(" (")
+ .append(getUser().getCompany().getName())
+ .append(getProfile().getDescription());
+ return toStringBuilder.toString();
+ }
}
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-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -444,6 +444,14 @@
protected Contact executeNewContact(TopiaContext transaction, ConnectedUser connectedUser,
SampleRow row, Boat boat) throws WaoBusinessException, TopiaException, EmailException {
+ if (log.isInfoEnabled()) {
+ StringBuilder logMessage = new StringBuilder();
+ logMessage.append(connectedUser).append(
+ " attempt to create a contact for row").append(row).
+ append(" and boat ").append(boat);
+ log.info(logMessage.toString());
+ }
+
ObsProgram obsProgram = row.getObsProgram();
WaoUser user = connectedUser.getUser();
@@ -588,6 +596,7 @@
}
executeSaveContact(transaction, connectedUser, newContact, false);
+
return newContact;
}
@@ -657,8 +666,8 @@
String body = WaoUtils._("wao.business.mammalsCapture.mail.message",
time, profession, contact.getMammalsInfo());
- if (log.isDebugEnabled()) {
- log.debug("will send email with object '" + object + "' and body \n" + body);
+ if (log.isInfoEnabled()) {
+ log.info("will send email with object '" + object + "' and body \n" + body);
}
// now trying to find to what user we need to send the mail
@@ -676,6 +685,9 @@
if (StringUtil.isEmail(userLogin)) {
try {
WaoUtils.sendEmail(userLogin, object, body);
+ if (log.isInfoEnabled()) {
+ log.info("email sent to " + userLogin);
+ }
} catch (EmailException e) {
if (log.isErrorEnabled()) {
log.error("unable to send email to " + userLogin, e);
@@ -1096,6 +1108,9 @@
} catch (RuntimeException e) {
String message = e.getMessage() + " " +
e.getCause().getMessage();
+ if (log.isInfoEnabled()) {
+ log.info("contacts import aborted, " + message);
+ }
throw new WaoBusinessException(message);
}
@@ -1138,8 +1153,8 @@
Map<String, Contact> contacts = executeGetContacts(transaction, filter);
- if (log.isDebugEnabled()) {
- log.debug("export with filter " + filter.toString() + " will include "
+ if (log.isInfoEnabled()) {
+ log.info("export with filter " + filter.toString() + " will include "
+ contacts.size() + " lines");
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceReferentialImpl.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -690,8 +690,9 @@
transaction.commitTransaction();
- if (log.isDebugEnabled()) {
- log.debug("import of obsdeb codes returns " + result);
+ if (log.isInfoEnabled()) {
+ log.info(result.getNbRowsImported() + " obsdeb codes imported (" +
+ result.getNbRowsImportedNew() + " new)");
}
return result;
@@ -726,13 +727,13 @@
transaction.commitTransaction();
- if (log.isDebugEnabled()) {
+ if (log.isInfoEnabled()) {
nbCodes = fishingGearDCFDAO.count() + targetSpeciesDCFDAO.count();
- log.debug(nbCodes + " dcf codes inserted");
+ log.info(nbCodes + " dcf codes inserted");
}
} else {
- if (log.isDebugEnabled()) {
- log.debug("no DCF codes will be inserted");
+ if (log.isInfoEnabled()) {
+ log.info("no DCF codes will be inserted");
}
}
}
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-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSamplingImpl.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -1616,6 +1616,19 @@
throw new UnsupportedOperationException("not supported (yet)");
}
+ if (log.isInfoEnabled()) {
+ StringBuilder logMessage = new StringBuilder();
+ logMessage.append("validation of row ").append(sampleRow)
+ .append(" is ");
+ if (validationResult.isSuccess()) {
+ logMessage.append("successful");
+ } else {
+ logMessage.append("failed: '")
+ .append(validationResult.getMessage()).append("'");
+ }
+ log.info(logMessage.toString());
+ }
+
return validationResult;
}
Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java
===================================================================
--- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceSynthesisImpl.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -1302,14 +1302,14 @@
}
}
- if (log.isDebugEnabled()) {
- log.debug("observation hours synthesis returns ");
+ if (log.isTraceEnabled()) {
+ log.trace("observation hours synthesis returns ");
for (Map.Entry<String, Map<String, Integer>> entry : result.entrySet()) {
String year = entry.getKey();
for (Map.Entry<String, Integer> hourToObservationCount : entry.getValue().entrySet()) {
String hour = hourToObservationCount.getKey();
Integer count = hourToObservationCount.getValue();
- log.debug(year + " " + hour + " " + count);
+ log.trace(year + " " + hour + " " + count);
}
}
}
@@ -1388,14 +1388,14 @@
Map<String, Map<String, Integer>> result = computeBoatsCounts(contacts);
- if (log.isDebugEnabled()) {
- log.debug("boat counts synthesis returns ");
+ if (log.isTraceEnabled()) {
+ log.trace("boat counts synthesis returns ");
for (Map.Entry<String, Map<String, Integer>> entry : result.entrySet()) {
String year = entry.getKey();
for (Map.Entry<String, Integer> monthToBoatsCount : entry.getValue().entrySet()) {
String month = monthToBoatsCount.getKey();
Integer count = monthToBoatsCount.getValue();
- log.debug(year + " " + month + " " + count);
+ log.trace(year + " " + month + " " + count);
}
}
}
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java 2011-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/io/ImportHelperTest.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -79,8 +79,6 @@
*/
@Test
public void testReadSampleRowCode() throws Exception {
- System.out.println("readSampleRowCode");
-
reader.readRecord();
String code = ImportHelper.readSampleRowCode(reader);
assertEquals(code, "2009_0001");
@@ -104,8 +102,6 @@
*/
@Test
public void testRead() throws Exception {
- log.info("read");
-
reader.readRecord();
String code = ImportHelper.read(reader, SAMPLING.PLAN_CODE);
assertEquals(code, "2009_1");
@@ -117,8 +113,6 @@
*/
@Test
public void testReadDate() throws Exception {
- log.info("readDate");
-
InputStream stream =
getClass().getResourceAsStream("/import/dates.csv");
reader = new CsvReader(stream, Charset.forName("UTF-8"));
Modified: trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java
===================================================================
--- trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java 2011-06-09 14:27:08 UTC (rev 1331)
+++ trunk/wao-business/src/test/java/fr/ifremer/wao/service/ServiceCartographyImplTest.java 2011-06-09 16:01:11 UTC (rev 1332)
@@ -32,6 +32,7 @@
import fr.ifremer.wao.io.ImportResults;
import org.junit.Assert;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.nuiton.topia.TopiaContext;
import org.nuiton.topia.TopiaException;
@@ -40,6 +41,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.lang.annotation.Inherited;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -103,6 +105,7 @@
}
@Test
+ @Ignore("SAX print a stack trace in log while testing :-(")
public void testImportBoatDistrictBadKml() throws WaoBusinessException {
/** PREPARE DATA **/
InputStream input = getClass().getResourceAsStream("/import/navires.csv");
1
0