You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Benoit Tellier (Jira)" <se...@james.apache.org> on 2019/11/28 02:21:00 UTC
[jira] [Comment Edited] (JAMES-2988) JMAP GetMessages should use
the smallest projection possible
[ https://issues.apache.org/jira/browse/JAMES-2988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16984088#comment-16984088 ]
Benoit Tellier edited comment on JAMES-2988 at 11/28/19 2:20 AM:
-----------------------------------------------------------------
https://github.com/linagora/james-project/pull/2920 MessageIdManager should comply with the use of fetch group
Fetch group -> mapper fetch type convertion is extracted and tested.
I did also rework the fetch API so that API parameters supplied by the API caller are no longer interfaces. This made:
- the API harder to discover as you have to navigate several classes
- the mailbox-store dependencie was needed to actually use the fetch API
Also I reworked fetchGroup related classes to actually be immutable which is a great win.
In the process I contributed tests for IMAP FetchData -> FetchGroup convertion.
https://github.com/linagora/james-project/pull/2928 ensured JMAP is choosing the appropriate fetchGroup given requested messages properties and is returning the appropriate messageView
These two pull requests are merged.
In that ongoing effort, Matthieu and I would like to further refactor FetchGroup to no longer rely on tricky low level bite masks but rather use a friendlier 'EnumSet'. I will rebase his work on the latest master changes. (See https://github.com/linagora/james-project/pull/2929 as a reference)
was (Author: btellier):
https://github.com/linagora/james-project/pull/2920 MessageIdManager should comply with the use of fetch group
Fetch group -> mapper fetch type convertion is extracted and tested.
I did also rework the fetch API so that API parameters supplied by the API caller are no longer interfaces. This made:
- the API harder to discover as you have to navigate several classes
- the mailbox-store dependencie was needed to actually use the fetch API
Also I reworked fetchGroup related classes to actually be immutable which is a great win.
In the process I contributed tests for IMAP FetchData -> FetchGroup convertion.
https://github.com/linagora/james-project/pull/2928 ensured JMAP is choosing the appropriate fetchGroup given requested messages properties and is returning the appropriate messageView
These two pull requests are merged.
In that ongoing effort, Matthieu and I would like to further refactor FetchGroup to no longer rely on tricky low level bite masks but rather use a friendlier 'EnumSet'. I will rebase his work on the latest master changes.
> JMAP GetMessages should use the smallest projection possible
> ------------------------------------------------------------
>
> Key: JAMES-2988
> URL: https://issues.apache.org/jira/browse/JAMES-2988
> Project: James Server
> Issue Type: Sub-task
> Reporter: Trần Tiến Đức
> Priority: Major
>
> ADR 12:
> [https://github.com/apache/james-project/pull/170]
>
> After JAMES-2987
>
> GetMessageMethod should select the appropriate factory, retrieve MailboxMessage with the right fetch type.
> GetMessageResponse should return a generic "MessageProjection"
> You should be able to retrieve the model needed for the level of reads requested and use the appropriate method introduced in Message(Id)Manager .
> You may need to fix some JMAP integration tests (specifying the read properties in the incoming JMAP requests)
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org