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 04c26c582f555ce9f6ff245bec4bf94651ab70e7
Author: Benoit Tellier <[email protected]>
AuthorDate: Mon Nov 2 10:15:51 2020 +0700

    [REFACTORING] Relocate Keywords in mail package
---
 .../james/jmap/json/BackReferenceDeserializer.scala    |  2 +-
 .../apache/james/jmap/json/EmailGetSerializer.scala    |  4 ++--
 .../apache/james/jmap/json/EmailQuerySerializer.scala  |  4 ++--
 .../apache/james/jmap/json/EmailSetSerializer.scala    |  8 ++++----
 .../james/jmap/json/MailboxQuerySerializer.scala       |  2 +-
 .../org/apache/james/jmap/json/MailboxSerializer.scala |  4 ++--
 .../apache/james/jmap/json/ResponseSerializer.scala    | 18 +++++++++---------
 .../apache/james/jmap/json/VacationSerializer.scala    |  8 ++++----
 .../scala/org/apache/james/jmap/json/package.scala     |  6 +++---
 .../main/scala/org/apache/james/jmap/mail/Email.scala  |  4 ++--
 .../org/apache/james/jmap/mail/EmailBodyPart.scala     |  2 +-
 .../scala/org/apache/james/jmap/mail/EmailGet.scala    |  4 ++--
 .../scala/org/apache/james/jmap/mail/EmailHeader.scala |  2 +-
 .../scala/org/apache/james/jmap/mail/EmailQuery.scala  |  6 +++---
 .../scala/org/apache/james/jmap/mail/EmailSet.scala    |  6 +++---
 .../apache/james/jmap/{model => mail}/Keyword.scala    |  4 ++--
 .../apache/james/jmap/{model => mail}/Keywords.scala   |  4 ++--
 .../james/jmap/{model => mail}/KeywordsCombiner.scala  |  2 +-
 .../scala/org/apache/james/jmap/mail/Mailbox.scala     |  6 +++---
 .../james/jmap/{model => mail}/MailboxFactory.scala    |  4 ++--
 .../scala/org/apache/james/jmap/mail/MailboxGet.scala  |  4 ++--
 .../org/apache/james/jmap/mail/MailboxQuery.scala      |  6 +++---
 .../scala/org/apache/james/jmap/mail/MailboxSet.scala  |  8 ++++----
 .../main/scala/org/apache/james/jmap/mail/Quotas.scala |  2 +-
 .../org/apache/james/jmap/method/CoreEchoMethod.scala  |  4 ++--
 .../org/apache/james/jmap/method/EmailGetMethod.scala  |  8 ++++----
 .../apache/james/jmap/method/EmailQueryMethod.scala    | 10 +++++-----
 .../org/apache/james/jmap/method/EmailSetMethod.scala  | 10 +++++-----
 .../apache/james/jmap/method/MailboxGetMethod.scala    |  8 ++++----
 .../apache/james/jmap/method/MailboxQueryMethod.scala  |  6 +++---
 .../apache/james/jmap/method/MailboxSetMethod.scala    |  8 ++++----
 .../scala/org/apache/james/jmap/method/Method.scala    |  6 +++---
 .../james/jmap/method/VacationResponseGetMethod.scala  | 12 ++++++------
 .../james/jmap/method/VacationResponseSetMethod.scala  |  8 ++++----
 .../org/apache/james/jmap/routes/DownloadRoutes.scala  |  5 ++---
 .../org/apache/james/jmap/routes/JMAPApiRoutes.scala   |  8 ++++----
 .../apache/james/jmap/routes/ProcessingContext.scala   |  4 ++--
 .../org/apache/james/jmap/routes/SessionRoutes.scala   |  2 +-
 .../org/apache/james/jmap/routes/SessionSupplier.scala |  4 ++--
 .../org/apache/james/jmap/routes/UploadRoutes.scala    |  4 ++--
 .../apache/james/jmap/utils/quotas/QuotaReader.scala   |  4 ++--
 .../apache/james/jmap/utils/search/MailboxFilter.scala |  4 ++--
 .../apache/james/jmap/core/KeywordsCombinerTest.scala  |  2 +-
 .../org/apache/james/jmap/core/KeywordsTest.scala      |  2 +-
 .../org/apache/james/jmap/json/BackReferenceTest.scala |  2 +-
 .../scala/org/apache/james/jmap/json/Fixture.scala     |  8 ++++----
 .../james/jmap/json/MailboxGetSerializationTest.scala  |  2 +-
 .../jmap/json/RequestObjectSerializationTest.scala     |  2 +-
 .../jmap/json/ResponseObjectSerializationTest.scala    |  2 +-
 .../james/jmap/json/SessionSerializationTest.scala     | 10 +++++-----
 .../json/VacationResponseGetSerializationTest.scala    |  6 +++---
 .../jmap/json/VacationResponseSerializationTest.scala  |  8 +++++---
 .../apache/james/jmap/method/CoreEchoMethodTest.scala  |  4 ++--
 .../apache/james/jmap/routes/JMAPApiRoutesTest.scala   |  6 +++---
 .../apache/james/jmap/routes/SessionRoutesTest.scala   |  4 ++--
 .../apache/james/jmap/routes/SessionSupplierTest.scala |  2 +-
 56 files changed, 148 insertions(+), 147 deletions(-)

diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/BackReferenceDeserializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/BackReferenceDeserializer.scala
index cf3fb3d..3b81240 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/BackReferenceDeserializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/BackReferenceDeserializer.scala
@@ -19,7 +19,7 @@
 
 package org.apache.james.jmap.json
 
-import org.apache.james.jmap.model.Invocation.{MethodCallId, MethodName}
+import org.apache.james.jmap.core.Invocation.{MethodCallId, MethodName}
 import org.apache.james.jmap.routes.{BackReference, JsonPath}
 import play.api.libs.json.{Format, JsError, JsResult, JsString, JsSuccess, 
JsValue, Json, Reads}
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailGetSerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailGetSerializer.scala
index e8f3c54..e24e728 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailGetSerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailGetSerializer.scala
@@ -20,8 +20,8 @@
 package org.apache.james.jmap.json
 
 import org.apache.james.jmap.api.model.Preview
