diff --git a/pom.xml b/pom.xml
index 046ec55..b4a2621 100755
--- a/pom.xml
+++ b/pom.xml
@@ -28,7 +28,7 @@
com.github.informatik-ag-ngl
envoy-common
- develop-SNAPSHOT
+ f~attachment-SNAPSHOT
com.github.informatik-ag-ngl
diff --git a/src/main/java/envoy/server/data/GroupMessage.java b/src/main/java/envoy/server/data/GroupMessage.java
index 13dcc49..91ba538 100644
--- a/src/main/java/envoy/server/data/GroupMessage.java
+++ b/src/main/java/envoy/server/data/GroupMessage.java
@@ -5,7 +5,7 @@ import java.util.Map;
import javax.persistence.*;
-import envoy.data.MessageBuilder;
+import envoy.data.Group;
/**
* Project: envoy-server-standalone
@@ -57,15 +57,7 @@ public class GroupMessage extends Message {
*/
@Override
public envoy.data.GroupMessage toCommon() {
- // TODO: Attachment
- envoy.data.GroupMessage groupMessage = new MessageBuilder(sender.getID(), recipient.getID(), id).setDate(creationDate)
- .setForwarded(forwarded)
- .setStatus(status)
- .setText(text)
- .buildGroupMessage((envoy.data.Group) recipient.toCommon(), memberMessageStatus);
- groupMessage.setReceivedDate(receivedDate);
- groupMessage.setReadDate(readDate);
- return groupMessage;
+ return prepareBuilder().buildGroupMessage((Group) recipient.toCommon(), memberMessageStatus);
}
/**
diff --git a/src/main/java/envoy/server/data/Message.java b/src/main/java/envoy/server/data/Message.java
index 5b81e7d..afe66c7 100755
--- a/src/main/java/envoy/server/data/Message.java
+++ b/src/main/java/envoy/server/data/Message.java
@@ -6,6 +6,8 @@ import java.time.LocalDateTime;
import javax.persistence.*;
+import envoy.data.Attachment;
+import envoy.data.Attachment.AttachmentType;
import envoy.data.Message.MessageStatus;
import envoy.data.MessageBuilder;
@@ -63,6 +65,7 @@ public class Message {
protected String text;
protected envoy.data.Message.MessageStatus status;
+ protected AttachmentType attachmentType;
protected byte[] attachment;
protected boolean forwarded;
@@ -91,7 +94,10 @@ public class Message {
sender = persistenceManager.getUserByID(message.getSenderID());
recipient = persistenceManager.getContactByID(message.getRecipientID());
forwarded = message.isForwarded();
- // TODO: Attachment
+ if (message.hasAttachment()) {
+ attachment = message.getAttachment().getData();
+ attachmentType = message.getAttachment().getType();
+ }
}
/**
@@ -102,15 +108,23 @@ public class Message {
* @since Envoy Server Standalone v0.1-alpha
*/
public envoy.data.Message toCommon() {
- // TODO: Attachment
- envoy.data.Message message = new MessageBuilder(sender.getID(), recipient.getID(), id).setText(text)
- .setDate(creationDate)
+ return prepareBuilder().build();
+ }
+
+ /**
+ * @return a message builder containing the state of this message
+ * @since Envoy Server Standalone v0.1-beta
+ */
+ MessageBuilder prepareBuilder() {
+ var builder = new MessageBuilder(sender.getID(), recipient.getID(), id).setText(
+ text)
+ .setCreationDate(creationDate)
+ .setReceivedDate(receivedDate)
+ .setReadDate(readDate)
.setStatus(status)
- .setForwarded(forwarded)
- .build();
- message.setReceivedDate(receivedDate);
- message.setReadDate(readDate);
- return message;
+ .setForwarded(forwarded);
+ if (attachment != null) builder.setAttachment(new Attachment(attachment, attachmentType));
+ return builder;
}
/**
@@ -250,6 +264,18 @@ public class Message {
*/
public void setAttachment(byte[] attachment) { this.attachment = attachment; }
+ /**
+ * @return the attachmentType
+ * @since Envoy Server Standalone v0.1-beta
+ */
+ public AttachmentType getAttachmentType() { return attachmentType; }
+
+ /**
+ * @param attachmentType the attachmentType to set
+ * @since Envoy Server Standalone v0.1-beta
+ */
+ public void setAttachmentType(AttachmentType attachmentType) { this.attachmentType = attachmentType; }
+
/**
* @return whether this message is a forwarded message
* @since Envoy Server Standalone v0.1-alpha