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 7aac9362b16ba2393f243d0dd4c26dc136aefba6
Author: Benoit Tellier <[email protected]>
AuthorDate: Mon Dec 9 09:52:16 2019 +0700

    PROTOCOLS-120 ImapSession is never used by IMAP encoders
---
 .../james/imap/encode/ACLResponseEncoder.java      |  3 +-
 .../imap/encode/AnnotationResponseEncoder.java     | 11 ++---
 .../imap/encode/AuthenticateResponseEncoder.java   |  3 +-
 .../imap/encode/CapabilityResponseEncoder.java     |  3 +-
 .../imap/encode/ContinuationResponseEncoder.java   |  7 ++-
 .../james/imap/encode/ESearchResponseEncoder.java  |  3 +-
 .../james/imap/encode/EnableResponseEncoder.java   |  3 +-
 .../james/imap/encode/ExistsResponseEncoder.java   |  3 +-
 .../james/imap/encode/ExpungeResponseEncoder.java  |  3 +-
 .../james/imap/encode/FetchResponseEncoder.java    | 53 +++++++++++-----------
 .../james/imap/encode/FlagsResponseEncoder.java    |  3 +-
 .../org/apache/james/imap/encode/ImapEncoder.java  |  5 +-
 .../james/imap/encode/ImapResponseEncoder.java     |  5 +-
 .../james/imap/encode/LSubResponseEncoder.java     |  3 +-
 .../james/imap/encode/ListResponseEncoder.java     |  3 +-
 .../imap/encode/ListRightsResponseEncoder.java     |  3 +-
 .../imap/encode/MailboxStatusResponseEncoder.java  |  3 +-
 .../james/imap/encode/MyRightsResponseEncoder.java |  3 +-
 .../imap/encode/NamespaceResponseEncoder.java      |  3 +-
 .../james/imap/encode/QuotaResponseEncoder.java    |  3 +-
 .../imap/encode/QuotaRootResponseEncoder.java      |  3 +-
 .../james/imap/encode/RecentResponseEncoder.java   |  3 +-
 .../james/imap/encode/SearchResponseEncoder.java   |  3 +-
 .../james/imap/encode/StatusResponseEncoder.java   |  6 +--
 .../james/imap/encode/VanishedResponseEncoder.java |  3 +-
 .../james/imap/encode/XListResponseEncoder.java    |  3 +-
 .../james/imap/encode/base/EndImapEncoder.java     |  3 +-
 .../encode/main/DefaultImapEncoderFactory.java     |  7 ++-
 .../imap/main/AbstractImapRequestHandler.java      |  2 +-
 .../apache/james/imap/main/ResponseEncoder.java    |  8 +---
 .../imap/encode/AnnotationResponseEncoderTest.java | 15 ++----
 .../encode/FetchResponseEncoderEnvelopeTest.java   | 34 +++++++-------
 .../FetchResponseEncoderNoExtensionsTest.java      |  9 ++--
 .../imap/encode/FetchResponseEncoderTest.java      |  6 +--
 .../james/imap/encode/LSubResponseEncoderTest.java |  2 +-
 .../james/imap/encode/ListResponseEncoderTest.java |  2 +-
 .../encode/MailboxStatusResponseEncoderTest.java   |  2 +-
 .../imap/encode/NamespaceResponseEncoderTest.java  | 14 ++----
 .../imap/encode/QuotaResponseEncoderTest.java      |  4 +-
 .../imap/encode/QuotaRootResponseEncoderTest.java  |  2 +-
 .../imap/encode/SearchResponseEncoderTest.java     |  2 +-
 .../imap/encode/XListResponseEncoderTest.java      |  3 +-
 .../netty/ImapChannelUpstreamHandler.java          |  2 +-
 43 files changed, 109 insertions(+), 155 deletions(-)

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 9cbb8c4..2b4fba0 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
@@ -24,7 +24,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ACLResponse;
 import org.apache.james.mailbox.model.MailboxACL.EntryKey;
 import org.apache.james.mailbox.model.MailboxACL.Rfc4314Rights;
