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 <qngu...@linagora.com> Authored: Mon Aug 28 14:16:53 2017 +0700 Committer: benwa <btell...@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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org