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 2017/08/31 01:32:28 UTC

[16/22] james-project git commit: JAMES-2127 ApplicationFlagBuilder support list of Flags

JAMES-2127 ApplicationFlagBuilder support list of Flags


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c89655f5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c89655f5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c89655f5

Branch: refs/heads/master
Commit: c89655f5bd784cf7c1e4badd6201f72cf6c49c02
Parents: 4eae24a
Author: quynhn <qn...@linagora.com>
Authored: Mon Aug 28 14:16:53 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Aug 31 08:24:02 2017 +0700

----------------------------------------------------------------------
 mailbox/api/pom.xml                                    |  4 ++++
 .../apache/james/mailbox/ApplicableFlagBuilder.java    |  6 ++++++
 .../java/org/apache/james/mailbox/FlagsBuilder.java    | 13 ++++++++++---
 .../james/mailbox/ApplicableFlagBuilderTest.java       | 13 ++++++++++++-
 4 files changed, 32 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/c89655f5/mailbox/api/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/api/pom.xml b/mailbox/api/pom.xml
index 58624b5..bca6a33 100644
--- a/mailbox/api/pom.xml
+++ b/mailbox/api/pom.xml
@@ -33,6 +33,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>com.github.steveash.guavate</groupId>
+            <artifactId>guavate</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.guava</groupId>
             <artifactId>guava</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/c89655f5/mailbox/api/src/main/java/org/apache/james/mailbox/ApplicableFlagBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/ApplicableFlagBuilder.java b/mailbox/api/src/main/java/org/apache/james/mailbox/ApplicableFlagBuilder.java
index 91496d8..b157309 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/ApplicableFlagBuilder.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/ApplicableFlagBuilder.java
@@ -18,6 +18,7 @@
  ****************************************************************/
 package org.apache.james.mailbox;
 
+import java.util.List;
 import javax.mail.Flags;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -62,6 +63,11 @@ public class ApplicableFlagBuilder {
         return this;
     }
 
+    public ApplicableFlagBuilder add(List<Flags> flags) {
+        builder.add(flags);
+        return this;
+    }
+
     public Flags build() {
         Flags flags = builder.build();
         flags.remove(Flags.Flag.RECENT);

http://git-wip-us.apache.org/repos/asf/james-project/blob/c89655f5/mailbox/api/src/main/java/org/apache/james/mailbox/FlagsBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/FlagsBuilder.java b/mailbox/api/src/main/java/org/apache/james/mailbox/FlagsBuilder.java
index 25a64dd..7a791ec 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/FlagsBuilder.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/FlagsBuilder.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.mailbox;
 
+import java.util.Arrays;
+import java.util.List;
 import javax.mail.Flags;
 
 public class FlagsBuilder {
@@ -47,13 +49,18 @@ public class FlagsBuilder {
         return this;
     }
 
-    public FlagsBuilder add(Flags... flagsArray) {
-        for (Flags flags: flagsArray) {
-            internalFlags.add(flags);
+    public FlagsBuilder add(List<Flags> flags) {
+        for (Flags flag : flags) {
+            internalFlags.add(flag);
         }
         return this;
     }
 
+    public FlagsBuilder add(Flags... flagsArray) {
+        add(Arrays.asList(flagsArray));
+        return this;
+    }
+
     public Flags build() {
         return new Flags(internalFlags);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c89655f5/mailbox/api/src/test/java/org/apache/james/mailbox/ApplicableFlagBuilderTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/ApplicableFlagBuilderTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/ApplicableFlagBuilderTest.java
index ad2ad76..5f91136 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/ApplicableFlagBuilderTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/ApplicableFlagBuilderTest.java
@@ -19,13 +19,14 @@
 package org.apache.james.mailbox;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
 import javax.mail.Flags;
 
 import org.assertj.core.api.JUnitSoftAssertions;
 import org.junit.Rule;
 import org.junit.Test;
 
+import com.google.common.collect.ImmutableList;
+
 public class ApplicableFlagBuilderTest {
 
     @Rule
@@ -106,4 +107,14 @@ public class ApplicableFlagBuilderTest {
         softly.assertThat(result.contains("chef")).isTrue();
         softly.assertThat(result.contains("randy")).isTrue();
     }
+
+    @Test
+    public void shouldAcceptListOfFlags() throws Exception {
+        Flags result = ApplicableFlagBuilder.builder()
+            .add(ImmutableList.of(new Flags("cartman"), new Flags("chef")))
+            .build();
+
+        softly.assertThat(result.contains("cartman")).isTrue();
+        softly.assertThat(result.contains("chef")).isTrue();
+    }
 }
\ No newline at end of file


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