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 1e3abbee193c7c1c25b77c4c6ea9944decdab395..1586f0b81d75077f30427593dc1fb50472e96870 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 1c616617270a02048a63b4a04a7dbfc387b1c588..257a3fe587bf197194bfda5c0700f1cd088eb601 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 d13d028b0d61632d21f75c2f8543c517bbf1d789..f4da6f78ab2ceca19d4b6b96c814fa2f335087e1 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 965ef4b35492bd2fd188431ad846495437cc4600..74af3dfad8683e279f6b2b7737bceff9950cdde5 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.");