@@ -34,7 +33,7 @@ import 
org.apache.james.mailbox.model.MailboxACL.Rfc4314Rights;
  */
 public class ACLResponseEncoder implements ImapResponseEncoder<ACLResponse> {
     @Override
-    public void encode(ACLResponse aclResponse, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(ACLResponse aclResponse, ImapResponseComposer composer) 
throws IOException {
         Map<EntryKey, Rfc4314Rights> entries = 
aclResponse.getAcl().getEntries();
         composer.untagged();
         composer.commandName(ImapConstants.ACL_RESPONSE_NAME);
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 21429f2..336db1e 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
@@ -24,7 +24,6 @@ import java.util.List;
 import java.util.Optional;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.AnnotationResponse;
 import org.apache.james.mailbox.model.MailboxAnnotation;
 import org.slf4j.Logger;
@@ -39,27 +38,27 @@ public class AnnotationResponseEncoder implements 
ImapResponseEncoder<Annotation
     }
 
     @Override
-    public void encode(AnnotationResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(AnnotationResponse response, ImapResponseComposer 
composer) throws IOException {
         composer.untagged();
         composer.commandName(ImapConstants.ANNOTATION_RESPONSE_NAME);
 
         
composer.quote(Optional.ofNullable(response.getMailboxName()).orElse(""));
-        composeAnnotations(composer, session, 
response.getMailboxAnnotations());
+        composeAnnotations(composer, response.getMailboxAnnotations());
 
         composer.end();
     }
 
-    private void composeAnnotations(ImapResponseComposer composer, ImapSession 
session, List<MailboxAnnotation> annotations) throws IOException {
+    private void composeAnnotations(ImapResponseComposer composer, 
List<MailboxAnnotation> annotations) throws IOException {
         if (!annotations.isEmpty()) {
             composer.openParen();
             for (MailboxAnnotation annotation : annotations) {
-                composeAnnotation(composer, session, annotation);
+                composeAnnotation(composer, annotation);
             }
             composer.closeParen();
         }
     }
 
-    private void composeAnnotation(ImapResponseComposer composer, ImapSession 
session, MailboxAnnotation annotation) throws IOException {
+    private void composeAnnotation(ImapResponseComposer composer, 
MailboxAnnotation annotation) throws IOException {
         if (annotation.isNil()) {
             LOGGER.warn("There is nil data of key {} on store: ", 
annotation.getKey().asString());
         } else {
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/AuthenticateResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/AuthenticateResponseEncoder.java
index bbb6c46..13f9511 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/AuthenticateResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/AuthenticateResponseEncoder.java
@@ -20,7 +20,6 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.AuthenticateResponse;
 
 public class AuthenticateResponseEncoder implements 
ImapResponseEncoder<AuthenticateResponse> {
@@ -30,7 +29,7 @@ public class AuthenticateResponseEncoder implements 
ImapResponseEncoder<Authenti
     }
 
     @Override
-    public void encode(AuthenticateResponse message, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(AuthenticateResponse message, ImapResponseComposer 
composer) throws IOException {
         composer.continuationResponse("");
     }
 }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java
index 685d283..caabae1 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java
@@ -23,7 +23,6 @@ import java.util.Iterator;
 
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.message.Capability;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.CapabilityResponse;
 
 /**
@@ -38,7 +37,7 @@ public class CapabilityResponseEncoder implements 
ImapResponseEncoder<Capability
     }
 
     @Override
-    public void encode(CapabilityResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(CapabilityResponse response, ImapResponseComposer 
composer) throws IOException {
         Iterator<Capability> capabilities = 
response.getCapabilities().iterator();
         composer.untagged();
         composer.message(ImapConstants.CAPABILITY_COMMAND_NAME);
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
index 9620c00..0fdbb2b 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ContinuationResponseEncoder.java
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.display.Locales;
 import org.apache.james.imap.api.display.Localizer;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ContinuationResponse;
 
 public class ContinuationResponseEncoder implements 
ImapResponseEncoder<ContinuationResponse> {
@@ -42,12 +41,12 @@ public class ContinuationResponseEncoder implements 
ImapResponseEncoder<Continua
     }
 
     @Override
-    public void encode(ContinuationResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
-        String message = response.getData() != null ? response.getData() : 
asString(response.getTextKey(), session);
+    public void encode(ContinuationResponse response, ImapResponseComposer 
composer) throws IOException {
+        String message = response.getData() != null ? response.getData() : 
asString(response.getTextKey());
         composer.continuationResponse(message);
     }
 
-    private String asString(HumanReadableText text, ImapSession session) {
+    private String asString(HumanReadableText text) {
         // TODO: calculate locales
         return localizer.localize(text, new Locales(new ArrayList<>(), null));
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ESearchResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ESearchResponseEncoder.java
index 289e659..5cb255a 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ESearchResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ESearchResponseEncoder.java
@@ -25,7 +25,6 @@ import org.apache.james.imap.api.Tag;
 import org.apache.james.imap.api.message.IdRange;
 import org.apache.james.imap.api.message.UidRange;
 import org.apache.james.imap.api.message.request.SearchResultOption;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ESearchResponse;
 import org.apache.james.mailbox.ModSeq;
 
@@ -39,7 +38,7 @@ public class ESearchResponseEncoder implements 
ImapResponseEncoder<ESearchRespon
     }
 
     @Override
-    public void encode(ESearchResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(ESearchResponse response, ImapResponseComposer 
composer) throws IOException {
         Tag tag = response.getTag();
         long min = response.getMinUid();
         long max = response.getMaxUid();
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/EnableResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/EnableResponseEncoder.java
index 0cdd72f..7b5e86a 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/EnableResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/EnableResponseEncoder.java
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.util.Set;
 
 import org.apache.james.imap.api.message.Capability;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.EnableResponse;
 
 /**
@@ -35,7 +34,7 @@ public class EnableResponseEncoder implements 
ImapResponseEncoder<EnableResponse
     }
 
     @Override
-    public void encode(EnableResponse response, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(EnableResponse response, ImapResponseComposer composer) 
throws IOException {
         Set<Capability> capabilities = response.getCapabilities();
         composer.untagged();
         // Return ENABLED capabilities. See IMAP-323
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java
index 6263ab5..bcfcdfd 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ExistsResponse;
 
 public class ExistsResponseEncoder implements 
ImapResponseEncoder<ExistsResponse> {
@@ -33,7 +32,7 @@ public class ExistsResponseEncoder implements 
ImapResponseEncoder<ExistsResponse
     }
 
     @Override
-    public void encode(ExistsResponse existsResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(ExistsResponse existsResponse, ImapResponseComposer 
composer) throws IOException {
         long numberOfMessages = existsResponse.getNumberOfMessages();
         
         composer.untagged().message(numberOfMessages).message(EXISTS).end();
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java
index 25ad3f5..992ee56 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ExpungeResponse;
 
 public class ExpungeResponseEncoder implements 
ImapResponseEncoder<ExpungeResponse> {
@@ -33,7 +32,7 @@ public class ExpungeResponseEncoder implements 
ImapResponseEncoder<ExpungeRespon
     }
 
     @Override
-    public void encode(ExpungeResponse expungeResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(ExpungeResponse expungeResponse, ImapResponseComposer 
composer) throws IOException {
         int messageSequenceNumber = expungeResponse.getMessageSequenceNumber();
         
composer.untagged().message(messageSequenceNumber).message(EXPUNGE).end();
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
index 6bc11be..8cc21ce 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
@@ -31,7 +31,6 @@ import java.util.TreeSet;
 import javax.mail.Flags;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.FetchResponse;
 import org.apache.james.imap.message.response.FetchResponse.Structure;
 import org.apache.james.mailbox.MessageUid;
@@ -63,7 +62,7 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
     }
 
     @Override
-    public void encode(FetchResponse fetchResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(FetchResponse fetchResponse, ImapResponseComposer 
composer) throws IOException {
         long messageNumber = fetchResponse.getMessageNumber();
 
         
composer.untagged().message(messageNumber).message(ImapConstants.FETCH_COMMAND_NAME).openParen();
@@ -74,8 +73,8 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
         encodeInternalDate(composer, fetchResponse);
         encodeSize(composer, fetchResponse);
         encodeEnvelope(composer, fetchResponse);
-        encodeBody(composer, fetchResponse.getBody(), session);
-        encodeBodyStructure(composer, fetchResponse.getBodyStructure(), 
session);
+        encodeBody(composer, fetchResponse.getBody());
+        encodeBodyStructure(composer, fetchResponse.getBodyStructure());
         encodeUid(composer, fetchResponse);
         encodeBodyElements(composer, fetchResponse.getElements());
 
@@ -95,21 +94,21 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
     }
 
     
-    private void encodeBody(ImapResponseComposer composer, Structure body, 
ImapSession session) throws IOException {
+    private void encodeBody(ImapResponseComposer composer, Structure body) 
throws IOException {
         if (body != null) {
             composer.message(ImapConstants.FETCH_BODY);
-            encodeStructure(composer, body, false, false, session);
+            encodeStructure(composer, body, false, false);
         }
     }
 
-    private void encodeBodyStructure(ImapResponseComposer composer, Structure 
bodyStructure, ImapSession session) throws IOException {
+    private void encodeBodyStructure(ImapResponseComposer composer, Structure 
bodyStructure) throws IOException {
         if (bodyStructure != null) {
             composer.message(ImapConstants.FETCH_BODY_STRUCTURE);
-            encodeStructure(composer, bodyStructure, true, false, session);
+            encodeStructure(composer, bodyStructure, true, false);
         }
     }
 
-    private void encodeStructure(ImapResponseComposer composer, Structure 
structure, boolean includeExtensions, boolean isInnerPart, ImapSession session) 
throws IOException {
+    private void encodeStructure(ImapResponseComposer composer, Structure 
structure, boolean includeExtensions, boolean isInnerPart) throws IOException {
 
         final String mediaType;
         final String subType;
@@ -121,10 +120,10 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
             mediaType = rawMediaType;
             subType = structure.getSubType();
         }
-        encodeStructure(composer, structure, includeExtensions, mediaType, 
subType, isInnerPart, session);
+        encodeStructure(composer, structure, includeExtensions, mediaType, 
subType, isInnerPart);
     }
 
-    private void encodeStructure(ImapResponseComposer composer, Structure 
structure, boolean includeExtensions, String mediaType, String subType, boolean 
isInnerPart, ImapSession session) throws IOException {
+    private void encodeStructure(ImapResponseComposer composer, Structure 
structure, boolean includeExtensions, String mediaType, String subType, boolean 
isInnerPart) throws IOException {
         //
         // Workaround for broken clients
         // See IMAP-91
@@ -135,19 +134,19 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
         }
         if (ImapConstants.MIME_TYPE_MULTIPART.equalsIgnoreCase(mediaType)) {
 
-            encodeMultipart(composer, structure, subType, 
includeOptionalExtensions, session);
+            encodeMultipart(composer, structure, subType, 
includeOptionalExtensions);
 
         } else {
             if (ImapConstants.MIME_TYPE_MESSAGE.equalsIgnoreCase(mediaType) && 
ImapConstants.MIME_SUBTYPE_RFC822.equalsIgnoreCase(subType)) {
 
-                encodeRfc822Message(composer, structure, mediaType, subType, 
includeOptionalExtensions, session);
+                encodeRfc822Message(composer, structure, mediaType, subType, 
includeOptionalExtensions);
             } else {
-                encodeBasic(composer, structure, includeOptionalExtensions, 
mediaType, subType, session);
+                encodeBasic(composer, structure, includeOptionalExtensions, 
mediaType, subType);
             }
         }
     }
 
-    private void encodeBasic(ImapResponseComposer composer, Structure 
structure, boolean includeExtensions, String mediaType, String subType, 
ImapSession session) throws IOException {
+    private void encodeBasic(ImapResponseComposer composer, Structure 
structure, boolean includeExtensions, String mediaType, String subType) throws 
IOException {
         if (ImapConstants.MIME_TYPE_TEXT.equalsIgnoreCase(mediaType)) {
 
             final long lines = structure.getLines();
@@ -158,22 +157,22 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
             encodeBodyFields(composer, structure, mediaType, subType);
         }
         if (includeExtensions) {
-            encodeOnePartBodyExtensions(composer, structure, session);
+            encodeOnePartBodyExtensions(composer, structure);
         }
         composer.closeParen();
     }
 
-    private void encodeOnePartBodyExtensions(ImapResponseComposer composer, 
Structure structure, ImapSession session) throws IOException {
+    private void encodeOnePartBodyExtensions(ImapResponseComposer composer, 
Structure structure) throws IOException {
         final String md5 = structure.getMD5();
         final List<String> languages = structure.getLanguages();
         final String location = structure.getLocation();
         nillableQuote(composer, md5);
-        bodyFldDsp(structure, composer, session);
+        bodyFldDsp(structure, composer);
         nillableQuotes(composer, languages);
         nillableQuote(composer, location);
     }
 
-    private ImapResponseComposer bodyFldDsp(Structure structure, 
ImapResponseComposer composer, ImapSession session) throws IOException {
+    private ImapResponseComposer bodyFldDsp(Structure structure, 
ImapResponseComposer composer) throws IOException {
         final String disposition = structure.getDisposition();
         if (disposition == null) {
             composer.nil();
@@ -181,13 +180,13 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
             composer.openParen();
             composer.quote(disposition);
             final Map<String, String> params = 
structure.getDispositionParams();
-            bodyFldParam(params, composer, session);
+            bodyFldParam(params, composer);
             composer.closeParen();
         }
         return composer;
     }
 
-    private void bodyFldParam(Map<String, String> params, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    private void bodyFldParam(Map<String, String> params, ImapResponseComposer 
composer) throws IOException {
         if (params == null || params.isEmpty()) {
             composer.nil();
         } else {
@@ -221,37 +220,37 @@ public class FetchResponseEncoder implements 
ImapResponseEncoder<FetchResponse>
         composer.quoteUpperCaseAscii(encoding).message(octets);
     }
 
-    private void encodeMultipart(ImapResponseComposer composer, Structure 
structure, String subType, boolean includeExtensions, ImapSession session) 
throws IOException {
+    private void encodeMultipart(ImapResponseComposer composer, Structure 
structure, String subType, boolean includeExtensions) throws IOException {
         composer.openParen();
 
         for (Iterator<Structure> it = structure.parts(); it.hasNext();) {
             final Structure part = it.next();
-            encodeStructure(composer, part, includeExtensions, true, session);
+            encodeStructure(composer, part, includeExtensions, true);
         }
 
         composer.quoteUpperCaseAscii(subType);
         if (includeExtensions) {
             final List<String> languages = structure.getLanguages();
             nillableQuotes(composer, structure.getParameters());
-            bodyFldDsp(structure, composer, session);
+            bodyFldDsp(structure, composer);
             nillableQuotes(composer, languages);
             nillableQuote(composer, structure.getLocation());
         }
         composer.closeParen();
     }
 
-    private void encodeRfc822Message(ImapResponseComposer composer, Structure 
structure, String mediaType, String subType, boolean includeExtensions, 
ImapSession session) throws IOException {
+    private void encodeRfc822Message(ImapResponseComposer composer, Structure 
structure, String mediaType, String subType, boolean includeExtensions) throws 
IOException {
         final long lines = structure.getLines();
         final FetchResponse.Envelope envelope = structure.getEnvelope();
         final FetchResponse.Structure embeddedStructure = structure.getBody();
 
         encodeBodyFields(composer, structure, mediaType, subType);
         encodeEnvelope(composer, envelope, false);
-        encodeStructure(composer, embeddedStructure, includeExtensions, false, 
session);
+        encodeStructure(composer, embeddedStructure, includeExtensions, false);
         composer.message(lines);
 
         if (includeExtensions) {
-            encodeOnePartBodyExtensions(composer, structure, session);
+            encodeOnePartBodyExtensions(composer, structure);
         }
         composer.closeParen();
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java
index 548f3ec..d00baa1 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 
 import javax.mail.Flags;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.FlagsResponse;
 
 public class FlagsResponseEncoder implements 
ImapResponseEncoder<FlagsResponse> {
@@ -33,7 +32,7 @@ public class FlagsResponseEncoder implements 
ImapResponseEncoder<FlagsResponse>
     }
 
     @Override
-    public void encode(FlagsResponse flagsResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(FlagsResponse flagsResponse, ImapResponseComposer 
composer) throws IOException {
         Flags flags = flagsResponse.getFlags();
         composer.untagged().flags(flags).end();
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapEncoder.java 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapEncoder.java
index e11260f..226dfa8 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapEncoder.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapEncoder.java
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.process.ImapSession;
 
 /**
  * TODO: correct this API
@@ -36,10 +35,8 @@ public interface ImapEncoder {
      *            <code>ImapMessage</code>, not null
      * @param composer
      *            <code>ImapResponseComposer</code>, not null
-     * @param session
-     *            TODO
      * @throws IOException
      *             when message encoding fails
      */
-    void encode(ImapMessage message, ImapResponseComposer composer, 
ImapSession session) throws IOException;
+    void encode(ImapMessage message, ImapResponseComposer composer) throws 
IOException;
 }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseEncoder.java
index dc7c0ed..422a0c0 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseEncoder.java
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.process.ImapSession;
 
 public interface ImapResponseEncoder<T extends ImapMessage> {
     Class<T> acceptableMessages();
@@ -34,10 +33,8 @@ public interface ImapResponseEncoder<T extends ImapMessage> {
      *            <code>ImapMessage</code>, not null
      * @param composer
      *            <code>ImapResponseComposer</code>, not null
-     * @param session
-     *            TODO
      * @throws IOException
      *             when message encoding fails
      */
-    void encode(T message, ImapResponseComposer composer, ImapSession session) 
throws IOException;
+    void encode(T message, ImapResponseComposer composer) throws IOException;
 }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java
index 315ef46..4624d25 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.LSubResponse;
 
 /**
@@ -34,7 +33,7 @@ public class LSubResponseEncoder implements 
ImapResponseEncoder<LSubResponse> {
     }
 
     @Override
-    public void encode(LSubResponse response, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(LSubResponse response, ImapResponseComposer composer) 
throws IOException {
         
ListingEncodingUtils.encodeListingResponse(ImapConstants.LSUB_RESPONSE_NAME, 
composer, response);
     }
 }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java
index ba8df0f..a146bca 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ListResponse;
 
 /**
@@ -34,7 +33,7 @@ public class ListResponseEncoder implements 
ImapResponseEncoder<ListResponse> {
     }
 
     @Override
-    public void encode(ListResponse response, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(ListResponse response, ImapResponseComposer composer) 
throws IOException {
         
ListingEncodingUtils.encodeListingResponse(ImapConstants.LIST_RESPONSE_NAME, 
composer, response);
     }
 }
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 86428cc..5af2bd4 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
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.ListRightsResponse;
 import org.apache.james.mailbox.model.MailboxACL.Rfc4314Rights;
 
@@ -36,7 +35,7 @@ public class ListRightsResponseEncoder implements 
ImapResponseEncoder<ListRights
     }
 
     @Override
-    public void encode(ListRightsResponse listRightsResponse, 
ImapResponseComposer composer, ImapSession session) throws IOException {
+    public void encode(ListRightsResponse listRightsResponse, 
ImapResponseComposer composer) throws IOException {
         composer.untagged();
         composer.commandName(ImapConstants.LISTRIGHTS_RESPONSE_NAME);
         
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/MailboxStatusResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/MailboxStatusResponseEncoder.java
index b507434..68aee4d 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/MailboxStatusResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/MailboxStatusResponseEncoder.java
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.MailboxStatusResponse;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
@@ -37,7 +36,7 @@ public class MailboxStatusResponseEncoder implements 
ImapConstants, ImapResponse
     }
 
     @Override
-    public void encode(MailboxStatusResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(MailboxStatusResponse response, ImapResponseComposer 
composer) throws IOException {
         Long messages = response.getMessages();
         Long recent = response.getRecent();
         MessageUid uidNext = response.getUidNext();
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 e5f619c..17be615 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
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.MyRightsResponse;
 import org.apache.james.mailbox.model.MailboxACL.Rfc4314Rights;
 
@@ -36,7 +35,7 @@ public class MyRightsResponseEncoder implements 
ImapResponseEncoder<MyRightsResp
     }
 
     @Override
-    public void encode(MyRightsResponse aclResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(MyRightsResponse aclResponse, ImapResponseComposer 
composer) throws IOException {
         Rfc4314Rights myRights = aclResponse.getMyRights();
         composer.untagged();
         composer.commandName(ImapConstants.MYRIGHTS_RESPONSE_NAME);
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 3eee9cc..67f9cbb 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
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.util.List;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.NamespaceResponse;
 import org.apache.james.imap.message.response.NamespaceResponse.Namespace;
 
@@ -36,7 +35,7 @@ public class NamespaceResponseEncoder implements 
ImapResponseEncoder<NamespaceRe
     }
 
     @Override
-    public void encode(NamespaceResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(NamespaceResponse response, ImapResponseComposer 
composer) throws IOException {
         composer.untagged();
         composer.commandName(ImapConstants.NAMESPACE_COMMAND_NAME);
 
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 9764e54..6ee7093 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
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.util.Locale;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.QuotaResponse;
 import org.apache.james.mailbox.model.Quota;
 
@@ -37,7 +36,7 @@ public class QuotaResponseEncoder implements 
ImapResponseEncoder<QuotaResponse>
     }
 
     @Override
-    public void encode(QuotaResponse quotaResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(QuotaResponse quotaResponse, ImapResponseComposer 
composer) throws IOException {
         String quotaRoot = quotaResponse.getQuotaRoot();
         Quota<?, ?> quota = quotaResponse.getQuota();
 
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 b13505f..1cb3a27 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
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.QuotaRootResponse;
 
 /**
@@ -35,7 +34,7 @@ public class QuotaRootResponseEncoder implements 
ImapResponseEncoder<QuotaRootRe
     }
 
     @Override
-    public void encode(QuotaRootResponse quotaRootResponse, 
ImapResponseComposer composer, ImapSession session) throws IOException {
+    public void encode(QuotaRootResponse quotaRootResponse, 
ImapResponseComposer composer) throws IOException {
         String quotaRoot = quotaRootResponse.getQuotaRoot();
         String mailbox = quotaRootResponse.getMailboxName();
 
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java
index be8df6f..ea7c6c6 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.RecentResponse;
 
 public class RecentResponseEncoder implements 
ImapResponseEncoder<RecentResponse> {
@@ -33,7 +32,7 @@ public class RecentResponseEncoder implements 
ImapResponseEncoder<RecentResponse
     }
 
     @Override
-    public void encode(RecentResponse recentResponse, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(RecentResponse recentResponse, ImapResponseComposer 
composer) throws IOException {
         int numberFlaggedRecent = recentResponse.getNumberFlaggedRecent();
         composer.untagged().message(numberFlaggedRecent).message(RECENT).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 b91f3c3..daef20f 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
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.SearchResponse;
 import org.apache.james.mailbox.ModSeq;
 
@@ -35,7 +34,7 @@ public class SearchResponseEncoder implements 
ImapResponseEncoder<SearchResponse
     }
 
     @Override
-    public void encode(SearchResponse response, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(SearchResponse response, ImapResponseComposer composer) 
throws IOException {
         final long[] ids = response.getIds();
         ModSeq highestModSeq = response.getHighestModSeq();
         composer.untagged();
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 e811e5b..9c920b2 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
@@ -47,7 +47,7 @@ public class StatusResponseEncoder implements 
ImapResponseEncoder<ImmutableStatu
     }
 
     @Override
-    public void encode(ImmutableStatusResponse response, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(ImmutableStatusResponse response, ImapResponseComposer 
composer) throws IOException {
         final Type serverResponseType = response.getServerResponseType();
         final String type = asString(serverResponseType);
         final ResponseCode responseCode = response.getResponseCode();
@@ -55,7 +55,7 @@ public class StatusResponseEncoder implements 
ImapResponseEncoder<ImmutableStatu
         final Tag tag = response.getTag();
         final ImapCommand command = response.getCommand();
         final HumanReadableText textKey = response.getTextKey();
-        final String text = asString(textKey, session);
+        final String text = asString(textKey);
         final Collection<String> parameters;
         final long number;
         final boolean useParens;
@@ -104,7 +104,7 @@ public class StatusResponseEncoder implements 
ImapResponseEncoder<ImmutableStatu
         composer.end();
     }
 
-    private String asString(HumanReadableText text, ImapSession session) {
+    private String asString(HumanReadableText text) {
         // TODO: calculate locales
         return localizer.localize(text, new Locales(new ArrayList<>(), null));
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/VanishedResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/VanishedResponseEncoder.java
index d17ba5b..fb9aac5 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/VanishedResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/VanishedResponseEncoder.java
@@ -20,7 +20,6 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.VanishedResponse;
 
 public class VanishedResponseEncoder implements 
ImapResponseEncoder<VanishedResponse> {
@@ -30,7 +29,7 @@ public class VanishedResponseEncoder implements 
ImapResponseEncoder<VanishedResp
     }
 
     @Override
-    public void encode(VanishedResponse message, ImapResponseComposer 
composer, ImapSession session) throws IOException {
+    public void encode(VanishedResponse message, ImapResponseComposer 
composer) throws IOException {
         composer.untagged();
         composer.message("VANISHED");
         if (message.isEarlier()) {
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/XListResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/XListResponseEncoder.java
index d24a9cf..93879da 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/XListResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/XListResponseEncoder.java
@@ -21,7 +21,6 @@ package org.apache.james.imap.encode;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.XListResponse;
 
 public class XListResponseEncoder implements 
ImapResponseEncoder<XListResponse> {
@@ -31,7 +30,7 @@ public class XListResponseEncoder implements 
ImapResponseEncoder<XListResponse>
     }
 
     @Override
-    public void encode(XListResponse message, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(XListResponse message, ImapResponseComposer composer) 
throws IOException {
         
ListingEncodingUtils.encodeListingResponse(ImapConstants.XLIST_RESPONSE_NAME, 
composer, message);
     }
 }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java
index ad9892d..3a86589 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java
@@ -22,7 +22,6 @@ package org.apache.james.imap.encode.base;
 import java.io.IOException;
 
 import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.encode.ImapEncoder;
 import org.apache.james.imap.encode.ImapResponseComposer;
 import org.slf4j.Logger;
@@ -37,7 +36,7 @@ public class EndImapEncoder implements ImapEncoder {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(EndImapEncoder.class);
 
     @Override
-    public void encode(ImapMessage message, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+    public void encode(ImapMessage message, ImapResponseComposer composer) 
throws IOException {
         LOGGER.warn("Unknown message {}", message);
         LOGGER.debug("Chain end reached for {}", message);
         composer.untaggedNoResponse("Unknown message in pipeline", null);
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/main/DefaultImapEncoderFactory.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/main/DefaultImapEncoderFactory.java
index 1050ff7..bdeb461 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/main/DefaultImapEncoderFactory.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/main/DefaultImapEncoderFactory.java
@@ -27,7 +27,6 @@ import java.util.stream.Stream;
 
 import org.apache.james.imap.api.ImapMessage;
 import org.apache.james.imap.api.display.Localizer;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.encode.ACLResponseEncoder;
 import org.apache.james.imap.encode.AnnotationResponseEncoder;
 import org.apache.james.imap.encode.AuthenticateResponseEncoder;
@@ -78,13 +77,13 @@ public class DefaultImapEncoderFactory implements 
ImapEncoderFactory {
         }
 
         @Override
-        public void encode(ImapMessage message, ImapResponseComposer composer, 
ImapSession session) throws IOException {
+        public void encode(ImapMessage message, ImapResponseComposer composer) 
throws IOException {
             ImapResponseEncoder imapResponseEncoder = 
encoders.get(message.getClass());
 
             if (imapResponseEncoder != null) {
-                imapResponseEncoder.encode(message, composer, session);
+                imapResponseEncoder.encode(message, composer);
             } else {
-                endImapEncoder.encode(message, composer, session);
+                endImapEncoder.encode(message, composer);
             }
         }
     }
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java
index 23cebdb..0bc421d 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/main/AbstractImapRequestHandler.java
@@ -53,7 +53,7 @@ public abstract class AbstractImapRequestHandler {
 
     protected boolean doProcessRequest(ImapRequestLineReader request, 
ImapResponseComposer response, ImapSession session) {
         ImapMessage message = decoder.decode(request, session);
-        final ResponseEncoder responseEncoder = new ResponseEncoder(encoder, 
response, session);
+        final ResponseEncoder responseEncoder = new ResponseEncoder(encoder, 
response);
         processor.process(message, responseEncoder, session);
 
         final boolean result;
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/main/ResponseEncoder.java 
b/protocols/imap/src/main/java/org/apache/james/imap/main/ResponseEncoder.java
index f7e0d42..7e74dd2 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/main/ResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/main/ResponseEncoder.java
@@ -23,28 +23,24 @@ import java.io.IOException;
 
 import org.apache.james.imap.api.message.response.ImapResponseMessage;
 import org.apache.james.imap.api.process.ImapProcessor.Responder;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.encode.ImapEncoder;
 import org.apache.james.imap.encode.ImapResponseComposer;
 
 public class ResponseEncoder implements Responder {
     private final ImapEncoder encoder;
-    private final ImapSession session;
     private final ImapResponseComposer composer;
 
     private IOException failure;
 
-    public ResponseEncoder(ImapEncoder encoder, ImapResponseComposer composer, 
ImapSession session) {
-        super();
+    public ResponseEncoder(ImapEncoder encoder, ImapResponseComposer composer) 
{
         this.encoder = encoder;
         this.composer = composer;
-        this.session = session;
     }
 
     @Override
     public void respond(ImapResponseMessage message) {
         try {
-            encoder.encode(message, composer, session);
+            encoder.encode(message, composer);
         } catch (IOException failure) {
             this.failure = failure;
         }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/AnnotationResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/AnnotationResponseEncoderTest.java
index c04074e..040a195 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/AnnotationResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/AnnotationResponseEncoderTest.java
@@ -20,9 +20,7 @@
 package org.apache.james.imap.encode;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.mock;
 
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.encode.base.ByteImapResponseWriter;
 import org.apache.james.imap.encode.base.ImapResponseComposerImpl;
 import org.apache.james.imap.message.response.AnnotationResponse;
@@ -43,14 +41,11 @@ public class AnnotationResponseEncoderTest {
     private ByteImapResponseWriter byteImapResponseWriter;
     private ImapResponseComposer composer;
     private AnnotationResponseEncoder encoder;
-    private ImapSession imapSession;
 
     @Before
     public void setUp() throws Exception {
         byteImapResponseWriter = new ByteImapResponseWriter();
 
-        imapSession = mock(ImapSession.class);
-
         composer = new ImapResponseComposerImpl(byteImapResponseWriter, 1024);
         encoder = new AnnotationResponseEncoder();
     }
@@ -59,7 +54,7 @@ public class AnnotationResponseEncoderTest {
     public void encodingShouldWellFormEmptyRequest() throws Exception {
         AnnotationResponse response = new AnnotationResponse(null, 
ImmutableList.of());
 
-        encoder.encode(response, composer, imapSession);
+        encoder.encode(response, composer);
 
         assertThat(byteImapResponseWriter.getString()).isEqualTo("* METADATA 
\"\"\r\n");
     }
@@ -68,7 +63,7 @@ public class AnnotationResponseEncoderTest {
     public void encodingShouldWellFormWhenEmptyReturnedAnnotation() throws 
Exception {
         AnnotationResponse response = new AnnotationResponse("INBOX", 
ImmutableList.of());
 
-        encoder.encode(response, composer, imapSession);
+        encoder.encode(response, composer);
 
         assertThat(byteImapResponseWriter.getString()).isEqualTo("* METADATA 
\"INBOX\"\r\n");
     }
@@ -77,7 +72,7 @@ public class AnnotationResponseEncoderTest {
     public void encodingShouldWellFormWhenOnlyOneReturnedAnnotation() throws 
Exception {
         AnnotationResponse response = new AnnotationResponse("INBOX", 
ImmutableList.of(PRIVATE_ANNOTATION));
 
-        encoder.encode(response, composer, imapSession);
+        encoder.encode(response, composer);
 
         assertThat(byteImapResponseWriter.getString()).isEqualTo("* METADATA 
\"INBOX\" (/private/comment \"My own comment\")\r\n");
     }
@@ -85,7 +80,7 @@ public class AnnotationResponseEncoderTest {
     @Test
     public void encodingShouldWellFormWhenManyReturnedAnnotations() throws 
Exception {
         AnnotationResponse response = new AnnotationResponse("INBOX", 
ImmutableList.of(PRIVATE_ANNOTATION, SHARED_ANNOTATION));
-        encoder.encode(response, composer, imapSession);
+        encoder.encode(response, composer);
 
         assertThat(byteImapResponseWriter.getString()).isEqualTo("* METADATA 
\"INBOX\" (/private/comment \"My own comment\" /shared/comment \"Shared 
comment\")\r\n");
     }
@@ -94,7 +89,7 @@ public class AnnotationResponseEncoderTest {
     public void encodingShouldWellFormWhenNilReturnedAnnotation() throws 
Exception {
         AnnotationResponse response = new AnnotationResponse("INBOX", 
ImmutableList.of(MailboxAnnotation.nil(PRIVATE_KEY)));
 
-        encoder.encode(response, composer, imapSession);
+        encoder.encode(response, composer);
 
         assertThat(byteImapResponseWriter.getString()).isEqualTo("* METADATA 
\"INBOX\" ()\r\n");
     }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java
index f48a61b..340b8ce 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java
@@ -140,7 +140,7 @@ public class FetchResponseEncoderEnvelopeTest {
     @Test
     public void testShouldNilAllNullProperties() throws Exception {
         envelopExpects();
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL NIL NIL NIL NIL))\r\n");
     }
@@ -151,7 +151,7 @@ public class FetchResponseEncoderEnvelopeTest {
         envelopExpects();
         
         
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (\"a 
date\" NIL NIL NIL NIL NIL NIL NIL NIL NIL))\r\n");
 
     }
@@ -161,7 +161,7 @@ public class FetchResponseEncoderEnvelopeTest {
         subject = "some subject";
         envelopExpects();
         
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
\"some subject\" NIL NIL NIL NIL NIL NIL NIL NIL))\r\n");
 
     }
@@ -171,7 +171,7 @@ public class FetchResponseEncoderEnvelopeTest {
         inReplyTo = "some reply to";
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL NIL NIL \"some reply to\" NIL))\r\n");
     }
 
@@ -180,7 +180,7 @@ public class FetchResponseEncoderEnvelopeTest {
         messageId = "some message id";
         envelopExpects();
         
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL NIL NIL NIL \"some message id\"))\r\n");
 
     }
@@ -189,7 +189,7 @@ public class FetchResponseEncoderEnvelopeTest {
     public void testShouldComposeOneFromAddress() throws Exception {
         from = mockOneAddress();
         envelopExpects();
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")) NIL NIL NIL NIL NIL NIL 
NIL))\r\n");
 
     }
@@ -199,7 +199,7 @@ public class FetchResponseEncoderEnvelopeTest {
         from = mockManyAddresses();
         envelopExpects();
         
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")(\"2NAME\" \"2DOMAIN LIST\" 
\"2MAILBOX\" \"2HOST\")) NIL NIL NIL NIL NIL NIL NIL))\r\n");
 
     }
@@ -209,7 +209,7 @@ public class FetchResponseEncoderEnvelopeTest {
         sender = mockOneAddress();
         envelopExpects();
      
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")) NIL NIL NIL NIL NIL 
NIL))\r\n");
 
     }
@@ -219,7 +219,7 @@ public class FetchResponseEncoderEnvelopeTest {
         sender = mockManyAddresses();
         envelopExpects();
      
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")(\"2NAME\" \"2DOMAIN 
LIST\" \"2MAILBOX\" \"2HOST\")) NIL NIL NIL NIL NIL NIL))\r\n");
 
     }
@@ -230,7 +230,7 @@ public class FetchResponseEncoderEnvelopeTest {
         replyTo = mockOneAddress();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")) NIL NIL NIL NIL 
NIL))\r\n");
 
     }
@@ -240,7 +240,7 @@ public class FetchResponseEncoderEnvelopeTest {
         replyTo = mockManyAddresses();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")(\"2NAME\" 
\"2DOMAIN LIST\" \"2MAILBOX\" \"2HOST\")) NIL NIL NIL NIL NIL))\r\n");
 
     }
@@ -250,7 +250,7 @@ public class FetchResponseEncoderEnvelopeTest {
         to = mockOneAddress();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")) NIL NIL NIL 
NIL))\r\n");
 
     }
@@ -260,7 +260,7 @@ public class FetchResponseEncoderEnvelopeTest {
         to = mockManyAddresses();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")(\"2NAME\" 
\"2DOMAIN LIST\" \"2MAILBOX\" \"2HOST\")) NIL NIL NIL NIL))\r\n");
 
     }
@@ -270,7 +270,7 @@ public class FetchResponseEncoderEnvelopeTest {
         cc = mockOneAddress();
         envelopExpects();
 
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")) NIL NIL 
NIL))\r\n");
 
     }
@@ -280,7 +280,7 @@ public class FetchResponseEncoderEnvelopeTest {
         cc = mockManyAddresses();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")(\"2NAME\" 
\"2DOMAIN LIST\" \"2MAILBOX\" \"2HOST\")) NIL NIL NIL))\r\n");
 
     }
@@ -290,7 +290,7 @@ public class FetchResponseEncoderEnvelopeTest {
         bcc = mockOneAddress();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" \"HOST\")) NIL 
NIL))\r\n");
 
     }
@@ -300,7 +300,7 @@ public class FetchResponseEncoderEnvelopeTest {
         bcc = mockManyAddresses();
         envelopExpects();
        
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (ENVELOPE (NIL 
NIL NIL NIL NIL NIL NIL ((\"NAME\" \"DOMAIN LIST\" \"MAILBOX\" 
\"HOST\")(\"2NAME\" \"2DOMAIN LIST\" \"2MAILBOX\" \"2HOST\")) NIL NIL))\r\n");
 
     }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
index 1d687f4..a805a9c 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderNoExtensionsTest.java
@@ -57,7 +57,7 @@ public class FetchResponseEncoderNoExtensionsTest {
     public void testShouldEncodeFlagsResponse() throws Exception {
         FetchResponse message = new FetchResponse(100, flags, null, null, 
null, null,
                 null, null, null, null);
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS 
(\\Deleted))\r\n");
     }
 
@@ -65,7 +65,7 @@ public class FetchResponseEncoderNoExtensionsTest {
     public void testShouldEncodeUidResponse() throws Exception {
         FetchResponse message = new FetchResponse(100, null, 
MessageUid.of(72), null,
                 null, null, null, null, null, null);
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (UID 72)\r\n");
 
     }
@@ -74,7 +74,7 @@ public class FetchResponseEncoderNoExtensionsTest {
     public void testShouldEncodeAllResponse() throws Exception {
         FetchResponse message = new FetchResponse(100, flags, 
MessageUid.of(72), null,
                 null, null, null, null, null, null);
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS 
(\\Deleted) UID 72)\r\n");
 
     }
@@ -98,8 +98,7 @@ public class FetchResponseEncoderNoExtensionsTest {
         when(stubStructure.getId()).thenReturn("");
         when(stubStructure.getDescription()).thenReturn("");
 
-        final FakeImapSession fakeImapSession = new FakeImapSession();
-        encoder.encode(message, composer, fakeImapSession);
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS 
(\\Deleted) BODYSTRUCTURE (\"TEXT\" \"HTML\" (\"CHARSET\" \"US-ASCII\") \"\" 
\"\" \"7BIT\" 2279 48) UID 72)\r\n");
 
     }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java
index 4d867db..3a56fb6 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java
@@ -51,7 +51,7 @@ public class FetchResponseEncoderTest  {
     public void testShouldEncodeFlagsResponse() throws Exception {
         FetchResponse message = new FetchResponse(100, flags, null, null, 
null, null,
                 null, null, null, null);
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS 
(\\Deleted))\r\n");
 
 
@@ -61,7 +61,7 @@ public class FetchResponseEncoderTest  {
     public void testShouldEncodeUidResponse() throws Exception {
         FetchResponse message = new FetchResponse(100, null, 
MessageUid.of(72), null,
                 null, null, null, null, null, null); 
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (UID 72)\r\n");
 
 
@@ -71,7 +71,7 @@ public class FetchResponseEncoderTest  {
     public void testShouldEncodeAllResponse() throws Exception {
         FetchResponse message = new FetchResponse(100, flags, 
MessageUid.of(72), null,
                 null, null, null, null, null, null);
-        encoder.encode(message, composer, new FakeImapSession());
+        encoder.encode(message, composer);
         assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS 
(\\Deleted) UID 72)\r\n");
         
     }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java
index 97ecead..080065d 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java
@@ -45,7 +45,7 @@ public class LSubResponseEncoderTest  {
 
     @Test
     public void encoderShouldIncludeLSUBCommand() throws Exception {
-        encoder.encode(new LSubResponse("name", true, '.'), composer, new 
FakeImapSession());
+        encoder.encode(new LSubResponse("name", true, '.'), composer);
         assertThat(writer.getString()).startsWith("* LSUB");
     }
 
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java
index 57e621b..a5f06f5 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java
@@ -45,7 +45,7 @@ public class ListResponseEncoderTest {
 
     @Test
     public void encoderShouldIncludeListCommand() throws Exception {
-        encoder.encode(new ListResponse(MailboxMetaData.Children.HAS_CHILDREN, 
MailboxMetaData.Selectability.NONE, "name", '.'), composer, new 
FakeImapSession());
+        encoder.encode(new ListResponse(MailboxMetaData.Children.HAS_CHILDREN, 
MailboxMetaData.Selectability.NONE, "name", '.'), composer);
         assertThat(writer.getString()).startsWith("* LIST");
     }
 }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java
index af6d0cb..facc364 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/MailboxStatusResponseEncoderTest.java
@@ -55,7 +55,7 @@ public class MailboxStatusResponseEncoderTest  {
         final String mailbox = "A mailbox named desire";
 
         encoder.encode(new MailboxStatusResponse(messages, recent, uidNext,
-                null, uidValidity, unseen, mailbox), composer, new 
FakeImapSession());
+                null, uidValidity, unseen, mailbox), composer);
         assertThat(writer.getString()).isEqualTo("* STATUS \"A mailbox named 
desire\" (MESSAGES 2 RECENT 3 UIDNEXT 5 UIDVALIDITY 7 UNSEEN 11)\r\n");
     }
 }
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 6a79a05..87281f9 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
@@ -26,7 +26,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.james.imap.api.ImapConstants;
-import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.response.NamespaceResponse;
 import org.junit.Before;
 import org.junit.Test;
@@ -34,13 +33,11 @@ import org.mockito.InOrder;
 import org.mockito.Mockito;
 
 public class NamespaceResponseEncoderTest {
-    ImapSession dummySession;
     ImapResponseComposer mockComposer;
     NamespaceResponseEncoder subject;
 
     @Before
     public void setUp() throws Exception {
-        dummySession = new FakeImapSession();
         subject = new NamespaceResponseEncoder();
         mockComposer = mock(ImapResponseComposer.class);
     }
@@ -55,7 +52,7 @@ public class NamespaceResponseEncoderTest {
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         subject.encode(new NamespaceResponse(null, null, namespaces),
-                mockComposer, dummySession);
+                mockComposer);
 
         InOrder inOrder = Mockito.inOrder(mockComposer);
         inOrder.verify(mockComposer, times(1)).untagged();
@@ -78,7 +75,7 @@ public class NamespaceResponseEncoderTest {
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         subject.encode(new NamespaceResponse(null, namespaces, null),
-                mockComposer, dummySession);
+                mockComposer);
 
         InOrder inOrder = Mockito.inOrder(mockComposer);
         inOrder.verify(mockComposer, times(1)).untagged();
@@ -102,7 +99,7 @@ public class NamespaceResponseEncoderTest {
         namespaces.add(new NamespaceResponse.Namespace(aPrefix, aDeliminator
                 .charAt(0)));
         subject.encode(new NamespaceResponse(namespaces, null, null),
-                mockComposer, dummySession);
+                mockComposer);
 
         InOrder inOrder = Mockito.inOrder(mockComposer);
         inOrder.verify(mockComposer, times(1)).untagged();
@@ -129,7 +126,7 @@ public class NamespaceResponseEncoderTest {
         namespaces.add(new NamespaceResponse.Namespace(anotherPrefix,
                 anotherDeliminator.charAt(0)));
         subject.encode(new NamespaceResponse(namespaces, null, null),
-                mockComposer, dummySession);
+                mockComposer);
 
         InOrder inOrder = Mockito.inOrder(mockComposer);
         inOrder.verify(mockComposer, times(1)).untagged();
@@ -149,8 +146,7 @@ public class NamespaceResponseEncoderTest {
     @Test
     public void testAllNullShouldWriteAllNIL() throws Exception {
 
-        subject.encode(new NamespaceResponse(null, null, null), mockComposer,
-                dummySession);
+        subject.encode(new NamespaceResponse(null, null, null), mockComposer);
 
         InOrder inOrder = Mockito.inOrder(mockComposer);
         inOrder.verify(mockComposer, times(1)).untagged();
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
index a946324..f50ac8e 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaResponseEncoderTest.java
@@ -43,7 +43,7 @@ public class QuotaResponseEncoderTest {
         ByteImapResponseWriter byteImapResponseWriter = new 
ByteImapResponseWriter();
         ImapResponseComposer composer = new 
ImapResponseComposerImpl(byteImapResponseWriter, 1024);
         QuotaResponseEncoder encoder = new QuotaResponseEncoder();
-        encoder.encode(response, composer, null);
+        encoder.encode(response, composer);
         String responseString = byteImapResponseWriter.getString();
         assertThat(responseString).isEqualTo("* QUOTA root (MESSAGE 231 
1024)\r\n");
     }
@@ -55,7 +55,7 @@ public class QuotaResponseEncoderTest {
         ByteImapResponseWriter byteImapResponseWriter = new 
ByteImapResponseWriter();
         ImapResponseComposer composer = new 
ImapResponseComposerImpl(byteImapResponseWriter, 1024);
         QuotaResponseEncoder encoder = new QuotaResponseEncoder();
-        encoder.encode(response, composer, null);
+        encoder.encode(response, composer);
         String responseString = byteImapResponseWriter.getString();
         assertThat(responseString).isEqualTo("* QUOTA root (STORAGE 231 
1024)\r\n");
     }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaRootResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaRootResponseEncoderTest.java
index a95d0a0..ae0970a 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaRootResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/QuotaRootResponseEncoderTest.java
@@ -37,7 +37,7 @@ public class QuotaRootResponseEncoderTest {
         ByteImapResponseWriter byteImapResponseWriter = new 
ByteImapResponseWriter();
         ImapResponseComposer composer = new 
ImapResponseComposerImpl(byteImapResponseWriter, 1024);
         QuotaRootResponseEncoder encoder = new QuotaRootResponseEncoder();
-        encoder.encode(response, composer, null);
+        encoder.encode(response, composer);
         String responseString = byteImapResponseWriter.getString();
         assertThat(responseString).isEqualTo("* QUOTAROOT \"INBOX\" root\r\n");
     }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java
index baa0b07..6e80378 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java
@@ -49,7 +49,7 @@ public class SearchResponseEncoderTest {
 
     @Test
     public void testEncode() throws Exception {
-        encoder.encode(response, composer, new FakeImapSession());
+        encoder.encode(response, composer);
         assertThat(writer.getString()).isEqualTo("* SEARCH 1 4 9 16\r\n");
     }
 }
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/XListResponseEncoderTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/XListResponseEncoderTest.java
index 43d5dd3..2defd7d 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/encode/XListResponseEncoderTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/encode/XListResponseEncoderTest.java
@@ -55,8 +55,7 @@ public class XListResponseEncoderTest {
                 "name",
                 '.',
                 MailboxType.INBOX),
-            composer,
-            new FakeImapSession());
+            composer);
         assertThat(writer.getString()).startsWith("* XLIST");
     }
 }
diff --git 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
index 0eeb2ec..8f475c9 100644
--- 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
+++ 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/ImapChannelUpstreamHandler.java
@@ -192,7 +192,7 @@ public class ImapChannelUpstreamHandler extends 
SimpleChannelUpstreamHandler imp
                     cp.addBefore(NettyConstants.CORE_HANDLER, 
NettyConstants.HEARTBEAT_HANDLER, heartbeatHandler);
 
                 }
-                final ResponseEncoder responseEncoder = new 
ResponseEncoder(encoder, response, session);
+                final ResponseEncoder responseEncoder = new 
ResponseEncoder(encoder, response);
                 processor.process(message, responseEncoder, session);
 
                 if (session.getState() == ImapSessionState.LOGOUT) {


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

Reply via email to