You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2015/06/29 10:25:30 UTC

svn commit: r1688116 - in /james/mailbox/trunk/store/src: main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java

Author: btellier
Date: Mon Jun 29 08:25:29 2015
New Revision: 1688116

URL: http://svn.apache.org/r1688116
Log:
MAILBOX-234 Add user flags support in SimpleMessage

Modified:
    james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java
    james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java

Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java?rev=1688116&r1=1688115&r2=1688116&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java Mon Jun 29 08:25:29 2015
@@ -48,6 +48,7 @@ public class SimpleMessage<Id extends Ma
     private boolean flagged;
     private boolean recent;
     private boolean seen;
+    private String[] userFlags;
     private Date internalDate;
     private final String subType;
     private List<Property> properties;
@@ -71,6 +72,7 @@ public class SimpleMessage<Id extends Ma
         this.properties = propertyBuilder.toProperties();
         this.mediaType = propertyBuilder.getMediaType();
         this.subType = propertyBuilder.getSubType();
+        this.userFlags = flags.getUserFlags();
     }
 
     public SimpleMessage(Mailbox<Id> mailbox, Message<Id> original)
@@ -100,6 +102,11 @@ public class SimpleMessage<Id extends Ma
         }
     }
 
+    @Override
+    protected String[] createUserFlags() {
+        return userFlags.clone();
+    }
+
     public Date getInternalDate() {
         return internalDate;
     }
@@ -143,6 +150,7 @@ public class SimpleMessage<Id extends Ma
         flagged = flags.contains(Flags.Flag.FLAGGED);
         recent = flags.contains(Flags.Flag.RECENT);
         seen = flags.contains(Flags.Flag.SEEN);
+        userFlags = flags.getUserFlags();
     }
 
     public InputStream getBodyContent() throws IOException {

Modified: james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java?rev=1688116&r1=1688115&r2=1688116&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java (original)
+++ james/mailbox/trunk/store/src/test/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessageTest.java Mon Jun 29 08:25:29 2015
@@ -20,6 +20,7 @@ package org.apache.james.mailbox.store.m
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -31,14 +32,22 @@ import javax.mail.util.SharedByteArrayIn
 
 import org.apache.commons.io.IOUtils;
 import org.apache.james.mailbox.store.TestId;
+import org.apache.james.mailbox.FlagsBuilder;
+import org.junit.Before;
 import org.junit.Test;
 
 public class SimpleMessageTest {
     private static final Charset MESSAGE_CHARSET = Charset.forName("UTF-8");
     private static final String MESSAGE_CONTENT = "Simple message content without special characters";
     private static final String MESSAGE_CONTENT_SPECIAL_CHAR = "Simple message content with special characters: \"'(§è!çà$*`";
-    private static final SimpleMessage<TestId> MESSAGE = buildMessage(MESSAGE_CONTENT);
-    private static final SimpleMessage<TestId> MESSAGE_SPECIAL_CHAR = buildMessage(MESSAGE_CONTENT_SPECIAL_CHAR);
+    private SimpleMessage<TestId> MESSAGE;
+    private SimpleMessage<TestId> MESSAGE_SPECIAL_CHAR;
+
+    @Before
+    public void setUp() {
+        MESSAGE = buildMessage(MESSAGE_CONTENT);
+        MESSAGE_SPECIAL_CHAR = buildMessage(MESSAGE_CONTENT_SPECIAL_CHAR);
+    }
 
     @Test
     public void testSize() {
@@ -75,8 +84,14 @@ public class SimpleMessageTest {
                 new String(IOUtils.toByteArray(MESSAGE_SPECIAL_CHAR.getFullContent()),MESSAGE_CHARSET));
     }
 
-    private static SimpleMessage<TestId> buildMessage(String content) {
-        return new SimpleMessage<TestId>(Calendar.getInstance().getTime(),
+    @Test
+    public void simpleMessageShouldReturnTheSameUserFlagsThatThoseProvided() {
+        MESSAGE.setFlags(new FlagsBuilder().add(Flags.Flag.DELETED, Flags.Flag.SEEN).add("mozzarela", "parmesan", "coppa", "limonchello").build());
+        assertThat(MESSAGE.createUserFlags()).containsOnly("mozzarela", "parmesan", "coppa", "limonchello");
+    }
+
+        private static SimpleMessage<TestId> buildMessage(String content) {
+            return new SimpleMessage<TestId>(Calendar.getInstance().getTime(),
                 content.length(), 0, new SharedByteArrayInputStream(
                         content.getBytes(MESSAGE_CHARSET)), new Flags(),
                 new PropertyBuilder(), TestId.of(1L));



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org