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 2019/02/28 10:17:18 UTC
[james-project] 01/04: MAILBOX-381 Move Query to search package
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 dae0bc7fb664c5b99fa7bef46b85777dfaf429f3
Author: Tran Tien Duc <dt...@linagora.com>
AuthorDate: Tue Feb 26 10:59:22 2019 +0700
MAILBOX-381 Move Query to search package
---
.../java/org/apache/james/vault/DeletedMessageVault.java | 1 +
.../java/org/apache/james/vault/{ => search}/Query.java | 15 ++++++++++-----
.../apache/james/vault/DeletedMessageVaultContract.java | 2 +-
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVault.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVault.java
index 30efb1b..a6bc9bb 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVault.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/DeletedMessageVault.java
@@ -21,6 +21,7 @@ package org.apache.james.vault;
import org.apache.james.core.User;
import org.apache.james.mailbox.model.MessageId;
+import org.apache.james.vault.search.Query;
import org.reactivestreams.Publisher;
public interface DeletedMessageVault {
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/Query.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/Query.java
similarity index 78%
rename from mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/Query.java
rename to mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/Query.java
index 4b7611c..c7b1f9b 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/Query.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/Query.java
@@ -17,17 +17,20 @@
* under the License. *
****************************************************************/
-package org.apache.james.vault;
+package org.apache.james.vault.search;
import java.util.List;
+import java.util.function.Predicate;
+
+import org.apache.james.vault.DeletedMessage;
import com.google.common.collect.ImmutableList;
public class Query {
public static final Query ALL = new Query(ImmutableList.of());
- interface Criterion {
-
+ public static Query of(Criterion... criteria) {
+ return new Query(ImmutableList.copyOf(criteria));
}
private final List<Criterion> criteria;
@@ -36,7 +39,9 @@ public class Query {
this.criteria = criteria;
}
- public List<Criterion> getCriteria() {
- return criteria;
+ public Predicate<DeletedMessage> toPredicate() {
+ return criteria.stream()
+ .map(Criterion::toPredicate)
+ .reduce(any -> true, Predicate::and);
}
}
diff --git a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultContract.java b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultContract.java
index 0c57404..c2125f1 100644
--- a/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultContract.java
+++ b/mailbox/plugin/deleted-messages-vault/src/test/java/org/apache/james/vault/DeletedMessageVaultContract.java
@@ -25,7 +25,7 @@ import static org.apache.james.vault.DeletedMessageFixture.DELETED_MESSAGE_GENER
import static org.apache.james.vault.DeletedMessageFixture.MESSAGE_ID;
import static org.apache.james.vault.DeletedMessageFixture.USER;
import static org.apache.james.vault.DeletedMessageFixture.USER_2;
-import static org.apache.james.vault.Query.ALL;
+import static org.apache.james.vault.search.Query.ALL;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org