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