This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See http://git.codelutin.com/faxtomail.git commit d7730c8b19122cd3fd421bd01c5bb24da78b3957 Author: Kevin Morin <morin@codelutin.com> Date: Tue Mar 24 18:54:02 2015 +0100 merge branch rustineCreal --- .../faxtomail/services/service/ClientService.java | 2 +- .../services/service/ClientServiceImpl.java | 5 +-- .../services/service/ClientServiceTest.java | 39 ++++++++++++++++++++++ .../faxtomail/web/job/MailFilterJob.java | 7 +++- 4 files changed, 49 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..197012b 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,42 @@ 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"); + client = clientTopiaDao.create(client); + + Client foundClient = + getServiceContext().getClientService().getClientForEmailAddress("test@groupecreal.com", + new EmailImpl(), + "FX", null); + + Assert.assertEquals(client, foundClient); + + client = clientTopiaDao.newInstance(); + client.setBrand("CREAL"); + client.setCompany("FX"); + client.setEmailAddressesJson("[\"" + emailAddress + "\"]"); + client.setCode("123456"); + client.setName("Test Test"); + client = clientTopiaDao.create(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 96b1503..ce11938 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 @@ -327,6 +327,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) { @@ -337,7 +342,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>.