You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rd...@apache.org on 2009/03/20 17:59:38 UTC
svn commit: r756619 - in /james/protocols/imap/trunk:
message/src/main/java/org/apache/james/imap/encode/
message/src/main/java/org/apache/james/imap/encode/base/
message/src/test/java/org/apache/james/imap/encode/
seda/src/main/java/org/apache/james/i...
Author: rdonkin
Date: Fri Mar 20 16:59:36 2009
New Revision: 756619
URL: http://svn.apache.org/viewvc?rev=756619&view=rev
Log:
Use session log, which means allowing access to session from encoders. IMAP-75 https://issues.apache.org/jira/browse/IMAP-75
Added:
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java (with props)
Modified:
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/STATUSResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/AbstractChainedImapEncoder.java
james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/STATUSResponseEncoderTest.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java
james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/StatusResponseEncoderTest.java
james/protocols/imap/trunk/seda/src/main/java/org/apache/james/imap/main/ImapRequestHandler.java
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/CapabilityResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -21,6 +21,7 @@
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.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.CapabilityResponse;
@@ -36,7 +37,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
final CapabilityResponse response = (CapabilityResponse) acceptableMessage;
composer.capabilities(response.getCapabilities());
}
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExistsResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
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.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.ExistsResponse;
@@ -36,7 +37,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
final ExistsResponse existsResponse = (ExistsResponse) acceptableMessage;
final int numberOfMessages = existsResponse.getNumberOfMessages();
composer.existsResponse(numberOfMessages);
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ExpungeResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
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.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.ExpungeResponse;
@@ -36,7 +37,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
final ExpungeResponse expungeResponse = (ExpungeResponse) acceptableMessage;
final int messageSequenceNumber = expungeResponse
.getMessageSequenceNumber();
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FetchResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -33,6 +33,7 @@
import org.apache.commons.logging.Log;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.encode.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.FetchResponse;
import org.apache.james.imap.message.response.FetchResponse.Structure;
@@ -48,7 +49,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
if (acceptableMessage instanceof FetchResponse) {
final FetchResponse fetchResponse = (FetchResponse) acceptableMessage;
final long messageNumber = fetchResponse.getMessageNumber();
@@ -57,33 +58,33 @@
encodeInternalDate(composer, fetchResponse);
encodeSize(composer, fetchResponse);
encodeEnvelope(composer, fetchResponse);
- encodeBody(composer, fetchResponse.getBody());
- encodeBodyStructure(composer, fetchResponse.getBodyStructure());
+ encodeBody(composer, fetchResponse.getBody(), session);
+ encodeBodyStructure(composer, fetchResponse.getBodyStructure(), session);
encodeUid(composer, fetchResponse);
encodeBodyElements(composer, fetchResponse.getElements());
composer.closeFetchResponse();
}
}
- private void encodeBody(ImapResponseComposer composer, Structure body)
+ private void encodeBody(ImapResponseComposer composer, Structure body, ImapSession session)
throws IOException {
if (body != null) {
composer.message(ImapConstants.FETCH_BODY);
- encodeStructure(composer, body, false, false);
+ encodeStructure(composer, body, false, false, session);
}
}
private void encodeBodyStructure(ImapResponseComposer composer,
- Structure bodyStructure) throws IOException {
+ Structure bodyStructure, ImapSession session) throws IOException {
if (bodyStructure != null) {
composer.message(ImapConstants.FETCH_BODY_STRUCTURE);
- encodeStructure(composer, bodyStructure, true, false);
+ encodeStructure(composer, bodyStructure, true, false, session);
}
}
private void encodeStructure(final ImapResponseComposer composer,
final Structure structure, final boolean includeExtensions,
- final boolean isInnerPart) throws IOException {
+ final boolean isInnerPart, ImapSession session) throws IOException {
final String mediaType;
final String subType;
@@ -96,19 +97,19 @@
subType = structure.getSubType();
}
encodeStructure(composer, structure, includeExtensions, mediaType,
- subType, isInnerPart);
+ subType, isInnerPart, session);
}
private void encodeStructure(final ImapResponseComposer composer,
final Structure structure, final boolean includeExtensions,
- final String mediaType, final String subType, boolean isInnerPart)
+ final String mediaType, final String subType, boolean isInnerPart, ImapSession session)
throws IOException {
if (isInnerPart) {
composer.skipNextSpace();
}
if (ImapConstants.MIME_TYPE_MULTIPART.equalsIgnoreCase(mediaType)) {
- encodeMultipart(composer, structure, subType, includeExtensions);
+ encodeMultipart(composer, structure, subType, includeExtensions, session);
} else {
if (ImapConstants.MIME_TYPE_MESSAGE.equalsIgnoreCase(mediaType)
@@ -116,17 +117,17 @@
.equalsIgnoreCase(subType)) {
encodeRfc822Message(composer, structure, mediaType, subType,
- includeExtensions);
+ includeExtensions, session);
} else {
encodeBasic(composer, structure, includeExtensions, mediaType,
- subType);
+ subType, session);
}
}
}
private void encodeBasic(final ImapResponseComposer composer,
final Structure structure, final boolean includeExtensions,
- final String mediaType, final String subType) throws IOException {
+ final String mediaType, final String subType, ImapSession session) throws IOException {
if (ImapConstants.MIME_TYPE_TEXT.equalsIgnoreCase(mediaType)) {
final long lines = structure.getLines();
@@ -137,24 +138,24 @@
encodeBodyFields(composer, structure, mediaType, subType);
}
if (includeExtensions) {
- encodeOnePartBodyExtensions(composer, structure);
+ encodeOnePartBodyExtensions(composer, structure, session);
}
composer.closeParen();
}
private void encodeOnePartBodyExtensions(
- final ImapResponseComposer composer, final Structure structure)
+ final ImapResponseComposer composer, final Structure structure, ImapSession session)
throws IOException {
final String md5 = structure.getMD5();
final List<String> languages = structure.getLanguages();
final String location = structure.getLocation();
composer.nillableQuote(md5);
- bodyFldDsp(structure, composer).nillableQuotes(languages)
+ bodyFldDsp(structure, composer, session).nillableQuotes(languages)
.nillableQuote(location);
}
private ImapResponseComposer bodyFldDsp(final Structure structure,
- final ImapResponseComposer composer) throws IOException {
+ final ImapResponseComposer composer, ImapSession session) throws IOException {
final String disposition = structure.getDisposition();
if (disposition == null) {
composer.nil();
@@ -162,14 +163,14 @@
composer.openParen();
composer.quote(disposition);
final Map<String, String> params = structure.getDispositionParams();
- bodyFldParam(params, composer);
+ bodyFldParam(params, composer, session);
composer.closeParen();
}
return composer;
}
private void bodyFldParam(final Map<String,String> params,
- final ImapResponseComposer composer) throws IOException {
+ final ImapResponseComposer composer, ImapSession session) throws IOException {
if (params == null || params.isEmpty()) {
composer.nil();
} else {
@@ -180,7 +181,7 @@
final String name = iter.next();
final String value = params.get(name);
if (value == null) {
- final Log logger = getLog();
+ final Log logger = session.getLog();
logger.warn("Disposition parameter name has no value.");
if (logger.isDebugEnabled()) {
logger.debug("Disposition parameter " + name
@@ -211,19 +212,19 @@
private void encodeMultipart(ImapResponseComposer composer,
Structure structure, final String subType,
- final boolean includeExtensions) throws IOException {
+ final boolean includeExtensions, ImapSession session) throws IOException {
composer.openParen();
for (Iterator<Structure> it = structure.parts(); it.hasNext();) {
final Structure part = it.next();
- encodeStructure(composer, part, includeExtensions, true);
+ encodeStructure(composer, part, includeExtensions, true, session);
}
composer.quoteUpperCaseAscii(subType);
if (includeExtensions) {
final List<String> languages = structure.getLanguages();
composer.nillableQuotes(structure.getParameters());
- bodyFldDsp(structure, composer).nillableQuotes(languages)
+ bodyFldDsp(structure, composer, session).nillableQuotes(languages)
.nillableQuote(structure.getLocation());
}
composer.closeParen();
@@ -231,18 +232,18 @@
private void encodeRfc822Message(ImapResponseComposer composer,
Structure structure, final String mediaType, final String subType,
- final boolean includeExtensions) throws IOException {
+ final boolean includeExtensions, ImapSession session) 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);
+ encodeStructure(composer, embeddedStructure, includeExtensions, false, session);
composer.message(lines);
if (includeExtensions) {
- encodeOnePartBodyExtensions(composer, structure);
+ encodeOnePartBodyExtensions(composer, structure, session);
}
composer.closeParen();
}
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/FlagsResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -24,6 +24,7 @@
import javax.mail.Flags;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.encode.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.FlagsResponse;
@@ -38,7 +39,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
final FlagsResponse flagsResponse = (FlagsResponse) acceptableMessage;
final Flags flags = flagsResponse.getFlags();
composer.flagsResponse(flags);
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ImapEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
import java.io.IOException;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.process.ImapSession;
/**
* TODO: correct this API
@@ -35,9 +36,9 @@
* <code>ImapMessage</code>, not null
* @param composer
* <code>ImapResponseComposer</code>, not null
- * @throws IOException
- * TODO
+ * @param session TODO
+ * @throws IOException when message encoding fails
*/
- void encode(ImapMessage message, ImapResponseComposer composer)
+ void encode(ImapMessage message, ImapResponseComposer composer, ImapSession session)
throws IOException;
}
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/LSubResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.encode.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.AbstractListingResponse;
import org.apache.james.imap.message.response.LSubResponse;
@@ -36,7 +37,7 @@
}
protected void doEncode(final ImapMessage acceptableMessage,
- final ImapResponseComposer composer) throws IOException {
+ final ImapResponseComposer composer, ImapSession session) throws IOException {
final AbstractListingResponse response = (AbstractListingResponse) acceptableMessage;
ListingEncodingUtils.encodeListingResponse(
ImapConstants.LSUB_RESPONSE_NAME, composer, response);
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/ListResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.encode.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.AbstractListingResponse;
import org.apache.james.imap.message.response.ListResponse;
@@ -36,7 +37,7 @@
}
protected void doEncode(final ImapMessage acceptableMessage,
- final ImapResponseComposer composer) throws IOException {
+ final ImapResponseComposer composer, ImapSession session) throws IOException {
final AbstractListingResponse response = (AbstractListingResponse) acceptableMessage;
ListingEncodingUtils.encodeListingResponse(
ImapConstants.LIST_RESPONSE_NAME, composer, response);
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/RecentResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
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.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.RecentResponse;
@@ -36,7 +37,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException { // TODO
+ ImapResponseComposer composer, ImapSession session) throws IOException { // TODO
// Auto-generated
// method stub
final RecentResponse recentResponse = (RecentResponse) acceptableMessage;
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/STATUSResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/STATUSResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/STATUSResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/STATUSResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -22,6 +22,7 @@
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.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.STATUSResponse;
@@ -35,7 +36,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
STATUSResponse response = (STATUSResponse) acceptableMessage;
composer.statusResponse(response.getMessages(), response.getRecent(),
response.getUidNext(), response.getUidValidity(), response
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/SearchResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -21,6 +21,7 @@
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.base.AbstractChainedImapEncoder;
import org.apache.james.imap.message.response.SearchResponse;
@@ -34,7 +35,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
SearchResponse response = (SearchResponse) acceptableMessage;
final long[] ids = response.getIds();
composer.searchResponse(ids);
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/StatusResponseEncoder.java Fri Mar 20 16:59:36 2009
@@ -28,6 +28,7 @@
import org.apache.james.imap.api.message.response.StatusResponse;
import org.apache.james.imap.api.message.response.StatusResponse.ResponseCode;
import org.apache.james.imap.api.message.response.StatusResponse.Type;
+import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.encode.base.AbstractChainedImapEncoder;
public class StatusResponseEncoder extends AbstractChainedImapEncoder {
@@ -37,7 +38,7 @@
}
protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException {
+ ImapResponseComposer composer, ImapSession session) throws IOException {
StatusResponse response = (StatusResponse) acceptableMessage;
final Type serverResponseType = response.getServerResponseType();
final String type = asString(serverResponseType);
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/AbstractChainedImapEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/AbstractChainedImapEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/AbstractChainedImapEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/AbstractChainedImapEncoder.java Fri Mar 20 16:59:36 2009
@@ -21,14 +21,12 @@
import java.io.IOException;
-import org.apache.commons.logging.Log;
-import org.apache.james.imap.api.AbstractLogEnabled;
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;
-abstract public class AbstractChainedImapEncoder extends AbstractLogEnabled
- implements ImapEncoder {
+abstract public class AbstractChainedImapEncoder implements ImapEncoder {
private final ImapEncoder next;
@@ -37,24 +35,19 @@
this.next = next;
}
- public void setLog(Log logger) {
- super.setLog(logger);
- setupLogger(next);
- }
-
- public void encode(ImapMessage message, ImapResponseComposer composer)
+ public void encode(ImapMessage message, ImapResponseComposer composer, ImapSession session)
throws IOException {
final boolean isAcceptable = isAcceptable(message);
if (isAcceptable) {
- doEncode(message, composer);
+ doEncode(message, composer, session);
} else {
- chainEncode(message, composer);
+ chainEncode(message, composer, session);
}
}
protected void chainEncode(ImapMessage message,
- ImapResponseComposer composer) throws IOException {
- next.encode(message, composer);
+ ImapResponseComposer composer, ImapSession session) throws IOException {
+ next.encode(message, composer, session);
}
/**
@@ -74,7 +67,8 @@
* <code>ImapMessage</code>, not null
* @param composer
* <code>ImapResponseComposer</code>, not null
+ * @param session TODO
*/
abstract protected void doEncode(ImapMessage acceptableMessage,
- ImapResponseComposer composer) throws IOException;
+ ImapResponseComposer composer, ImapSession session) throws IOException;
}
Modified: james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java (original)
+++ james/protocols/imap/trunk/message/src/main/java/org/apache/james/imap/encode/base/EndImapEncoder.java Fri Mar 20 16:59:36 2009
@@ -24,14 +24,15 @@
import org.apache.commons.logging.Log;
import org.apache.james.imap.api.AbstractLogEnabled;
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;
-public class EndImapEncoder extends AbstractLogEnabled implements ImapEncoder {
+public class EndImapEncoder implements ImapEncoder {
- public void encode(ImapMessage message, ImapResponseComposer composer)
+ public void encode(ImapMessage message, ImapResponseComposer composer, ImapSession session)
throws IOException {
- final Log logger = getLog();
+ final Log logger = session.getLog();
logger.warn("Unknown message");
if (logger.isDebugEnabled()) {
logger.debug("Chain end reached for " + message);
Added: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java?rev=756619&view=auto
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java (added)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java Fri Mar 20 16:59:36 2009
@@ -0,0 +1,96 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.imap.encode;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.james.imap.api.ImapSessionState;
+import org.apache.james.imap.api.process.ImapSession;
+import org.apache.james.imap.api.process.SelectedMailbox;
+
+public class FakeImapSession implements ImapSession {
+
+ private static final Log LOG = LogFactory.getLog(FakeImapSession.class);
+
+ private ImapSessionState state = ImapSessionState.NON_AUTHENTICATED;
+
+ private SelectedMailbox selectedMailbox = null;
+
+ private final Map<String, Object> attributesByKey;
+
+ public FakeImapSession() {
+ this.attributesByKey = new ConcurrentHashMap<String, Object>();
+ }
+
+ public void logout() {
+ closeMailbox();
+ state = ImapSessionState.LOGOUT;
+ }
+
+ public void authenticated() {
+ this.state = ImapSessionState.AUTHENTICATED;
+ }
+
+ public void deselect() {
+ this.state = ImapSessionState.AUTHENTICATED;
+ closeMailbox();
+ }
+
+ public void selected(SelectedMailbox mailbox) {
+ this.state = ImapSessionState.SELECTED;
+ closeMailbox();
+ this.selectedMailbox = mailbox;
+ }
+
+ public SelectedMailbox getSelected() {
+ return this.selectedMailbox;
+ }
+
+ public ImapSessionState getState() {
+ return this.state;
+ }
+
+ public void closeMailbox() {
+ if (selectedMailbox != null) {
+ selectedMailbox.deselect();
+ selectedMailbox = null;
+ }
+ }
+
+ public Object getAttribute(String key) {
+ final Object result = attributesByKey.get(key);
+ return result;
+ }
+
+ public void setAttribute(String key, Object value) {
+ if (value == null) {
+ attributesByKey.remove(key);
+ } else {
+ attributesByKey.put(key, value);
+ }
+ }
+
+ public Log getLog() {
+ return LOG;
+ }
+
+}
Propchange: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FakeImapSession.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderEnvelopeTest.java Fri Mar 20 16:59:36 2009
@@ -164,7 +164,7 @@
oneOf(composer).endEnvelope(null, null); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeDate() throws Exception {
@@ -178,7 +178,7 @@
oneOf(composer).endEnvelope(null, null); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeSubject() throws Exception {
@@ -192,7 +192,7 @@
oneOf(composer).endEnvelope(null, null); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeInReplyTo() throws Exception {
@@ -206,7 +206,7 @@
oneOf(composer).endEnvelope(with(equal(inReplyTo)), with(aNull(String.class))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeMessageId() throws Exception {
@@ -220,7 +220,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeOneFromAddress() throws Exception {
@@ -241,7 +241,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeManyFromAddress() throws Exception {
@@ -267,7 +267,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeOneSenderAddress() throws Exception {
@@ -289,7 +289,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeManySenderAddress() throws Exception {
@@ -316,7 +316,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
@@ -339,7 +339,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeManyReplyToAddress() throws Exception {
@@ -366,7 +366,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeOneToAddress() throws Exception {
@@ -388,7 +388,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeManyToAddress() throws Exception {
@@ -415,7 +415,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeOneCcAddress() throws Exception {
@@ -437,7 +437,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeManyCcAddress() throws Exception {
@@ -464,7 +464,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeOneBccAddress() throws Exception {
@@ -485,7 +485,7 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldComposeManyBccAddress() throws Exception {
@@ -511,6 +511,6 @@
oneOf(composer).endEnvelope(with(aNull(String.class)), with(equal(messageId))); inSequence(composition);
oneOf(composer).closeFetchResponse();inSequence(composition);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
}
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/FetchResponseEncoderTest.java Fri Mar 20 16:59:36 2009
@@ -75,7 +75,7 @@
oneOf(composer).flags(with(equal(flags))); inSequence(sequence);
oneOf(composer).closeFetchResponse(); inSequence(sequence);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldEncodeUidResponse() throws Exception {
@@ -88,7 +88,7 @@
oneOf(composer).message(with(equal(72L))); inSequence(sequence);
oneOf(composer).closeFetchResponse(); inSequence(sequence);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
public void testShouldEncodeAllResponse() throws Exception {
@@ -102,6 +102,6 @@
oneOf(composer).message(with(equal(72L))); inSequence(sequence);
oneOf(composer).closeFetchResponse(); inSequence(sequence);
}});
- encoder.doEncode(message, composer);
+ encoder.doEncode(message, composer, new FakeImapSession());
}
}
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/LSubResponseEncoderTest.java Fri Mar 20 16:59:36 2009
@@ -63,21 +63,21 @@
checking(new Expectations() {{
oneOf(composer).listResponse(with(same("LSUB")),with(aNull(List.class)), with(same(".")), with(same("INBOX.name")));
}});
- encoder.encode(new LSubResponse("INBOX.name", ".", false), composer);
+ encoder.encode(new LSubResponse("INBOX.name", ".", false), composer, new FakeImapSession());
}
public void testDelimiter() throws Exception {
checking(new Expectations() {{
oneOf(composer).listResponse(with(same("LSUB")),with(aNull(List.class)), with(same("@")), with(same("INBOX.name")));
}});
- encoder.encode(new LSubResponse("INBOX.name", "@", false), composer);
+ encoder.encode(new LSubResponse("INBOX.name", "@", false), composer, new FakeImapSession());
}
public void testNoDelimiter() throws Exception {
checking(new Expectations() {{
oneOf(composer).listResponse(with(same("LSUB")),with(aNull(List.class)), with(aNull(String.class)), with(same("INBOX.name")));
}});
- encoder.encode(new LSubResponse("INBOX.name", null, false), composer);
+ encoder.encode(new LSubResponse("INBOX.name", null, false), composer, new FakeImapSession());
}
public void testNoSelect() throws Exception {
@@ -85,6 +85,6 @@
checking(new Expectations() {{
oneOf(composer).listResponse(with(same("LSUB")),with(equal(Arrays.asList(values))), with(equal(".")), with(same("INBOX.name")));
}});
- encoder.encode(new LSubResponse("INBOX.name", ".", true), composer);
+ encoder.encode(new LSubResponse("INBOX.name", ".", true), composer, new FakeImapSession());
}
}
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/ListResponseEncoderTest.java Fri Mar 20 16:59:36 2009
@@ -61,6 +61,6 @@
checking(new Expectations() {{
oneOf(composer).searchResponse(with(same(IDS)));
}});
- encoder.encode(response, composer);
+ encoder.encode(response, composer, new FakeImapSession());
}
}
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/STATUSResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/STATUSResponseEncoderTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/STATUSResponseEncoderTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/STATUSResponseEncoderTest.java Fri Mar 20 16:59:36 2009
@@ -72,6 +72,6 @@
}});
encoder.encode(new STATUSResponse(messages, recent, uidNext,
- uidValidity, unseen, mailbox), composer);
+ uidValidity, unseen, mailbox), composer, new FakeImapSession());
}
}
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/SearchResponseEncoderTest.java Fri Mar 20 16:59:36 2009
@@ -67,7 +67,7 @@
with(same(".")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(false, false, false, false, ".", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(false, false, false, false, ".", "INBOX.name"), composer, new FakeImapSession());
}
public void testDelimiter() throws Exception {
@@ -78,7 +78,7 @@
with(same("@")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(false, false, false, false, "@", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(false, false, false, false, "@", "INBOX.name"), composer, new FakeImapSession());
}
public void testNoDelimiter() throws Exception {
@@ -89,7 +89,7 @@
with(aNull(String.class)),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(false, false, false, false, null, "INBOX.name"), composer);
+ encoder.encode(new ListResponse(false, false, false, false, null, "INBOX.name"), composer, new FakeImapSession());
}
public void testAllAttributes() throws Exception {
@@ -104,7 +104,7 @@
with(same(".")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(true, true, true, true, ".", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(true, true, true, true, ".", "INBOX.name"), composer, new FakeImapSession());
}
public void testNoInferiors() throws Exception {
@@ -116,7 +116,7 @@
with(same(".")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(true, false, false, false, ".", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(true, false, false, false, ".", "INBOX.name"), composer, new FakeImapSession());
}
public void testNoSelect() throws Exception {
@@ -128,7 +128,7 @@
with(same(".")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(false, true, false, false, ".", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(false, true, false, false, ".", "INBOX.name"), composer, new FakeImapSession());
}
public void testMarked() throws Exception {
@@ -140,7 +140,7 @@
with(same(".")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(false, false, true, false, ".", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(false, false, true, false, ".", "INBOX.name"), composer, new FakeImapSession());
}
public void testUnmarked() throws Exception {
@@ -152,6 +152,6 @@
with(same(".")),
with(same("INBOX.name")));
}});
- encoder.encode(new ListResponse(false, false, false, true, ".", "INBOX.name"), composer);
+ encoder.encode(new ListResponse(false, false, false, true, ".", "INBOX.name"), composer, new FakeImapSession());
}
}
Modified: james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/StatusResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/StatusResponseEncoderTest.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/StatusResponseEncoderTest.java (original)
+++ james/protocols/imap/trunk/message/src/test/java/org/apache/james/imap/encode/StatusResponseEncoderTest.java Fri Mar 20 16:59:36 2009
@@ -289,7 +289,7 @@
}
private void compose() throws Exception {
- encoder.doEncode(mockStatusResponse, response);
+ encoder.doEncode(mockStatusResponse, response, new FakeImapSession());
}
private void configure(final StatusResponse.Type type,
Modified: james/protocols/imap/trunk/seda/src/main/java/org/apache/james/imap/main/ImapRequestHandler.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/seda/src/main/java/org/apache/james/imap/main/ImapRequestHandler.java?rev=756619&r1=756618&r2=756619&view=diff
==============================================================================
--- james/protocols/imap/trunk/seda/src/main/java/org/apache/james/imap/main/ImapRequestHandler.java (original)
+++ james/protocols/imap/trunk/seda/src/main/java/org/apache/james/imap/main/ImapRequestHandler.java Fri Mar 20 16:59:36 2009
@@ -70,8 +70,6 @@
*/
public void setLog(Log logger) {
super.setLog(logger);
- setupLogger(decoder);
- setupLogger(processor);
}
/**
@@ -177,7 +175,7 @@
ImapResponseComposer response, ImapSession session) {
ImapMessage message = decoder.decode(request, session);
final ResponseEncoder responseEncoder = new ResponseEncoder(encoder,
- response);
+ response, session);
processor.process(message, responseEncoder, session);
final boolean result;
final IOException failure = responseEncoder.getFailure();
@@ -196,21 +194,23 @@
private static final class ResponseEncoder implements Responder {
private final ImapEncoder encoder;
-
+ private final ImapSession session;
private final ImapResponseComposer composer;
private IOException failure;
+
public ResponseEncoder(final ImapEncoder encoder,
- final ImapResponseComposer composer) {
+ final ImapResponseComposer composer, final ImapSession session) {
super();
this.encoder = encoder;
this.composer = composer;
+ this.session = session;
}
public void respond(final ImapResponseMessage message) {
try {
- encoder.encode(message, composer);
+ encoder.encode(message, composer, session);
} catch (IOException failure) {
this.failure = failure;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org