[ 
https://issues.apache.org/jira/browse/JAMES-2279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16518867#comment-16518867
 ] 

ASF GitHub Bot commented on JAMES-2279:
---------------------------------------

Github user chibenwa commented on a diff in the pull request:

    https://github.com/apache/james-project/pull/121#discussion_r197000508
  
    --- Diff: 
server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/WithPriority.java
 ---
    @@ -0,0 +1,62 @@
    +/****************************************************************
    + * Licensed to the Apache Software Foundation (ASF) under one   *
    + * or more contributor license agreements.  See the NOTICE file *
    + * distributed with this work for additional information        *
    + * regarding copyright ownership.  The ASF licenses this file   *
    + * to you under the Apache License, Version 2.0 (the            *
    + * "License"); you may not use this file except in compliance   *
    + * with the License.  You may obtain a copy of the License at   *
    + *                                                              *
    + *   http://www.apache.org/licenses/LICENSE-2.0                 *
    + *                                                              *
    + * Unless required by applicable law or agreed to in writing,   *
    + * software distributed under the License is distributed on an  *
    + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
    + * KIND, either express or implied.  See the License for the    *
    + * specific language governing permissions and limitations      *
    + * under the License.                                           *
    + ****************************************************************/
    +
    +package org.apache.james.transport.mailets;
    +
    +import org.apache.james.queue.api.MailPrioritySupport;
    +import org.apache.mailet.Mail;
    +import org.apache.mailet.base.GenericMailet;
    +
    +import javax.mail.MessagingException;
    +import java.util.Optional;
    --- End diff --
    
    Hi!
    
    We do use  a specifc import layout and ordering.
    
    In this comment I present it to another contributor: 
https://github.com/apache/james-project/pull/119#issuecomment-398259479
    
    Here the ordering will be:
    
    ```
    import java.util.Optional;
    
    import javax.mail.MessagingException;
    
    import org.apache.james.queue.api.MailPrioritySupport;
    import org.apache.mailet.Mail;
    import org.apache.mailet.base.GenericMailet;
    ```
    
    For the record here is the IntelliJ configuration:
    
    ```
    import static all other imports
    <blank line>
    import java.*
    <blank line>
    import javax.*
    <blank line>
    import org.*
    <blank line>
    import com.*
    <blank line>
    import all other imports
    ```
    
    (intelliJ -> File -> Settings -> Editor -> Code style -> Java -> Imports -> 
Import layout)
    
    BTW you can check the checkstyle by running `mvn clean install -DskipTests` 
then `mvn checkstyle:check`.


> Write a WithPriority mailet and HasPriority matchers
> ----------------------------------------------------
>
>                 Key: JAMES-2279
>                 URL: https://issues.apache.org/jira/browse/JAMES-2279
>             Project: James Server
>          Issue Type: New Feature
>          Components: Mailet Contributions
>    Affects Versions: master
>            Reporter: Tellier Benoit
>            Priority: Major
>              Labels: easyfix, feature, newbie
>
> James mail queues is handling mail priorities. See the *MailPrioritySupport* 
> interface.
> This is done using the MAIL_PRIORITY mail attribute. It is an integer 
> property ranging from 0 (low) to 9 (high) and mail queue component will 
> default to 5.
> Today, the mail processing unit akka mailetContainer can not change the 
> priority set by the SMTP layer (using *MailPriorityHandler*). This is a 
> problem as we can not re-prioritise outgoing emails, for instance in remote 
> delivery queues.
> I would thus propose the following mailet:
> {code:xml}
> <mailet matcher="All" class="WithPriority">
>     <value>8</value>
> </mailet>
> {code}
> Furthermore, we might want to customize processing logic depending on the 
> priority (might it just be for debugging purpose).
> To do so, I propose to introduce the following matchers:
> {code:xml}
> <mailet matcher="HasPriority=8" class="Any"/>
> <mailet matcher="AtLeastPriority=8" class="Any"/>
> <mailet matcher="AtMostPriority=8" class="Any"/>
> {code}
> *How to do this?*
> In the `server/mailet/mailets` project, in the mailet package create the 
> WithPriority mailet which sets the MAIL_PRIORITY attribute. 
> Create the matchers in  `server/mailet/mailets` in the matcher package.
> Write unit tests for these mailets / matchers.
> Use MailetUtil content to parse the integer conditions/value. You can reuse 
> https://github.com/linagora/james-project/pull/1215 to ease your work.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to