r1965 - in trunk/wao-services/src/main/java/fr/ifremer/wao/services/service: . csv csv/operations
Author: bleny Date: 2014-05-19 15:28:44 +0200 (Mon, 19 May 2014) New Revision: 1965 Url: http://forge.codelutin.com/projects/wao/repository/revisions/1965 Log: fixes #5099 fix wrong tests and add missing export data Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/BoatParserFormatter.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/SampleRowParserFormatter.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UserParserFormatter.java trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UsersParserFormatter.java Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java 2014-05-19 12:56:03 UTC (rev 1964) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/ObsMerContactsService.java 2014-05-19 13:28:44 UTC (rev 1965) @@ -678,8 +678,40 @@ updateAllegroWalletIfNecessary(updateContactCommand); + notifyMammalsObservationIfNecessary(updateContactCommand); + } + protected void notifyMammalsObservationIfNecessary(UpdateContactCommand updateContactCommand) { + + if (updateContactCommand.isMammalsInfosChanged()) { + + Contact contact = updateContactCommand.getContact(); + + MammalsObservationEmail email = getEmailService().newMammalsObservationEmail(); + email.setContact(contact); + + // now trying to find to what user we need to send the mail + WaoUserTopiaDao userDao = getWaoUserDao(); + // users contains all the user we need to notify for the capture + List<WaoUser> waoUsers = userDao.forMammalsNotificationsEquals(true).addEquals(WaoUser.PROPERTY_ACTIVE, true).findAll(); + + for (WaoUser waoUser : waoUsers) { + if (StringUtil.isEmail(waoUser.getLogin())) { + email.addBcc(waoUser); + } else { + if (log.isWarnEnabled()) { + log.warn("will not send mammals capture notification to user " + waoUser + ". login is not an email"); + } + } + } + + getEmailService().send(email); + + } + + } + public void delete(String contactId) throws IllegalDeletionException { Contact contact = getContact(contactId); @@ -742,23 +774,6 @@ samplingPlanService.recomputeSampleRowEstimatedAndRealTides(contact.getSampleRow()); - if (updateContactCommand.isMammalsInfosChanged()) { - - MammalsObservationEmail email = getEmailService().newMammalsObservationEmail(); - email.setContact(contact); - - // now trying to find to what user we need to send the mail - WaoUserTopiaDao userDao = getWaoUserDao(); - // users contains all the user we need to notify for the capture - List<WaoUser> waoUsers = userDao.forMammalsNotificationsEquals(true).findAll(); - - for (WaoUser waoUser : waoUsers) { - email.addTo(waoUser); - } - - getEmailService().send(email); - } - dao.update(contact); } Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java 2014-05-19 12:56:03 UTC (rev 1964) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/ObsMerContactImportExportModel.java 2014-05-19 13:28:44 UTC (rev 1965) @@ -124,10 +124,8 @@ ModelBuilder<Contact> modelBuilder = new ModelBuilder<>(); modelBuilder.newColumnForImportExport("CONTACT_ID", Contact.PROPERTY_TOPIA_ID); modelBuilder.newColumnForImportExport("CONTACT_DATE_CREATION", Contact.PROPERTY_CREATION_DATE, Common.DAY_TIME); - if (waoUsers != null) { - modelBuilder.newColumnForImportExport("CONTACT_OBSERVATEUR_PRINCIPAL", Contact.PROPERTY_MAIN_OBSERVER, new UserParserFormatter(locale, waoUsers)); - modelBuilder.newColumnForImportExport("CONTACT_OBSERVATEURS_SECONDAIRES", Contact.PROPERTY_SECONDARY_OBSERVERS, new UsersParserFormatter(locale, waoUsers)); - } + modelBuilder.newColumnForImportExport("CONTACT_OBSERVATEUR_PRINCIPAL", Contact.PROPERTY_MAIN_OBSERVER, new UserParserFormatter(locale, waoUsers)); + modelBuilder.newColumnForImportExport("CONTACT_OBSERVATEURS_SECONDAIRES", Contact.PROPERTY_SECONDARY_OBSERVERS, new UsersParserFormatter(locale, waoUsers)); modelBuilder.newIgnoredColumn("CONTACT_OBSERVATEURS_NOMS"); modelBuilder.newColumnForExport( @@ -163,9 +161,7 @@ modelBuilder.newColumnForImportExport("CONTACT_COMMENTAIRE_COORDINATEUR", Contact.PROPERTY_COMMENT_COORDINATOR); modelBuilder.newColumnForImportExport("CONTACT_COMMENTAIRE_PROGRAMME", Contact.PROPERTY_COMMENT_ADMIN); - if (boats != null) { - modelBuilder.newColumnForImportExport("NAVIRE_IMMATRICULATION", Contact.PROPERTY_BOAT, new BoatParserFormatter(boats, locale)); - } + modelBuilder.newColumnForImportExport("NAVIRE_IMMATRICULATION", Contact.PROPERTY_BOAT, new BoatParserFormatter(boats, locale)); modelBuilder.newIgnoredColumn("NAVIRE_NOM"); modelBuilder.newColumnForExport("NAVIRE_NOM", new ValueGetter<Contact, String>() { @Override @@ -176,9 +172,7 @@ modelBuilder.newColumnForImportExport("CONTACT_VALIDATION_SOCIETE", Contact.PROPERTY_VALIDATION_COMPANY, Common.BOOLEAN); modelBuilder.newColumnForImportExport("CONTACT_VALIDATION_PROGRAMME", Contact.PROPERTY_VALIDATION_PROGRAM, Common.BOOLEAN); - if (sampleRows != null) { - modelBuilder.newColumnForImportExport("PLAN_CODE", Contact.PROPERTY_SAMPLE_ROW, new SampleRowParserFormatter(locale, sampleRows)); - } + modelBuilder.newColumnForImportExport("PLAN_CODE", Contact.PROPERTY_SAMPLE_ROW, new SampleRowParserFormatter(locale, sampleRows)); modelBuilder.newColumnForImportExport("CONTACT_QUALITE_DONNEE", "dataReliability", new I18nAbleParserFormatter<>(locale, DataReliability.values())); @@ -186,9 +180,7 @@ modelBuilder.newColumnForImportExport("CONTACT_CAPTURE_ACCIDENTELLE", Contact.PROPERTY_MAMMALS_CAPTURE, Common.BOOLEAN); modelBuilder.newIgnoredColumn("CONTACT_CAPTURE_ACCIDENTELLE_DETAILS"); modelBuilder.newColumnForExport("CONTACT_CAPTURE_ACCIDENTELLE_DETAILS", Contact.PROPERTY_MAMMALS_INFO); - if (motives != null) { - modelBuilder.newColumnForImportExport("CONTACT_ETAT_MOTIF_CODE", Contact.PROPERTY_CONTACT_STATE_MOTIF, new ContactStateMotivesParserFormatter(locale, motives)); - } + modelBuilder.newColumnForImportExport("CONTACT_ETAT_MOTIF_CODE", Contact.PROPERTY_CONTACT_STATE_MOTIF, new ContactStateMotivesParserFormatter(locale, motives)); modelBuilder.newIgnoredColumn("CONTACT_ETAT_MOTIF_NOM"); modelBuilder.newColumnForExport("CONTACT_ETAT_MOTIF_NOM", new ValueGetter<Contact, String>() { @Override Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/BoatParserFormatter.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/BoatParserFormatter.java 2014-05-19 12:56:03 UTC (rev 1964) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/BoatParserFormatter.java 2014-05-19 13:28:44 UTC (rev 1965) @@ -43,7 +43,9 @@ public BoatParserFormatter(List<Boat> boats, Locale locale) { this.locale = locale; - indexedBoats = Maps.uniqueIndex(boats, Boats.getImmatriculation()); + if (boats != null) { + indexedBoats = Maps.uniqueIndex(boats, Boats.getImmatriculation()); + } } @Override Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/SampleRowParserFormatter.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/SampleRowParserFormatter.java 2014-05-19 12:56:03 UTC (rev 1964) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/SampleRowParserFormatter.java 2014-05-19 13:28:44 UTC (rev 1965) @@ -43,7 +43,9 @@ public SampleRowParserFormatter(Locale locale, List<SampleRow> sampleRows) { this.locale = locale; - indexedSampleRows = Maps.uniqueIndex(sampleRows, SampleRows.getCode()); + if (sampleRows != null) { + indexedSampleRows = Maps.uniqueIndex(sampleRows, SampleRows.getCode()); + } } @Override Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UserParserFormatter.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UserParserFormatter.java 2014-05-19 12:56:03 UTC (rev 1964) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UserParserFormatter.java 2014-05-19 13:28:44 UTC (rev 1965) @@ -44,7 +44,9 @@ public UserParserFormatter(Locale locale, List<WaoUser> waoUsers) { this.locale = locale; - this.indexedWaoUsers = Maps.uniqueIndex(waoUsers, WaoUsers.getLogin()); + if (waoUsers != null) { + this.indexedWaoUsers = Maps.uniqueIndex(waoUsers, WaoUsers.getLogin()); + } } @Override Modified: trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UsersParserFormatter.java =================================================================== --- trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UsersParserFormatter.java 2014-05-19 12:56:03 UTC (rev 1964) +++ trunk/wao-services/src/main/java/fr/ifremer/wao/services/service/csv/operations/UsersParserFormatter.java 2014-05-19 13:28:44 UTC (rev 1965) @@ -49,7 +49,9 @@ public UsersParserFormatter(Locale locale, List<WaoUser> waoUsers) { this.locale = locale; - this.indexedWaoUsers = Maps.uniqueIndex(waoUsers, WaoUsers.getLogin()); + if (waoUsers != null) { + this.indexedWaoUsers = Maps.uniqueIndex(waoUsers, WaoUsers.getLogin()); + } } @Override
participants (1)
-
bleny@users.forge.codelutin.com