From 92b952c5fd8c71930a2a7c065bbb5bafa3bbf8ed Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Mon, 5 Dec 2022 15:26:50 +0100 Subject: [PATCH] =?UTF-8?q?Fissato=20problema=20sulla=20creazione=20di=20u?= =?UTF-8?q?tenti=20con=20mail=20gi=C3=A0=20registrata.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../it/cnr/isti/epasmed/sync/SyncService.java | 30 +++++++++++++++---- .../web/rest/epas/EPASPersonsResourceIT.java | 4 +-- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 6353126..9b89af8 100755 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ it.cnr.isti.epasmed epasmed - 1.0.2 + 1.0.3 jar epasmed diff --git a/src/main/java/it/cnr/isti/epasmed/sync/SyncService.java b/src/main/java/it/cnr/isti/epasmed/sync/SyncService.java index 6798d49..df98fed 100755 --- a/src/main/java/it/cnr/isti/epasmed/sync/SyncService.java +++ b/src/main/java/it/cnr/isti/epasmed/sync/SyncService.java @@ -1,6 +1,7 @@ package it.cnr.isti.epasmed.sync; import java.sql.Timestamp; +import java.text.Normalizer; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; @@ -353,8 +354,13 @@ public class SyncService { String email = createCNREmail(sia); epasPersonsDTO.setEmail(email); epasPersonsDTO.setQualification(PERSON_DEFAULT_QUALIFICATION); - epasPerson = epasPersonsService.create(epasPersonsDTO); - logger.info("EPAS Created Person: {}", epasPerson); + try { + epasPerson = epasPersonsService.create(epasPersonsDTO); + logger.info("EPAS Created Person: {}", epasPerson); + } catch (Exception e) { + logger.error("Error creating person: {}", epasPersonsDTO); + logger.error(e.getLocalizedMessage(),e); + } } else { EPASPersonsDTO epasPersonsDTO = epasPersonsMapper.epasPersonsToEPASPersonsDTO(epasPerson); epasPersonsDTO.setName(sia.getNome()); @@ -380,14 +386,26 @@ public class SyncService { private String createCNREmail(SIAnagrafico sia) { StringBuilder cnrEmail = new StringBuilder(); if (sia.getNome() != null && !sia.getNome().isEmpty()) { - cnrEmail.append(sia.getNome().toLowerCase()); + String nome=sia.getNome(); + if(!Normalizer.isNormalized(sia.getNome(), Normalizer.Form.NFKD)){ + nome=Normalizer.normalize(sia.getNome(), Normalizer.Form.NFKD).replaceAll("\\p{M}", ""); + } + cnrEmail.append(nome.toLowerCase()); if (sia.getCognome() != null && !sia.getCognome().isEmpty()) { + String cognome=sia.getCognome(); + if(!Normalizer.isNormalized(sia.getCognome(), Normalizer.Form.NFKD)){ + cognome=Normalizer.normalize(sia.getCognome(), Normalizer.Form.NFKD).replaceAll("\\p{M}", ""); + } cnrEmail.append("."); - cnrEmail.append(sia.getCognome().toLowerCase().trim()); + cnrEmail.append(cognome.toLowerCase().trim()); } } else { if (sia.getCognome() != null && !sia.getCognome().isEmpty()) { - cnrEmail.append(sia.getCognome().toLowerCase().trim()); + String cognome=sia.getCognome(); + if(!Normalizer.isNormalized(sia.getCognome(), Normalizer.Form.NFKD)){ + cognome=Normalizer.normalize(sia.getCognome(), Normalizer.Form.NFKD).replaceAll("\\p{M}", ""); + } + cnrEmail.append(cognome.toLowerCase().trim()); } else { cnrEmail.append("empty"); } @@ -401,7 +419,7 @@ public class SyncService { cnrEmail = new StringBuilder(); cnrEmail.append("empty@cnr.it"); } - + logger.debug("Created CNR email: {}", cnrEmail.toString()); return cnrEmail.toString(); } diff --git a/src/test/java/it/cnr/isti/epasmed/web/rest/epas/EPASPersonsResourceIT.java b/src/test/java/it/cnr/isti/epasmed/web/rest/epas/EPASPersonsResourceIT.java index f0bbbad..262dde3 100755 --- a/src/test/java/it/cnr/isti/epasmed/web/rest/epas/EPASPersonsResourceIT.java +++ b/src/test/java/it/cnr/isti/epasmed/web/rest/epas/EPASPersonsResourceIT.java @@ -56,7 +56,7 @@ public class EPASPersonsResourceIT { private static final String OFFICE_DEFAULT_CODE = "074000"; private static final String OFFICE_DEFAULT_CODEID = "225200"; - private static final String PERSON_DEFAULT_ID = "xxx"; + private static final String PERSON_DEFAULT_ID = "113"; private static final String PERSON_DEFAULT_NAME = "nometest1"; private static final String PERSON_DEFAULT_SURNAME = "cognometest1"; private static final String PERSON_DEFAULT_FISCAL_CODE = "codicefiscaletes"; @@ -116,7 +116,7 @@ public class EPASPersonsResourceIT { @Test public void getPersonById() throws Exception { - restEPASPersonsMockMvc.perform(get("/api/epas/persons/72")).andExpect(status().isOk()); + restEPASPersonsMockMvc.perform(get("/api/epas/persons/"+PERSON_DEFAULT_ID)).andExpect(status().isOk()); } @Test