-import org.apache.james.jmap.mail.{AddressesHeaderValue, BlobId, Charset, 
DateHeaderValue, Disposition, EmailAddress, EmailAddressGroup, EmailBody, 
EmailBodyMetadata, EmailBodyPart, EmailBodyValue, EmailFastView, EmailFullView, 
EmailGetRequest, EmailGetResponse, EmailHeader, EmailHeaderName, 
EmailHeaderValue, EmailHeaderView, EmailHeaders, EmailIds, EmailMetadata, 
EmailMetadataView, EmailNotFound, EmailView, EmailerName, FetchAllBodyValues, 
FetchHTMLBodyValues, FetchTextBodyValues, Group [...]
-import org.apache.james.jmap.model._
+import org.apache.james.jmap.core._
+import org.apache.james.jmap.mail.{AddressesHeaderValue, BlobId, Charset, 
DateHeaderValue, Disposition, EmailAddress, EmailAddressGroup, EmailBody, 
EmailBodyMetadata, EmailBodyPart, EmailBodyValue, EmailFastView, EmailFullView, 
EmailGetRequest, EmailGetResponse, EmailHeader, EmailHeaderName, 
EmailHeaderValue, EmailHeaderView, EmailHeaders, EmailIds, EmailMetadata, 
EmailMetadataView, EmailNotFound, EmailView, EmailerName, FetchAllBodyValues, 
FetchHTMLBodyValues, FetchTextBodyValues, Group [...]
 import org.apache.james.mailbox.model.{Cid, MailboxId, MessageId}
 import play.api.libs.functional.syntax._
 import play.api.libs.json._
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailQuerySerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailQuerySerializer.scala
index 72ad05e..ab020df 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailQuerySerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailQuerySerializer.scala
@@ -20,8 +20,8 @@
 package org.apache.james.jmap.json
 
 import javax.inject.Inject
-import org.apache.james.jmap.mail.{AllInThreadHaveKeywordSortProperty, Anchor, 
AnchorOffset, And, Bcc, Body, Cc, CollapseThreads, Collation, Comparator, 
EmailQueryRequest, EmailQueryResponse, FilterCondition, FilterOperator, 
FilterQuery, From, FromSortProperty, HasAttachment, HasKeywordSortProperty, 
Header, HeaderContains, HeaderExist, IsAscending, Not, Operator, Or, 
ReceivedAtSortProperty, SentAtSortProperty, SizeSortProperty, 
SomeInThreadHaveKeywordSortProperty, SortProperty, Subject,  [...]
-import org.apache.james.jmap.model.{AccountId, CanCalculateChanges, Keyword, 
LimitUnparsed, PositionUnparsed, QueryState}
+import org.apache.james.jmap.core.{AccountId, CanCalculateChanges, 
LimitUnparsed, PositionUnparsed, QueryState}
+import org.apache.james.jmap.mail.{AllInThreadHaveKeywordSortProperty, Anchor, 
AnchorOffset, And, Bcc, Body, Cc, CollapseThreads, Collation, Comparator, 
EmailQueryRequest, EmailQueryResponse, FilterCondition, FilterOperator, 
FilterQuery, From, FromSortProperty, HasAttachment, HasKeywordSortProperty, 
Header, HeaderContains, HeaderExist, IsAscending, Keyword, Not, Operator, Or, 
ReceivedAtSortProperty, SentAtSortProperty, SizeSortProperty, 
SomeInThreadHaveKeywordSortProperty, SortProperty,  [...]
 import org.apache.james.mailbox.model.{MailboxId, MessageId}
 import play.api.libs.json._
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSetSerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSetSerializer.scala
index 77ce173..3113b86 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSetSerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/EmailSetSerializer.scala
@@ -22,11 +22,11 @@ package org.apache.james.jmap.json
 import cats.implicits._
 import eu.timepit.refined.refineV
 import javax.inject.Inject
+import org.apache.james.jmap.core.Id.IdConstraint
+import org.apache.james.jmap.core.{Id, SetError}
 import org.apache.james.jmap.mail.EmailSet.{EmailCreationId, 
UnparsedMessageId, UnparsedMessageIdConstraint}
-import org.apache.james.jmap.mail.{AddressesHeaderValue, ClientEmailBodyValue, 
ClientHtmlBody, ClientPartId, DestroyIds, EmailAddress, EmailCreationRequest, 
EmailCreationResponse, EmailSetRequest, EmailSetResponse, EmailSetUpdate, 
EmailerName, HeaderMessageId, IsEncodingProblem, IsTruncated, MailboxIds, 
MessageIdsHeaderValue, Subject, Type}
-import org.apache.james.jmap.model.Id.IdConstraint
-import org.apache.james.jmap.model.KeywordsFactory.STRICT_KEYWORDS_FACTORY
-import org.apache.james.jmap.model.{Id, Keyword, Keywords, SetError}
+import org.apache.james.jmap.mail.KeywordsFactory.STRICT_KEYWORDS_FACTORY
+import org.apache.james.jmap.mail.{AddressesHeaderValue, ClientEmailBodyValue, 
ClientHtmlBody, ClientPartId, DestroyIds, EmailAddress, EmailCreationRequest, 
EmailCreationResponse, EmailSetRequest, EmailSetResponse, EmailSetUpdate, 
EmailerName, HeaderMessageId, IsEncodingProblem, IsTruncated, Keyword, 
Keywords, MailboxIds, MessageIdsHeaderValue, Subject, Type}
 import org.apache.james.mailbox.model.{MailboxId, MessageId}
 import play.api.libs.json.{JsArray, JsBoolean, JsError, JsNull, JsObject, 
JsResult, JsString, JsSuccess, JsValue, Json, OWrites, Reads, Writes}
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxQuerySerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxQuerySerializer.scala
index 26eb2bb..d67c9a9 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxQuerySerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxQuerySerializer.scala
@@ -19,8 +19,8 @@
 
 package org.apache.james.jmap.json
 
+import org.apache.james.jmap.core._
 import org.apache.james.jmap.mail.{MailboxFilter, MailboxQueryRequest, 
MailboxQueryResponse}
-import org.apache.james.jmap.model._
 import org.apache.james.mailbox.Role
 import org.apache.james.mailbox.model.MailboxId
 import play.api.libs.json._
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
index a445741..28fcb34 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/MailboxSerializer.scala
@@ -23,11 +23,11 @@ import eu.timepit.refined._
 import eu.timepit.refined.collection.NonEmpty
 import javax.inject.Inject
 import org.apache.james.core.{Domain, Username}
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core._
 import org.apache.james.jmap.mail.MailboxGet.{UnparsedMailboxId, 
UnparsedMailboxIdConstraint}
 import org.apache.james.jmap.mail.MailboxSetRequest.MailboxCreationId
 import org.apache.james.jmap.mail.{DelegatedNamespace, Ids, IsSubscribed, 
Mailbox, MailboxCreationRequest, MailboxCreationResponse, MailboxGetRequest, 
MailboxGetResponse, MailboxNamespace, MailboxPatchObject, MailboxRights, 
MailboxSetRequest, MailboxSetResponse, MailboxUpdateResponse, MayAddItems, 
MayCreateChild, MayDelete, MayReadItems, MayRemoveItems, MayRename, 
MaySetKeywords, MaySetSeen, MaySubmit, NotFound, PersonalNamespace, Quota, 
QuotaId, QuotaRoot, Quotas, RemoveEmailsOnDestroy, [...]
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model._
 import org.apache.james.mailbox.Role
 import org.apache.james.mailbox.model.MailboxACL.{Right => JavaRight}
 import org.apache.james.mailbox.model.{MailboxACL, MailboxId}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/ResponseSerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/ResponseSerializer.scala
index 9ba12a7..b6038e0 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/ResponseSerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/ResponseSerializer.scala
@@ -23,11 +23,11 @@ import java.io.InputStream
 import java.net.URL
 
 import org.apache.james.core.Username
-import org.apache.james.jmap.model
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodCallId, 
MethodName}
-import org.apache.james.jmap.model.SetError.SetErrorDescription
-import org.apache.james.jmap.model.{Account, Invocation, Session, _}
+import org.apache.james.jmap.core
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodCallId, 
MethodName}
+import org.apache.james.jmap.core.SetError.SetErrorDescription
+import org.apache.james.jmap.core.{Account, Invocation, Session, _}
 import play.api.libs.functional.syntax._
 import play.api.libs.json._
 
@@ -61,10 +61,10 @@ object ResponseSerializer {
   private implicit val argumentFormat: Format[Arguments] = 
Json.valueFormat[Arguments]
   private implicit val methodCallIdFormat: Format[MethodCallId] = 
Json.valueFormat[MethodCallId]
   private implicit val invocationRead: Reads[Invocation] = (
-    (JsPath \ model.Invocation.METHOD_NAME).read[MethodName] and
-      (JsPath \ model.Invocation.ARGUMENTS).read[Arguments] and
-      (JsPath \ model.Invocation.METHOD_CALL).read[MethodCallId]
-    ) (model.Invocation.apply _)
+    (JsPath \ core.Invocation.METHOD_NAME).read[MethodName] and
+      (JsPath \ core.Invocation.ARGUMENTS).read[Arguments] and
+      (JsPath \ core.Invocation.METHOD_CALL).read[MethodCallId]
+    ) (core.Invocation.apply _)
 
   private implicit val invocationWrite: Writes[Invocation] = (invocation: 
Invocation) =>
     Json.arr(invocation.methodName, invocation.arguments, 
invocation.methodCallId)
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/VacationSerializer.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/VacationSerializer.scala
index 38c830c..2ee807e 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/VacationSerializer.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/VacationSerializer.scala
@@ -21,10 +21,10 @@ package org.apache.james.jmap.json
 
 import java.time.format.DateTimeFormatter
 
-import 
org.apache.james.jmap.mail.VacationResponse.{UnparsedVacationResponseId, 
VACATION_RESPONSE_ID}
-import org.apache.james.jmap.mail.{FromDate, HtmlBody, IsEnabled, Subject, 
TextBody, ToDate, VacationResponse, VacationResponseGetRequest, 
VacationResponseGetResponse, VacationResponseId, VacationResponseIds, 
VacationResponseNotFound}
-import org.apache.james.jmap.model._
-import org.apache.james.jmap.vacation.{VacationResponsePatchObject, 
VacationResponseSetError, VacationResponseSetRequest, 
VacationResponseSetResponse, VacationResponseUpdateResponse}
+import org.apache.james.jmap.core._
+import org.apache.james.jmap.mail.Subject
+import 
org.apache.james.jmap.vacation.VacationResponse.{UnparsedVacationResponseId, 
VACATION_RESPONSE_ID}
+import org.apache.james.jmap.vacation.{FromDate, HtmlBody, IsEnabled, 
TextBody, ToDate, VacationResponse, VacationResponseGetRequest, 
VacationResponseGetResponse, VacationResponseId, VacationResponseIds, 
VacationResponseNotFound, VacationResponsePatchObject, 
VacationResponseSetError, VacationResponseSetRequest, 
VacationResponseSetResponse, VacationResponseUpdateResponse}
 import play.api.libs.json._
 
 import scala.language.implicitConversions
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/package.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/package.scala
index 2c4e5c2..8b05ba9 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/package.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/package.scala
@@ -24,9 +24,9 @@ import java.time.format.DateTimeFormatter
 
 import eu.timepit.refined.api.{RefType, Validate}
 import org.apache.james.core.MailAddress
-import org.apache.james.jmap.model.Id.Id
-import org.apache.james.jmap.model.SetError.SetErrorDescription
-import org.apache.james.jmap.model.{AccountId, Properties, SetError, UTCDate}
+import org.apache.james.jmap.core.Id.Id
+import org.apache.james.jmap.core.SetError.SetErrorDescription
+import org.apache.james.jmap.core.{AccountId, Properties, SetError, UTCDate}
 import play.api.libs.json._
 
 import scala.util.{Failure, Success, Try}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Email.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Email.scala
index fb93168..bf91c0f 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Email.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Email.scala
@@ -34,11 +34,11 @@ import eu.timepit.refined.types.string.NonEmptyString
 import javax.inject.Inject
 import org.apache.james.jmap.api.model.Preview
 import 
org.apache.james.jmap.api.projections.{MessageFastViewPrecomputedProperties, 
MessageFastViewProjection}
+import org.apache.james.jmap.core.{Properties, UTCDate}
 import org.apache.james.jmap.mail.BracketHeader.sanitize
 import org.apache.james.jmap.mail.Email.{Size, sanitizeSize}
+import org.apache.james.jmap.mail.KeywordsFactory.LENIENT_KEYWORDS_FACTORY
 import org.apache.james.jmap.method.ZoneIdProvider
-import org.apache.james.jmap.model.KeywordsFactory.LENIENT_KEYWORDS_FACTORY
-import org.apache.james.jmap.model.{Keywords, Properties, UTCDate}
 import org.apache.james.mailbox.model.FetchGroup.{FULL_CONTENT, HEADERS, 
MINIMAL}
 import org.apache.james.mailbox.model.{FetchGroup, MailboxId, MessageId, 
MessageResult}
 import org.apache.james.mailbox.{MailboxSession, MessageIdManager}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
index 72adc2b..46b77f2 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailBodyPart.scala
@@ -28,10 +28,10 @@ import eu.timepit.refined.auto._
 import eu.timepit.refined.numeric.NonNegative
 import eu.timepit.refined.refineV
 import org.apache.commons.io.IOUtils
+import org.apache.james.jmap.core.Properties
 import org.apache.james.jmap.mail.Email.Size
 import org.apache.james.jmap.mail.EmailBodyPart.{MULTIPART_ALTERNATIVE, 
TEXT_HTML, TEXT_PLAIN}
 import org.apache.james.jmap.mail.PartId.PartIdValue
-import org.apache.james.jmap.model.Properties
 import org.apache.james.mailbox.model.{Cid, MessageId, MessageResult}
 import org.apache.james.mime4j.codec.DecodeMonitor
 import org.apache.james.mime4j.dom.{Entity, Message, Multipart, TextBody => 
Mime4JTextBody}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailGet.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailGet.scala
index 96f3ea7..fce39f5 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailGet.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailGet.scala
@@ -25,12 +25,12 @@ import eu.timepit.refined.api.Refined
 import eu.timepit.refined.auto._
 import eu.timepit.refined.numeric.NonNegative
 import eu.timepit.refined.types.string.NonEmptyString
+import org.apache.james.jmap.core.State.State
+import org.apache.james.jmap.core.{AccountId, Properties}
 import org.apache.james.jmap.mail.Email.UnparsedEmailId
 import org.apache.james.jmap.mail.EmailGetRequest.MaxBodyValueBytes
 import org.apache.james.jmap.mail.EmailHeaders.SPECIFIC_HEADER_PREFIX
 import org.apache.james.jmap.method.WithAccountId
-import org.apache.james.jmap.model.State.State
-import org.apache.james.jmap.model.{AccountId, Properties}
 import org.apache.james.mime4j.dom.Message
 import org.apache.james.mime4j.stream.Field
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailHeader.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailHeader.scala
index 9b877fb..7330fc7 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailHeader.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailHeader.scala
@@ -23,7 +23,7 @@ import java.nio.charset.StandardCharsets.US_ASCII
 import java.time.ZoneId
 
 import org.apache.commons.lang3.StringUtils
-import org.apache.james.jmap.model.UTCDate
+import org.apache.james.jmap.core.UTCDate
 import org.apache.james.mime4j.codec.{DecodeMonitor, DecoderUtil}
 import org.apache.james.mime4j.dom.address.{AddressList, Group, Address => 
Mime4jAddress, Mailbox => Mime4jMailbox}
 import org.apache.james.mime4j.field.{AddressListFieldImpl, 
ContentLocationFieldImpl, DateTimeFieldImpl}
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 a178a11..7f154e1 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
@@ -20,12 +20,12 @@
 package org.apache.james.jmap.mail
 
 import cats.implicits._
+import org.apache.james.jmap.core.Limit.Limit
+import org.apache.james.jmap.core.Position.Position
+import org.apache.james.jmap.core.{AccountId, CanCalculateChanges, 
LimitUnparsed, PositionUnparsed, QueryState, UTCDate}
 import org.apache.james.jmap.mail.Email.Size
 import org.apache.james.jmap.mail.IsAscending.ASCENDING
 import org.apache.james.jmap.method.WithAccountId
-import org.apache.james.jmap.model.Limit.Limit
-import org.apache.james.jmap.model.Position.Position
-import org.apache.james.jmap.model.{AccountId, CanCalculateChanges, Keyword, 
LimitUnparsed, PositionUnparsed, QueryState, UTCDate}
 import org.apache.james.mailbox.model.SearchQuery.Sort.Order.{NATURAL, REVERSE}
 import org.apache.james.mailbox.model.SearchQuery.Sort.SortClause
 import org.apache.james.mailbox.model.{MailboxId, MessageId, SearchQuery}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSet.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSet.scala
index 89c7c98..2176302 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSet.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/EmailSet.scala
@@ -24,11 +24,11 @@ import java.util.Date
 import eu.timepit.refined
 import eu.timepit.refined.api.Refined
 import eu.timepit.refined.collection.NonEmpty
+import org.apache.james.jmap.core.Id.Id
+import org.apache.james.jmap.core.State.State
+import org.apache.james.jmap.core.{AccountId, SetError, UTCDate}
 import org.apache.james.jmap.mail.EmailSet.{EmailCreationId, UnparsedMessageId}
 import org.apache.james.jmap.method.WithAccountId
-import org.apache.james.jmap.model.Id.Id
-import org.apache.james.jmap.model.State.State
-import org.apache.james.jmap.model.{AccountId, Keywords, SetError, UTCDate}
 import org.apache.james.mailbox.model.MessageId
 import org.apache.james.mime4j.dom.Message
 import org.apache.james.mime4j.dom.field.FieldName
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/Keyword.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Keyword.scala
similarity index 97%
rename from 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/Keyword.scala
rename to 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Keyword.scala
index f63a424..6553332 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/Keyword.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Keyword.scala
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  * **************************************************************/
-package org.apache.james.jmap.model
+package org.apache.james.jmap.mail
 
 import java.util.Locale
 
@@ -56,7 +56,7 @@ object Keyword {
 
   def of(flagName: String): Try[Keyword] = parse(flagName) match {
     case Left(errorMessage: String) => Failure(new 
IllegalArgumentException(errorMessage))
-    case Right(keyword: Keyword) => Success(keyword)
+    case scala.Right(keyword: Keyword) => Success(keyword)
   }
 
   def fromFlag(flag: Flags.Flag): Option[Keyword] = IMAP_SYSTEM_FLAGS.get(flag)
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/Keywords.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Keywords.scala
similarity index 98%
rename from 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/Keywords.scala
rename to 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Keywords.scala
index 813938b..155e064 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/Keywords.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Keywords.scala
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
-package org.apache.james.jmap.model
+package org.apache.james.jmap.mail
 
 import javax.mail.Flags
 import org.apache.james.mailbox.FlagsBuilder
@@ -42,7 +42,7 @@ object ToKeyword {
 
   val LENIENT: ToKeyword = (value: String) => Keyword.parse(value) match {
     case Left(_) => None
-    case Right(value: Keyword) => Some(value)
+    case scala.Right(value: Keyword) => Some(value)
   }
 }
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/KeywordsCombiner.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/KeywordsCombiner.scala
similarity index 98%
rename from 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/KeywordsCombiner.scala
rename to 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/KeywordsCombiner.scala
index 88257f0..a876ee1 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/KeywordsCombiner.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/KeywordsCombiner.scala
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
-package org.apache.james.jmap.model
+package org.apache.james.jmap.mail
 
 import java.util.function.BinaryOperator
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Mailbox.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Mailbox.scala
index 29396ee..0e503de 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Mailbox.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Mailbox.scala
@@ -24,10 +24,10 @@ import eu.timepit.refined.api.Refined
 import eu.timepit.refined.auto._
 import eu.timepit.refined.collection.NonEmpty
 import org.apache.james.core.Username
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.UnsignedInt.UnsignedInt
+import org.apache.james.jmap.core.{CapabilityIdentifier, Properties}
 import org.apache.james.jmap.mail.MailboxName.MailboxName
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.UnsignedInt.UnsignedInt
-import org.apache.james.jmap.model.{CapabilityIdentifier, Properties}
 import org.apache.james.mailbox.Role
 import org.apache.james.mailbox.exception.MailboxNameException
 import org.apache.james.mailbox.model.MailboxId
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/MailboxFactory.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala
similarity index 99%
rename from 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/MailboxFactory.scala
rename to 
server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala
index 4ed2cfb..58c7fd2 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/model/MailboxFactory.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala
@@ -17,11 +17,11 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.jmap.model
+package org.apache.james.jmap.mail
 
 import javax.inject.Inject
+import org.apache.james.jmap.core.UnsignedInt
 import org.apache.james.jmap.mail.MailboxName.MailboxName
-import org.apache.james.jmap.mail._
 import org.apache.james.jmap.utils.quotas.QuotaLoader
 import org.apache.james.mailbox._
 import org.apache.james.mailbox.exception.MailboxNameException
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
index bd7b8ba..971cfcb 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxGet.scala
@@ -22,10 +22,10 @@ package org.apache.james.jmap.mail
 import eu.timepit.refined
 import eu.timepit.refined.api.Refined
 import eu.timepit.refined.collection.NonEmpty
+import org.apache.james.jmap.core.State.State
+import org.apache.james.jmap.core.{AccountId, Properties}
 import org.apache.james.jmap.mail.MailboxGet.UnparsedMailboxId
 import org.apache.james.jmap.method.WithAccountId
-import org.apache.james.jmap.model.State.State
-import org.apache.james.jmap.model.{AccountId, Properties}
 import org.apache.james.mailbox.model.MailboxId
 
 import scala.util.{Failure, Try}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxQuery.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxQuery.scala
index f271308..873a7af 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxQuery.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxQuery.scala
@@ -19,10 +19,10 @@
 
 package org.apache.james.jmap.mail
 
+import org.apache.james.jmap.core.Limit.Limit
+import org.apache.james.jmap.core.Position.Position
+import org.apache.james.jmap.core.{AccountId, CanCalculateChanges, QueryState}
 import org.apache.james.jmap.method.WithAccountId
-import org.apache.james.jmap.model.Limit.Limit
-import org.apache.james.jmap.model.Position.Position
-import org.apache.james.jmap.model.{AccountId, CanCalculateChanges, Position, 
QueryState}
 import org.apache.james.mailbox.Role
 import org.apache.james.mailbox.model.MailboxId
 
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
index 20801bd..021139d 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
@@ -25,16 +25,16 @@ import eu.timepit.refined.collection.NonEmpty
 import eu.timepit.refined.refineV
 import eu.timepit.refined.types.string.NonEmptyString
 import org.apache.james.core.Username
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.SetError.{SetErrorDescription, SetErrorType}
+import org.apache.james.jmap.core.State.State
+import org.apache.james.jmap.core.{AccountId, CapabilityIdentifier, 
Properties, SetError}
 import org.apache.james.jmap.json.MailboxSerializer
 import org.apache.james.jmap.mail.MailboxGet.UnparsedMailboxId
 import org.apache.james.jmap.mail.MailboxName.MailboxName
 import org.apache.james.jmap.mail.MailboxPatchObject.MailboxPatchObjectKey
 import org.apache.james.jmap.mail.MailboxSetRequest.MailboxCreationId
 import org.apache.james.jmap.method.{MailboxCreationParseException, 
WithAccountId}
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.SetError.{SetErrorDescription, SetErrorType}
-import org.apache.james.jmap.model.State.State
-import org.apache.james.jmap.model.{AccountId, CapabilityIdentifier, 
Properties, SetError}
 import org.apache.james.mailbox.model.{MailboxId, MailboxACL => JavaMailboxACL}
 import org.apache.james.mailbox.{MailboxSession, Role}
 import play.api.libs.json.{JsBoolean, JsError, JsNull, JsObject, JsString, 
JsSuccess, JsValue}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Quotas.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Quotas.scala
index 1f41ec3..7fcb91c 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Quotas.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/Quotas.scala
@@ -20,7 +20,7 @@
 package org.apache.james.jmap.mail
 
 import org.apache.james.core.Domain
-import org.apache.james.jmap.model.UnsignedInt.UnsignedInt
+import org.apache.james.jmap.core.UnsignedInt.UnsignedInt
 import org.apache.james.mailbox.model.{QuotaRoot => ModelQuotaRoot}
 
 import scala.compat.java8.OptionConverters._
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/CoreEchoMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/CoreEchoMethod.scala
index c93e05c..17afc3d 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/CoreEchoMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/CoreEchoMethod.scala
@@ -20,8 +20,8 @@ package org.apache.james.jmap.method
 
 
 import eu.timepit.refined.auto._
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE}
-import org.apache.james.jmap.model.Invocation.MethodName
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE}
+import org.apache.james.jmap.core.Invocation.MethodName
 import org.apache.james.mailbox.MailboxSession
 import org.reactivestreams.Publisher
 import reactor.core.scala.publisher.SMono
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
index 734a6ba..f228e54 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailGetMethod.scala
@@ -23,13 +23,13 @@ import java.time.ZoneId
 import eu.timepit.refined.auto._
 import eu.timepit.refined.types.string.NonEmptyString
 import javax.inject.Inject
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core.State.INSTANCE
+import org.apache.james.jmap.core.{AccountId, ErrorCode, Invocation, 
Properties}
 import org.apache.james.jmap.json.{EmailGetSerializer, ResponseSerializer}
 import org.apache.james.jmap.mail.Email.UnparsedEmailId
 import org.apache.james.jmap.mail.{Email, EmailBodyPart, EmailGetRequest, 
EmailGetResponse, EmailIds, EmailNotFound, EmailView, EmailViewReaderFactory, 
SpecificHeaderRequest}
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model.State.INSTANCE
-import org.apache.james.jmap.model.{AccountId, ErrorCode, Invocation, 
Properties}
 import org.apache.james.jmap.routes.SessionSupplier
 import org.apache.james.mailbox.MailboxSession
 import org.apache.james.mailbox.model.MessageId
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 da20d5f..895d890 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
@@ -21,13 +21,13 @@ package org.apache.james.jmap.method
 import cats.implicits._
 import eu.timepit.refined.auto._
 import javax.inject.Inject
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core.Limit.Limit
+import org.apache.james.jmap.core.Position.Position
+import org.apache.james.jmap.core.{CanCalculateChanges, Invocation, Limit, 
Position, QueryState}
 import org.apache.james.jmap.json.{EmailQuerySerializer, ResponseSerializer}
 import org.apache.james.jmap.mail.{Comparator, EmailQueryRequest, 
EmailQueryResponse, UnsupportedRequestParameterException}
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model.Limit.Limit
-import org.apache.james.jmap.model.Position.Position
-import org.apache.james.jmap.model.{CanCalculateChanges, Invocation, Limit, 
Position, QueryState}
 import org.apache.james.jmap.routes.SessionSupplier
 import org.apache.james.jmap.utils.search.MailboxFilter
 import org.apache.james.jmap.utils.search.MailboxFilter.QueryFilter
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSetMethod.scala
index c1f87fc..5a2dd36 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/EmailSetMethod.scala
@@ -26,14 +26,14 @@ import com.google.common.collect.ImmutableList
 import eu.timepit.refined.auto._
 import javax.inject.Inject
 import javax.mail.Flags
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core.SetError.SetErrorDescription
+import org.apache.james.jmap.core.{ClientId, Id, Invocation, ServerId, 
SetError, State, UTCDate}
 import org.apache.james.jmap.json.{EmailSetSerializer, ResponseSerializer}
 import org.apache.james.jmap.mail.EmailSet.{EmailCreationId, UnparsedMessageId}
+import org.apache.james.jmap.mail.KeywordsFactory.LENIENT_KEYWORDS_FACTORY
 import org.apache.james.jmap.mail.{DestroyIds, EmailCreationRequest, 
EmailCreationResponse, EmailSet, EmailSetRequest, EmailSetResponse, MailboxIds, 
ValidatedEmailSetUpdate}
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model.KeywordsFactory.LENIENT_KEYWORDS_FACTORY
-import org.apache.james.jmap.model.SetError.SetErrorDescription
-import org.apache.james.jmap.model.{ClientId, Id, Invocation, ServerId, 
SetError, State, UTCDate}
 import org.apache.james.jmap.routes.SessionSupplier
 import org.apache.james.mailbox.MessageManager.{AppendCommand, FlagsUpdateMode}
 import org.apache.james.mailbox.exception.MailboxNotFoundException
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxGetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxGetMethod.scala
index ba5baa2..ca4ea06 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxGetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxGetMethod.scala
@@ -21,13 +21,13 @@ package org.apache.james.jmap.method
 
 import eu.timepit.refined.auto._
 import javax.inject.Inject
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core.State.INSTANCE
+import org.apache.james.jmap.core.{AccountId, CapabilityIdentifier, ErrorCode, 
Invocation, Properties}
 import org.apache.james.jmap.json.{MailboxSerializer, ResponseSerializer}
 import org.apache.james.jmap.mail.MailboxGet.UnparsedMailboxId
 import org.apache.james.jmap.mail._
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model.State.INSTANCE
-import org.apache.james.jmap.model.{AccountId, CapabilityIdentifier, 
ErrorCode, Invocation, MailboxFactory, Properties, Subscriptions}
 import org.apache.james.jmap.routes.SessionSupplier
 import org.apache.james.jmap.utils.quotas.{QuotaLoader, 
QuotaLoaderWithPreloadedDefaultFactory}
 import org.apache.james.mailbox.exception.MailboxNotFoundException
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxQueryMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxQueryMethod.scala
index 2c3d5a8..e247a10 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxQueryMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxQueryMethod.scala
@@ -20,11 +20,11 @@ package org.apache.james.jmap.method
 
 import eu.timepit.refined.auto._
 import javax.inject.Inject
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core._
 import org.apache.james.jmap.json.{MailboxQuerySerializer, ResponseSerializer}
 import org.apache.james.jmap.mail.{MailboxQueryRequest, MailboxQueryResponse}
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model._
 import org.apache.james.jmap.routes.SessionSupplier
 import org.apache.james.mailbox.{MailboxSession, SystemMailboxesProvider}
 import org.apache.james.metrics.api.MetricFactory
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
index d5ab55d..e8c4265 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
@@ -21,14 +21,14 @@ package org.apache.james.jmap.method
 
 import eu.timepit.refined.auto._
 import javax.inject.Inject
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core.SetError.SetErrorDescription
+import org.apache.james.jmap.core.{ClientId, Id, Invocation, Properties, 
ServerId, SetError, State}
 import org.apache.james.jmap.json.{MailboxSerializer, ResponseSerializer}
 import org.apache.james.jmap.mail.MailboxGet.UnparsedMailboxId
 import org.apache.james.jmap.mail.MailboxSetRequest.MailboxCreationId
 import org.apache.james.jmap.mail.{InvalidPatchException, 
InvalidPropertyException, InvalidUpdateException, IsSubscribed, 
MailboxCreationRequest, MailboxCreationResponse, MailboxGet, 
MailboxPatchObject, MailboxRights, MailboxSetError, MailboxSetRequest, 
MailboxSetResponse, MailboxUpdateResponse, NameUpdate, ParentIdUpdate, 
RemoveEmailsOnDestroy, ServerSetPropertyException, SortOrder, TotalEmails, 
TotalThreads, UnreadEmails, UnreadThreads, UnsupportedPropertyUpdatedException, 
ValidatedMai [...]
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model.SetError.SetErrorDescription
-import org.apache.james.jmap.model.{ClientId, Id, Invocation, Properties, 
ServerId, SetError, State}
 import org.apache.james.jmap.routes.{ProcessingContext, SessionSupplier}
 import 
org.apache.james.jmap.utils.quotas.QuotaLoaderWithPreloadedDefaultFactory
 import org.apache.james.mailbox.MailboxManager.RenameOption
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
index e14f870..bcb7edb 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
@@ -18,10 +18,10 @@
  ****************************************************************/
 package org.apache.james.jmap.method
 
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.Invocation.MethodName
+import org.apache.james.jmap.core.{AccountId, ErrorCode, Invocation, Session}
 import org.apache.james.jmap.mail.{UnsupportedFilterException, 
UnsupportedNestingException, UnsupportedRequestParameterException, 
UnsupportedSortException}
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.Invocation.MethodName
-import org.apache.james.jmap.model.{AccountId, ErrorCode, Invocation, Session}
 import org.apache.james.jmap.routes.{ProcessingContext, SessionSupplier}
 import org.apache.james.mailbox.MailboxSession
 import org.apache.james.mailbox.exception.MailboxNotFoundException
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseGetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseGetMethod.scala
index 770443f..1c8d780 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseGetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseGetMethod.scala
@@ -22,14 +22,14 @@ package org.apache.james.jmap.method
 import eu.timepit.refined.auto._
 import javax.inject.Inject
 import org.apache.james.jmap.api.vacation.{VacationRepository, AccountId => 
JavaAccountId}
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL, JMAP_VACATION_RESPONSE}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodCallId, 
MethodName}
+import org.apache.james.jmap.core.State.INSTANCE
+import org.apache.james.jmap.core.{AccountId, ErrorCode, Invocation, 
MissingCapabilityException, Properties}
 import org.apache.james.jmap.json.{ResponseSerializer, VacationSerializer}
-import org.apache.james.jmap.mail.VacationResponse.{UNPARSED_SINGLETON, 
UnparsedVacationResponseId}
-import org.apache.james.jmap.mail.{VacationResponse, 
VacationResponseGetRequest, VacationResponseGetResponse, 
VacationResponseNotFound}
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL, JMAP_VACATION_RESPONSE}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodCallId, 
MethodName}
-import org.apache.james.jmap.model.State.INSTANCE
-import org.apache.james.jmap.model.{AccountId, ErrorCode, Invocation, 
MissingCapabilityException, Properties}
 import org.apache.james.jmap.routes.SessionSupplier
