This is an automated email from the git hooks/post-receive script. New commit to branch rustineCreal in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit 509c7f92eff2106faf28153ada82181cf98666af Author: Kevin Morin <morin@codelutin.com> Date: Mon Mar 23 10:46:39 2015 +0100 Mr Morin suite CT, nous avons le pb sur les éléments arrivant pour franciaflex ou noël mais également sur ceux arrivant pour creal. ci-dessous la règle pour une "verrue" rapide. à l'intégration du mail si celui-ci a été envoyé au domaine groupecreal.com, ne rechercher que dans la marque CREAL, Sinon rechercher dans les autres marques (hors CREAL). NB : Attention, concernant cette "verrue", nous n'avons pas mis en prod la dernière version que vous nous avez envoyée en test. Nous sommes toujours sur la version downgradée suite au pb de mail non traités. (il faut donc je pense faire la verrue dans l'immédiat sur cette version). --- .../faxtomail/services/service/ClientService.java | 2 +- .../services/service/ClientServiceImpl.java | 5 ++-- .../services/service/ClientServiceTest.java | 33 ++++++++++++++++++++++ .../faxtomail/web/job/MailFilterJob.java | 7 ++++- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java index a1656e5..dee8fd9 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java @@ -32,7 +32,7 @@ import com.franciaflex.faxtomail.services.FaxToMailService; * @author Kevin Morin (Code Lutin) */ public interface ClientService extends FaxToMailService { - Client getClientForEmailAddress(String emailAddress, Email email, String company); + Client getClientForEmailAddress(String emailAddress, Email email, String company, String brand); Client getClientForCode(String code, String company); diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java index 677c154..211c9eb 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientServiceImpl.java @@ -70,7 +70,7 @@ public class ClientServiceImpl extends FaxToMailServiceSupport implements Client * @return client for emailAddress (can be {@code null}) */ @Override - public Client getClientForEmailAddress(String emailAddress, Email email, String company) { + public Client getClientForEmailAddress(String emailAddress, Email email, String company, String brand) { Preconditions.checkNotNull(email); Preconditions.checkNotNull(emailAddress); @@ -96,7 +96,8 @@ public class ClientServiceImpl extends FaxToMailServiceSupport implements Client int i = 0; while (client == null && i < clients.size()) { Client c = clients.get(i++); - if (StringUtils.isBlank(company) || Objects.equals(company, c.getCompany())) { + if ((StringUtils.isBlank(company) || Objects.equals(company, c.getCompany())) + && (StringUtils.isBlank(brand) || Objects.equals(StringUtils.lowerCase(brand), StringUtils.lowerCase(c.getBrand())))) { client = c; } } diff --git a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/ClientServiceTest.java b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/ClientServiceTest.java index 6d0ba2f..b6193df 100644 --- a/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/ClientServiceTest.java +++ b/faxtomail-service/src/test/java/com/franciaflex/faxtomail/services/service/ClientServiceTest.java @@ -26,6 +26,7 @@ package com.franciaflex.faxtomail.services.service; import com.franciaflex.faxtomail.persistence.entities.Client; import com.franciaflex.faxtomail.persistence.entities.ClientTopiaDao; +import com.franciaflex.faxtomail.persistence.entities.EmailImpl; import com.franciaflex.faxtomail.persistence.entities.NewClient; import org.junit.Assert; import org.junit.Before; @@ -119,4 +120,36 @@ public class ClientServiceTest extends AbstractFaxToMailServiceTest { Assert.assertEquals(2, clients.get(0).getEmailAddresses().size()); } + + @Test + public void testGetClientForEmailAddress() { + ClientTopiaDao clientTopiaDao = getServiceContext().getPersistenceContext().getClientDao(); + + Client client = clientTopiaDao.newInstance(); + client.setBrand("FX"); + client.setCompany("FX"); + + String emailAddress = "test@groupecreal.com"; + Assert.assertEquals("@groupecreal.com", emailAddress.substring(emailAddress.lastIndexOf("@"))); + + client.setEmailAddressesJson("[\"" + emailAddress + "\"]"); + client.setCode("987654"); + client.setName("Test Test"); + clientTopiaDao.create(client); + + client = clientTopiaDao.newInstance(); + client.setBrand("CREAL"); + client.setCompany("FX"); + client.setEmailAddressesJson("[\"" + emailAddress + "\"]"); + client.setCode("123456"); + client.setName("Test Test"); + client = clientTopiaDao.create(client); + + Client foundClient = + getServiceContext().getClientService().getClientForEmailAddress("test@groupecreal.com", + new EmailImpl(), + "FX", "CREAL"); + + Assert.assertEquals(client, foundClient); + } } diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java index faca3a0..e786344 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java @@ -322,6 +322,11 @@ public class MailFilterJob extends AbstractFaxToMailJob { filterFolder = filterFolder.getParent(); } String company = filterFolder.getCompany(); + String brand = null; + // TODO kmorin 20150320 retirer cette rustine quand la gestion des marques par nom de domaine sera faite + if ("@groupecreal.com".equals(email.getRecipient().substring(email.getRecipient().lastIndexOf("@")))) { + brand = "creal"; + } Address[] addresses = message.getFrom(); if (addresses != null && addresses.length > 0) { @@ -332,7 +337,7 @@ public class MailFilterJob extends AbstractFaxToMailJob { sender = sender.toLowerCase(); // Identification du client en fonction du numéro de fax appelant ou de l'adresse e-mail émettrice - Client client = clientService.getClientForEmailAddress(sender, email, company); + Client client = clientService.getClientForEmailAddress(sender, email, company, brand); modifiedProperties.add(Email.PROPERTY_SENDER); String object; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.