From e48490884a25945003bb83002168cca181f9ad9a Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Thu, 20 Jul 2023 11:00:25 +0200
Subject: [PATCH] Avoiding recreating named query

---
 .../no/nibio/vips/logic/messaging/MessagingBean.java  | 11 +++++++++--
 .../distribution/send/SmsMsgDeliveryHandler.java      |  1 +
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/no/nibio/vips/logic/messaging/MessagingBean.java b/src/main/java/no/nibio/vips/logic/messaging/MessagingBean.java
index 9d7bf333..64a901bc 100755
--- a/src/main/java/no/nibio/vips/logic/messaging/MessagingBean.java
+++ b/src/main/java/no/nibio/vips/logic/messaging/MessagingBean.java
@@ -233,9 +233,11 @@ public class MessagingBean {
         ForecastEvent toRed = em.find(ForecastEvent.class, ForecastEvent.TO_RED);
         ForecastEvent greenToYellow = em.find(ForecastEvent.class, ForecastEvent.GREEN_TO_YELLOW);
         ForecastEvent currentEvent = null;
+        Query findConfQ = em.createNamedQuery("ForecastResult.findByForecastConfigurationId", ForecastResult.class);
         for(ForecastConfiguration conf:forecastConfigurations)
         {
-            List<ForecastResult> results = em.createNamedQuery("ForecastResult.findByForecastConfigurationId", ForecastResult.class)
+            LOGGER.debug("Now working with forecastConfiguration with id=" + conf.getForecastConfigurationId());
+            List<ForecastResult> results = findConfQ
                     .setParameter("forecastConfigurationId", conf.getForecastConfigurationId())
                     .getResultList();
             
@@ -332,7 +334,12 @@ public class MessagingBean {
                 uMessage.addMessageLocalVersion(locale, headingTemplate, "",MessageFormat.format(bodyTemplate, templateParts),detailsUrl);
                 
             }
-            uMessage.setDistributionList(this.getForecastEventNotificationSubscribers(fConf));
+            List<MessageRecipient> distributionList = this.getForecastEventNotificationSubscribers(fConf);
+            if(distributionList == null || distributionList.isEmpty())
+            {
+                em.remove(newNotification);
+            }
+            uMessage.setDistributionList(distributionList);
             cal.setTime(systemTime);
             cal.add(Calendar.DATE, 1);
             uMessage.setExpiresAt(cal.getTime());
diff --git a/src/main/java/no/nibio/vips/logic/messaging/distribution/send/SmsMsgDeliveryHandler.java b/src/main/java/no/nibio/vips/logic/messaging/distribution/send/SmsMsgDeliveryHandler.java
index 74af3dfa..0236dd71 100644
--- a/src/main/java/no/nibio/vips/logic/messaging/distribution/send/SmsMsgDeliveryHandler.java
+++ b/src/main/java/no/nibio/vips/logic/messaging/distribution/send/SmsMsgDeliveryHandler.java
@@ -139,6 +139,7 @@ public class SmsMsgDeliveryHandler implements IDeliveryMsgHandler {
                 + (vm.getIncludeNotificationSettingsLink() ? "\n\n" + MessageFormat.format(msgToSend.getNotificationSettingsLinkTpl(), msgReceiver.recipientId): "\n");
         LOGGER.debug(smsText);
         LOGGER.debug("Teksten er på " + smsText.length() + " tegn.");
+        LOGGER.debug("Mottaker: " + msgReceiver.msgDeliveryAddress);
 
         try {
             // TODO: Make the price part of VipsMessage
-- 
GitLab