+import org.apache.james.jmap.vacation.VacationResponse.{UNPARSED_SINGLETON, 
UnparsedVacationResponseId}
+import org.apache.james.jmap.vacation.{VacationResponse, 
VacationResponseGetRequest, VacationResponseGetResponse, 
VacationResponseNotFound}
 import org.apache.james.mailbox.MailboxSession
 import org.apache.james.metrics.api.MetricFactory
 import play.api.libs.json.{JsError, JsObject, JsSuccess}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseSetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseSetMethod.scala
index f7d2d0f..46b9bf5 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseSetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/VacationResponseSetMethod.scala
@@ -22,12 +22,12 @@ package org.apache.james.jmap.method
 import eu.timepit.refined.auto._
 import javax.inject.Inject
 import org.apache.james.jmap.api.vacation.{AccountId, VacationPatch, 
VacationRepository}
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL, JMAP_VACATION_RESPONSE}
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodName}
+import org.apache.james.jmap.core.SetError.SetErrorDescription
+import org.apache.james.jmap.core.{Invocation, State}
 import org.apache.james.jmap.json.{ResponseSerializer, VacationSerializer}
 import 
org.apache.james.jmap.method.VacationResponseSetMethod.VACATION_RESPONSE_PATCH_OBJECT_KEY
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE, JMAP_MAIL, JMAP_VACATION_RESPONSE}
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
-import org.apache.james.jmap.model.SetError.SetErrorDescription
-import org.apache.james.jmap.model.{Invocation, State}
 import org.apache.james.jmap.routes.SessionSupplier
 import org.apache.james.jmap.vacation.{VacationResponseSetError, 
VacationResponseSetRequest, VacationResponseSetResponse, 
VacationResponseUpdateResponse}
 import org.apache.james.mailbox.MailboxSession
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/DownloadRoutes.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/DownloadRoutes.scala
index 702fce3..6188757 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/DownloadRoutes.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/DownloadRoutes.scala
@@ -31,16 +31,15 @@ import io.netty.handler.codec.http.HttpResponseStatus.OK
 import io.netty.handler.codec.http.{HttpMethod, QueryStringDecoder}
 import javax.inject.{Inject, Named}
 import org.apache.http.HttpStatus.SC_NOT_FOUND
