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 dab80723d85bc22bc0041464d1151737dbd01667 Author: Benoit Tellier <[email protected]> AuthorDate: Fri Dec 13 04:38:25 2019 +0100 [Refactoring] Strong typing for ImapComposer::commandName Note that this was also called by some arguments that were not command names. Calling `message` in that case ensure the same behaviour. --- .../src/main/java/org/apache/james/imap/api/ImapConstants.java | 6 ------ .../java/org/apache/james/imap/encode/ACLResponseEncoder.java | 2 +- .../apache/james/imap/encode/AnnotationResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/ImapResponseComposer.java | 3 ++- .../apache/james/imap/encode/ListRightsResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/MyRightsResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/NamespaceResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/QuotaResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/QuotaRootResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/SearchResponseEncoder.java | 2 +- .../org/apache/james/imap/encode/StatusResponseEncoder.java | 2 +- .../james/imap/encode/base/ImapResponseComposerImpl.java | 7 +++---- .../apache/james/imap/message/response/ListRightsResponse.java | 2 +- .../apache/james/imap/encode/NamespaceResponseEncoderTest.java | 10 +++++----- 14 files changed, 20 insertions(+), 26 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConstants.java b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConstants.java index 27c358e..06ee861 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConstants.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConstants.java @@ -199,18 +199,12 @@ public interface ImapConstants { ImapCommand STORE_COMMAND = ImapCommand.selectedStateCommand("STORE"); ImapCommand UID_COMMAND = ImapCommand.selectedStateCommand("UID"); - String SEARCH_RESPONSE_NAME = "SEARCH"; - String ACL_RESPONSE_NAME = "ACL"; String QUOTA_RESPONSE_NAME = "QUOTA"; String QUOTAROOT_RESPONSE_NAME = "QUOTAROOT"; - String LISTRIGHTS_RESPONSE_NAME = "LISTRIGHTS"; - - String MYRIGHTS_RESPONSE_NAME = "MYRIGHTS"; - String ANNOTATION_RESPONSE_NAME = "METADATA"; String NAME_ATTRIBUTE_NOINFERIORS = "\\Noinferiors"; diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java index 2b4fba0..dc290ad 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ACLResponseEncoder.java @@ -36,7 +36,7 @@ public class ACLResponseEncoder implements ImapResponseEncoder<ACLResponse> { public void encode(ACLResponse aclResponse, ImapResponseComposer composer) throws IOException { Map<EntryKey, Rfc4314Rights> entries = aclResponse.getAcl().getEntries(); composer.untagged(); - composer.commandName(ImapConstants.ACL_RESPONSE_NAME); + composer.message(ImapConstants.ACL_RESPONSE_NAME); String mailboxName = aclResponse.getMailboxName(); composer.mailbox(mailboxName == null ? "" : mailboxName); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java index 336db1e..a764d39 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java @@ -40,7 +40,7 @@ public class AnnotationResponseEncoder implements ImapResponseEncoder<Annotation @Override public void encode(AnnotationResponse response, ImapResponseComposer composer) throws IOException { composer.untagged(); - composer.commandName(ImapConstants.ANNOTATION_RESPONSE_NAME); + composer.message(ImapConstants.ANNOTATION_RESPONSE_NAME); composer.quote(Optional.ofNullable(response.getMailboxName()).orElse("")); composeAnnotations(composer, response.getMailboxAnnotations()); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java index 60df2b2..ebede3f 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java @@ -23,6 +23,7 @@ import java.io.IOException; import javax.mail.Flags; +import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.Tag; import org.apache.james.imap.api.display.ModifiedUtf7; import org.apache.james.imap.api.message.IdRange; @@ -74,7 +75,7 @@ public interface ImapResponseComposer { /** * @return composer */ - ImapResponseComposer commandName(String name) throws IOException; + ImapResponseComposer commandName(ImapCommand command) throws IOException; /** * Write the message of type <code>String</code> diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/ListRightsResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/ListRightsResponseEncoder.java index 5af2bd4..5fdddce 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ListRightsResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ListRightsResponseEncoder.java @@ -37,7 +37,7 @@ public class ListRightsResponseEncoder implements ImapResponseEncoder<ListRights @Override public void encode(ListRightsResponse listRightsResponse, ImapResponseComposer composer) throws IOException { composer.untagged(); - composer.commandName(ImapConstants.LISTRIGHTS_RESPONSE_NAME); + composer.commandName(ImapConstants.LISTRIGHTS_COMMAND); String mailboxName = listRightsResponse.getMailboxName(); composer.mailbox(mailboxName == null ? "" : mailboxName); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/MyRightsResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/MyRightsResponseEncoder.java index 17be615..3d1ecab 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/MyRightsResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/MyRightsResponseEncoder.java @@ -38,7 +38,7 @@ public class MyRightsResponseEncoder implements ImapResponseEncoder<MyRightsResp public void encode(MyRightsResponse aclResponse, ImapResponseComposer composer) throws IOException { Rfc4314Rights myRights = aclResponse.getMyRights(); composer.untagged(); - composer.commandName(ImapConstants.MYRIGHTS_RESPONSE_NAME); + composer.commandName(ImapConstants.MYRIGHTS_COMMAND); String mailboxName = aclResponse.getMailboxName(); composer.mailbox(mailboxName == null ? "" : mailboxName); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/NamespaceResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/NamespaceResponseEncoder.java index 6d2456b..0d04583 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/NamespaceResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/NamespaceResponseEncoder.java @@ -37,7 +37,7 @@ public class NamespaceResponseEncoder implements ImapResponseEncoder<NamespaceRe @Override public void encode(NamespaceResponse response, ImapResponseComposer composer) throws IOException { composer.untagged(); - composer.commandName(ImapConstants.NAMESPACE_COMMAND.getName()); + composer.commandName(ImapConstants.NAMESPACE_COMMAND); final List<NamespaceResponse.Namespace> personal = response.getPersonal(); encode(personal, composer); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaResponseEncoder.java index 6ee7093..fd826c4 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaResponseEncoder.java @@ -41,7 +41,7 @@ public class QuotaResponseEncoder implements ImapResponseEncoder<QuotaResponse> Quota<?, ?> quota = quotaResponse.getQuota(); composer.untagged(); - composer.commandName(ImapConstants.QUOTA_RESPONSE_NAME); + composer.message(ImapConstants.QUOTA_RESPONSE_NAME); composer.message(quotaRoot == null ? "" : quotaRoot); composer.openParen(); composer.message(quotaResponse.getResourceName()); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaRootResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaRootResponseEncoder.java index 1cb3a27..897e98b 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaRootResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/QuotaRootResponseEncoder.java @@ -39,7 +39,7 @@ public class QuotaRootResponseEncoder implements ImapResponseEncoder<QuotaRootRe String mailbox = quotaRootResponse.getMailboxName(); composer.untagged(); - composer.commandName(ImapConstants.QUOTAROOT_RESPONSE_NAME); + composer.message(ImapConstants.QUOTAROOT_RESPONSE_NAME); composer.mailbox(mailbox == null ? "" : mailbox); composer.message(quotaRoot == null ? "" : quotaRoot); composer.end(); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java index daef20f..8f134ab 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java @@ -38,7 +38,7 @@ public class SearchResponseEncoder implements ImapResponseEncoder<SearchResponse final long[] ids = response.getIds(); ModSeq highestModSeq = response.getHighestModSeq(); composer.untagged(); - composer.message(ImapConstants.SEARCH_RESPONSE_NAME); + composer.commandName(ImapConstants.SEARCH_COMMAND); if (ids != null) { for (long id : ids) { composer.message(id); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java index 8f0435e..45aae42 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java @@ -95,7 +95,7 @@ public class StatusResponseEncoder implements ImapResponseEncoder<ImmutableStatu composer.closeSquareBracket(); } if (command != null) { - composer.commandName(command.getName()); + composer.commandName(command); } if (text != null && !"".equals(text)) { composer.message(text); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java index 950123f..55908bb 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java @@ -24,6 +24,7 @@ import java.nio.charset.Charset; import javax.mail.Flags; +import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapConstants; import org.apache.james.imap.api.Tag; import org.apache.james.imap.api.display.ModifiedUtf7; @@ -213,10 +214,8 @@ public class ImapResponseComposerImpl implements ImapConstants, ImapResponseComp } @Override - public ImapResponseComposer commandName(String commandName) throws IOException { - space(); - writeASCII(commandName); - return this; + public ImapResponseComposer commandName(ImapCommand command) throws IOException { + return message(command.getName()); } @Override diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java index 0b64328..970491d 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java @@ -73,7 +73,7 @@ public final class ListRightsResponse implements ImapResponseMessage { @Override public String toString() { - StringBuilder result = new StringBuilder().append(ImapConstants.LISTRIGHTS_RESPONSE_NAME).append(' ').append(mailboxName).append(' ').append(identifier); + StringBuilder result = new StringBuilder().append(ImapConstants.LISTRIGHTS_COMMAND.getName()).append(' ').append(mailboxName).append(' ').append(identifier); for (MailboxACL.Rfc4314Rights optionalRightsGroup : rights) { result.append(' ').append(optionalRightsGroup.toString()); diff --git a/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java b/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java index 946dae9..7874341 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/encode/NamespaceResponseEncoderTest.java @@ -56,7 +56,7 @@ public class NamespaceResponseEncoderTest { InOrder inOrder = Mockito.inOrder(mockComposer); inOrder.verify(mockComposer, times(1)).untagged(); - inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND.getName()); + inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND); inOrder.verify(mockComposer, times(2)).nil(); inOrder.verify(mockComposer, times(2)).openParen(); inOrder.verify(mockComposer, times(1)).quote(aPrefix + aDeliminator); @@ -79,7 +79,7 @@ public class NamespaceResponseEncoderTest { InOrder inOrder = Mockito.inOrder(mockComposer); inOrder.verify(mockComposer, times(1)).untagged(); - inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND.getName()); + inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND); inOrder.verify(mockComposer, times(1)).nil(); inOrder.verify(mockComposer, times(2)).openParen(); inOrder.verify(mockComposer, times(1)).quote(aPrefix + aDeliminator); @@ -103,7 +103,7 @@ public class NamespaceResponseEncoderTest { InOrder inOrder = Mockito.inOrder(mockComposer); inOrder.verify(mockComposer, times(1)).untagged(); - inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND.getName()); + inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND); inOrder.verify(mockComposer, times(2)).openParen(); inOrder.verify(mockComposer, times(1)).quote(aPrefix + aDeliminator); inOrder.verify(mockComposer, times(1)).quote(aDeliminator); @@ -130,7 +130,7 @@ public class NamespaceResponseEncoderTest { InOrder inOrder = Mockito.inOrder(mockComposer); inOrder.verify(mockComposer, times(1)).untagged(); - inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND.getName()); + inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND); inOrder.verify(mockComposer, times(2)).openParen(); inOrder.verify(mockComposer, times(1)).quote(aPrefix + aDeliminator); inOrder.verify(mockComposer, times(1)).quote(aDeliminator); @@ -150,7 +150,7 @@ public class NamespaceResponseEncoderTest { InOrder inOrder = Mockito.inOrder(mockComposer); inOrder.verify(mockComposer, times(1)).untagged(); - inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND.getName()); + inOrder.verify(mockComposer, times(1)).commandName(ImapConstants.NAMESPACE_COMMAND); inOrder.verify(mockComposer, times(3)).nil(); inOrder.verify(mockComposer, times(1)).end(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
