From efd57cb07f4fce34ca48ef71c350759cb63b25de Mon Sep 17 00:00:00 2001 From: jakkris-thongma Date: Thu, 10 Jun 2021 15:21:15 +0200 Subject: [PATCH 1/3] Added email recipient in message --- .../client/representations/EmailDetails.java | 79 +++++++++++++++++++ .../representations/MessageRecipient.java | 9 ++- .../client/representations/MessageTest.java | 2 +- 3 files changed, 88 insertions(+), 2 deletions(-) create mode 100644 src/main/java/no/digipost/api/client/representations/EmailDetails.java diff --git a/src/main/java/no/digipost/api/client/representations/EmailDetails.java b/src/main/java/no/digipost/api/client/representations/EmailDetails.java new file mode 100644 index 00000000..bccafca1 --- /dev/null +++ b/src/main/java/no/digipost/api/client/representations/EmailDetails.java @@ -0,0 +1,79 @@ +/** + * Copyright (C) Posten Norge AS + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package no.digipost.api.client.representations; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "email-details", propOrder = { + "emailAddress", + "content", + "subject" +}) +public class EmailDetails +{ + + @XmlElement(name = "email-address", required = true) + protected String emailAddress; + @XmlElement(required = true) + protected String content; + @XmlElement(required = true) + protected String subject; + + public EmailDetails() { + + } + + public EmailDetails(final String emailAddress, final String content, final String subject) { + this.emailAddress = emailAddress; + this.content = content; + this.subject = subject; + } + + public String getEmailAddress() { + return emailAddress; + } + + + public void setEmailAddress(String value) { + this.emailAddress = value; + } + + + public String getContent() { + return content; + } + + + public void setContent(String value) { + this.content = value; + } + + + public String getSubject() { + return subject; + } + + + public void setSubject(String value) { + this.subject = value; + } + +} diff --git a/src/main/java/no/digipost/api/client/representations/MessageRecipient.java b/src/main/java/no/digipost/api/client/representations/MessageRecipient.java index 65c5eadd..75fe039a 100644 --- a/src/main/java/no/digipost/api/client/representations/MessageRecipient.java +++ b/src/main/java/no/digipost/api/client/representations/MessageRecipient.java @@ -30,7 +30,8 @@ "personalIdentificationNumber", "organisationNumber", "printDetails", - "bankAccountNumber" + "bankAccountNumber", + "emailDetails" }) public class MessageRecipient { @@ -46,6 +47,8 @@ public class MessageRecipient { protected PrintDetails printDetails; @XmlElement(name = "bank-account-number", nillable = false) protected String bankAccountNumber; + @XmlElement(name = "email-details", nillable = false) + protected EmailDetails emailDetails; public MessageRecipient() { } @@ -100,6 +103,10 @@ public MessageRecipient(final OrganisationNumber organisationNumber, final Print this.printDetails = printDetails; } + public MessageRecipient(final EmailDetails emailDetails) { + this.emailDetails = emailDetails; + } + public MessageRecipient(final PrintDetails printDetails) { this.printDetails = printDetails; } diff --git a/src/test/java/no/digipost/api/client/representations/MessageTest.java b/src/test/java/no/digipost/api/client/representations/MessageTest.java index 040fabd6..7de9ac3f 100644 --- a/src/test/java/no/digipost/api/client/representations/MessageTest.java +++ b/src/test/java/no/digipost/api/client/representations/MessageTest.java @@ -81,7 +81,7 @@ public void assertThatClassesHaveNotBeenChangedWithoutChangingMessageCopyMethod( } Field[] recipientFields = MessageRecipient.class.getDeclaredFields(); - assertThat(recipientFields.length, is(6)); + assertThat(recipientFields.length, is(7)); String[] allFieldsThatAreUsedForCopyInMessageRecipient = new String[]{"nameAndAddress", "digipostAddress", "personalIdentificationNumber", "organisationNumber", "printDetails"}; From cee89a8714ae59a7fa85495df5ef031f59452e58 Mon Sep 17 00:00:00 2001 From: jakkris-thongma Date: Mon, 21 Jun 2021 16:08:19 +0200 Subject: [PATCH 2/3] Removed unused variables in emaildetails. These values exists in the primarydocument. Added email-details to xsd file. --- .../client/representations/EmailDetails.java | 33 ++----------------- src/main/resources/xsd/api_v7.xsd | 6 ++++ 2 files changed, 8 insertions(+), 31 deletions(-) diff --git a/src/main/java/no/digipost/api/client/representations/EmailDetails.java b/src/main/java/no/digipost/api/client/representations/EmailDetails.java index bccafca1..29de7f82 100644 --- a/src/main/java/no/digipost/api/client/representations/EmailDetails.java +++ b/src/main/java/no/digipost/api/client/representations/EmailDetails.java @@ -23,28 +23,19 @@ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "email-details", propOrder = { - "emailAddress", - "content", - "subject" + "emailAddress" }) public class EmailDetails { @XmlElement(name = "email-address", required = true) protected String emailAddress; - @XmlElement(required = true) - protected String content; - @XmlElement(required = true) - protected String subject; public EmailDetails() { - } - public EmailDetails(final String emailAddress, final String content, final String subject) { + public EmailDetails(final String emailAddress) { this.emailAddress = emailAddress; - this.content = content; - this.subject = subject; } public String getEmailAddress() { @@ -56,24 +47,4 @@ public void setEmailAddress(String value) { this.emailAddress = value; } - - public String getContent() { - return content; - } - - - public void setContent(String value) { - this.content = value; - } - - - public String getSubject() { - return subject; - } - - - public void setSubject(String value) { - this.subject = value; - } - } diff --git a/src/main/resources/xsd/api_v7.xsd b/src/main/resources/xsd/api_v7.xsd index cda1151c..e0f6718d 100644 --- a/src/main/resources/xsd/api_v7.xsd +++ b/src/main/resources/xsd/api_v7.xsd @@ -1293,4 +1293,10 @@ + + + + + + From f85adaf4336c6190ed10d00df1d0497808f8b847 Mon Sep 17 00:00:00 2001 From: jakkris-thongma Date: Fri, 2 Jul 2021 12:28:15 +0200 Subject: [PATCH 3/3] Added email details to copyMessageWithOnlyDigipostDetails --- .../digipost/api/client/representations/Message.java | 10 ++++++---- .../api/client/representations/MessageRecipient.java | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/no/digipost/api/client/representations/Message.java b/src/main/java/no/digipost/api/client/representations/Message.java index 063d8832..8d8c4426 100644 --- a/src/main/java/no/digipost/api/client/representations/Message.java +++ b/src/main/java/no/digipost/api/client/representations/Message.java @@ -219,7 +219,7 @@ public static Message copyMessageWithOnlyPrintDetails(Message messageToCopy){ return new Message(messageToCopy.messageId, messageToCopy.senderId, messageToCopy.senderOrganization, null, null, null, null, messageToCopy.deliveryTime, messageToCopy.invoiceReference, - messageToCopy.primaryDocument.copyDocumentAndSetDigipostFileTypeToPdf(), tmpAttachments, messageToCopy.recipient.getPrintDetails(), null, null); + messageToCopy.primaryDocument.copyDocumentAndSetDigipostFileTypeToPdf(), tmpAttachments, messageToCopy.recipient.getPrintDetails(), null, null, null); } public static Message copyMessageWithOnlyDigipostDetails(Message messageToCopy){ @@ -227,24 +227,26 @@ public static Message copyMessageWithOnlyDigipostDetails(Message messageToCopy){ messageToCopy.recipient.nameAndAddress, messageToCopy.recipient.digipostAddress, messageToCopy.recipient.personalIdentificationNumber, messageToCopy.recipient.organisationNumber, messageToCopy.deliveryTime, messageToCopy.invoiceReference, messageToCopy.primaryDocument, - messageToCopy.attachments, null, messageToCopy.recipient.bankAccountNumber, messageToCopy.printIfUnread); + messageToCopy.attachments, null, messageToCopy.recipient.bankAccountNumber, messageToCopy.printIfUnread, messageToCopy.recipient.emailDetails); } private Message(final String messageId, final Long senderId, final SenderOrganization senderOrganization, final NameAndAddress nameAndAddress, final String digipostAddress, String personalIdentificationNumber, final String organisationNumber, final ZonedDateTime deliveryTime, final String invoiceReference, - final Document primaryDocument, final List attachments, final PrintDetails printDetails, final String bankAccountNumber, PrintIfUnread printIfUnread){ + final Document primaryDocument, final List attachments, final PrintDetails printDetails, + final String bankAccountNumber, PrintIfUnread printIfUnread, final EmailDetails emailDetails){ this.messageId = messageId; this.senderId = senderId; this.senderOrganization = senderOrganization; MessageRecipient recipient = new MessageRecipient(nameAndAddress, digipostAddress, - personalIdentificationNumber, organisationNumber, printDetails, bankAccountNumber); + personalIdentificationNumber, organisationNumber, printDetails, bankAccountNumber, emailDetails); this.recipient = recipient; this.deliveryTime = deliveryTime; this.invoiceReference = invoiceReference; this.primaryDocument = primaryDocument; this.attachments = attachments; this.printIfUnread = printIfUnread; + } diff --git a/src/main/java/no/digipost/api/client/representations/MessageRecipient.java b/src/main/java/no/digipost/api/client/representations/MessageRecipient.java index 75fe039a..7cff3510 100644 --- a/src/main/java/no/digipost/api/client/representations/MessageRecipient.java +++ b/src/main/java/no/digipost/api/client/representations/MessageRecipient.java @@ -54,13 +54,14 @@ public MessageRecipient() { } MessageRecipient(NameAndAddress nameAndAddress, String digipostAddress, String personalIdentificationNumber, - String organisationNumber, PrintDetails printDetails, String bankAccountNumber){ + String organisationNumber, PrintDetails printDetails, String bankAccountNumber, EmailDetails emailDetails){ this.nameAndAddress = nameAndAddress; this.digipostAddress = digipostAddress; this.personalIdentificationNumber = personalIdentificationNumber; this.organisationNumber = organisationNumber; this.printDetails = printDetails; this.bankAccountNumber = bankAccountNumber; + this.emailDetails = emailDetails; } public MessageRecipient(final PersonalIdentificationNumber id) {