+import org.apache.james.jmap.core.Id.Id
+import org.apache.james.jmap.core.{AccountId, Id}
 import org.apache.james.jmap.exceptions.UnauthorizedException
 import org.apache.james.jmap.http.Authenticator
 import org.apache.james.jmap.http.rfc8621.InjectionKeys
 import org.apache.james.jmap.mail.Email.Size
 import org.apache.james.jmap.mail.{BlobId, EmailBodyPart, PartId}
-import org.apache.james.jmap.model.Id.Id
-import org.apache.james.jmap.model.{AccountId, Id}
 import org.apache.james.jmap.routes.DownloadRoutes.{BUFFER_SIZE, LOGGER}
 import org.apache.james.jmap.{Endpoint, JMAPRoute, JMAPRoutes}
-import org.apache.james.mailbox.exception.AttachmentNotFoundException
 import org.apache.james.mailbox.model.{AttachmentId, AttachmentMetadata, 
ContentType, FetchGroup, MessageId, MessageResult}
 import org.apache.james.mailbox.{AttachmentManager, MailboxSession, 
MessageIdManager}
 import org.apache.james.mime4j.codec.EncoderUtil
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
index 37d3d5d..4fab40c 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/JMAPApiRoutes.scala
@@ -31,15 +31,15 @@ import javax.inject.{Inject, Named}
 import org.apache.http.HttpStatus.SC_BAD_REQUEST
 import org.apache.james.jmap.HttpConstants.JSON_CONTENT_TYPE
 import org.apache.james.jmap.JMAPUrls.JMAP
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.Invocation.MethodName
+import org.apache.james.jmap.core.ProblemDetails.{notJSONProblem, 
notRequestProblem, unknownCapabilityProblem}
+import org.apache.james.jmap.core._
 import org.apache.james.jmap.exceptions.UnauthorizedException
 import org.apache.james.jmap.http.rfc8621.InjectionKeys
 import org.apache.james.jmap.http.{Authenticator, MailboxesProvisioner, 
UserProvisioning}
 import org.apache.james.jmap.json.ResponseSerializer
 import org.apache.james.jmap.method.{InvocationWithContext, Method}
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.Invocation.MethodName
-import org.apache.james.jmap.model.ProblemDetails.{notJSONProblem, 
notRequestProblem, unknownCapabilityProblem}
-import org.apache.james.jmap.model._
 import org.apache.james.jmap.{Endpoint, JMAPRoute, JMAPRoutes}
 import org.apache.james.mailbox.MailboxSession
 import org.slf4j.{Logger, LoggerFactory}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/ProcessingContext.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/ProcessingContext.scala
