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 2014
- 6 participants
- 139 discussions
r2109 - trunk/wao-web/src/main/java/fr/ifremer/wao/web
by bleny@users.forge.codelutin.com 26 Jun '14
by bleny@users.forge.codelutin.com 26 Jun '14
26 Jun '14
Author: bleny
Date: 2014-06-26 16:29:00 +0200 (Thu, 26 Jun 2014)
New Revision: 2109
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2109
Log:
disable login cheat
Modified:
trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java 2014-06-26 09:20:44 UTC (rev 2108)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/WaoInterceptor.java 2014-06-26 14:29:00 UTC (rev 2109)
@@ -27,12 +27,6 @@
import com.opensymphony.xwork2.interceptor.Interceptor;
import fr.ifremer.wao.WaoApplicationConfig;
import fr.ifremer.wao.WaoTopiaPersistenceContext;
-import fr.ifremer.wao.entity.ObsProgram;
-import fr.ifremer.wao.entity.UserProfile;
-import fr.ifremer.wao.entity.UserProfileImpl;
-import fr.ifremer.wao.entity.UserRole;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.services.AuthenticatedWaoUser;
import fr.ifremer.wao.services.WaoApplicationContext;
import fr.ifremer.wao.services.WaoService;
import fr.ifremer.wao.services.WaoServiceContext;
@@ -77,26 +71,9 @@
WaoSession waoSession = getWaoSession(invocation);
- if (waoSession.getAuthenticatedWaoUser() == null) {
+ if (waoSession.getAuthenticatedWaoUser() == null && ! ACTIONS_ACCESSIBLE_WITHOUT_LOGIN.contains(waoAction.getClass())) {
- boolean loginCheat = getWaoApplicationContext(invocation).getApplicationConfig().isDevMode();
- if (loginCheat) {
- // login à l'arrache
- WaoUser admin = serviceContext.getPersistenceContext().getWaoUserDao().forLoginEquals("vincent.badts(a)ifremer.fr").findUnique();
- admin.sizeUserProfile();
- admin.sizeCanReadBoats();
- admin.getCompany().getTopiaId();
- UserProfile userProfile = new UserProfileImpl();
- userProfile.setUserRole(UserRole.ADMIN);
- userProfile.setObsProgram(ObsProgram.OBSVENTE);
- userProfile.setCanWrite(true);
- AuthenticatedWaoUser authenticatedWaoUser = new AuthenticatedWaoUser(admin, userProfile);
- waoSession.setAuthenticatedWaoUser(authenticatedWaoUser);
- } else {
- if ( ! ACTIONS_ACCESSIBLE_WITHOUT_LOGIN.contains(waoAction.getClass())) {
- return "redirect-to-login";
- }
- }
+ return "redirect-to-login";
}
1
0
r2108 - trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv
by bleny@users.forge.codelutin.com 26 Jun '14
by bleny@users.forge.codelutin.com 26 Jun '14
26 Jun '14
Author: bleny
Date: 2014-06-26 11:20:44 +0200 (Thu, 26 Jun 2014)
New Revision: 2108
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2108
Log:
remove obsdeb csv model
Removed:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsDebSamplingPlanImportExportModel.java
Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsDebSamplingPlanImportExportModel.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsDebSamplingPlanImportExportModel.java 2014-06-26 09:14:21 UTC (rev 2107)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsDebSamplingPlanImportExportModel.java 2014-06-26 09:20:44 UTC (rev 2108)
@@ -1,303 +0,0 @@
-/*
- * #%L
- * Wao :: Business
- * %%
- * 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.services.service.csv;
-
-
-import fr.ifremer.wao.entity.Boat;
-import fr.ifremer.wao.entity.Company;
-import fr.ifremer.wao.entity.ObsProgram;
-import fr.ifremer.wao.entity.ObservationType;
-import fr.ifremer.wao.entity.SampleRow;
-import fr.ifremer.wao.entity.SampleRowImpl;
-import fr.ifremer.wao.entity.TerrestrialDivision;
-import fr.ifremer.wao.entity.TerrestrialLocation;
-import fr.ifremer.wao.entity.WaoUser;
-import fr.ifremer.wao.services.service.csv.operations.BoatParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.CompanyParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.RegionParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.SampleRowCodeParserFormatter;
-import fr.ifremer.wao.services.service.csv.operations.UsersParserFormatter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.csv.Common;
-import org.nuiton.csv.ExportableColumn;
-import org.nuiton.csv.ImportExportModel;
-import org.nuiton.csv.ImportableColumn;
-import org.nuiton.csv.ModelBuilder;
-import org.nuiton.csv.ValueGetterSetter;
-import org.nuiton.csv.ValueParserFormatter;
-
-import java.text.ParseException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-
-/**
- * For now, this model support only import/export of ObsDeb sampling plans. Both
- * field work sampling plan and phoning sampling plan are supported.
- */
-public class ObsDebSamplingPlanImportExportModel implements ImportExportModel<SampleRow> {
-
- private static final Log log = LogFactory.getLog(ObsDebSamplingPlanImportExportModel.class);
-
- protected static final String BOAT_HEADER_NAME = "NAVIRE_COD";
-
- protected static final String OBSERVATION_UNIT_HEADER_NAME = "UNITE_OBSERVATION_COD";
-
- protected final Locale locale;
-
- protected List<TerrestrialDivision> observationUnits;
-
- protected List<WaoUser> allWaoUsers;
-
- protected List<Company> allCompanies;
-
- protected List<Boat> allActiveBoats;
-
- protected List<TerrestrialLocation> allRegions;
-
- /** Si le modèle représente un import/export pour l'admin ou pas */
- protected boolean admin;
-
- protected ModelBuilder<SampleRow> modelBuilder;
-
- /** Type of observation, may be phone or work field depending of what the user is importing */
- protected ObservationType observationType;
-
- /** Constructor used for import */
- public ObsDebSamplingPlanImportExportModel(Locale locale,
- boolean admin,
- List<TerrestrialDivision> observationUnits,
- List<WaoUser> allWaoUsers,
- List<Company> allCompanies,
- List<Boat> allActiveBoats,
- List<TerrestrialLocation> allRegions) {
- this.locale = locale;
- this.admin = admin;
- this.allWaoUsers = allWaoUsers;
- this.observationUnits = observationUnits;
- this.allCompanies = allCompanies;
- this.allActiveBoats = allActiveBoats;
- this.allRegions = allRegions;
- }
-
- /** Constructor used for export */
- public ObsDebSamplingPlanImportExportModel(Locale locale, boolean admin, ObservationType observationType) {
- this.locale = locale;
- this.admin = admin;
- this.observationType = observationType;
- }
-
- @Override
- public void pushCsvHeaderNames(List<String> headerNames) {
- // by reading the header, we must determine what kind of sampling plan is it
- if (headerNames.contains(OBSERVATION_UNIT_HEADER_NAME)) {
- observationType = ObservationType.FIELD_WORK_OBSERVATION;
- } else if (headerNames.contains(BOAT_HEADER_NAME)) {
- observationType = ObservationType.PHONE_CALL;
- }
- if (log.isDebugEnabled()) {
- log.debug("detected type of sampling plan: " + observationType);
- }
- }
-
- @Override
- public char getSeparator() {
- return ';';
- }
-
- @Override
- public SampleRow newEmptyInstance() {
- SampleRow newSampleRow = new SampleRowImpl();
- newSampleRow.setObsProgram(ObsProgram.OBSDEB);
- newSampleRow.setObservationType(observationType);
- return newSampleRow;
- }
-
- protected void buildModel() {
- modelBuilder = new ModelBuilder<>();
- modelBuilder.newColumnForImportExport(
- "PLAN_CODE",
- SampleRow.PROPERTY_CODE,
- new SampleRowCodeParserFormatter(locale, ObsProgram.OBSDEB));
- if (admin) {
- modelBuilder.newColumnForImportExport(
- "SOCIETE",
- SampleRow.PROPERTY_COMPANY,
- new CompanyParserFormatter(locale, allCompanies));
- }
- modelBuilder.newColumnForImportExport(
- "OBSERVATEUR_COD",
- SampleRow.PROPERTY_GROUP_NAME);
- modelBuilder.newColumnForImportExport(
- "OBSERVATEURS",
- SampleRow.PROPERTY_OBSERVERS,
- new UsersParserFormatter(locale, allWaoUsers));
- if (observationType == ObservationType.FIELD_WORK_OBSERVATION) {
- modelBuilder.newColumnForImportExport(
- "OBSERVATION_DATE",
- SampleRow.PROPERTY_EXPECTED_DATE,
- Common.DAY);
- ObservationUnitParserFormatter observationUnitParser =
- new ObservationUnitParserFormatter(observationUnits);
- ValueGetterSetter<SampleRow, String> regionCodeGetterSetter =
- new RegionCodeSetter(observationUnitParser);
- modelBuilder.newColumnForImportExport(
- "REGION_IFREMER_COD",
- regionCodeGetterSetter);
- modelBuilder.newColumnForImportExport(
- OBSERVATION_UNIT_HEADER_NAME,
- SampleRow.PROPERTY_OBSERVATION_UNIT,
- observationUnitParser);
- modelBuilder.newColumnForImportExport(
- "LIGNE_SANS_CONTACTS",
- SampleRow.PROPERTY_BLANK_ROW,
- new Common.BooleanParserFormatter(false, false));
- } else if (observationType == ObservationType.PHONE_CALL) {
- modelBuilder.newColumnForImportExport(
- "REGION_IFREMER",
- "terrestrialLocation",
- new RegionParserFormatter(locale, allRegions));
- modelBuilder.newColumnForImportExport(
- "OBSERVATION_DATE",
- SampleRow.PROPERTY_EXPECTED_DATE,
- Common.WEEK);
- modelBuilder.newColumnForImportExport(
- BOAT_HEADER_NAME,
- SampleRow.PROPERTY_BOAT,
- new BoatParserFormatter(allActiveBoats, locale));
- }
- if (log.isDebugEnabled()) {
- log.debug("model built : " + modelBuilder.getColumnsForImport());
- }
- }
-
- @Override
- public Iterable<ImportableColumn<SampleRow, Object>> getColumnsForImport() {
- if (modelBuilder == null) {
- buildModel();
- }
- return (Iterable) modelBuilder.getColumnsForImport();
- }
-
- @Override
- public Iterable<ExportableColumn<SampleRow, Object>> getColumnsForExport() {
- if (modelBuilder == null) {
- buildModel();
- }
- return (Iterable) modelBuilder.getColumnsForExport();
- }
-
- protected static class ObservationUnitParserFormatter implements ValueParserFormatter<TerrestrialDivision> {
-
- /** Index Region code -> UO Code -> Terrestrial division. */
- protected Map<String, Map<String, TerrestrialDivision>> indexedObservationUnits;
-
- protected List<TerrestrialDivision> observationUnits;
-
- protected String currentRegionCode;
-
- ObservationUnitParserFormatter(List<TerrestrialDivision> observationUnits) {
- this.observationUnits = observationUnits;
- }
-
- protected void indexObservationUnits(List<TerrestrialDivision> observationUnits) {
- indexedObservationUnits = new HashMap<>();
- for (TerrestrialDivision terrestrialDivision : observationUnits) {
- String regionCode = terrestrialDivision.getRegionIfremer().getRegionIfremerCode();
- Map<String, TerrestrialDivision> unitCodesToDivision = indexedObservationUnits.get(regionCode);
- if (unitCodesToDivision == null) {
- unitCodesToDivision = new HashMap<>();
- }
- unitCodesToDivision.put(terrestrialDivision.getObservationUnitCode(), terrestrialDivision);
- indexedObservationUnits.put(regionCode, unitCodesToDivision);
- }
-
- if (log.isTraceEnabled()) {
- for (Map.Entry<String, Map<String, TerrestrialDivision>> entry : indexedObservationUnits.entrySet()) {
- log.trace(entry.getKey());
- for (Map.Entry<String, TerrestrialDivision> unitCodesToDivision : entry.getValue().entrySet()) {
- log.trace(" -> " + unitCodesToDivision.getKey() + " -> "
- + unitCodesToDivision.getValue());
- }
- }
- }
- }
-
- @Override
- public TerrestrialDivision parse(String observationUnitCode) throws ParseException {
- if (indexedObservationUnits == null) {
- indexObservationUnits(observationUnits);
- }
- Map<String, TerrestrialDivision> uos = indexedObservationUnits.get(currentRegionCode);
- if (uos == null) {
- throw new IllegalArgumentException("Le code de région '" + currentRegionCode
- + "' n'est pas un code valide");
- }
- TerrestrialDivision observationUnit = uos.get(observationUnitCode);
- if (observationUnit == null) {
- throw new IllegalArgumentException("Il n'y a pas d'unité '" + observationUnitCode
- + "' dans la région '" + currentRegionCode + "'");
- }
- return observationUnit;
- }
-
- @Override
- public String format(TerrestrialDivision terrestrialDivision) {
- String observationUnitCode = "";
- if (terrestrialDivision != null) {
- observationUnitCode = terrestrialDivision.getObservationUnitCode();
- }
- return observationUnitCode;
- }
-
- public void setCurrentRegionCode(String regionCode) {
- currentRegionCode = regionCode;
- }
- }
-
- protected static class RegionCodeSetter implements ValueGetterSetter<SampleRow, String> {
-
- protected ObservationUnitParserFormatter observationUnitSetter;
-
- RegionCodeSetter(ObservationUnitParserFormatter observationUnitSetter) {
- this.observationUnitSetter = observationUnitSetter;
- }
-
- @Override
- public String get(SampleRow sampleRow) throws Exception {
- String regionCode;
- if (sampleRow.getObservationUnit() == null) {
- regionCode = "";
- } else {
- regionCode = sampleRow.getObservationUnit().getRegionIfremer()
- .getRegionIfremerCode();
- }
- return regionCode;
- }
-
- @Override
- public void set(SampleRow sampleRow, String regionCode) throws Exception {
- observationUnitSetter.setCurrentRegionCode(regionCode);
- }
- }
-}
1
0
r2107 - in trunk/wao-web/src/main: resources/i18n webapp/WEB-INF/content
by bleny@users.forge.codelutin.com 26 Jun '14
by bleny@users.forge.codelutin.com 26 Jun '14
26 Jun '14
Author: bleny
Date: 2014-06-26 11:14:21 +0200 (Thu, 26 Jun 2014)
New Revision: 2107
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2107
Log:
fixes #5311 validate postal code
Modified:
trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
trunk/wao-web/src/main/webapp/WEB-INF/content/boat-details.jsp
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-06-25 16:41:58 UTC (rev 2106)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-06-26 09:14:21 UTC (rev 2107)
@@ -283,6 +283,7 @@
wao.ui.form.Boat.name=Name
wao.ui.form.Boat.registrationCode=Registration number
wao.ui.form.BoatInfos.success=Modifications successfuly saved
+wao.ui.form.BoatInfos.validation.invalidPostalCode=This is not a valid postal code
wao.ui.form.Company.error.nameMustBeUnique=Company name must be unique
wao.ui.form.Company.title.creation=Create a new company
wao.ui.form.Company.title.edition=Edit company %s
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-06-25 16:41:58 UTC (rev 2106)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-06-26 09:14:21 UTC (rev 2107)
@@ -283,6 +283,7 @@
wao.ui.form.Boat.name=Nom
wao.ui.form.Boat.registrationCode=Immatriculation
wao.ui.form.BoatInfos.success=Les informations ont bien été enregistrées
+wao.ui.form.BoatInfos.validation.invalidPostalCode=Ce n'est pas un code postal valide
wao.ui.form.Company.error.nameMustBeUnique=Le nom de la société doit être unique
wao.ui.form.Company.title.creation=Création d'une société
wao.ui.form.Company.title.edition=Modification de la société %s
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/boat-details.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/boat-details.jsp 2014-06-25 16:41:58 UTC (rev 2106)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/boat-details.jsp 2014-06-26 09:14:21 UTC (rev 2107)
@@ -31,14 +31,18 @@
var $unlockBoatInfosFormButton = $('#unlock-boat-infos-form');
$saveBoatInfosButton.click(function () {
- $boatInfosForm.find('input, textarea').attr('readonly', 'readonly');
- $saveBoatInfosButton.attr('disabled', 'disabled');
- $unlockBoatInfosFormButton.removeAttr('disabled');
var data = WAO.toData($boatInfosForm);
- var successCallback = function () {
- WAO.notifications.success('<s:text name="wao.ui.form.BoatInfos.success"/>');
+ if ( ! data['boatInfos.contactPostalCode'].match(/^[\d ]*$/)) {
+ alert("<s:text name="wao.ui.form.BoatInfos.validation.invalidPostalCode"/>");
+ } else {
+ $boatInfosForm.find('input, textarea').attr('readonly', 'readonly');
+ $saveBoatInfosButton.attr('disabled', 'disabled');
+ $unlockBoatInfosFormButton.removeAttr('disabled');
+ var successCallback = function () {
+ WAO.notifications.success('<s:text name="wao.ui.form.BoatInfos.success"/>');
+ };
+ WAO.post(WAO.UPDATE_BOAT_INFOS_JSON_URL, data, successCallback);
}
- WAO.post(WAO.UPDATE_BOAT_INFOS_JSON_URL, data, successCallback);
});
$unlockBoatInfosFormButton.click(function () {
1
0
r2106 - in trunk/wao-web/src/main: resources/i18n webapp/WEB-INF/content/administration
by bleny@users.forge.codelutin.com 25 Jun '14
by bleny@users.forge.codelutin.com 25 Jun '14
25 Jun '14
Author: bleny
Date: 2014-06-25 18:41:58 +0200 (Wed, 25 Jun 2014)
New Revision: 2106
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2106
Log:
fixes #5328 add missing phoneNumber field in wao user form
Modified:
trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
trunk/wao-web/src/main/webapp/WEB-INF/content/administration/edit-wao-user.jsp
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-06-25 16:33:03 UTC (rev 2105)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-06-25 16:41:58 UTC (rev 2106)
@@ -276,6 +276,7 @@
wao.ui.field.WaoUser.login=Login
wao.ui.field.WaoUser.mammalsNotifications=Receive notifications about mammals captures
wao.ui.field.WaoUser.password=Password
+wao.ui.field.WaoUser.phoneNumber=Phone number
wao.ui.filters.filters=Search filters
wao.ui.filters.refresh=Refresh filters
wao.ui.forgotPassword=Forgot password ?
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-06-25 16:33:03 UTC (rev 2105)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-06-25 16:41:58 UTC (rev 2106)
@@ -276,6 +276,7 @@
wao.ui.field.WaoUser.login=Identifiant
wao.ui.field.WaoUser.mammalsNotifications=Recevoir les notifications de captures accidentelles
wao.ui.field.WaoUser.password=Mot de passe
+wao.ui.field.WaoUser.phoneNumber=N° de téléphone
wao.ui.filters.filters=Filtres de recherche
wao.ui.filters.refresh=Rafraîchir les champs du filtre
wao.ui.forgotPassword=Mot de passe oublié ?
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/administration/edit-wao-user.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/administration/edit-wao-user.jsp 2014-06-25 16:33:03 UTC (rev 2105)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/administration/edit-wao-user.jsp 2014-06-25 16:41:58 UTC (rev 2106)
@@ -89,6 +89,7 @@
<s:textfield name="updateWaoUserCommand.waoUser.firstName" label="%{getText('wao.ui.field.WaoUser.firstName')}" requiredLabel="true" />
<s:textfield name="updateWaoUserCommand.waoUser.lastName" label="%{getText('wao.ui.field.WaoUser.lastName')}" requiredLabel="true" />
+ <s:textfield name="updateWaoUserCommand.waoUser.phoneNumber" label="%{getText('wao.ui.field.WaoUser.phoneNumber')}" size="14" />
<s:if test="authenticatedWaoUser.authorizedToChangeUserCompany">
<s:select name="updateWaoUserCommand.companyId"
1
0
r2105 - in trunk/wao-services/src/main: java/fr/ifremer/wao/services/service resources/i18n
by bleny@users.forge.codelutin.com 25 Jun '14
by bleny@users.forge.codelutin.com 25 Jun '14
25 Jun '14
Author: bleny
Date: 2014-06-25 18:33:03 +0200 (Wed, 25 Jun 2014)
New Revision: 2105
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2105
Log:
fixes #5320 add validation to sampling plan import
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java
trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-06-25 14:50:28 UTC (rev 2104)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-06-25 16:33:03 UTC (rev 2105)
@@ -54,9 +54,11 @@
import org.apache.commons.logging.LogFactory;
import org.nuiton.csv.Export;
import org.nuiton.csv.ExportModel;
-import org.nuiton.csv.Import;
+import org.nuiton.csv.Import2;
import org.nuiton.csv.ImportModel;
+import org.nuiton.csv.ImportRow;
import org.nuiton.csv.ImportRuntimeException;
+import org.nuiton.i18n.I18n;
import org.nuiton.topia.persistence.TopiaEntities;
import org.nuiton.topia.persistence.TopiaEntity;
import org.nuiton.util.DateUtil;
@@ -258,6 +260,8 @@
Preconditions.checkState(authenticatedWaoUser.isAuthorizedToCreateSampleRow());
+ ObsProgram obsProgram = authenticatedWaoUser.getObsProgram();
+
UpdateSampleRowCommand updateSampleRowCommand = new UpdateSampleRowCommand();
if (optionalSampleRowId.isPresent()) {
@@ -275,12 +279,6 @@
updateSampleRowCommand.setCreation(false);
- SampleRowLogImpl newSampleRowLog = new SampleRowLogImpl();
- newSampleRowLog.setAuthor(authenticatedWaoUser.getWaoUser());
- newSampleRowLog.setFromAdmin(authenticatedWaoUser.isAdmin());
- updateSampleRowCommand.setSampleRowLog(newSampleRowLog);
- sampleRow.addSampleRowLog(newSampleRowLog);
-
Set<Boat> elligibleBoats = new HashSet<>();
for (ElligibleBoat elligibleBoat : sampleRow.getElligibleBoat()) {
boolean boatIsElligibleForUser =
@@ -297,12 +295,10 @@
SampleRow newSampleRow = new SampleRowImpl();
- newSampleRow.setObsProgram(ObsProgram.OBSMER);
+ newSampleRow.setObsProgram(obsProgram);
newSampleRow.setProfession(new ProfessionImpl());
newSampleRow.setFishingZone(new HashSet<FishingZone>());
newSampleRow.setSampleMonth(new HashSet<SampleMonth>());
-
- ObsProgram obsProgram = authenticatedWaoUser.getObsProgram();
if (obsProgram.isObsMer()) {
newSampleRow.setSamplingStrategy(SamplingStrategy.SIMULTANEOUS_ALL_SPECIES);
}
@@ -316,6 +312,12 @@
}
+ SampleRowLogImpl newSampleRowLog = new SampleRowLogImpl();
+ newSampleRowLog.setAuthor(authenticatedWaoUser.getWaoUser());
+ newSampleRowLog.setFromAdmin(authenticatedWaoUser.isAdmin());
+ updateSampleRowCommand.setSampleRowLog(newSampleRowLog);
+ updateSampleRowCommand.getSampleRow().addSampleRowLog(newSampleRowLog);
+
ImmutableMap<String, FishingZone> allFishingZones =
Maps.uniqueIndex(
getReferentialService().getAllFishingZones(),
@@ -430,6 +432,13 @@
public void save(UpdateSampleRowCommand updateSampleRowCommand) {
+ save0(updateSampleRowCommand);
+
+ commit();
+
+ }
+
+ public void save0(UpdateSampleRowCommand updateSampleRowCommand) {
SampleRow sampleRow = updateSampleRowCommand.getSampleRow();
if (!updateSampleRowCommand.isCreation()) {
@@ -463,8 +472,6 @@
} else {
dao.create(sampleRow);
}
- commit();
-
}
public InputStream exportSamplingPlan(SampleRowsFilter filter) {
@@ -504,30 +511,78 @@
public void importSamplingPlan(AuthenticatedWaoUser authenticatedWaoUser, InputStream csv) throws ImportErrorException {
+ ObsProgram obsProgram = authenticatedWaoUser.getObsProgram();
+
ImportModel<SampleRow> samplingPlanImportModel =
newSamplingPlanImportModel(authenticatedWaoUser);
- Import<SampleRow> samplingPlanImport =
- Import.newImport(samplingPlanImportModel, csv);
+ Import2<SampleRow> samplingPlanImport =
+ Import2.newImport(samplingPlanImportModel, csv);
- SampleRowTopiaDao dao = getSampleRowDao();
-
try {
- for (SampleRow sampleRow : samplingPlanImport) {
+ for (ImportRow<SampleRow> importRow : samplingPlanImport) {
- if (StringUtils.isBlank(sampleRow.getCode())) {
+ SampleRow sampleRow = importRow.getBean();
+ long lineNumber = importRow.getLineNumber();
- String newSampleRowCode = getNewSampleRowCode(ObsProgram.OBSMER);
+ UpdateSampleRowCommand updateSampleRowCommand =
+ newUpdateSampleRowCommand(authenticatedWaoUser, Optional.<String>absent());
+ String logText = I18n.l(getLocale(), "csv.import.logComment");
+ updateSampleRowCommand.getSampleRowLog().setLogText(logText);
+
+ if (StringUtils.isBlank(sampleRow.getCode())) {
+ String newSampleRowCode = getNewSampleRowCode(obsProgram);
sampleRow.setCode(newSampleRowCode);
+ }
+ updateSampleRowCommand.setSampleRow(sampleRow);
+
+ try {
+ validate(authenticatedWaoUser, updateSampleRowCommand);
+ } catch (MissingSampleRowLogCommentException e) {
+ // à l'import l'utilisateur ne précise pas le commentaire, c'est la couche service qui doit le faire en amont
+ if (log.isErrorEnabled()) {
+ log.error("should never occur", e);
+ }
+ throw new WaoTechnicalException("should never occur", e);
+ } catch (SampleRowCodeMustBeUniqueException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.codeMustBeUnique", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (MissingPeriodEndException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.missingPeriodEnd", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (MissingPeriodBeginException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.missingPeriodBegin", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (MissingFishingZonesException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.missingFishingZones", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (WrongSampleRowCodeFormatException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.wrongSampleRowCodeFormat", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (MissingProfessionSpeciesException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.missingProfessionSpecies", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (SampleMonthWithIllegalExpectedTidesValueException e) {
+ SampleMonth sampleMonth = e.getSampleMonth();
+ String message = I18n.l(
+ getLocale(),
+ "wao.import.sampleRow.failure.sampleMonthWithIllegalExpectedTidesValue",
+ lineNumber,
+ WaoUtils.formatMonth(getLocale(), sampleMonth.getPeriodDate()));
+ throw new ImportErrorException(message);
+ } catch (MissingProgramNameException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.missingProgramName", lineNumber);
+ throw new ImportErrorException(message);
+ } catch (MissingDcf5CodesException e) {
+ String message = I18n.l(getLocale(), "wao.import.sampleRow.failure.missingDcf5Codes", lineNumber);
+ throw new ImportErrorException(message);
}
- getProfessionDao().create(sampleRow.getProfession());
+ save0(updateSampleRowCommand);
- dao.create(sampleRow);
-
}
} catch (ImportRuntimeException e) {
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-06-25 14:50:28 UTC (rev 2104)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-06-25 16:33:03 UTC (rev 2105)
@@ -7,7 +7,7 @@
csv.import.error.unableToReadLine=Unable to read line %s
csv.import.error.unableToSetValue=Unable to set value '%s' (entity '%s', line %s, column '%s')
csv.import.error.unrecognizedHeaders=Fields %s are not recognized. Accepted fields are %s.
-csv.import.logComment=Edited through import
+csv.import.logComment=Creation through import
fr.ifremer.wao.services.service.mail.UserCredentialsEmail.subject=Your Wao credentials
wao.action.delete.failure.attachedContacts=Object is attached to some contacts.
wao.action.delete.failure.attachedNews=Object is attached to some news.
@@ -83,8 +83,16 @@
wao.import.failure.wrongValue=Unable to parse value '%S'. Possible values are %s
wao.import.invalid.latitude=a latitude must be contained in range %s. ('%s' argument given)
wao.import.invalid.longitude=a longitude must be contained in range %s. ('%s' argument given)
-wao.import.sampleRow.failure.fishingZoneMissing=You must precise at least one fishing zone
-wao.import.sampleRow.failure.missingSampleRowCode=You must precise a code for the sample row
+wao.import.sampleRow.failure.codeMustBeUnique=Line %s\: The sample row code must be unique
+wao.import.sampleRow.failure.fishingZoneMissing=Line %s\: You must precise at least one fishing zone
+wao.import.sampleRow.failure.missingDcf5Codes=Line %s\: You must precise at least one DCF5 code
+wao.import.sampleRow.failure.missingFishingZones=Line %s\: You must precise at least one fishing zone
+wao.import.sampleRow.failure.missingPeriodBegin=Line %s\: You must precise the period beginning
+wao.import.sampleRow.failure.missingPeriodEnd=Line %s\: You must precise the period end
+wao.import.sampleRow.failure.missingProfessionSpecies=Line %s\: For this sampling strategy, you must provide the species
+wao.import.sampleRow.failure.missingProgramName=Line %s\: You must precise the program name
+wao.import.sampleRow.failure.missingSampleRowCode=Line %s\: You must precise a code for the sample row
+wao.import.sampleRow.failure.sampleMonthWithIllegalExpectedTidesValue=Line %s\: Effort must be positive for month %s
wao.import.sampleRow.failure.unknownFishingGearDcfCode=Unknown fishing gear code\: %s
wao.import.sampleRow.failure.unknownTargetSpeciesDcfCode=Unknown target species code\: %s
wao.import.sampleRow.failure.wrongFishingZone=There is no fishing zone with the code '%s'
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-06-25 14:50:28 UTC (rev 2104)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-06-25 16:33:03 UTC (rev 2105)
@@ -7,7 +7,7 @@
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.unrecognizedHeaders=Les champs %s ne sont pas reconnus. Les champs possibles sont %s.
-csv.import.logComment=Modification depuis import
+csv.import.logComment=Création par import
fr.ifremer.wao.services.service.mail.UserCredentialsEmail.subject=Informations de connexion Wao
wao.action.delete.failure.attachedContacts=L'objet est lié à des contacts.
wao.action.delete.failure.attachedNews=L'objet est lié à des actualités.
@@ -80,8 +80,16 @@
wao.import.failure.wrongValue=Valeur '%s' non reconnue. Valeurs possibles \: %s
wao.import.invalid.latitude=La latitude doit être dans l'intervalle %s (valeur actuelle %s)
wao.import.invalid.longitude=La longitude doit être dans l'intervalle %s (valeur actuelle %s)
-wao.import.sampleRow.failure.fishingZoneMissing=Il faut préciser au moins une zone de pêche
-wao.import.sampleRow.failure.missingSampleRowCode=Il faut préciser un code pour a ligne du plan
+wao.import.sampleRow.failure.codeMustBeUnique=Ligne %s \: Le code ligne doit être unique
+wao.import.sampleRow.failure.fishingZoneMissing=Ligne %s \: Il faut préciser au moins une zone de pêche
+wao.import.sampleRow.failure.missingDcf5Codes=Ligne %s \: Il faut préciser au moins un code DCF5
+wao.import.sampleRow.failure.missingFishingZones=Ligne %s \: Il faut préciser au moins une zone de pêche
+wao.import.sampleRow.failure.missingPeriodBegin=Ligne %s \: Il faut préciser le débat de la période
+wao.import.sampleRow.failure.missingPeriodEnd=Ligne %s \: Il faut préciser la fin de la période
+wao.import.sampleRow.failure.missingProfessionSpecies=Ligne %s \: Il faut préciser les espèces cibles pour cette stratégie d'échantillonage
+wao.import.sampleRow.failure.missingProgramName=Ligne %s \: Il faut préciser le programme
+wao.import.sampleRow.failure.missingSampleRowCode=Ligne %s \: Il faut préciser un code pour a ligne du plan
+wao.import.sampleRow.failure.sampleMonthWithIllegalExpectedTidesValue=Ligne %s \: l'effort d'observation doit être positif pour le mois %s
wao.import.sampleRow.failure.unknownFishingGearDcfCode=Le code engin %s est inconnu du référentiel
wao.import.sampleRow.failure.unknownTargetSpeciesDcfCode=Le code espèce cible %s est inconnu du référentiel
wao.import.sampleRow.failure.wrongFishingZone=Le code '%s' ne correspond à aucune zone de pêche connue du référentiel
1
0
r2104 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service wao-web/src/main/java/fr/ifremer/wao/web/action
by bleny@users.forge.codelutin.com 25 Jun '14
by bleny@users.forge.codelutin.com 25 Jun '14
25 Jun '14
Author: bleny
Date: 2014-06-25 16:50:28 +0200 (Wed, 25 Jun 2014)
New Revision: 2104
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2104
Log:
refs #5320 move sample row validation from ui to services
Added:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java
Removed:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateAfterTodayException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -10,7 +10,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class ContactDataInputDateAfterTodayException extends WaoContactValidationException {
+public class ContactDataInputDateAfterTodayException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactDataInputDateBeforeObservationEndDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class ContactDataInputDateBeforeObservationEndDateException extends WaoContactValidationException {
+public class ContactDataInputDateBeforeObservationEndDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateAfterTodayException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -10,7 +10,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class ContactObservationEndDateAfterTodayException extends WaoContactValidationException {
+public class ContactObservationEndDateAfterTodayException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactObservationEndDateBeforeBeginDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class ContactObservationEndDateBeforeBeginDateException extends WaoContactValidationException {
+public class ContactObservationEndDateBeforeBeginDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactRestitutionDateBeforeDataInputDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class ContactRestitutionDateBeforeDataInputDateException extends WaoContactValidationException {
+public class ContactRestitutionDateBeforeDataInputDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Copied: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java (from rev 2100, trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java)
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactValidationException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,47 @@
+package fr.ifremer.wao.services.service;
+
+/*
+ * #%L
+ * Wao :: Services
+ * %%
+ * Copyright (C) 2009 - 2014 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%
+ */
+
+import fr.ifremer.wao.entity.Contact;
+
+/**
+ * Exception de base pour la validation d'une création - mise à jour ou import d'un contact.
+ * <p/>
+ * Created on 4/4/14.
+ *
+ * @author Tony Chemit <chemit(a)codelutin.com>
+ * @since 4.0
+ */
+public abstract class ContactValidationException extends WaoValidationException {
+
+ private static final long serialVersionUID = 1L;
+
+ protected Contact contact;
+
+ public ContactValidationException(Contact contact) {
+ this.contact = contact;
+ }
+
+ public Contact getContact() {
+ return contact;
+ }
+}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactWithObservedDataControlToCorrectionAskedException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -5,7 +5,7 @@
/**
* Un contact en correction demandée ne peut pas être accepté par la société.
*/
-public class ContactWithObservedDataControlToCorrectionAskedException extends WaoContactValidationException {
+public class ContactWithObservedDataControlToCorrectionAskedException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/DuplicatedContactMainObserverInSecondaryObserversException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class DuplicatedContactMainObserverInSecondaryObserversException extends WaoContactValidationException {
+public class DuplicatedContactMainObserverInSecondaryObserversException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/IllegalAcceptationException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -2,7 +2,7 @@
import fr.ifremer.wao.entity.Contact;
-public class IllegalAcceptationException extends WaoContactValidationException {
+public class IllegalAcceptationException extends ContactValidationException {
public IllegalAcceptationException(Contact contact) {
super(contact);
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/InvalidContactObservationBeginDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class InvalidContactObservationBeginDateException extends WaoContactValidationException {
+public class InvalidContactObservationBeginDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactMainObserverCompanyException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -10,7 +10,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MismatchContactMainObserverCompanyException extends WaoContactValidationException {
+public class MismatchContactMainObserverCompanyException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MismatchContactSecondaryObserverCompanyException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -10,7 +10,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MismatchContactSecondaryObserverCompanyException extends WaoContactValidationException {
+public class MismatchContactSecondaryObserverCompanyException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentAdminException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactCommentAdminException extends WaoContactValidationException {
+public class MissingContactCommentAdminException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactCommentException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactCommentException extends WaoContactValidationException {
+public class MissingContactCommentException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataInputDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactDataInputDateException extends WaoContactValidationException {
+public class MissingContactDataInputDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactDataReliabilityException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactDataReliabilityException extends WaoContactValidationException {
+public class MissingContactDataReliabilityException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMainObserverException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactMainObserverException extends WaoContactValidationException {
+public class MissingContactMainObserverException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactMammalsInfoException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -2,7 +2,7 @@
import fr.ifremer.wao.entity.Contact;
-public class MissingContactMammalsInfoException extends WaoContactValidationException {
+public class MissingContactMammalsInfoException extends ContactValidationException {
public MissingContactMammalsInfoException(Contact contact) {
super(contact);
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactNbObservantsException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactNbObservantsException extends WaoContactValidationException {
+public class MissingContactNbObservantsException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationBeginDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactObservationBeginDateException extends WaoContactValidationException {
+public class MissingContactObservationBeginDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservationEndDateException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactObservationEndDateException extends WaoContactValidationException {
+public class MissingContactObservationEndDateException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactObservedDataControlException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactObservedDataControlException extends WaoContactValidationException {
+public class MissingContactObservedDataControlException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactRestitutionException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactRestitutionException extends WaoContactValidationException {
+public class MissingContactRestitutionException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactStateMotifException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -29,7 +29,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class MissingContactStateMotifException extends WaoContactValidationException {
+public class MissingContactStateMotifException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingContactTerrestrialLocationException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -2,7 +2,7 @@
import fr.ifremer.wao.entity.Contact;
-public class MissingContactTerrestrialLocationException extends WaoContactValidationException {
+public class MissingContactTerrestrialLocationException extends ContactValidationException {
public MissingContactTerrestrialLocationException(Contact contact) {
super(contact);
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingDcf5CodesException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingDcf5CodesException extends SampleRowValidationException {
+
+ public MissingDcf5CodesException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingFishingZonesException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingFishingZonesException extends SampleRowValidationException {
+
+ public MissingFishingZonesException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodBeginException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingPeriodBeginException extends SampleRowValidationException {
+
+ public MissingPeriodBeginException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingPeriodEndException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingPeriodEndException extends SampleRowValidationException {
+
+ public MissingPeriodEndException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProfessionSpeciesException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingProfessionSpeciesException extends SampleRowValidationException {
+
+ public MissingProfessionSpeciesException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingProgramNameException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingProgramNameException extends SampleRowValidationException {
+
+ public MissingProgramNameException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/MissingSampleRowLogCommentException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class MissingSampleRowLogCommentException extends SampleRowValidationException {
+
+ public MissingSampleRowLogCommentException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleMonthWithIllegalExpectedTidesValueException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,18 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleMonth;
+import fr.ifremer.wao.entity.SampleRow;
+
+public class SampleMonthWithIllegalExpectedTidesValueException extends SampleRowValidationException {
+
+ protected SampleMonth sampleMonth;
+
+ public SampleMonthWithIllegalExpectedTidesValueException(SampleRow sampleRow, SampleMonth sampleMonth) {
+ super(sampleRow);
+ this.sampleMonth = sampleMonth;
+ }
+
+ public SampleMonth getSampleMonth() {
+ return sampleMonth;
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SampleRowValidationException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,16 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public abstract class SampleRowValidationException extends WaoValidationException {
+
+ protected SampleRow sampleRow;
+
+ public SampleRowValidationException(SampleRow sampleRow) {
+ this.sampleRow = sampleRow;
+ }
+
+ public SampleRow getSampleRow() {
+ return sampleRow;
+ }
+}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlanService.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -11,6 +11,7 @@
import fr.ifremer.wao.ContactsFilter;
import fr.ifremer.wao.SampleRowsFilter;
import fr.ifremer.wao.WaoTechnicalException;
+import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.entity.Boat;
import fr.ifremer.wao.entity.Boats;
import fr.ifremer.wao.entity.Company;
@@ -44,6 +45,7 @@
import fr.ifremer.wao.services.service.administration.ReferentialService;
import fr.ifremer.wao.services.service.administration.UnknownBoatImmatriculationsException;
import fr.ifremer.wao.services.service.csv.ObsMerObsVenteSamplingPlanImportExportModel;
+import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.BooleanUtils;
import org.apache.commons.lang3.StringUtils;
@@ -340,18 +342,10 @@
}
public void preValidate(AuthenticatedWaoUser authenticatedWaoUser, UpdateSampleRowCommand updateSampleRowCommand)
- throws UnknownBoatImmatriculationsException, SampleRowCodeMustBeUniqueException {
+ throws UnknownBoatImmatriculationsException {
SampleRow sampleRow = updateSampleRowCommand.getSampleRow();
- SampleRowTopiaDao dao = getSampleRowDao();
- List<SampleRow> existingSampleRowsForTheSameCode = dao.forCodeEquals(sampleRow.getCode()).findAll();
- if (existingSampleRowsForTheSameCode.size() > 1) {
- throw new SampleRowCodeMustBeUniqueException();
- } else if (existingSampleRowsForTheSameCode.size() == 1 && !Iterables.getOnlyElement(existingSampleRowsForTheSameCode).equals(sampleRow)) {
- throw new SampleRowCodeMustBeUniqueException();
- }
-
String elligibleBoatImmatriculations = updateSampleRowCommand.getElligibleBoatImmatriculations();
List<Boat> elligibleBoats = getReferentialService().getBoatsFromImmatriculations(elligibleBoatImmatriculations);
@@ -620,4 +614,67 @@
}
+ public void validate(AuthenticatedWaoUser authenticatedWaoUser, UpdateSampleRowCommand updateSampleRowCommand) throws
+ WrongSampleRowCodeFormatException,
+ MissingSampleRowLogCommentException,
+ MissingProgramNameException,
+ MissingPeriodBeginException,
+ MissingPeriodEndException,
+ MissingFishingZonesException,
+ MissingProfessionSpeciesException,
+ SampleMonthWithIllegalExpectedTidesValueException,
+ MissingDcf5CodesException,
+ SampleRowCodeMustBeUniqueException {
+
+ SampleRow sampleRow = updateSampleRowCommand.getSampleRow();
+
+ SampleRowTopiaDao dao = getSampleRowDao();
+ List<SampleRow> existingSampleRowsForTheSameCode = dao.forCodeEquals(sampleRow.getCode()).findAll();
+ if (existingSampleRowsForTheSameCode.size() > 1) {
+ throw new SampleRowCodeMustBeUniqueException();
+ } else if (existingSampleRowsForTheSameCode.size() == 1 && !Iterables.getOnlyElement(existingSampleRowsForTheSameCode).equals(sampleRow)) {
+ throw new SampleRowCodeMustBeUniqueException();
+ }
+
+ if (updateSampleRowCommand.isCreation()) {
+ if ( ! WaoUtils.getSampleRowCodePattern(sampleRow.getObsProgram()).matcher(sampleRow.getCode()).matches()) {
+ throw new WrongSampleRowCodeFormatException(sampleRow);
+ }
+ } else {
+ if (StringUtils.isBlank(updateSampleRowCommand.getSampleRowLog().getComment())) {
+ throw new MissingSampleRowLogCommentException(sampleRow);
+ }
+ }
+
+ if (StringUtils.isBlank(sampleRow.getProgramName())) {
+ throw new MissingProgramNameException(sampleRow);
+ }
+
+ if (sampleRow.getPeriodBegin() == null) {
+ throw new MissingPeriodBeginException(sampleRow);
+ }
+
+ if (sampleRow.getPeriodEnd() == null) {
+ throw new MissingPeriodEndException(sampleRow);
+ }
+
+ if (CollectionUtils.isEmpty(sampleRow.getFishingZone())) {
+ throw new MissingFishingZonesException(sampleRow);
+ }
+
+ if (sampleRow.getSamplingStrategy().isSpecificStock() && StringUtils.isEmpty(sampleRow.getProfession().getSpecies())) {
+ throw new MissingProfessionSpeciesException(sampleRow);
+ }
+
+ for (SampleMonth sampleMonth : sampleRow.getSampleMonth()) {
+ if (sampleMonth.getExpectedTidesValue() < 0) {
+ throw new SampleMonthWithIllegalExpectedTidesValueException(sampleRow, sampleMonth);
+ }
+ }
+
+ if (CollectionUtils.isEmpty(sampleRow.getdCF5Code())) {
+ throw new MissingDcf5CodesException(sampleRow);
+ }
+
+ }
}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnwantedContactContactStateMotifException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -8,7 +8,7 @@
* @author Tony Chemit <chemit(a)codelutin.com>
* @since 4.0
*/
-public class UnwantedContactContactStateMotifException extends WaoContactValidationException {
+public class UnwantedContactContactStateMotifException extends ContactValidationException {
private static final long serialVersionUID = 1L;
Deleted: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoContactValidationException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -1,48 +0,0 @@
-package fr.ifremer.wao.services.service;
-
-/*
- * #%L
- * Wao :: Services
- * %%
- * Copyright (C) 2009 - 2014 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%
- */
-
-import fr.ifremer.wao.WaoException;
-import fr.ifremer.wao.entity.Contact;
-
-/**
- * Exception de base pour la validation d'une création - mise à jour ou import d'un contact.
- * <p/>
- * Created on 4/4/14.
- *
- * @author Tony Chemit <chemit(a)codelutin.com>
- * @since 4.0
- */
-public class WaoContactValidationException extends WaoException {
-
- private static final long serialVersionUID = 1L;
-
- protected Contact contact;
-
- public WaoContactValidationException(Contact contact) {
- this.contact = contact;
- }
-
- public Contact getContact() {
- return contact;
- }
-}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WaoValidationException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,21 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.WaoException;
+
+public abstract class WaoValidationException extends WaoException {
+
+ public WaoValidationException() {
+ }
+
+ public WaoValidationException(String message) {
+ super(message);
+ }
+
+ public WaoValidationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public WaoValidationException(Throwable cause) {
+ super(cause);
+ }
+}
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/WrongSampleRowCodeFormatException.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+import fr.ifremer.wao.entity.SampleRow;
+
+public class WrongSampleRowCodeFormatException extends SampleRowValidationException {
+
+ public WrongSampleRowCodeFormatException(SampleRow sampleRow) {
+ super(sampleRow);
+ }
+}
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java 2014-06-25 13:56:42 UTC (rev 2103)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditSampleRowAction.java 2014-06-25 14:50:28 UTC (rev 2104)
@@ -25,17 +25,24 @@
import com.google.common.base.Optional;
import com.google.common.base.Strings;
import com.opensymphony.xwork2.Preparable;
-import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.entity.SampleMonth;
import fr.ifremer.wao.entity.SampleRow;
+import fr.ifremer.wao.services.service.MissingDcf5CodesException;
+import fr.ifremer.wao.services.service.MissingFishingZonesException;
+import fr.ifremer.wao.services.service.MissingPeriodBeginException;
+import fr.ifremer.wao.services.service.MissingPeriodEndException;
+import fr.ifremer.wao.services.service.MissingProfessionSpeciesException;
+import fr.ifremer.wao.services.service.MissingProgramNameException;
+import fr.ifremer.wao.services.service.MissingSampleRowLogCommentException;
import fr.ifremer.wao.services.service.ObsMerSamplingPlanService;
+import fr.ifremer.wao.services.service.SampleMonthWithIllegalExpectedTidesValueException;
import fr.ifremer.wao.services.service.SampleRowCodeMustBeUniqueException;
import fr.ifremer.wao.services.service.SamplingPlanService;
import fr.ifremer.wao.services.service.UpdateSampleRowCommand;
+import fr.ifremer.wao.services.service.WrongSampleRowCodeFormatException;
import fr.ifremer.wao.services.service.administration.UnknownBoatImmatriculationsException;
import fr.ifremer.wao.web.WaoJspActionSupport;
import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.convention.annotation.Result;
@@ -86,6 +93,8 @@
service.preValidate(getAuthenticatedWaoUser(), updateSampleRowCommand);
+ service.validate(getAuthenticatedWaoUser(), updateSampleRowCommand);
+
if (CollectionUtils.isEmpty(sampleRow.getdCF5Code())) {
addFieldError("updateSampleRowCommand.dcf5Codes", t("wao.ui.form.SampleRow.error.missingDcf5Codes"));
}
@@ -94,45 +103,27 @@
addFieldError("updateSampleRowCommand.elligibleBoatImmatriculations", t("wao.ui.unknownBoatImmatriculations", Joiner.on(", ").join(e.getImmatriculations())));
} catch (SampleRowCodeMustBeUniqueException e) {
addFieldError("updateSampleRowCommand.code", t("wao.ui.form.SampleRow.error.codeMustBeUnique"));
- }
-
- if (updateSampleRowCommand.isCreation()) {
- if ( ! WaoUtils.getSampleRowCodePattern(sampleRow.getObsProgram()).matcher(sampleRow.getCode()).matches()) {
- addFieldError("updateSampleRowCommand.code", t("wao.import.sampleRow.failure.wrongSampleRowCodeFormat", sampleRow.getCode()));
- }
- } else {
- if (StringUtils.isBlank(updateSampleRowCommand.getSampleRowLog().getComment())) {
- addFieldError("updateSampleRowCommand.sampleRowLog.comment", t("wao.ui.form.SampleRow.error.missingLogComment"));
- }
- }
-
- if (StringUtils.isBlank(sampleRow.getProgramName())) {
- addFieldError("updateSampleRowCommand.sampleRow.programName", t("wao.ui.form.SampleRow.error.missingProgramName"));
- }
-
- if (sampleRow.getPeriodBegin() == null) {
- addFieldError("updateSampleRowCommand.sampleRow.periodBegin", t("wao.ui.form.SampleRow.error.missingPeriodBegin"));
- }
-
- if (sampleRow.getPeriodEnd() == null) {
+ } catch (MissingPeriodEndException e) {
addFieldError("updateSampleRowCommand.sampleRow.periodEnd", t("wao.ui.form.SampleRow.error.missingPeriodEnd"));
- }
-
- if (CollectionUtils.isEmpty(sampleRow.getFishingZone())) {
+ } catch (MissingPeriodBeginException e) {
+ addFieldError("updateSampleRowCommand.sampleRow.periodBegin", t("wao.ui.form.SampleRow.error.missingPeriodBegin"));
+ } catch (MissingFishingZonesException e) {
addFieldError("updateSampleRowCommand.fishingZones", t("wao.ui.form.SampleRow.error.missingFishingZones"));
- }
-
- if (sampleRow.getSamplingStrategy().isSpecificStock() && StringUtils.isEmpty(sampleRow.getProfession().getSpecies())) {
+ } catch (WrongSampleRowCodeFormatException e) {
+ addFieldError("updateSampleRowCommand.code", t("wao.import.sampleRow.failure.wrongSampleRowCodeFormat", sampleRow.getCode()));
+ } catch (MissingSampleRowLogCommentException e) {
+ addFieldError("updateSampleRowCommand.sampleRowLog.comment", t("wao.ui.form.SampleRow.error.missingLogComment"));
+ } catch (MissingProfessionSpeciesException e) {
addFieldError("updateSampleRowCommand.sampleRow.samplingStrategy", t("wao.ui.form.SampleRow.error.missingProfessionSpecies"));
+ } catch (SampleMonthWithIllegalExpectedTidesValueException e) {
+ SampleMonth sampleMonth = e.getSampleMonth();
+ addActionError(t("wao.ui.form.SampleRow.error.sampleMonthWithIllegalExpectedTidesValue", formatMonth(sampleMonth.getPeriodDate())));
+ } catch (MissingProgramNameException e) {
+ addFieldError("updateSampleRowCommand.sampleRow.programName", t("wao.ui.form.SampleRow.error.missingProgramName"));
+ } catch (MissingDcf5CodesException e) {
+ addFieldError("updateSampleRowCommand.dcf5Codes", t("wao.ui.form.SampleRow.error.missingDcf5Codes"));
}
- for (SampleMonth sampleMonth : sampleRow.getSampleMonth()) {
- if (sampleMonth.getExpectedTidesValue() < 0) {
- addActionError(t("wao.ui.form.SampleRow.error.sampleMonthWithIllegalExpectedTidesValue",
- formatMonth(sampleMonth.getPeriodDate())));
- }
- }
-
}
@Override
1
0
r2103 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services/service wao-web/src/main/webapp/WEB-INF/content/obsmer wao-web/src/main/webapp/WEB-INF/content/obsvente
by bleny@users.forge.codelutin.com 25 Jun '14
by bleny@users.forge.codelutin.com 25 Jun '14
25 Jun '14
Author: bleny
Date: 2014-06-25 15:56:42 +0200 (Wed, 25 Jun 2014)
New Revision: 2103
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2103
Log:
fixes #5321 hide links to contact if no contacts
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlan.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanBuilder.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanService.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlan.java
trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
trunk/wao-web/src/main/webapp/WEB-INF/content/obsvente/sampling-plan.jsp
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlan.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -128,8 +128,9 @@
SampleRow sampleRow,
Double observationTimesInDaysExpected,
Long observationTimesInDaysReal,
- Long observationTimesInDaysEstimated) {
- super(locale, nbTidesPerMonth, sampleRow);
+ Long observationTimesInDaysEstimated,
+ long sampleRowContactCounts) {
+ super(locale, nbTidesPerMonth, sampleRow, sampleRowContactCounts);
this.observationTimesInDaysExpected = observationTimesInDaysExpected;
this.observationTimesInDaysReal = observationTimesInDaysReal;
this.observationTimesInDaysEstimated = observationTimesInDaysEstimated;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanBuilder.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -164,7 +164,8 @@
public ObsMerSamplingPlanBuilder addSampleRow(SampleRow sampleRow,
Double observationTimesInDaysExpected,
Long observationTimesInDaysReal,
- Long observationTimesInDaysEstimated) {
+ Long observationTimesInDaysEstimated,
+ long sampleRowContactCounts) {
String facade = sampleRow.getFacade();
FacadeContext facadeContext = facadeMap.get(facade);
@@ -190,7 +191,8 @@
nbTidesPerMonth,
observationTimesInDaysExpected,
observationTimesInDaysReal,
- observationTimesInDaysEstimated);
+ observationTimesInDaysEstimated,
+ sampleRowContactCounts);
// Sum total observation times in days
observationTimesInDaysTotalExpected.add(observationTimesInDaysExpected);
@@ -345,7 +347,8 @@
Map<Date, ObsMerSamplingPlan.SamplingPlanStatistics> nbTidesPerMonth,
Double observationTimesInDaysExpected,
Long observationTimesInDaysReal,
- Long observationTimesInDaysEstimated) {
+ Long observationTimesInDaysEstimated,
+ long sampleRowContactCounts) {
ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart rowPart =
new ObsMerSamplingPlan.ObsMerSamplingPlanSampleRowPart(locale,
@@ -353,7 +356,8 @@
row,
observationTimesInDaysExpected,
observationTimesInDaysReal,
- observationTimesInDaysEstimated);
+ observationTimesInDaysEstimated,
+ sampleRowContactCounts);
rows.add(rowPart);
return rowPart;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerSamplingPlanService.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -31,6 +31,7 @@
import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.entity.ContactState;
+import fr.ifremer.wao.entity.ContactTopiaDao;
import fr.ifremer.wao.entity.SampleMonth;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowTopiaDao;
@@ -71,6 +72,7 @@
if (result == null) {
SampleRowTopiaDao dao = getSampleRowDao();
+ ContactTopiaDao contactDao = getContactDao();
// recuperation des lignes du plan
List<SampleRow> sampleRows = dao.findAll(sampleRowsFilter);
@@ -100,11 +102,14 @@
Long observationTimesInDaysReal = realAndEstimated.getLeft();
Long observationTimesInDaysEstimated = realAndEstimated.getRight();
+ long sampleRowContactCounts = contactDao.forSampleRowEquals(sampleRow).count();
+
// ajout de la ligne au build de plan
builder.addSampleRow(sampleRow,
observationTimesInDaysExpected,
observationTimesInDaysReal,
- observationTimesInDaysEstimated);
+ observationTimesInDaysEstimated,
+ sampleRowContactCounts);
}
result = builder.toPlan();
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlan.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlan.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlan.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -47,8 +47,8 @@
protected int averageObservationsCount;
- public ObsVenteSamplingPlanSampleRowPart(Locale locale, Map<Date, SamplingPlanStatistics> nbTidesPerMonth, SampleRow sampleRow) {
- super(locale, nbTidesPerMonth, sampleRow);
+ public ObsVenteSamplingPlanSampleRowPart(Locale locale, Map<Date, SamplingPlanStatistics> nbTidesPerMonth, SampleRow sampleRow, long sampleRowContactCounts) {
+ super(locale, nbTidesPerMonth, sampleRow, sampleRowContactCounts);
terrestrialLocationInfos = sampleRow.getTerrestrialLocationInfos();
terrestrialLocationNamesAndDescriptions = new LinkedHashMap<>();
if (CollectionUtils.isNotEmpty(sampleRow.getTerrestrialLocations())) {
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanBuilder.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanBuilder.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanBuilder.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -129,7 +129,7 @@
this.months = periodDates.getMonths();
}
- public ObsVenteSamplingPlanBuilder addSampleRow(SampleRow sampleRow) {
+ public ObsVenteSamplingPlanBuilder addSampleRow(SampleRow sampleRow, long sampleRowContactCounts) {
String facade = sampleRow.getFacade();
FacadeContext facadeContext = facadeMap.get(facade);
@@ -152,7 +152,8 @@
// add sample row
sectorPart.addSampleRow(sampleRowsFilterValues.getLocale(),
sampleRow,
- nbTidesPerMonth);
+ nbTidesPerMonth,
+ sampleRowContactCounts);
sampleRowsFilterValues.addSampleRow(sampleRow);
@@ -296,12 +297,15 @@
protected ObsMerSamplingPlan.SamplingPlanSampleRowPart addSampleRow(Locale locale,
SampleRow row,
- Map<Date, ObsMerSamplingPlan.SamplingPlanStatistics> nbTidesPerMonth) {
+ Map<Date, ObsMerSamplingPlan.SamplingPlanStatistics> nbTidesPerMonth,
+ long sampleRowContactCounts) {
ObsVenteSamplingPlan.ObsVenteSamplingPlanSampleRowPart rowPart =
- new ObsVenteSamplingPlan.ObsVenteSamplingPlanSampleRowPart(locale,
- nbTidesPerMonth,
- row);
+ new ObsVenteSamplingPlan.ObsVenteSamplingPlanSampleRowPart(
+ locale,
+ nbTidesPerMonth,
+ row,
+ sampleRowContactCounts);
rows.add(rowPart);
return rowPart;
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanService.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsVenteSamplingPlanService.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -3,6 +3,7 @@
import com.google.common.base.Optional;
import com.google.common.cache.Cache;
import fr.ifremer.wao.SampleRowsFilter;
+import fr.ifremer.wao.entity.ContactTopiaDao;
import fr.ifremer.wao.entity.SampleRow;
import fr.ifremer.wao.entity.SampleRowTopiaDao;
import fr.ifremer.wao.services.AuthenticatedWaoUser;
@@ -34,6 +35,7 @@
if (result == null) {
SampleRowTopiaDao dao = getSampleRowDao();
+ ContactTopiaDao contactDao = getContactDao();
// recuperation des lignes du plan
List<SampleRow> sampleRows = dao.findAll(sampleRowsFilter);
@@ -46,8 +48,10 @@
for (SampleRow sampleRow : sampleRows) {
+ long sampleRowContactCounts = contactDao.forSampleRowEquals(sampleRow).count();
+
// ajout de la ligne au build de plan
- builder.addSampleRow(sampleRow);
+ builder.addSampleRow(sampleRow, sampleRowContactCounts);
}
result = builder.toPlan();
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlan.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlan.java 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/SamplingPlan.java 2014-06-25 13:56:42 UTC (rev 2103)
@@ -274,6 +274,8 @@
*/
protected Map<Date, SamplingPlanStatistics> nbTidesPerMonth;
+ protected long sampleRowContactCounts;
+
/**
* Total of tides.
*/
@@ -337,8 +339,10 @@
public SamplingPlanSampleRowPart(Locale locale,
Map<Date, SamplingPlanStatistics> nbTidesPerMonth,
- SampleRow sampleRow) {
+ SampleRow sampleRow,
+ long sampleRowContactCounts) {
this.nbTidesPerMonth = nbTidesPerMonth;
+ this.sampleRowContactCounts = sampleRowContactCounts;
// compute total tides
int totalTidesExpected = 0;
int totalTidesEstimated = 0;
@@ -537,6 +541,10 @@
boolean isNewContactCreatable = new Date().before(lastSampleMonthEndOfMonth);
return isNewContactCreatable;
}
+
+ public long getSampleRowContactCounts() {
+ return sampleRowContactCounts;
+ }
}
}
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsmer/sampling-plan.jsp 2014-06-25 13:56:42 UTC (rev 2103)
@@ -489,7 +489,7 @@
</s:a>
</li>
</s:if>
- <s:if test="authenticatedWaoUser.authorizedToViewContacts">
+ <s:if test="authenticatedWaoUser.authorizedToViewContacts && sampleRowContactCounts > 0">
<li>
<s:url action="contacts" id="viewAssociatedContactsUrl">
<s:param name="filter.sampleRowFilter.sampleRowCodes" value="code" />
Modified: trunk/wao-web/src/main/webapp/WEB-INF/content/obsvente/sampling-plan.jsp
===================================================================
--- trunk/wao-web/src/main/webapp/WEB-INF/content/obsvente/sampling-plan.jsp 2014-06-25 13:14:55 UTC (rev 2102)
+++ trunk/wao-web/src/main/webapp/WEB-INF/content/obsvente/sampling-plan.jsp 2014-06-25 13:56:42 UTC (rev 2103)
@@ -468,7 +468,7 @@
</s:a>
</li>
</s:if>
- <s:if test="authenticatedWaoUser.authorizedToViewContacts">
+ <s:if test="authenticatedWaoUser.authorizedToViewContacts && sampleRowContactCounts > 0">
<li>
<s:url action="contacts" id="viewAssociatedContactsUrl">
<s:param name="filter.sampleRowFilter.sampleRowCodes" value="code" />
1
0
r2102 - trunk/wao-services/src/main/java/fr/ifremer/wao/services/service
by bleny@users.forge.codelutin.com 25 Jun '14
by bleny@users.forge.codelutin.com 25 Jun '14
25 Jun '14
Author: bleny
Date: 2014-06-25 15:14:55 +0200 (Wed, 25 Jun 2014)
New Revision: 2102
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2102
Log:
fix build
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-06-25 10:41:38 UTC (rev 2101)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-06-25 13:14:55 UTC (rev 2102)
@@ -205,8 +205,6 @@
public UpdateContactCommand newUpdateContactCommandForCreation(AuthenticatedWaoUser authenticatedWaoUser) {
- Preconditions.checkState(authenticatedWaoUser.isAuthorizedToCreateContact());
-
Contact contact = new ContactImpl();
contact.setObsProgram(authenticatedWaoUser.getObsProgram());
1
0
r2101 - in trunk: wao-services/src/main/java/fr/ifremer/wao/services wao-services/src/main/java/fr/ifremer/wao/services/service wao-services/src/main/resources/i18n wao-web/src/main/java/fr/ifremer/wao/web/action wao-web/src/main/resources/i18n
by bleny@users.forge.codelutin.com 25 Jun '14
by bleny@users.forge.codelutin.com 25 Jun '14
25 Jun '14
Author: bleny
Date: 2014-06-25 12:41:38 +0200 (Wed, 25 Jun 2014)
New Revision: 2101
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2101
Log:
fixes #5315 deal with wrong contact id in import
Added:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnknownContactIdException.java
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java
trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/DeleteContactAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java
trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java
trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/AuthenticatedWaoUser.java 2014-06-25 10:41:38 UTC (rev 2101)
@@ -206,6 +206,10 @@
return userProfile.isCoordinatorOrObserver() && isCanWrite();
}
+ public boolean isAuthorizedToUpdateContact() {
+ return (userProfile.isCoordinatorOrObserver() || userProfile.isAdmin()) && isCanWrite();
+ }
+
public boolean isAuthorizedToViewSamplingPlanReal() {
return ! userProfile.isGuest();
}
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ContactsService.java 2014-06-25 10:41:38 UTC (rev 2101)
@@ -185,23 +185,60 @@
return result;
}
- public UpdateContactCommand newUpdateContactCommand(AuthenticatedWaoUser authenticatedWaoUser, Optional<String> optionalContactId) {
+ public UpdateContactCommand newUpdateContactCommand(AuthenticatedWaoUser authenticatedWaoUser, Optional<String> optionalContactId) throws UnknownContactIdException {
- //FIXME Should we apply some security rules (can create, update, import) ?
- //Preconditions.checkState(authenticatedWaoUser.isAuthorizedToCreateSampleRow());
+ UpdateContactCommand updateContactCommand;
+ if (optionalContactId.isPresent()) {
+
+ updateContactCommand = newUpdateContactCommand(authenticatedWaoUser, optionalContactId.get());
+
+ } else {
+
+ updateContactCommand = newUpdateContactCommandForCreation(authenticatedWaoUser);
+
+ }
+
+ return updateContactCommand;
+
+ }
+
+ public UpdateContactCommand newUpdateContactCommandForCreation(AuthenticatedWaoUser authenticatedWaoUser) {
+
+ Preconditions.checkState(authenticatedWaoUser.isAuthorizedToCreateContact());
+
+ Contact contact = new ContactImpl();
+
+ contact.setObsProgram(authenticatedWaoUser.getObsProgram());
+
+ contact.setCreationDate(getNow());
+
UpdateContactCommand updateContactCommand = new UpdateContactCommand();
updateContactCommand.setAdmin(authenticatedWaoUser.isAdmin());
- Contact contact;
+ updateContactCommand.setContact(contact);
- if (optionalContactId.isPresent()) {
+ updateContactCommand.setCreation(true);
- String contactId = optionalContactId.get();
+ return updateContactCommand;
- contact = getContact(contactId);
+ }
+ public UpdateContactCommand newUpdateContactCommand(AuthenticatedWaoUser authenticatedWaoUser, String contactId) throws UnknownContactIdException {
+
+ Preconditions.checkState(authenticatedWaoUser.isAuthorizedToUpdateContact());
+
+ UpdateContactCommand updateContactCommand = new UpdateContactCommand();
+
+ updateContactCommand.setAdmin(authenticatedWaoUser.isAdmin());
+
+ Optional<Contact> optionalContact = getContactDao().forTopiaIdEquals(contactId).tryFindUnique();
+
+ if (optionalContact.isPresent()) {
+
+ Contact contact = optionalContact.get();
+
updateContactCommand.setContact(contact);
updateContactCommand.setCreation(false);
@@ -218,24 +255,13 @@
} else {
- contact = new ContactImpl();
+ throw new UnknownContactIdException(contactId);
- contact.setObsProgram(authenticatedWaoUser.getObsProgram());
-
- contact.setCreationDate(getNow());
-
- updateContactCommand.setContact(contact);
-
- updateContactCommand.setCreation(true);
}
return updateContactCommand;
}
- public Contact getContact(String contactId) {
- return getContactDao().forTopiaIdEquals(contactId).findUnique();
- }
-
public InputStream exportContacts(ContactsFilter filter) {
ContactTopiaDao dao = getContactDao();
@@ -308,8 +334,13 @@
}
Optional<String> optionalContactId = Optional.fromNullable(contactId);
- UpdateContactCommand updateContactCommand = newUpdateContactCommand(authenticatedWaoUser,
- optionalContactId);
+ UpdateContactCommand updateContactCommand;
+ try {
+ updateContactCommand = newUpdateContactCommand(authenticatedWaoUser, optionalContactId);
+ } catch (UnknownContactIdException e) {
+ String message = l(l, "wao.import.contact.failure.unknownContactId", lineNumber);
+ throw new ImportErrorException(message);
+ }
if (updateContactCommand.isCreation()) {
@@ -773,11 +804,11 @@
public void delete(String contactId) throws IllegalDeletionException {
- Contact contact = getContact(contactId);
-
// Execute delete
ContactTopiaDao dao = getContactDao();
+ Contact contact = dao.forTopiaIdEquals(contactId).findUnique();
+
Map<Class<? extends TopiaEntity>, List<? extends TopiaEntity>> allUsages = dao.findAllUsages(contact);
if (!allUsages.isEmpty()) {
@@ -955,7 +986,7 @@
log.info(authenticatedWaoUser.getWaoUser() + " is creating a contact for " + sampleRowId + " and " + boatId);
}
- UpdateContactCommand updateContactCommand = newUpdateContactCommand(authenticatedWaoUser, Optional.<String>absent());
+ UpdateContactCommand updateContactCommand = newUpdateContactCommandForCreation(authenticatedWaoUser);
Boat boat = getBoatDao().findByTopiaId(boatId);
Preconditions.checkState(boat.isActive(), "boat must be active");
Added: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnknownContactIdException.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnknownContactIdException.java (rev 0)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/UnknownContactIdException.java 2014-06-25 10:41:38 UTC (rev 2101)
@@ -0,0 +1,10 @@
+package fr.ifremer.wao.services.service;
+
+public class UnknownContactIdException extends Throwable {
+
+ protected String contactId;
+
+ public UnknownContactIdException(String contactId) {
+ this.contactId = contactId;
+ }
+}
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_en_GB.properties 2014-06-25 10:41:38 UTC (rev 2101)
@@ -65,7 +65,8 @@
wao.import.contact.failure.observedDataControlToCorrectionAsked=A contact cannot be accepted if observed data control shows that a correction is asked
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.transmissionDateBeforeDataInputDate=Il faut que la date de transmission de la restitution soit après la date de saisie des données
+wao.import.contact.failure.transmissionDateBeforeDataInputDate=Transmission date must be before data input date
+wao.import.contact.failure.unknownContactId=Unknown contact id
wao.import.contact.failure.unkwonCompany=Company named '%s' does not exist
wao.import.contact.failure.unwantedContactStateMotif=You must not give a motif
wao.import.contact.failure.wrongBoat=There is no boat with plate number '%s'
Modified: trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties
===================================================================
--- trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-services/src/main/resources/i18n/wao-services_fr_FR.properties 2014-06-25 10:41:38 UTC (rev 2101)
@@ -63,6 +63,7 @@
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.transmissionDateBeforeDataInputDate=Ligne %s \: La date de transmission de la restitution doit être postérieure à la date de saisie des données
+wao.import.contact.failure.unknownContactId=Ligne %s \: l'identifiant du contact ne correspond à aucun contact connu en base
wao.import.contact.failure.unkwonCompany=Il n'y a pas de société ayant pour nom '%s'
wao.import.contact.failure.unwantedContactStateMotif=Ligne %s \: Il ne faut pas préciser de motif de refus
wao.import.contact.failure.wrongBoat=Il n'y a pas de navire avec l'immatriculation '%s'
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/DeleteContactAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/DeleteContactAction.java 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/DeleteContactAction.java 2014-06-25 10:41:38 UTC (rev 2101)
@@ -21,7 +21,6 @@
* #L%
*/
-import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.services.service.ContactsService;
import fr.ifremer.wao.services.service.IllegalDeletionException;
import fr.ifremer.wao.web.WaoJspActionSupport;
@@ -61,20 +60,17 @@
@Override
public String execute() {
- Contact contact = service.getContact(contactId);
- String contactCode = contact.getMainObserver().getFullName();
-
String result;
try {
service.delete(contactId);
- session.addMessage(t("wao.ui.action.deleteContact.success", contactCode));
+ session.addMessage(t("wao.ui.action.deleteContact.success"));
result = SUCCESS;
} catch (IllegalDeletionException e) {
- session.addErrorMessages(t("wao.ui.action.deleteContact.failure", contactCode));
+ session.addErrorMessages(t("wao.ui.action.deleteContact.failure"));
session.addErrorMessages(e.getExplanation(getLocale()));
result = ERROR;
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/EditContactAction.java 2014-06-25 10:41:38 UTC (rev 2101)
@@ -62,6 +62,7 @@
import fr.ifremer.wao.services.service.MissingContactRestitutionException;
import fr.ifremer.wao.services.service.MissingContactStateMotifException;
import fr.ifremer.wao.services.service.MissingContactTerrestrialLocationException;
+import fr.ifremer.wao.services.service.UnknownContactIdException;
import fr.ifremer.wao.services.service.UnwantedContactContactStateMotifException;
import fr.ifremer.wao.services.service.UpdateContactCommand;
import fr.ifremer.wao.services.service.administration.ReferentialService;
@@ -204,7 +205,11 @@
@Override
public void prepare() {
- updateContactCommand = service.newUpdateContactCommand(getAuthenticatedWaoUser(), optionalContactId);
+ try {
+ updateContactCommand = service.newUpdateContactCommand(getAuthenticatedWaoUser(), optionalContactId);
+ } catch (UnknownContactIdException e) {
+ addActionError(t("wao.ui.error.unknownContactId"));
+ }
List<WaoUser> waoUsers = waoUsersService.getActiveWaoUsers(Optional.of(updateContactCommand.getContact().getSampleRow().getCompany().getTopiaId()));
Set<WaoUser> sortedWaoUsers = Sets.newTreeSet(WaoUsers.fullNameComparator());
Modified: trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java
===================================================================
--- trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-web/src/main/java/fr/ifremer/wao/web/action/ValidateContactJsonAction.java 2014-06-25 10:41:38 UTC (rev 2101)
@@ -21,15 +21,14 @@
* #L%
*/
-import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.opensymphony.xwork2.Preparable;
import fr.ifremer.wao.WaoTechnicalException;
import fr.ifremer.wao.WaoUtils;
import fr.ifremer.wao.entity.Contact;
import fr.ifremer.wao.services.AuthenticatedWaoUser;
+import fr.ifremer.wao.services.service.ContactDataInputDateAfterTodayException;
import fr.ifremer.wao.services.service.ContactDataInputDateBeforeObservationEndDateException;
-import fr.ifremer.wao.services.service.ContactDataInputDateAfterTodayException;
import fr.ifremer.wao.services.service.ContactNotUpdatableException;
import fr.ifremer.wao.services.service.ContactObservationEndDateAfterTodayException;
import fr.ifremer.wao.services.service.ContactObservationEndDateBeforeBeginDateException;
@@ -54,6 +53,7 @@
import fr.ifremer.wao.services.service.MissingContactRestitutionException;
import fr.ifremer.wao.services.service.MissingContactStateMotifException;
import fr.ifremer.wao.services.service.MissingContactTerrestrialLocationException;
+import fr.ifremer.wao.services.service.UnknownContactIdException;
import fr.ifremer.wao.services.service.UnwantedContactContactStateMotifException;
import fr.ifremer.wao.services.service.UpdateContactCommand;
import fr.ifremer.wao.web.WaoJsonActionSupport;
@@ -137,9 +137,13 @@
AuthenticatedWaoUser authenticatedWaoUser = session.getAuthenticatedWaoUser();
- updateContactCommand = service.newUpdateContactCommand(
- session.getAuthenticatedWaoUser(),
- Optional.of(contactId));
+ try {
+ updateContactCommand = service.newUpdateContactCommand(
+ session.getAuthenticatedWaoUser(),
+ contactId);
+ } catch (UnknownContactIdException e) {
+ addActionError(t("wao.ui.error.unknownContactId"));
+ }
if (authenticatedWaoUser.isAdmin()) {
updateContactCommand.setValidationProgram(validationState);
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_en_GB.properties 2014-06-25 10:41:38 UTC (rev 2101)
@@ -163,6 +163,7 @@
wao.ui.entity.TerrestrialLocation=Place
wao.ui.entity.fishingGearDCF=Gear DCF code
wao.ui.entity.targetSpeciesDCF=Target species DCF code
+wao.ui.error.unknownContactId=This contact doesn't exist
wao.ui.field.Boat.boatGroup=Boat group
wao.ui.field.Boat.boatLength=Length
wao.ui.field.Boat.buildYear=Build year
Modified: trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties
===================================================================
--- trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-06-23 22:11:57 UTC (rev 2100)
+++ trunk/wao-web/src/main/resources/i18n/wao-web_fr_FR.properties 2014-06-25 10:41:38 UTC (rev 2101)
@@ -163,6 +163,7 @@
wao.ui.entity.TerrestrialLocation=Lieu
wao.ui.entity.fishingGearDCF=Engin code DCF
wao.ui.entity.targetSpeciesDCF=Ensembles d'espèces-cible code DCF
+wao.ui.error.unknownContactId=Ce contact n'existe pas
wao.ui.field.Boat.boatGroup=Strate
wao.ui.field.Boat.boatLength=Longueur
wao.ui.field.Boat.buildYear=Année de construction
1
0
r2100 - trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv
by bleny@users.forge.codelutin.com 23 Jun '14
by bleny@users.forge.codelutin.com 23 Jun '14
23 Jun '14
Author: bleny
Date: 2014-06-24 00:11:57 +0200 (Tue, 24 Jun 2014)
New Revision: 2100
Url: http://forge.codelutin.com/projects/wao/repository/revisions/2100
Log:
fixes #4725 add observationTimeInDays in contacts export
Modified:
trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java
Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java
===================================================================
--- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java 2014-06-23 21:59:05 UTC (rev 2099)
+++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ContactImportExportModel.java 2014-06-23 22:11:57 UTC (rev 2100)
@@ -219,6 +219,9 @@
I18nAbleParserFormatter<ObservedDataControl> valueParserFormatter = new I18nAbleParserFormatter<>(locale, observedDataControlsValues);
valueParserFormatter.setAcceptNullValues(true);
modelBuilder.newColumnForImportExport("CONTACT_DONNEES_ALLEGRO_VALIDEES", Contact.PROPERTY_OBSERVED_DATA_CONTROL, valueParserFormatter);
+
+ modelBuilder.newIgnoredColumn("CONTACT_DUREE_OBSERVATION_EN_JOURS");
+ modelBuilder.newColumnForExport("CONTACT_DUREE_OBSERVATION_EN_JOURS", "observationTimeInDays", Common.INTEGER);
}
if (obsProgram.isObsVente()) {
1
0