From dfecf4ac76e8cdc9fe2b157ec29f87909b227249 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Fri, 14 Oct 2022 10:52:26 +0200 Subject: [PATCH] Refactor:Move prop includeNotificationSettingsLink up to VIPSMessage --- .../distribution/entity/MsgToSend.java | 17 +----------- .../distribution/entity/VipsMessage.java | 27 +++++++++++++++++-- .../send/MailMsgDeliveryHandler.java | 2 +- .../send/SmsMsgDeliveryHandler.java | 2 +- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/MsgToSend.java b/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/MsgToSend.java index 1e3abbee..1586f0b8 100644 --- a/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/MsgToSend.java +++ b/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/MsgToSend.java @@ -51,9 +51,6 @@ public class MsgToSend { // The lead paragraph (AKA "Ingress") public String msgLeadParagraph; - // Include by default. If not needed, use constructor that makes it configurable - private Boolean includeNotificationSettingsLink = Boolean.TRUE; - /* (non-Javadoc) * @see no.nibio.vips_msg_dist.dao.Test#getMsgSubject() @@ -125,6 +122,7 @@ public class MsgToSend { this.locale = locale; } + /** * @return The localized string **template** for generating a link to a user's page for * managing notification subscription settings @@ -137,17 +135,4 @@ public class MsgToSend { } - /** - * If true, the SMS and mail messages will have this type of link appended at the end: - * "To edit your notification subscriptions, please use this link: https://logic.vips.nibio.no/user/notificationsubscription?userId=1" - * The server name can be configured with the system properties no.nibio.vips.logic.VIPSLOGIC_PROTOCOL and no.nibio.vips.logic.SERVER_NAME - * @return - */ - public Boolean getIncludeNotificationSettingsLink() { - return includeNotificationSettingsLink; - } - - public void setIncludeNotificationSettingsLink(Boolean includeNotificationSettingsLink) { - this.includeNotificationSettingsLink = includeNotificationSettingsLink; - } } diff --git a/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/VipsMessage.java b/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/VipsMessage.java index 1c616617..257a3fe5 100644 --- a/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/VipsMessage.java +++ b/src/main/java/no/nibio/vips/logic/messaging/distribution/entity/VipsMessage.java @@ -20,12 +20,17 @@ package no.nibio.vips.logic.messaging.distribution.entity; import java.net.MalformedURLException; import java.net.URL; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.ResourceBundle; import java.util.stream.Collectors; + +import com.ibm.icu.util.ULocale; import no.nibio.vips.logic.messaging.UniversalMessage; import no.nibio.vips.logic.messaging.distribution.send.IMsgContent; +import no.nibio.vips.logic.util.Globals; /** @@ -38,7 +43,10 @@ import no.nibio.vips.logic.messaging.distribution.send.IMsgContent; // TODO use get and setter public class VipsMessage implements IMsgContent { - + + // Include by default. If not needed, use constructor that makes it configurable + private Boolean includeNotificationSettingsLink = Boolean.TRUE; + /** * Create from UniversalMessage * TODO: Complete integration of entities! @@ -47,6 +55,7 @@ public class VipsMessage implements IMsgContent { public VipsMessage(UniversalMessage universalMessage) { this.expiresAt = universalMessage.getExpiresAt(); + this.setIncludeNotificationSettingsLink(universalMessage.getIncludeNotificationSettingsLink()); this.distributionList = universalMessage.getDistributionListObjects().stream().map(umRecipient->{ MsgReceiver msgReceiver = new MsgReceiver(); msgReceiver.type = umRecipient.getType().toLowerCase().equals("mail") ? DistributionTypeEnum.Mail : DistributionTypeEnum.Sms; @@ -102,6 +111,20 @@ public class VipsMessage implements IMsgContent { public void setMessageLocalVersions(List<MsgToSend> messageLocalVersions) { this.messageLocalVersions = messageLocalVersions; } - + + + /** + * If true, the SMS and mail messages will have this type of link appended at the end: + * "To edit your notification subscriptions, please use this link: https://logic.vips.nibio.no/user/notificationsubscription?userId=1" + * The server name can be configured with the system properties no.nibio.vips.logic.VIPSLOGIC_PROTOCOL and no.nibio.vips.logic.SERVER_NAME + * @return + */ + public Boolean getIncludeNotificationSettingsLink() { + return includeNotificationSettingsLink; + } + + public void setIncludeNotificationSettingsLink(Boolean includeNotificationSettingsLink) { + this.includeNotificationSettingsLink = includeNotificationSettingsLink; + } } diff --git a/src/main/java/no/nibio/vips/logic/messaging/distribution/send/MailMsgDeliveryHandler.java b/src/main/java/no/nibio/vips/logic/messaging/distribution/send/MailMsgDeliveryHandler.java index d13d028b..f4da6f78 100644 --- a/src/main/java/no/nibio/vips/logic/messaging/distribution/send/MailMsgDeliveryHandler.java +++ b/src/main/java/no/nibio/vips/logic/messaging/distribution/send/MailMsgDeliveryHandler.java @@ -150,7 +150,7 @@ public class MailMsgDeliveryHandler implements IDeliveryMsgHandler { } else { sendMessage(msgToSend.getMsgSubject(), msgToSend.getMsgLeadParagraph(), new StringBuffer(msgToSend.getMsgBody()).append("\n\n") .append(msgToSend.getMsgDownloadUrl() != null ? msgToSend.getMsgDownloadUrl():"") - .append(msgToSend.getIncludeNotificationSettingsLink() ? "\n\n" + MessageFormat.format(msgToSend.getNotificationSettingsLinkTpl(),msgReceiver.recipientId): "\n"), + .append(vm.getIncludeNotificationSettingsLink() ? "\n\n" + MessageFormat.format(msgToSend.getNotificationSettingsLinkTpl(),msgReceiver.recipientId): "\n"), msgReceiver.msgDeliveryAddress); } return SingleMsgSentStateEnum.Ok; 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 965ef4b3..74af3dfa 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 @@ -136,7 +136,7 @@ public class SmsMsgDeliveryHandler implements IDeliveryMsgHandler { + msgToSend.getMsgLeadParagraph() + "\n" + msgToSend.getMsgBody() + (msgToSend.getMsgDownloadUrl() != null ? "\n" + msgToSend.getMsgDownloadUrl().toString(): "\n") - + (msgToSend.getIncludeNotificationSettingsLink() ? "\n\n" + MessageFormat.format(msgToSend.getNotificationSettingsLinkTpl(), msgReceiver.recipientId): "\n"); + + (vm.getIncludeNotificationSettingsLink() ? "\n\n" + MessageFormat.format(msgToSend.getNotificationSettingsLinkTpl(), msgReceiver.recipientId): "\n"); LOGGER.debug(smsText); LOGGER.debug("Teksten er på " + smsText.length() + " tegn."); -- GitLab