This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 04253f4a1f7aae3520085bb41f2106764a1f33f4
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Fri Nov 29 08:56:38 2019 +0700

    JAMES-2988 Share code between FetchGroup & PartContentDescriptor
---
 .../main/java/org/apache/james/mailbox/model/FetchGroup.java  |  7 ++++---
 .../org/apache/james/mailbox/model/PartContentDescriptor.java |  5 +++--
 .../main/java/org/apache/james/mailbox/model/Profiles.java    | 11 +++++------
 .../apache/james/mailbox/store/mail/FetchGroupConverter.java  |  1 -
 .../org/apache/james/mailbox/store/mail/MessageMapper.java    |  1 -
 5 files changed, 12 insertions(+), 13 deletions(-)

diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java
index e0966fa..37913bd 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/FetchGroup.java
@@ -20,6 +20,7 @@
 package org.apache.james.mailbox.model;
 
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.EnumSet;
 import java.util.Objects;
 import java.util.Set;
@@ -54,18 +55,18 @@ public class FetchGroup extends Profiles<FetchGroup> {
     private final ImmutableSet<PartContentDescriptor> partContentDescriptors;
 
     @VisibleForTesting
-    FetchGroup(EnumSet<Profile> content) {
+    FetchGroup(Collection<Profile> content) {
         this(content, ImmutableSet.of());
     }
 
     @VisibleForTesting
-    FetchGroup(EnumSet<Profile> content, ImmutableSet<PartContentDescriptor> 
partContentDescriptors) {
+    FetchGroup(Collection<Profile> content, 
ImmutableSet<PartContentDescriptor> partContentDescriptors) {
         super(content);
         this.partContentDescriptors = partContentDescriptors;
     }
 
     @Override
-    FetchGroup copyWith(EnumSet<Profile> profiles) {
+    protected FetchGroup copyWith(Collection<Profile> profiles) {
         return new FetchGroup(profiles, partContentDescriptors);
     }
 
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java
 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java
index d8c2161..46a21dd 100644
--- 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java
+++ 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/PartContentDescriptor.java
@@ -19,6 +19,7 @@
 
 package org.apache.james.mailbox.model;
 
+import java.util.Collection;
 import java.util.EnumSet;
 import java.util.Objects;
 
@@ -34,13 +35,13 @@ public class PartContentDescriptor extends 
Profiles<PartContentDescriptor> {
         this(EnumSet.noneOf(FetchGroup.Profile.class), path);
     }
 
-    public PartContentDescriptor(EnumSet<FetchGroup.Profile> content, MimePath 
path) {
+    public PartContentDescriptor(Collection<FetchGroup.Profile> content, 
MimePath path) {
         super(content);
         this.path = path;
     }
 
     @Override
-    PartContentDescriptor copyWith(EnumSet<FetchGroup.Profile> enumSet) {
+    protected PartContentDescriptor copyWith(Collection<FetchGroup.Profile> 
enumSet) {
         return new PartContentDescriptor(enumSet, path);
     }
 
diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/model/Profiles.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/model/Profiles.java
index 496c5aa..6ad60ab 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/Profiles.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/Profiles.java
@@ -19,18 +19,17 @@
 
 package org.apache.james.mailbox.model;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.EnumSet;
 
 import org.apache.james.mailbox.model.FetchGroup.Profile;
 
-import com.google.common.collect.ImmutableSet;
-
 public abstract class Profiles<T extends Profiles<T>> {
     private final EnumSet<Profile> profiles;
 
-    public Profiles(EnumSet<Profile> profiles) {
-        this.profiles = profiles;
+    protected Profiles(Collection<Profile> profiles) {
+        this.profiles = EnumSet.copyOf(profiles);
     }
 
     /**
@@ -44,7 +43,7 @@ public abstract class Profiles<T extends Profiles<T>> {
     }
 
     public T with(Profile... profiles) {
-        return with(EnumSet.copyOf(ImmutableSet.copyOf(profiles)));
+        return with(Arrays.asList(profiles));
     }
 
     public T with(Collection<Profile> profiles) {
@@ -54,5 +53,5 @@ public abstract class Profiles<T extends Profiles<T>> {
         return copyWith(result);
     }
 
-    abstract T copyWith(EnumSet<Profile> profiles);
+    protected abstract T copyWith(Collection<Profile> profiles);
 }
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
index 3e31584..242f1c3 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/FetchGroupConverter.java
@@ -20,7 +20,6 @@
 package org.apache.james.mailbox.store.mail;
 
 import java.util.Collection;
-import java.util.stream.Stream;
 
 import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.model.FetchGroup;
diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
index 027a258..2d850ea 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
@@ -26,7 +26,6 @@ import java.util.Optional;
 
 import javax.mail.Flags;
 
-import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
 import org.apache.james.mailbox.exception.MailboxException;


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

Reply via email to