You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/04/07 00:55:46 UTC

[james-project] branch master updated: JAMES-2884 Email/query s/comparator/sort/

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


The following commit(s) were added to refs/heads/master by this push:
     new 3ded250  JAMES-2884 Email/query s/comparator/sort/
3ded250 is described below

commit 3ded25003e96ac0ccbd40f1e61807b5922ca10ac
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Apr 5 09:13:56 2021 +0700

    JAMES-2884 Email/query s/comparator/sort/
---
 .../rfc8621/contract/BackReferenceContract.scala   |  2 +-
 .../contract/EmailQueryMethodContract.scala        | 38 +++++++++++-----------
 .../org/apache/james/jmap/mail/EmailQuery.scala    |  2 +-
 .../james/jmap/method/EmailQueryMethod.scala       |  6 ++--
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/BackReferenceContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/BackReferenceContract.scala
index 7763324..47d6d76 100644
--- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/BackReferenceContract.scala
+++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/BackReferenceContract.scala
@@ -464,7 +464,7 @@ trait BackReferenceContract {
            |         "path":"ids[0]"
            |       }
            |      },
-           |      "comparator": [{
+           |      "sort": [{
            |        "property":"receivedAt",
            |        "isAscending": false
            |      }]
diff --git a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala
index 9ad74a6..2bc6e24 100644
--- a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala
+++ b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/EmailQueryMethodContract.scala
@@ -1605,7 +1605,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"sentAt",
          |        "isAscending": false
          |      }]
@@ -1677,7 +1677,7 @@ trait EmailQueryMethodContract {
          |      "filter": {
          |        "inMailbox": "${mailboxId.serialize}"
          |      },
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"sentAt",
          |        "isAscending": false
          |      }]
@@ -1755,7 +1755,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"sentAt",
          |        "isAscending": true
          |      }]
@@ -1833,7 +1833,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"sentAt"
          |      }]
          |    },
@@ -1897,7 +1897,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"sentAt"
          |      }]
          |    },
@@ -2006,7 +2006,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt"
          |      }]
          |    },
@@ -2060,7 +2060,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": true
          |      }]
@@ -2115,7 +2115,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
@@ -2159,7 +2159,7 @@ trait EmailQueryMethodContract {
          |      "filter": {
          |        "inMailbox": "${otherMailboxId.serialize}"
          |        },
-         |      "comparator": [{
+         |      "sort": [{
          |        "isAscending":true
          |      }]
          |    },
@@ -2184,7 +2184,7 @@ trait EmailQueryMethodContract {
         .isEqualTo("""
          {
             "type": "invalidArguments",
-            "description": "{\"errors\":[{\"path\":\"obj.comparator[0].property\",\"messages\":[\"error.path.missing\"]}]}"
+            "description": "{\"errors\":[{\"path\":\"obj.sort[0].property\",\"messages\":[\"error.path.missing\"]}]}"
           }
          """)
     }
@@ -2255,7 +2255,7 @@ trait EmailQueryMethodContract {
          |      "filter": {
          |        "inMailbox": "${otherMailboxId.serialize}"
          |        },
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"unsupported",
          |        "isAscending":true
          |      }]
@@ -2281,7 +2281,7 @@ trait EmailQueryMethodContract {
         .isEqualTo("""
          {
             "type": "invalidArguments",
-            "description": "{\"errors\":[{\"path\":\"obj.comparator[0].property\",\"messages\":[\"'unsupported' is not a supported sort property\"]}]}"
+            "description": "{\"errors\":[{\"path\":\"obj.sort[0].property\",\"messages\":[\"'unsupported' is not a supported sort property\"]}]}"
           }
          """)
     }
@@ -2307,7 +2307,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"$unsupported"
          |      }]
          |    },
@@ -3212,7 +3212,7 @@ trait EmailQueryMethodContract {
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
          |      "limit": 1,
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
@@ -3301,7 +3301,7 @@ trait EmailQueryMethodContract {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
          |      "limit": 2,
          |      "position": 2,
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
@@ -3475,7 +3475,7 @@ trait EmailQueryMethodContract {
          |    "Email/query",
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
@@ -3530,7 +3530,7 @@ trait EmailQueryMethodContract {
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
          |      "limit": 2000,
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
@@ -3586,7 +3586,7 @@ trait EmailQueryMethodContract {
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
          |      "position": 1,
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
@@ -3651,7 +3651,7 @@ trait EmailQueryMethodContract {
          |    {
          |      "accountId": "29883977c13473ae7cb7678ef767cbfbaffc8a44a6e463d971d23a65c1dc4af6",
          |      "position": 0,
-         |      "comparator": [{
+         |      "sort": [{
          |        "property":"receivedAt",
          |        "isAscending": false
          |      }]
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailQuery.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailQuery.scala
index 462fff0..b6358e1 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailQuery.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailQuery.scala
@@ -123,7 +123,7 @@ case class EmailQueryRequest(accountId: AccountId,
                              position: Option[PositionUnparsed],
                              limit: Option[LimitUnparsed],
                              filter: Option[FilterQuery],
-                             comparator: Option[Set[Comparator]],
+                             sort: Option[Set[Comparator]],
                              collapseThreads: Option[CollapseThreads],
                              anchor: Option[Anchor],
                              anchorOffset: Option[AnchorOffset]) extends WithAccountId {
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailQueryMethod.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailQueryMethod.scala
index e218397..ac2e32d 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailQueryMethod.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailQueryMethod.scala
@@ -138,12 +138,12 @@ class EmailQueryMethod @Inject() (serializer: EmailQuerySerializer,
   private def matchesInMailboxSortedBySentAt(request: EmailQueryRequest): Boolean =
     configuration.isEmailQueryViewEnabled &&
       request.filter.exists(_.inMailboxFilterOnly) &&
-      request.comparator.contains(Set(Comparator.SENT_AT_DESC))
+      request.sort.contains(Set(Comparator.SENT_AT_DESC))
 
   private def matchesInMailboxAfterSortedBySentAt(request: EmailQueryRequest): Boolean =
     configuration.isEmailQueryViewEnabled &&
       request.filter.exists(_.inMailboxAndAfterFilterOnly) &&
-      request.comparator.contains(Set(Comparator.SENT_AT_DESC))
+      request.sort.contains(Set(Comparator.SENT_AT_DESC))
 
   private def toResponse(request: EmailQueryRequest, position: Position, limitToUse: Limit, ids: Seq[MessageId]): EmailQueryResponse =
     EmailQueryResponse(accountId = request.accountId,
@@ -159,7 +159,7 @@ class EmailQueryMethod @Inject() (serializer: EmailQuerySerializer,
       .collectSeq()
 
   private def searchQueryFromRequest(request: EmailQueryRequest, capabilities: Set[CapabilityIdentifier], session: MailboxSession): Either[UnsupportedOperationException, MultimailboxesSearchQuery] = {
-    val comparators: List[Comparator] = request.comparator.getOrElse(Set()).toList
+    val comparators: List[Comparator] = request.sort.getOrElse(Set()).toList
 
     comparators.map(_.toSort)
       .sequence

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org