[Suiviobsmer-commits] r1318 - in trunk/wao-business/src/main/java/fr/ifremer/wao: io/csv2/models service
Author: bleny Date: 2011-06-06 13:39:51 +0000 (Mon, 06 Jun 2011) New Revision: 1318 Log: fix validation for terrestrial location Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-06-06 10:15:32 UTC (rev 1317) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/io/csv2/models/ContactImportExportModel.java 2011-06-06 13:39:51 UTC (rev 1318) @@ -220,6 +220,8 @@ modelBuilder.newColumnForImportExport("CONTACT_OBSERVATION_MAMMIFERE", Contact.PROPERTY_MAMMALS_OBSERVATION, Common.BOOLEAN); modelBuilder.newColumnForImportExport("CONTACT_CAPTURE_ACCIDENTELLE", Contact.PROPERTY_MAMMALS_CAPTURE, Common.BOOLEAN); } else { + // FIXME 20110606 bleny contact.getTerrestrialLocation() may be null, export will fail + // terrestrial location for both ObsVente and ObsDeb ValueGetterSetter<Contact, LocationType> locationTypeGetter = new Common.ValueSaver<Contact, LocationType>(); modelBuilder.newMandatoryColumn("CONTACT_LIEU_TYPE", new Common.ToStringParserFormatter<LocationType>(LocationType.values()), locationTypeGetter); @@ -236,7 +238,12 @@ modelBuilder.newColumnForExport("CONTACT_LIEU_DESCRIPTION", new ValueGetter<Contact, String>() { @Override public String get(Contact contact) throws Exception { - return contact.getTerrestrialLocation().getDescription(); + String description = ""; + if (contact.getTerrestrialLocation() != null) { + description = contact.getTerrestrialLocation() + .getDescription(); + } + return description; } }); } Modified: trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java =================================================================== --- trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-06 10:15:32 UTC (rev 1317) +++ trunk/wao-business/src/main/java/fr/ifremer/wao/service/ServiceContactImpl.java 2011-06-06 13:39:51 UTC (rev 1318) @@ -279,6 +279,12 @@ + "', l'état est obligatoirement '" + ContactState.OBSERVATION_DONE.toString() + "."; } + if (success && contact.getSampleRow().isFieldWorkObservation() && + contact.getTerrestrialLocation() == null) { + success = false; + message = "Il faut préciser un lieu d'observation"; + } + } else { // Validation for saving contact depends on contactState @@ -318,7 +324,7 @@ Date dataInputDate = contact.getDataInputDate(); if (success && observationEndDate != null && dataInputDate != null && observationEndDate.after(dataInputDate)) { success = false; - message = "La date de saisie des données ne peut pas être antérieure à la date de fin de la marée"; + message = "La date de saisie des données ne peut pas être antérieure à la date de fin d'observation"; } Date currentDate = context.getCurrentDate(); @@ -332,6 +338,12 @@ message = "La date de saisie des données ne peut pas être postérieure à la date du jour"; } + if (success && contact.getObsProgram() == ObsProgram.OBSVENTE && + contact.getTerrestrialLocation() == null) { + success = false; + message = "Il faut préciser un lieu d'observation"; + } + // Non abouti, Refus ou Refus Définitif if (success && contactState.isUnfinishedState()) {
participants (1)
-
bleny@users.labs.libre-entreprise.org