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