index a814df4..d3f6609 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/ProcessingContext.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/ProcessingContext.scala
@@ -22,9 +22,9 @@ package org.apache.james.jmap.routes
 import eu.timepit.refined.numeric.NonNegative
 import eu.timepit.refined.refineV
 import eu.timepit.refined.types.numeric.NonNegInt
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodCallId, 
MethodName}
+import org.apache.james.jmap.core.{ClientId, Id, Invocation, ServerId}
 import org.apache.james.jmap.json.BackReferenceDeserializer
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodCallId, 
MethodName}
-import org.apache.james.jmap.model.{ClientId, Id, Invocation, ServerId}
 import play.api.libs.json.{JsArray, JsError, JsObject, JsResult, JsString, 
JsSuccess, JsValue, Reads}
 
 import scala.util.Try
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionRoutes.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionRoutes.scala
index a637cbc..3f9772b 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionRoutes.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionRoutes.scala
@@ -27,11 +27,11 @@ import io.netty.handler.codec.http.HttpResponseStatus.OK
 import javax.inject.{Inject, Named}
 import org.apache.james.jmap.HttpConstants.JSON_CONTENT_TYPE_UTF8
 import org.apache.james.jmap.JMAPRoutes.CORS_CONTROL
+import org.apache.james.jmap.core.Session
 import org.apache.james.jmap.exceptions.UnauthorizedException
 import org.apache.james.jmap.http.Authenticator
 import org.apache.james.jmap.http.rfc8621.InjectionKeys
 import org.apache.james.jmap.json.ResponseSerializer
