Author: echatellier Date: 2014-07-09 11:05:18 +0200 (Wed, 09 Jul 2014) New Revision: 367 Url: http://forge.codelutin.com/projects/faxtomail/repository/revisions/367 Log: Ajout de commentaire et de fixme, le code ne peut pas fonctionner ! Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java Modified: trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java =================================================================== --- trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java 2014-07-09 08:39:16 UTC (rev 366) +++ trunk/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/ClientService.java 2014-07-09 09:05:18 UTC (rev 367) @@ -53,13 +53,23 @@ import com.google.common.collect.Multimaps; /** + * Service de gestion des clients. + * * @author Kevin Morin (Code Lutin) - * */ public class ClientService extends FaxToMailServiceSupport { private static final Log log = LogFactory.getLog(ClientService.class); + /** + * Recherche le client qui correspond à l'adresse email de l'expediteur du mail. + * + * This method is a getter, but modify input {@code email} ! + * + * @param emailAddress sender address + * @param email email + * @return client for emailAddress (can be {@code null}) + */ public Client getClientForEmailAddress(String emailAddress, Email email) { Preconditions.checkNotNull(email); Preconditions.checkNotNull(emailAddress); @@ -71,6 +81,7 @@ if (StringUtils.isNotBlank(emailAddress)) { clients = clientDao.forEmailAddressEquals(emailAddress).findAll(); + // on essaye de voir si on peut gérer l'adresse de l'expediteur comme un fax if (CollectionUtils.isEmpty(clients)) { String faxNumber = emailAddress.substring(0, emailAddress.indexOf('@')).replaceAll(" ", ""); if (NumberUtils.isNumber(faxNumber)) { @@ -84,7 +95,9 @@ MailFolder folder = email.getMailFolder(); if (clients.size() == 1) { client = clients.get(0); - + + // FIXME echatellier 20140709 : a revoir, folder == null dans tous les cas + // que fait ce code ? } else if (folder != null) { Multimap<String, Client> clientsByBrand = Multimaps.index(clients, new Function<Client, String>() { @Override @@ -94,6 +107,8 @@ }); Set<String> brands = clientsByBrand.keySet(); while (client == null && folder != null) { + // TODO echatellier 20140709 : il y a une relation particuliere entre les noms des dossiers + // et les marques ? if (brands.contains(folder.getName())) { client = new ArrayList<>(clientsByBrand.get(folder.getName())).get(0); } @@ -106,6 +121,14 @@ return client; } + /** + * Recherche un client par code. + * + * FIXME echatellier 20140709 cette methodé récupére un client au hazard car le code peut être dupliqué par société + * + * @param code client code + * @return un client au hasard + */ public Client getClientForCode(String code) { ClientTopiaDao clientDao = getPersistenceContext().getClientDao(); Client client = null;