From bb11ae9d36f8679733ecd23868dba45b0849b9c8 Mon Sep 17 00:00:00 2001 From: GiuseppeS Date: Mon, 3 Jun 2024 10:26:24 +0200 Subject: [PATCH] Fix su invio email di errore in caso di headless delle export --- .../java/it/integry/ems/service/EmsServices.java | 12 +++--------- .../java/it/integry/ems/service/MailService.java | 11 +++++------ .../integry/ems_model/exception/EntityException.java | 6 ++++++ .../ems/document/service/TrasformaPrevServices.java | 2 +- .../ems/logistic/service/Slim2kLogisticService.java | 4 ++-- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/ems-core/src/main/java/it/integry/ems/service/EmsServices.java b/ems-core/src/main/java/it/integry/ems/service/EmsServices.java index a0a739e5e5..70ef7dfa34 100644 --- a/ems-core/src/main/java/it/integry/ems/service/EmsServices.java +++ b/ems-core/src/main/java/it/integry/ems/service/EmsServices.java @@ -373,7 +373,7 @@ public class EmsServices { if (tmpResult != null) { finalResult.addAll(tmpResult); anyError = Stream.of(tmpResult) - .filter(x-> x !=null) + .filter(x -> x != null) .anyMatch(x -> x.getException() != null); } @@ -479,14 +479,8 @@ public class EmsServices { } } catch (Exception ex) { if (headless) { - List entityBases = new ArrayList(); - EntityBase entityBase = new EntityBase() { - }; - EntityException newEx = new EntityException(ex.getMessage()); - newEx.setStackTrace(ex.getStackTrace()); - entityBase.setException(newEx); - entityBases.add(entityBase); - mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, "EXPORT_" + type, format, "Esportazione entity", entityBases, null, null, null); + mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, "EXPORT_" + type, format, + "Esportazione entity", null, null, null, Collections.singletonList(ex)); throw ex; } else { throw ex; diff --git a/ems-core/src/main/java/it/integry/ems/service/MailService.java b/ems-core/src/main/java/it/integry/ems/service/MailService.java index 8825604b47..50ffd1271d 100644 --- a/ems-core/src/main/java/it/integry/ems/service/MailService.java +++ b/ems-core/src/main/java/it/integry/ems/service/MailService.java @@ -275,12 +275,11 @@ public class MailService { } - public void sendErrorMailByGestNameSection(MultiDBTransactionManager multiDBTransactionManager, String emailDestination, String gestName, String section, - String mailTitle, List entitiesList, byte[] fileInput, String fileName, List anomalie) throws Exception { + public void sendErrorMailByGestNameSection(MultiDBTransactionManager multiDBTransactionManager, String gestName, String section, + String mailTitle, List entitiesList, List attachments, List anomalie, List customExceptions) throws Exception { - - List attachments = new ArrayList<>(); - attachments.add(new EmailFileAttachment(fileName, fileInput)); + // GET DESTINATION + String emailDestination = setupGest.getSetup(multiDBTransactionManager.getPrimaryConnection(), gestName, section, "EMAIL_FOR_LOG"); sendErrorMail(multiDBTransactionManager, emailDestination, mailTitle, @@ -288,7 +287,7 @@ public class MailService { entitiesList, attachments, anomalie, - null); + customExceptions); } diff --git a/ems-core/src/main/java/it/integry/ems_model/exception/EntityException.java b/ems-core/src/main/java/it/integry/ems_model/exception/EntityException.java index 6133b8ecd7..9fc352a2f9 100644 --- a/ems-core/src/main/java/it/integry/ems_model/exception/EntityException.java +++ b/ems-core/src/main/java/it/integry/ems_model/exception/EntityException.java @@ -14,6 +14,12 @@ public class EntityException extends Exception { super(message); } + public EntityException(Exception innerException) { + super(innerException.getMessage()); + + this.mInnerException = innerException; + } + public EntityException(Exception e, EntityBase entity, String query) { super("Impossibile salvare la entity " + entity.getTableName() + ".\n " + e.getMessage() + "\n" + diff --git a/ems-engine/src/main/java/it/integry/ems/document/service/TrasformaPrevServices.java b/ems-engine/src/main/java/it/integry/ems/document/service/TrasformaPrevServices.java index 3b9af2ee42..92111b2a47 100644 --- a/ems-engine/src/main/java/it/integry/ems/document/service/TrasformaPrevServices.java +++ b/ems-engine/src/main/java/it/integry/ems/document/service/TrasformaPrevServices.java @@ -126,7 +126,7 @@ public class TrasformaPrevServices { if (headless) { logger.error("Trasformazione preventivi: ", firstError.get().getException()); try { - mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, to, gestName, section, "Trasformazione preventivi", + mailService.sendErrorMail(multiDBTransactionManager, to, "Trasformazione preventivi", String.format("%s %s", gestName, section), Collections.singletonList(firstError.get()), null, null, null); } catch (Exception e) { diff --git a/ems-engine/src/main/java/it/integry/ems/logistic/service/Slim2kLogisticService.java b/ems-engine/src/main/java/it/integry/ems/logistic/service/Slim2kLogisticService.java index 5f72bce878..778da809d9 100644 --- a/ems-engine/src/main/java/it/integry/ems/logistic/service/Slim2kLogisticService.java +++ b/ems-engine/src/main/java/it/integry/ems/logistic/service/Slim2kLogisticService.java @@ -237,7 +237,7 @@ public class Slim2kLogisticService { respList.add(new ServiceRestResponse(EsitoType.KO, entity.getException().getMessage())); mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, type, format, null, - Collections.singletonList(entity), null, null, null); + Collections.singletonList(entity), (byte[]) null, null, null); } else { respList.add(new ServiceRestResponse(EsitoType.OK, entity, multiDBTransactionManager.getPrimaryDatasource().getProfile())); } @@ -498,7 +498,7 @@ public class Slim2kLogisticService { if (!entitiesWithErrors.isEmpty()) { mailService.sendErrorMailByGestNameSection(multiDBTransactionManager, type, format, null, - entitiesWithErrors, null, null, null); + entitiesWithErrors, (byte[]) null, null, null); } for (EntityBase entity : colli) {