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 9a0ae791225d81000eb28846c08afa111ec52318 Author: Benoit Tellier <[email protected]> AuthorDate: Tue Nov 12 14:33:34 2019 +0700 [Refactoring] Allow a mailboxQuery to fluently match mailboxes --- .../java/org/apache/james/mailbox/model/search/MailboxQuery.java | 5 +++++ .../java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java | 2 +- .../org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java | 2 +- .../apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java | 4 ++-- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java index 52afd64..f4ed134 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java @@ -24,6 +24,7 @@ import java.util.Optional; import org.apache.james.core.Username; import org.apache.james.mailbox.MailboxSession; +import org.apache.james.mailbox.model.Mailbox; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxPath; @@ -179,6 +180,10 @@ public class MailboxQuery { && isExpressionMatch(mailboxPath.getName()); } + public boolean matches(Mailbox mailbox) { + return isPathMatch(mailbox.generateAssociatedPath()); + } + public UserBound asUserBound() { Preconditions.checkState(namespace.isPresent(), "This MailboxQuery is not user bound as namespace is missing"); Preconditions.checkState(user.isPresent(), "This MailboxQuery is not user bound as user is missing"); diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java index 8b69d39..43a9295 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java @@ -198,7 +198,7 @@ public class JPAMailboxMapper extends JPATransactionalMapper implements MailboxM .getResultList() .stream() .map(JPAMailbox::toMailbox) - .filter(mailbox -> query.isPathMatch(mailbox.generateAssociatedPath())) + .filter(query::matches) .collect(Guavate.toImmutableList()); } catch (PersistenceException e) { throw new MailboxException("Search of mailbox " + query + " failed", e); diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java index 843fe95..fe75ff1 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java @@ -143,7 +143,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail mailboxList.add(0, mailbox); } return mailboxList.stream() - .filter(mailbox -> query.isPathMatch(mailbox.generateAssociatedPath())) + .filter(query::matches) .collect(Guavate.toImmutableList()); } diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java index d1d28a0..3c9fceb 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java @@ -82,10 +82,10 @@ public class InMemoryMailboxMapper implements MailboxMapper { } @Override - public List<Mailbox> findMailboxWithPathLike(MailboxQuery.UserBound query) throws MailboxException { + public List<Mailbox> findMailboxWithPathLike(MailboxQuery.UserBound query) { return mailboxesByPath.values() .stream() - .filter(mailbox -> query.isPathMatch(mailbox.generateAssociatedPath())) + .filter(query::matches) .map(Mailbox::new) .collect(Guavate.toImmutableList()); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
