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 2007/06/03 11:54:33 UTC
svn commit: r543869 [2/2] - in
/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src:
main/java/org/apache/james/experimental/imapserver/
main/java/org/apache/james/experimental/imapserver/encode/
main/java/org/apache/james/experi...
Added: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/encode/main/DefaultImapEncoderFactory.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/encode/main/DefaultImapEncoderFactory.java?view=auto&rev=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/encode/main/DefaultImapEncoderFactory.java (added)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/encode/main/DefaultImapEncoderFactory.java Sun Jun 3 02:54:30 2007
@@ -0,0 +1,50 @@
+/****************************************************************
+ * 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.experimental.imapserver.encode.main;
+
+import org.apache.james.experimental.imapserver.encode.ImapEncoder;
+import org.apache.james.experimental.imapserver.encode.base.EndImapEncoder;
+import org.apache.james.experimental.imapserver.encode.imap4rev1.legacy.*;
+
+/**
+ * TODO: perhaps a POJO would be better
+ */
+public class DefaultImapEncoderFactory {
+
+ public static final ImapEncoder createDefaultEncoder() {
+
+ final EndImapEncoder endImapEncoder = new EndImapEncoder();
+ final StoreResponseEncoder storeResponseEncoder = new StoreResponseEncoder(endImapEncoder);
+ final StatusResponseEncoder statusResponseEncoder = new StatusResponseEncoder(storeResponseEncoder);
+ final SearchResponseEncoder searchResponseEncoder = new SearchResponseEncoder(statusResponseEncoder);
+ final LogoutResponseEncoder logoutResponseEncoder = new LogoutResponseEncoder(searchResponseEncoder);
+ final ListResponseEncoder listResponseEncoder = new ListResponseEncoder(logoutResponseEncoder);
+ final FetchResponseEncoder fetchResponseEncoder = new FetchResponseEncoder(listResponseEncoder);
+ final ExamineAndSelectResponseEncoder examineAndSelectResponseEncoder = new ExamineAndSelectResponseEncoder(fetchResponseEncoder);
+ final ErrorResponseEncoder errorResponseEncoder = new ErrorResponseEncoder(examineAndSelectResponseEncoder);
+ final CommandFailedResponseEncoder commandFailedResponseEncoder = new CommandFailedResponseEncoder(errorResponseEncoder);
+ final CommandCompleteResponseEncoder commandCompleteResponseEncoder = new CommandCompleteResponseEncoder(commandFailedResponseEncoder);
+ final CloseResponseEncoder closeResponseEncoder = new CloseResponseEncoder(commandCompleteResponseEncoder);
+ final CapabilityResponseEncoder capabilityResponseEncoder = new CapabilityResponseEncoder(closeResponseEncoder);
+ final BadResponseEncoder result = new BadResponseEncoder(capabilityResponseEncoder);
+ return result;
+ }
+
+}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/AbstractImapResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/AbstractImapResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/AbstractImapResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/AbstractImapResponse.java Sun Jun 3 02:54:30 2007
@@ -23,7 +23,7 @@
import org.apache.avalon.framework.logger.Logger;
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
+import org.apache.james.experimental.imapserver.encode.ImapResponseComposer;
import org.apache.james.imapserver.store.MailboxException;
abstract public class AbstractImapResponse extends AbstractLogEnabled implements ImapResponseMessage {
@@ -37,24 +37,11 @@
this.tag = tag;
}
- public ImapCommand getCommand() {
- return command;
+ public final String getTag() {
+ return tag;
}
- public void encode(ImapResponse response, ImapSession session) {
- try {
- doEncode(response, session, command, tag);
- } catch (MailboxException e) {
- // TODO: it seems wrong for session to throw a mailbox exception
- // TODO: really, errors in unsolicited response should not
- // TODO: impact the execution of this command
- final Logger logger = getLogger();
- if (logger != null) {
- logger.debug("error processing command ", e);
- }
- response.commandFailed( command, e.getResponseCode(), e.getMessage(), tag );
- }
+ public ImapCommand getCommand() {
+ return command;
}
- protected abstract void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException;
-
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/ImapResponseMessage.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/ImapResponseMessage.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/ImapResponseMessage.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/ImapResponseMessage.java Sun Jun 3 02:54:30 2007
@@ -19,8 +19,8 @@
package org.apache.james.experimental.imapserver.message.response;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
+import org.apache.james.api.imap.ImapMessage;
+
/**
* <p>Responds to an IMAP command.</p>
@@ -29,12 +29,6 @@
* and is liable to change.
* </p>
*/
-public interface ImapResponseMessage {
+public interface ImapResponseMessage extends ImapMessage{
- /**
- * Writes response.
- * @param response <code>ImapResponse</code>, not null
- * @param session <code>ImapSession</code>, not null
- */
- void encode( ImapResponse response, ImapSession session );
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/BadResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/BadResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/BadResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/BadResponse.java Sun Jun 3 02:54:30 2007
@@ -20,8 +20,6 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.ImapResponseMessage;
/**
@@ -45,12 +43,11 @@
this.tag = tag;
}
- public void encode(ImapResponse response, ImapSession session) {
- if (tag == null) {
- response.badResponse(message);
- } else {
- response.badResponse(message, tag);
- }
+ public final String getMessage() {
+ return message;
}
+ public final String getTag() {
+ return tag;
+ }
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CapabilityResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CapabilityResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CapabilityResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CapabilityResponse.java Sun Jun 3 02:54:30 2007
@@ -19,11 +19,7 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.api.imap.ImapConstants;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
@@ -32,13 +28,5 @@
public CapabilityResponse(ImapCommand command, String tag) {
super(command, tag);
- }
-
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- // TODO: inject capability text
- response.untaggedResponse( ImapConstants.CAPABILITY_RESPONSE );
- session.unsolicitedResponses( response, false);
- response.commandComplete( command , tag );
- }
-
+ }
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CloseResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CloseResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CloseResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CloseResponse.java Sun Jun 3 02:54:30 2007
@@ -19,26 +19,14 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
*/
public class CloseResponse extends AbstractImapResponse {
- public CloseResponse(ImapCommand command, String tag) {
- super(command, tag);
- }
-
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- //TODO: the following comment was present in the code before refactoring
- //TODO: doesn't seem to match the implementation
- //TODO: check that implementation is correct
-// Don't send unsolicited responses on close.
- session.unsolicitedResponses( response, false );
- response.commandComplete( command , tag);
- //TODO: what about the bye?
- }
+ public CloseResponse(ImapCommand command, String tag) {
+ super(command, tag);
}
+
+}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandCompleteResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandCompleteResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandCompleteResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandCompleteResponse.java Sun Jun 3 02:54:30 2007
@@ -20,11 +20,8 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
import org.apache.james.experimental.imapserver.message.response.ImapResponseMessage;
-import org.apache.james.imapserver.store.MailboxException;
/**
*
@@ -67,10 +64,11 @@
this.useUids = useUids;
}
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- if (writeUnsolicited) {
- session.unsolicitedResponses( response, useUids);
- }
- response.commandComplete( command , tag );
+ public final boolean isUseUids() {
+ return useUids;
+ }
+
+ public final boolean isWriteUnsolicited() {
+ return writeUnsolicited;
}
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandFailedResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandFailedResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandFailedResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/CommandFailedResponse.java Sun Jun 3 02:54:30 2007
@@ -20,8 +20,6 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.ImapResponseMessage;
/**
@@ -46,12 +44,21 @@
this.tag = tag;
}
- public void encode(ImapResponse response, ImapSession session) {
- if (responseCode == null) {
- response.commandFailed(command, reason, tag);
- } else {
- response.commandFailed(command, responseCode, reason, tag);
- }
+ public final ImapCommand getCommand() {
+ return command;
}
+ public final String getReason() {
+ return reason;
+ }
+
+ public final String getResponseCode() {
+ return responseCode;
+ }
+
+ public final String getTag() {
+ return tag;
+ }
+
+
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ErrorResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ErrorResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ErrorResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ErrorResponse.java Sun Jun 3 02:54:30 2007
@@ -20,8 +20,6 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.ImapResponseMessage;
/**
@@ -39,8 +37,12 @@
this.message = message;
this.tag = tag;
}
-
- public void encode(ImapResponse response, ImapSession session) {
- response.commandError(message, tag);
+
+ public final String getMessage() {
+ return message;
+ }
+
+ public final String getTag() {
+ return tag;
}
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ExamineAndSelectResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ExamineAndSelectResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ExamineAndSelectResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ExamineAndSelectResponse.java Sun Jun 3 02:54:30 2007
@@ -21,10 +21,7 @@
import javax.mail.Flags;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MessageResult;
/**
@@ -49,24 +46,30 @@
this.uidValidity = uidValidity;
this.firstUnseen = firstUnseen;
this.messageCount = messageCount;
+ }
+
+ public final MessageResult getFirstUnseen() {
+ return firstUnseen;
+ }
+
+ public final int getMessageCount() {
+ return messageCount;
+ }
+
+ public final Flags getPermanentFlags() {
+ return permanentFlags;
+ }
+
+ public final int getRecentCount() {
+ return recentCount;
+ }
+
+ public final long getUidValidity() {
+ return uidValidity;
+ }
+
+ public final boolean isWriteable() {
+ return writeable;
}
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- response.flagsResponse(permanentFlags);
- response.recentResponse(recentCount);
- response.okResponse("UIDVALIDITY " + uidValidity, null);
- response.existsResponse(messageCount);
- if (firstUnseen != null) {
- response.okResponse("UNSEEN " + firstUnseen.getMsn(), "Message "
- + firstUnseen.getMsn() + " is the first unseen");
- } else {
- response.okResponse(null, "No messages unseen");
- }
- response.permanentFlagsResponse(permanentFlags);
- if (!writeable) {
- response.commandComplete(command, "READ-ONLY", tag);
- } else {
- response.commandComplete(command, "READ-WRITE", tag);
- }
- }
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/FetchResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/FetchResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/FetchResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/FetchResponse.java Sun Jun 3 02:54:30 2007
@@ -19,14 +19,11 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import java.util.ArrayList;
-import java.util.Iterator;
+import java.util.Collections;
import java.util.List;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
@@ -48,31 +45,32 @@
messages.add(data);
}
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- for (final Iterator it=messages.iterator();it.hasNext();) {
- MessageData data = (MessageData) it.next();
- data.encode(response);
- }
- boolean omitExpunged = (!useUids);
- session.unsolicitedResponses( response, omitExpunged , useUids);
- response.commandComplete( command, tag );
-
+ public List getMessageData() {
+ return Collections.unmodifiableList(messages);
}
- private class MessageData {
+ public class MessageData {
// TODO: this is not an efficient solution
// TODO: would be better to lazy load and stream on output
// TODO: this is just a transitional solution
private final int number;
+ // TODO remove unnecessary string conversion
private final String data;
public MessageData(final int number, final String data) {
super();
this.number = number;
this.data = data;
}
-
- public void encode(ImapResponse response) {
- response.fetchResponse(number, data);
+ public final String getData() {
+ return data;
+ }
+ public final int getNumber() {
+ return number;
}
+
+ }
+
+ public final boolean isUseUids() {
+ return useUids;
}
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ListResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ListResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ListResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/ListResponse.java Sun Jun 3 02:54:30 2007
@@ -19,14 +19,11 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import java.util.ArrayList;
-import java.util.Iterator;
+import java.util.Collections;
import java.util.List;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
@@ -45,13 +42,7 @@
messages.add(message);
}
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- for (final Iterator it=messages.iterator();it.hasNext();) {
- String message = (String) it.next();
- response.commandResponse(command, message);
- }
- session.unsolicitedResponses( response, false );
- response.commandComplete( command, tag );
+ public List getMessages() {
+ return Collections.unmodifiableList(messages);
}
-
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/LogoutResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/LogoutResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/LogoutResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/LogoutResponse.java Sun Jun 3 02:54:30 2007
@@ -21,27 +21,21 @@
import org.apache.james.api.imap.ImapCommand;
import org.apache.james.api.imap.ImapConstants;
import org.apache.james.api.imap.ImapMessage;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
*/
public class LogoutResponse extends AbstractImapResponse implements ImapMessage {
-
+ // TODO: inject message
public static final String BYE_MESSAGE = ImapConstants.VERSION + ImapConstants.SP + "Server logging out";
public LogoutResponse(final ImapCommand command, final String tag) {
super(command, tag);
}
-
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- response.byeResponse( BYE_MESSAGE );
- response.commandComplete( command, tag );
- // TODO: think about how this will work with SEDA
- session.closeConnection();
+
+ public String getMessage() {
+ return BYE_MESSAGE;
}
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/SearchResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/SearchResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/SearchResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/SearchResponse.java Sun Jun 3 02:54:30 2007
@@ -19,10 +19,7 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
@@ -37,13 +34,12 @@
this.idList = idList;
this.useUids = useUids;
}
-
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
-
- response.commandResponse( command, idList );
- boolean omitExpunged = (!useUids);
- session.unsolicitedResponses( response, omitExpunged, useUids );
- response.commandComplete( command, tag );
+
+ public final String getIdList() {
+ return idList;
+ }
+
+ public final boolean isUseUids() {
+ return useUids;
}
-
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StatusResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StatusResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StatusResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StatusResponse.java Sun Jun 3 02:54:30 2007
@@ -19,10 +19,7 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* @deprecated responses should correspond directly to the specification
@@ -35,9 +32,7 @@
this.message = message;
}
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- response.commandResponse( command, message);
- session.unsolicitedResponses( response, false );
- response.commandComplete( command, tag );
+ public final String getMessage() {
+ return message;
}
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StoreResponse.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StoreResponse.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StoreResponse.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/message/response/imap4rev1/legacy/StoreResponse.java Sun Jun 3 02:54:30 2007
@@ -19,10 +19,7 @@
package org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy;
import org.apache.james.api.imap.ImapCommand;
-import org.apache.james.experimental.imapserver.ImapSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
import org.apache.james.experimental.imapserver.message.response.AbstractImapResponse;
-import org.apache.james.imapserver.store.MailboxException;
/**
* TODO: this is probably redundent
@@ -36,10 +33,7 @@
this.useUids = useUids;
}
- protected void doEncode(ImapResponse response, ImapSession session, ImapCommand command, String tag) throws MailboxException {
- boolean omitExpunged = (!useUids);
- session.unsolicitedResponses( response, omitExpunged , useUids);
- response.commandComplete( command, tag );
- }
-
+ public final boolean isUseUids() {
+ return useUids;
+ }
}
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/ImapResponseTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/ImapResponseTest.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/ImapResponseTest.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/ImapResponseTest.java Sun Jun 3 02:54:30 2007
@@ -25,14 +25,14 @@
import org.apache.james.api.imap.ImapConstants;
import org.apache.james.experimental.imapserver.commands.MockCommand;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
+import org.apache.james.experimental.imapserver.encode.ImapResponseComposer;
import org.apache.james.api.imap.message.MessageFlags;
public class ImapResponseTest extends TestCase {
private static final String TAG = "TAG";
- ImapResponse response;
+ ImapResponseComposer response;
MockImapResponseWriter writer;
MockCommand command;
@@ -40,7 +40,7 @@
super.setUp();
command = new MockCommand();
writer = new MockImapResponseWriter();
- response = new ImapResponse(writer);;
+ response = new ImapResponseComposer(writer);;
}
protected void tearDown() throws Exception {
@@ -87,7 +87,7 @@
writer.operations.get(1));
assertEquals(new MockImapResponseWriter.CommandNameOperation(MockCommand.NAME),
writer.operations.get(2));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.FAILED),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.FAILED),
writer.operations.get(3));
assertEquals(new MockImapResponseWriter.TextMessageOperation(reason),
writer.operations.get(4));
@@ -107,7 +107,7 @@
writer.operations.get(2));
assertEquals(new MockImapResponseWriter.CommandNameOperation(MockCommand.NAME),
writer.operations.get(3));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.FAILED),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.FAILED),
writer.operations.get(4));
assertEquals(new MockImapResponseWriter.TextMessageOperation(reason),
writer.operations.get(5));
@@ -162,7 +162,7 @@
response.flagsResponse(flags);
assertEquals(4, writer.operations.size());
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.FLAGS),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.FLAGS),
writer.operations.get(1));
assertEquals(new MockImapResponseWriter.TextMessageOperation(MessageFlags.format(flags)),
writer.operations.get(2));
@@ -177,7 +177,7 @@
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
assertEquals(new MockImapResponseWriter.NumericMessageOperation(count),
writer.operations.get(1));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.EXISTS),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.EXISTS),
writer.operations.get(2));
assertEquals(new MockImapResponseWriter.EndOperation(),
writer.operations.get(3));
@@ -190,7 +190,7 @@
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
assertEquals(new MockImapResponseWriter.NumericMessageOperation(count),
writer.operations.get(1));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.RECENT),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.RECENT),
writer.operations.get(2));
assertEquals(new MockImapResponseWriter.EndOperation(),
writer.operations.get(3));
@@ -203,7 +203,7 @@
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
assertEquals(new MockImapResponseWriter.NumericMessageOperation(count),
writer.operations.get(1));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.EXPUNGE),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.EXPUNGE),
writer.operations.get(2));
assertEquals(new MockImapResponseWriter.EndOperation(),
writer.operations.get(3));
@@ -217,7 +217,7 @@
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
assertEquals(new MockImapResponseWriter.NumericMessageOperation(count),
writer.operations.get(1));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.FETCH),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.FETCH),
writer.operations.get(2));
assertEquals(new MockImapResponseWriter.TextMessageOperation("(" + data + ")"),
writer.operations.get(3));
@@ -266,7 +266,7 @@
response.byeResponse(message);
assertEquals(3, writer.operations.size());
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.BYE + ImapResponse.SP + message),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.BYE + ImapResponseComposer.SP + message),
writer.operations.get(1));
assertEquals(new MockImapResponseWriter.EndOperation(),
writer.operations.get(2));
@@ -277,7 +277,7 @@
response.permanentFlagsResponse(flags);
assertEquals(4, writer.operations.size());
assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
- assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponse.OK),
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.OK),
writer.operations.get(1));
assertEquals(new MockImapResponseWriter.ResponseCodeOperation("PERMANENTFLAGS " + MessageFlags.format(flags)),
writer.operations.get(2));
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/MockImapSession.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/MockImapSession.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/MockImapSession.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/MockImapSession.java Sun Jun 3 02:54:30 2007
@@ -6,7 +6,7 @@
import org.apache.james.api.imap.ImapSessionState;
import org.apache.james.experimental.imapserver.ImapSession;
import org.apache.james.experimental.imapserver.SelectedMailboxSession;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
+import org.apache.james.experimental.imapserver.encode.ImapResponseComposer;
import org.apache.james.imapserver.store.MailboxException;
import org.apache.james.mailboxmanager.MailboxManagerException;
import org.apache.james.mailboxmanager.mailbox.ImapMailboxSession;
@@ -74,12 +74,11 @@
throws MailboxManagerException {
}
- public void unsolicitedResponses(ImapResponse response, boolean useUid)
- throws MailboxException {
+ public void unsolicitedResponses(ImapResponseComposer response, boolean useUid) {
}
- public void unsolicitedResponses(ImapResponse request,
- boolean omitExpunged, boolean useUid) throws MailboxException {
+ public void unsolicitedResponses(ImapResponseComposer request,
+ boolean omitExpunged, boolean useUid) {
}
public Object getAttribute(String key) {
Added: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/BadResponseEncodeTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/BadResponseEncodeTest.java?view=auto&rev=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/BadResponseEncodeTest.java (added)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/BadResponseEncodeTest.java Sun Jun 3 02:54:30 2007
@@ -0,0 +1,70 @@
+/****************************************************************
+ * 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.experimental.imapserver.encode.imap4rev1.legacy;
+
+import org.apache.james.api.imap.ImapConstants;
+import org.apache.james.experimental.imapserver.ImapSession;
+import org.apache.james.experimental.imapserver.MockImapResponseWriter;
+import org.apache.james.experimental.imapserver.MockImapSession;
+import org.apache.james.experimental.imapserver.encode.ImapEncoder;
+import org.apache.james.experimental.imapserver.encode.ImapResponseComposer;
+import org.apache.james.experimental.imapserver.message.response.ImapResponseMessage;
+import org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy.BadResponse;
+import org.jmock.Mock;
+
+import junit.framework.TestCase;
+
+public class BadResponseEncodeTest extends TestCase {
+
+ private static final String MESSAGE = "A Message";
+
+ MockImapResponseWriter writer;
+ ImapResponseComposer response;
+ BadResponse message;
+ Mock mockNextEncoder;
+ BadResponseEncoder encoder;
+ ImapSession session;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ mockNextEncoder = new Mock(ImapEncoder.class);
+ encoder = new BadResponseEncoder((ImapEncoder) mockNextEncoder.proxy());
+ writer = new MockImapResponseWriter();
+ response = new ImapResponseComposer(writer);
+ message = new BadResponse(MESSAGE);
+ session = new MockImapSession();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testEncode() throws Exception {
+ encoder.encode(message, this.response, session);
+ assertEquals(4, this.writer.operations.size());
+ assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapConstants.BAD),
+ writer.operations.get(1));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(MESSAGE),
+ writer.operations.get(2));
+ assertEquals(new MockImapResponseWriter.EndOperation(),
+ writer.operations.get(3));
+ }
+
+}
Added: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/CommandFailedResponseEncoderTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/CommandFailedResponseEncoderTest.java?view=auto&rev=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/CommandFailedResponseEncoderTest.java (added)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/CommandFailedResponseEncoderTest.java Sun Jun 3 02:54:30 2007
@@ -0,0 +1,99 @@
+/****************************************************************
+ * 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.experimental.imapserver.encode.imap4rev1.legacy;
+
+import org.apache.james.api.imap.ImapConstants;
+import org.apache.james.experimental.imapserver.ImapSession;
+import org.apache.james.experimental.imapserver.MockImapResponseWriter;
+import org.apache.james.experimental.imapserver.MockImapSession;
+import org.apache.james.experimental.imapserver.commands.MockCommand;
+import org.apache.james.experimental.imapserver.encode.ImapEncoder;
+import org.apache.james.experimental.imapserver.encode.ImapResponseComposer;
+import org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy.CommandFailedResponse;
+import org.jmock.Mock;
+
+import junit.framework.TestCase;
+
+public class CommandFailedResponseEncoderTest extends TestCase {
+
+ private static final String TAG = "A Tag";
+
+ MockImapResponseWriter writer;
+ ImapResponseComposer response;
+ MockCommand command;
+ ImapSession session;
+ Mock mockNextEncoder;
+ CommandFailedResponseEncoder encoder;
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ writer = new MockImapResponseWriter();
+ mockNextEncoder = new Mock(ImapEncoder.class);
+ encoder = new CommandFailedResponseEncoder((ImapEncoder) mockNextEncoder.proxy());
+ response = new ImapResponseComposer(writer);
+ command = new MockCommand();
+ session = new MockImapSession();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testWithResponseCode() throws Exception {
+ String code = "A code";
+ String message = "A message";
+ CommandFailedResponse responseMessage
+ = new CommandFailedResponse(command, code, message, TAG);
+ encoder.encode(responseMessage, response, session);
+ assertEquals(7, writer.operations.size());
+ assertEquals(new MockImapResponseWriter.TagOperation(TAG), writer.operations.get(0));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapConstants.NO),
+ writer.operations.get(1));
+ assertEquals(new MockImapResponseWriter.ResponseCodeOperation(code),
+ writer.operations.get(2));
+ assertEquals(new MockImapResponseWriter.CommandNameOperation(MockCommand.NAME),
+ writer.operations.get(3));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.FAILED),
+ writer.operations.get(4));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(message),
+ writer.operations.get(5));
+ assertEquals(new MockImapResponseWriter.EndOperation(),
+ writer.operations.get(6));
+ }
+
+ public void testWithoutResponseCode() throws Exception {
+ String message = "A message";
+ CommandFailedResponse responseMessage
+ = new CommandFailedResponse(command, message, TAG);
+ encoder.encode(responseMessage, response, session);
+ assertEquals(6, writer.operations.size());
+ assertEquals(new MockImapResponseWriter.TagOperation(TAG), writer.operations.get(0));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapConstants.NO),
+ writer.operations.get(1));
+ assertEquals(new MockImapResponseWriter.CommandNameOperation(MockCommand.NAME),
+ writer.operations.get(2));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapResponseComposer.FAILED),
+ writer.operations.get(3));
+ assertEquals(new MockImapResponseWriter.TextMessageOperation(message),
+ writer.operations.get(4));
+ assertEquals(new MockImapResponseWriter.EndOperation(),
+ writer.operations.get(5));
+ }
+}
Copied: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/ErrorResponseMessageTest.java (from r543856, james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/message/ErrorResponseMessageTest.java)
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/ErrorResponseMessageTest.java?view=diff&rev=543869&p1=james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/message/ErrorResponseMessageTest.java&r1=543856&p2=james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/ErrorResponseMessageTest.java&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/message/ErrorResponseMessageTest.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/imap4rev1/legacy/ErrorResponseMessageTest.java Sun Jun 3 02:54:30 2007
@@ -17,12 +17,14 @@
* under the License. *
****************************************************************/
-package org.apache.james.experimental.imapserver.message;
+package org.apache.james.experimental.imapserver.encode.imap4rev1.legacy;
import org.apache.james.api.imap.ImapConstants;
import org.apache.james.experimental.imapserver.MockImapResponseWriter;
-import org.apache.james.experimental.imapserver.encode.ImapResponse;
+import org.apache.james.experimental.imapserver.encode.ImapEncoder;
+import org.apache.james.experimental.imapserver.encode.ImapResponseComposer;
import org.apache.james.experimental.imapserver.message.response.imap4rev1.legacy.ErrorResponse;
+import org.jmock.Mock;
import junit.framework.TestCase;
@@ -33,12 +35,16 @@
ErrorResponse message;
MockImapResponseWriter writer;
- ImapResponse response;
+ ImapResponseComposer response;
+ Mock mockNextEncoder;
+ ErrorResponseEncoder encoder;
protected void setUp() throws Exception {
super.setUp();
writer = new MockImapResponseWriter();
- response = new ImapResponse(writer);
+ mockNextEncoder = new Mock(ImapEncoder.class);
+ encoder = new ErrorResponseEncoder((ImapEncoder) mockNextEncoder.proxy());
+ response = new ImapResponseComposer(writer);
message = new ErrorResponse(ERROR, TAG);
}
@@ -47,7 +53,7 @@
}
public void testWrite() {
- message.encode(response, null);
+ encoder.encode(message, response, null);
assertEquals(4, writer.operations.size());
assertEquals(new MockImapResponseWriter.TagOperation(TAG), writer.operations.get(0));
assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapConstants.BAD),
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/commands/AbstractCommandTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/commands/AbstractCommandTest.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/commands/AbstractCommandTest.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/commands/AbstractCommandTest.java Sun Jun 3 02:54:30 2007
@@ -27,6 +27,7 @@
import org.apache.james.experimental.imapserver.ImapRequestHandler;
import org.apache.james.experimental.imapserver.ImapSession;
import org.apache.james.experimental.imapserver.StandardFactory;
+import org.apache.james.experimental.imapserver.encode.main.DefaultImapEncoderFactory;
import org.apache.james.experimental.imapserver.processor.base.AbstractMailboxAwareProcessor;
import org.apache.james.experimental.imapserver.processor.main.DefaultImapProcessorFactory;
import org.apache.james.imapserver.codec.decode.base.AbstractImapCommandParser;
@@ -55,7 +56,8 @@
mockUsersRepository = mock ( UsersRepository.class );
handler=new ImapRequestHandler(StandardFactory.createDecoder(),
DefaultImapProcessorFactory.createDefaultProcessor((UsersRepository)mockUsersRepository.proxy(),
- (MailboxManagerProvider) mockMailboxManagerProvider.proxy()));
+ (MailboxManagerProvider) mockMailboxManagerProvider.proxy()),
+ DefaultImapEncoderFactory.createDefaultEncoder());
handler.enableLogging(new MockLogger());
mockSession = mock ( ImapSession.class);
mockUser = mock (User.class );
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/session/AbstractSessionTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/session/AbstractSessionTest.java?view=diff&rev=543869&r1=543868&r2=543869
==============================================================================
--- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/session/AbstractSessionTest.java (original)
+++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/handler/session/AbstractSessionTest.java Sun Jun 3 02:54:30 2007
@@ -46,6 +46,7 @@
import org.apache.james.experimental.imapserver.StandardFactory;
import org.apache.james.experimental.imapserver.TestConstants;
import org.apache.james.experimental.imapserver.client.Command;
+import org.apache.james.experimental.imapserver.encode.main.DefaultImapEncoderFactory;
import org.apache.james.experimental.imapserver.mock.MockImapHandler;
import org.apache.james.experimental.imapserver.mock.MockImapHandlerConfigurationData;
import org.apache.james.experimental.imapserver.mock.MockUser;
@@ -84,7 +85,8 @@
HOST_NAME, HOST_ADDRESS);
((LogEnabled)session).enableLogging(new MockLogger());
handler = new ImapRequestHandler(StandardFactory.createDecoder(),
- DefaultImapProcessorFactory.createDefaultProcessor(theConfigData.getUsersRepository(), theConfigData.getMailboxManagerProvider()));
+ DefaultImapProcessorFactory.createDefaultProcessor(theConfigData.getUsersRepository(), theConfigData.getMailboxManagerProvider()),
+ DefaultImapEncoderFactory.createDefaultEncoder());
handler.enableLogging(new MockLogger());
mailboxManager=theConfigData.getMailboxManagerProvider().getMailboxManagerInstance(new MockUser());
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org