-import org.apache.james.jmap.model.Session
 import org.apache.james.jmap.{Endpoint, JMAPRoute, JMAPRoutes}
 import org.slf4j.LoggerFactory
 import play.api.libs.json.Json
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionSupplier.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionSupplier.scala
index 2f6d12b..38388b0 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionSupplier.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/SessionSupplier.scala
@@ -21,8 +21,8 @@ package org.apache.james.jmap.routes
 
 import javax.inject.Inject
 import org.apache.james.core.Username
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model._
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core._
 import reactor.core.scala.publisher.SMono
 
 class SessionSupplier @Inject() (val configuration: JmapRfc8621Configuration){
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/UploadRoutes.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/UploadRoutes.scala
index d8aa79c..9bb9f78 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/UploadRoutes.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/routes/UploadRoutes.scala
@@ -32,14 +32,14 @@ import io.netty.handler.codec.http.HttpMethod
 import io.netty.handler.codec.http.HttpResponseStatus.{BAD_REQUEST, CREATED}
 import javax.inject.{Inject, Named}
 import org.apache.commons.fileupload.util.LimitedInputStream
+import org.apache.james.jmap.core.Id.Id
+import org.apache.james.jmap.core.{AccountId, Id, JmapRfc8621Configuration}
 import org.apache.james.jmap.exceptions.UnauthorizedException
 import org.apache.james.jmap.http.Authenticator
 import org.apache.james.jmap.http.rfc8621.InjectionKeys
 import org.apache.james.jmap.json.UploadSerializer
 import org.apache.james.jmap.mail.BlobId
 import org.apache.james.jmap.mail.Email.Size
-import org.apache.james.jmap.model.Id.Id
-import org.apache.james.jmap.model.{AccountId, Id, JmapRfc8621Configuration}
 import org.apache.james.jmap.routes.UploadRoutes.{LOGGER, sanitizeSize}
 import org.apache.james.jmap.{Endpoint, JMAPRoute, JMAPRoutes}
 import org.apache.james.mailbox.model.{AttachmentMetadata, ContentType}
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/quotas/QuotaReader.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/quotas/QuotaReader.scala
index 2545c83..01ba28d 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/quotas/QuotaReader.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/quotas/QuotaReader.scala
@@ -21,9 +21,9 @@ package org.apache.james.jmap.utils.quotas
 
 import javax.inject.Inject
 import org.apache.james.core.quota.{QuotaLimitValue, QuotaUsageValue}
+import org.apache.james.jmap.core.UnsignedInt
+import org.apache.james.jmap.core.UnsignedInt.UnsignedInt
 import org.apache.james.jmap.mail._
-import org.apache.james.jmap.model.UnsignedInt
-import org.apache.james.jmap.model.UnsignedInt.UnsignedInt
 import org.apache.james.mailbox.exception.MailboxException
 import org.apache.james.mailbox.model.{Quota => ModelQuota}
 import org.apache.james.mailbox.quota.QuotaManager
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/search/MailboxFilter.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/search/MailboxFilter.scala
index c76e3ff..25914f2 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/search/MailboxFilter.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/utils/search/MailboxFilter.scala
@@ -21,9 +21,9 @@ package org.apache.james.jmap.utils.search
 import java.util.Date
 
 import cats.implicits._
+import org.apache.james.jmap.core.CapabilityIdentifier
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
 import org.apache.james.jmap.mail.{And, EmailQueryRequest, FilterCondition, 
FilterOperator, FilterQuery, HeaderContains, HeaderExist, Not, Operator, Or, 
UnsupportedFilterException}
-import org.apache.james.jmap.model.CapabilityIdentifier
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
 import org.apache.james.mailbox.MailboxSession
 import 
org.apache.james.mailbox.model.MultimailboxesSearchQuery.{AccessibleNamespace, 
Namespace, PersonalNamespace}
 import org.apache.james.mailbox.model.SearchQuery.DateResolution.Second
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsCombinerTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsCombinerTest.scala
index 94f0b8b..a16859d 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsCombinerTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsCombinerTest.scala
@@ -20,7 +20,7 @@
 package org.apache.james.jmap.core
 
 import org.apache.james.jmap.mail.KeywordsFactory.LENIENT_KEYWORDS_FACTORY
-import org.apache.james.jmap.mail.{Keywords, KeywordsCombiner}
+import org.apache.james.jmap.mail.{Keyword, Keywords, KeywordsCombiner}
 import org.apache.james.util.CommutativityChecker
 import org.assertj.core.api.Assertions.assertThat
 import org.scalatest.matchers.must.Matchers
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsTest.scala
index 0708919..8786024 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/core/KeywordsTest.scala
@@ -22,8 +22,8 @@ package org.apache.james.jmap.core
 import javax.mail.Flags
 import javax.mail.Flags.Flag
 import nl.jqno.equalsverifier.EqualsVerifier
-import org.apache.james.jmap.mail.Keywords
 import org.apache.james.jmap.mail.KeywordsFactory.{LENIENT_KEYWORDS_FACTORY, 
STRICT_KEYWORDS_FACTORY}
+import org.apache.james.jmap.mail.{Keyword, Keywords}
 import org.apache.james.mailbox.FlagsBuilder
 import org.assertj.core.api.Assertions.assertThat
 import org.scalatest.matchers.must.Matchers
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/BackReferenceTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/BackReferenceTest.scala
index 6d31491..c9d5e56 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/BackReferenceTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/BackReferenceTest.scala
@@ -20,7 +20,7 @@
 package org.apache.james.jmap.json
 
 import eu.timepit.refined.auto._
-import org.apache.james.jmap.model.Invocation.{MethodCallId, MethodName}
+import org.apache.james.jmap.core.Invocation.{MethodCallId, MethodName}
 import org.apache.james.jmap.routes.{ArrayElementPart, BackReference, 
JsonPath, PlainPart}
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/Fixture.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/Fixture.scala
index e249535..e43d96c 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/Fixture.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/Fixture.scala
@@ -20,10 +20,10 @@
 package org.apache.james.jmap.json
 
 import eu.timepit.refined.auto._
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.Id.Id
-import org.apache.james.jmap.model.Invocation.{Arguments, MethodCallId, 
MethodName}
-import org.apache.james.jmap.model.{ClientId, CreatedIds, Invocation, 
ResponseObject, ServerId}
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.Id.Id
+import org.apache.james.jmap.core.Invocation.{Arguments, MethodCallId, 
MethodName}
+import org.apache.james.jmap.core.{ClientId, CreatedIds, Invocation, 
ResponseObject, ServerId}
 import play.api.libs.json.Json
 
 object Fixture {
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/MailboxGetSerializationTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/MailboxGetSerializationTest.scala
index c2841fc..491dbd2 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/MailboxGetSerializationTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/MailboxGetSerializationTest.scala
@@ -21,12 +21,12 @@ package org.apache.james.jmap.json
 
 import eu.timepit.refined.auto._
 import net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
+import org.apache.james.jmap.core.{AccountId, Properties}
 import org.apache.james.jmap.json.Fixture._
 import org.apache.james.jmap.json.MailboxGetSerializationTest._
 import org.apache.james.jmap.json.MailboxSerializationTest.MAILBOX
 import org.apache.james.jmap.mail.MailboxGet.UnparsedMailboxId
 import org.apache.james.jmap.mail._
-import org.apache.james.jmap.model.{AccountId, Properties}
 import org.apache.james.mailbox.model.{MailboxId, TestId}
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/RequestObjectSerializationTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/RequestObjectSerializationTest.scala
index c614cc9..e53cd3a 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/RequestObjectSerializationTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/RequestObjectSerializationTest.scala
@@ -19,8 +19,8 @@
 
 package org.apache.james.jmap.json
 
+import org.apache.james.jmap.core.RequestObject
 import org.apache.james.jmap.json.Fixture._
-import org.apache.james.jmap.model.RequestObject
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
 import play.api.libs.json._
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/ResponseObjectSerializationTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/ResponseObjectSerializationTest.scala
index dd14faa..3a4a532 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/ResponseObjectSerializationTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/ResponseObjectSerializationTest.scala
@@ -20,8 +20,8 @@
 package org.apache.james.jmap.json
 
 import eu.timepit.refined.auto._
+import org.apache.james.jmap.core.ResponseObject
 import org.apache.james.jmap.json.Fixture._
-import org.apache.james.jmap.model.ResponseObject
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
 import play.api.libs.json._
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/SessionSerializationTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/SessionSerializationTest.scala
index 1983b95..627ca9d 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/SessionSerializationTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/SessionSerializationTest.scala
@@ -23,12 +23,12 @@ import java.net.URL
 
 import eu.timepit.refined.auto._
 import org.apache.james.core.Username
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
+import org.apache.james.jmap.core.CoreCapabilityProperties.CollationAlgorithm
+import org.apache.james.jmap.core.MailCapability.EmailQuerySortOption
+import org.apache.james.jmap.core.State.State
+import org.apache.james.jmap.core._
 import org.apache.james.jmap.json.SessionSerializationTest.SESSION
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.CoreCapabilityProperties.CollationAlgorithm
-import org.apache.james.jmap.model.MailCapability.EmailQuerySortOption
-import org.apache.james.jmap.model.State.State
-import org.apache.james.jmap.model._
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
 import play.api.libs.json.Json
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseGetSerializationTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseGetSerializationTest.scala
index 35a0e4e..b37910f 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseGetSerializationTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseGetSerializationTest.scala
@@ -21,12 +21,12 @@ package org.apache.james.jmap.json
 
 import eu.timepit.refined.auto._
 import net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
+import org.apache.james.jmap.core.{AccountId, Properties}
 import org.apache.james.jmap.json.Fixture.id
 import 
org.apache.james.jmap.json.VacationResponseGetSerializationTest.{ACCOUNT_ID, 
PROPERTIES, SINGLETON_ID}
 import 
org.apache.james.jmap.json.VacationResponseSerializationTest.VACATION_RESPONSE
-import org.apache.james.jmap.mail.VacationResponse.UnparsedVacationResponseId
-import org.apache.james.jmap.mail.{VacationResponse, 
VacationResponseGetRequest, VacationResponseGetResponse, VacationResponseIds, 
VacationResponseNotFound}
-import org.apache.james.jmap.model.{AccountId, Properties}
+import 
org.apache.james.jmap.vacation.VacationResponse.UnparsedVacationResponseId
+import org.apache.james.jmap.vacation.{VacationResponse, 
VacationResponseGetRequest, VacationResponseGetResponse, VacationResponseIds, 
VacationResponseNotFound}
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
 import play.api.libs.json.{JsSuccess, Json}
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseSerializationTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseSerializationTest.scala
index dba41c3..b805538 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseSerializationTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/VacationResponseSerializationTest.scala
@@ -22,9 +22,11 @@ package org.apache.james.jmap.json
 import java.time.ZonedDateTime
 
 import net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
+import org.apache.james.jmap.core.UTCDate
 import 
org.apache.james.jmap.json.VacationResponseSerializationTest.VACATION_RESPONSE
-import org.apache.james.jmap.mail.{FromDate, HtmlBody, IsEnabled, Subject, 
TextBody, ToDate, VacationResponse, VacationResponseId}
-import org.apache.james.jmap.model.UTCDate
+import org.apache.james.jmap.mail.Subject
+import org.apache.james.jmap.vacation
+import org.apache.james.jmap.vacation.{FromDate, HtmlBody, IsEnabled, 
TextBody, ToDate, VacationResponse, VacationResponseId}
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec
 import play.api.libs.json.Json
@@ -41,7 +43,7 @@ object VacationResponseSerializationTest {
   private val TEXT_BODY: Option[TextBody] = Some(TextBody("text is required 
when enabled"))
   private val HTML_BODY: Option[HtmlBody] = Some(HtmlBody("<b>HTML body</b>"))
 
-  val VACATION_RESPONSE: VacationResponse = VacationResponse(
+  val VACATION_RESPONSE: VacationResponse = vacation.VacationResponse(
     id = VACATION_RESPONSE_ID,
     isEnabled = IS_ENABLED,
     fromDate = FROM_DATE,
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/method/CoreEchoMethodTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/method/CoreEchoMethodTest.scala
index 18a2624..2dc0314 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/method/CoreEchoMethodTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/method/CoreEchoMethodTest.scala
@@ -18,9 +18,9 @@
  * ***************************************************************/
 package org.apache.james.jmap.method
 
+import org.apache.james.jmap.core.CapabilityIdentifier
+import org.apache.james.jmap.core.CapabilityIdentifier.CapabilityIdentifier
 import org.apache.james.jmap.json.Fixture.{invocation1, invocation2}
-import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
-import org.apache.james.jmap.model.{CapabilityIdentifier, Invocation}
 import org.apache.james.jmap.routes.ProcessingContext
 import org.apache.james.mailbox.MailboxSession
 import org.mockito.Mockito.mock
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/JMAPApiRoutesTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/JMAPApiRoutesTest.scala
index dd2240a..52ce1cd 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/JMAPApiRoutesTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/JMAPApiRoutesTest.scala
@@ -36,11 +36,11 @@ import org.apache.james.dnsservice.api.DNSService
 import org.apache.james.domainlist.memory.MemoryDomainList
 import org.apache.james.jmap.JMAPUrls.JMAP
 import org.apache.james.jmap._
+import org.apache.james.jmap.core.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE}
+import org.apache.james.jmap.core.Invocation.MethodName
+import org.apache.james.jmap.core.{JmapRfc8621Configuration, 
RequestLevelErrorType}
 import org.apache.james.jmap.http.{Authenticator, BasicAuthenticationStrategy, 
MailboxesProvisioner, UserProvisioning}
 import org.apache.james.jmap.method.{CoreEchoMethod, Method}
-import org.apache.james.jmap.model.CapabilityIdentifier.{CapabilityIdentifier, 
JMAP_CORE}
-import org.apache.james.jmap.model.Invocation.MethodName
-import org.apache.james.jmap.model.{JmapRfc8621Configuration, 
RequestLevelErrorType}
 import org.apache.james.jmap.routes.JMAPApiRoutesTest._
 import org.apache.james.mailbox.extension.PreDeletionHook
 import org.apache.james.mailbox.inmemory.{InMemoryMailboxManager, 
MemoryMailboxManagerProvider}
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionRoutesTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionRoutesTest.scala
index 4c47291..d0cad56 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionRoutesTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionRoutesTest.scala
@@ -31,9 +31,9 @@ import 
net.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson
 import org.apache.http.HttpStatus
 import org.apache.james.core.Username
 import org.apache.james.jmap._
+import org.apache.james.jmap.core.JmapRfc8621Configuration
+import org.apache.james.jmap.core.JmapRfc8621Configuration.LOCALHOST_URL_PREFIX
 import org.apache.james.jmap.http.Authenticator
-import org.apache.james.jmap.model.JmapRfc8621Configuration
-import 
org.apache.james.jmap.model.JmapRfc8621Configuration.LOCALHOST_URL_PREFIX
 import org.apache.james.jmap.routes.SessionRoutesTest.{BOB, TEST_CONFIGURATION}
 import org.apache.james.mailbox.MailboxSession
 import org.mockito.ArgumentMatchers.any
diff --git 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionSupplierTest.scala
 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionSupplierTest.scala
index 56e6a6d..01e53ce 100644
--- 
a/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionSupplierTest.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/routes/SessionSupplierTest.scala
@@ -20,7 +20,7 @@
 package org.apache.james.jmap.routes
 
 import org.apache.james.core.Username
-import org.apache.james.jmap.model.JmapRfc8621Configuration
+import org.apache.james.jmap.core.JmapRfc8621Configuration
 import org.apache.james.jmap.routes.SessionSupplierTest.USERNAME
 import org.scalatest.matchers.should.Matchers
 import org.scalatest.wordspec.AnyWordSpec


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to