JAMES-2362 Adds a search query for mime Message-ID in mailbox-api
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/d8113c16 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/d8113c16 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/d8113c16 Branch: refs/heads/master Commit: d8113c160f31aeedf66e8eb17b8f7102af5a0c01 Parents: 0dfb3bc Author: benwa <btell...@linagora.com> Authored: Tue Mar 27 09:28:03 2018 +0700 Committer: benwa <btell...@linagora.com> Committed: Tue Mar 27 15:16:32 2018 +0700 ---------------------------------------------------------------------- .../apache/james/mailbox/model/SearchQuery.java | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/d8113c16/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java index 5d6977e..cd42a5a 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java @@ -759,6 +759,10 @@ public class SearchQuery implements Serializable { return AllCriterion.all(); } + public static Criterion mimeMessageID(String messageId) { + return new MimeMessageIDCriterion(messageId); + } + private final Set<MessageUid> recentMessageUids = new HashSet<>(); private final List<Criterion> criterias; @@ -1161,6 +1165,40 @@ public class SearchQuery implements Serializable { } } + public static class MimeMessageIDCriterion extends Criterion { + private final String messageID; + + public MimeMessageIDCriterion(String messageID) { + this.messageID = messageID; + } + + public String getMessageID() { + return messageID; + } + + @Override + public final boolean equals(Object o) { + if (o instanceof MimeMessageIDCriterion) { + MimeMessageIDCriterion that = (MimeMessageIDCriterion) o; + + return java.util.Objects.equals(this.messageID, that.messageID); + } + return false; + } + + @Override + public final int hashCode() { + return java.util.Objects.hash(messageID); + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("messageID", messageID) + .toString(); + } + } + /** * Header value content search. */ --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org