Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/imap4rev1/SubscribeProcessor.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/processor/imap4rev1/SubscribeProcessor.java?view=diff&rev=541935&r1=541934&r2=541935 ============================================================================== --- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/imap4rev1/SubscribeProcessor.java (original) +++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/imap4rev1/SubscribeProcessor.java Sat May 26 13:48:09 2007 @@ -19,37 +19,34 @@ package org.apache.james.experimental.imapserver.processor.imap4rev1; -import org.apache.avalon.framework.logger.Logger; import org.apache.james.experimental.imapserver.AuthorizationException; import org.apache.james.experimental.imapserver.ImapSession; import org.apache.james.experimental.imapserver.ProtocolException; import org.apache.james.experimental.imapserver.commands.ImapCommand; +import org.apache.james.experimental.imapserver.message.ImapMessage; import org.apache.james.experimental.imapserver.message.ImapResponseMessage; -import org.apache.james.experimental.imapserver.message.request.AbstractImapRequest; +import org.apache.james.experimental.imapserver.message.request.ImapRequest; import org.apache.james.experimental.imapserver.message.request.imap4rev1.SubscribeRequest; -import org.apache.james.experimental.imapserver.message.response.imap4rev1.BadResponse; import org.apache.james.experimental.imapserver.message.response.imap4rev1.CommandCompleteResponse; -import org.apache.james.experimental.imapserver.processor.AbstractImapRequestProcessor; +import org.apache.james.experimental.imapserver.processor.ImapProcessor; +import org.apache.james.experimental.imapserver.processor.base.AbstractImapRequestProcessor; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; public class SubscribeProcessor extends AbstractImapRequestProcessor { - protected ImapResponseMessage doProcess(AbstractImapRequest message, ImapSession session, String tag, ImapCommand command) throws MailboxException, AuthorizationException, ProtocolException { - final ImapResponseMessage result; - if (message instanceof SubscribeRequest) { - final SubscribeRequest request = (SubscribeRequest) message; - result = doProcess(request, session, tag, command); - } else { - final Logger logger = getLogger(); - if (logger != null) - { - logger.debug("Expected SubscribeRequest, was " + message); - } - result = new BadResponse("Command unknown by Subscribe processor."); - } - + public SubscribeProcessor(final ImapProcessor next) { + super(next); + } + + protected boolean isAcceptable(ImapMessage message) { + return (message instanceof SubscribeRequest); + } + + protected ImapResponseMessage doProcess(ImapRequest message, ImapSession session, String tag, ImapCommand command) throws MailboxException, AuthorizationException, ProtocolException { + final SubscribeRequest request = (SubscribeRequest) message; + final ImapResponseMessage result = doProcess(request, session, tag, command); return result; }
Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/imap4rev1/UnsubscribeProcessor.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/processor/imap4rev1/UnsubscribeProcessor.java?view=diff&rev=541935&r1=541934&r2=541935 ============================================================================== --- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/imap4rev1/UnsubscribeProcessor.java (original) +++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/imap4rev1/UnsubscribeProcessor.java Sat May 26 13:48:09 2007 @@ -19,37 +19,34 @@ package org.apache.james.experimental.imapserver.processor.imap4rev1; -import org.apache.avalon.framework.logger.Logger; import org.apache.james.experimental.imapserver.AuthorizationException; import org.apache.james.experimental.imapserver.ImapSession; import org.apache.james.experimental.imapserver.ProtocolException; import org.apache.james.experimental.imapserver.commands.ImapCommand; +import org.apache.james.experimental.imapserver.message.ImapMessage; import org.apache.james.experimental.imapserver.message.ImapResponseMessage; -import org.apache.james.experimental.imapserver.message.request.AbstractImapRequest; +import org.apache.james.experimental.imapserver.message.request.ImapRequest; import org.apache.james.experimental.imapserver.message.request.imap4rev1.UnsubscribeRequest; -import org.apache.james.experimental.imapserver.message.response.imap4rev1.BadResponse; import org.apache.james.experimental.imapserver.message.response.imap4rev1.CommandCompleteResponse; -import org.apache.james.experimental.imapserver.processor.AbstractImapRequestProcessor; +import org.apache.james.experimental.imapserver.processor.ImapProcessor; +import org.apache.james.experimental.imapserver.processor.base.AbstractImapRequestProcessor; import org.apache.james.imapserver.store.MailboxException; import org.apache.james.mailboxmanager.MailboxManagerException; public class UnsubscribeProcessor extends AbstractImapRequestProcessor { - protected ImapResponseMessage doProcess(AbstractImapRequest message, ImapSession session, String tag, ImapCommand command) throws MailboxException, AuthorizationException, ProtocolException { - final ImapResponseMessage result; - if (message instanceof UnsubscribeRequest) { - final UnsubscribeRequest request = (UnsubscribeRequest) message; - result = doProcess(request, session, tag, command); - } else { - final Logger logger = getLogger(); - if (logger != null) - { - logger.debug("Expected UnsubscribeRequest, was " + message); - } - result = new BadResponse("Command unknown by Unsubscribe processor."); - } - + public UnsubscribeProcessor(final ImapProcessor next) { + super(next); + } + + protected boolean isAcceptable(ImapMessage message) { + return (message instanceof UnsubscribeRequest); + } + + protected ImapResponseMessage doProcess(ImapRequest message, ImapSession session, String tag, ImapCommand command) throws MailboxException, AuthorizationException, ProtocolException { + final UnsubscribeRequest request = (UnsubscribeRequest) message; + final ImapResponseMessage result = doProcess(request, session, tag, command); return result; } Added: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/main/DefaultImapProcessorFactory.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/processor/main/DefaultImapProcessorFactory.java?view=auto&rev=541935 ============================================================================== --- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/main/DefaultImapProcessorFactory.java (added) +++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/main/java/org/apache/james/experimental/imapserver/processor/main/DefaultImapProcessorFactory.java Sat May 26 13:48:09 2007 @@ -0,0 +1,40 @@ +/**************************************************************** + * 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.processor.main; + +import org.apache.james.experimental.imapserver.processor.ImapProcessor; +import org.apache.james.experimental.imapserver.processor.base.ImapResponseMessageProcessor; +import org.apache.james.experimental.imapserver.processor.base.UnknownRequestImapProcessor; +import org.apache.james.experimental.imapserver.processor.imap4rev1.Imap4Rev1ProcessorFactory; + + +/** + * TODO: perhaps this should be a POJO + */ +public class DefaultImapProcessorFactory { + + public static final ImapProcessor createDefaultProcessor() { + final UnknownRequestImapProcessor unknownRequestImapProcessor = new UnknownRequestImapProcessor(); + final ImapProcessor imap4rev1Chain = Imap4Rev1ProcessorFactory.createDefaultChain(unknownRequestImapProcessor); + final ImapProcessor result = new ImapResponseMessageProcessor(imap4rev1Chain); + return result; + } + +} Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/commands/MockCommand.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/commands/MockCommand.java?view=diff&rev=541935&r1=541934&r2=541935 ============================================================================== --- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/commands/MockCommand.java (original) +++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/commands/MockCommand.java Sat May 26 13:48:09 2007 @@ -3,7 +3,7 @@ import org.apache.james.experimental.imapserver.ImapRequestLineReader; import org.apache.james.experimental.imapserver.ProtocolException; import org.apache.james.experimental.imapserver.commands.CommandTemplate; -import org.apache.james.experimental.imapserver.message.ImapRequestMessage; +import org.apache.james.experimental.imapserver.message.ImapMessage; public class MockCommand extends CommandTemplate { @@ -17,7 +17,7 @@ return NAME; } - protected ImapRequestMessage decode(ImapRequestLineReader request, String tag) throws ProtocolException { + protected ImapMessage decode(ImapRequestLineReader request, String tag) throws ProtocolException { // TODO implementation return null; } Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/RecordingImapResponseWriterTest.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/RecordingImapResponseWriterTest.java?view=diff&rev=541935&r1=541934&r2=541935 ============================================================================== --- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/RecordingImapResponseWriterTest.java (original) +++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/encode/RecordingImapResponseWriterTest.java Sat May 26 13:48:09 2007 @@ -42,10 +42,6 @@ super.tearDown(); } - public void testProcess() { - assertEquals("Recorder is a response", writer, writer.process(new MockImapSession())); - } - public void testCommandName() { String name = "A command name"; writer.commandName(name); Modified: james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/message/BadResponseMessageTest.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/message/BadResponseMessageTest.java?view=diff&rev=541935&r1=541934&r2=541935 ============================================================================== --- james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/message/BadResponseMessageTest.java (original) +++ james/server/sandbox/seda-imap-modular/experimental-seda-imap-function/src/test/java/org/apache/james/experimental/imapserver/message/BadResponseMessageTest.java Sat May 26 13:48:09 2007 @@ -49,10 +49,8 @@ super.tearDown(); } - public void testProcessAndEncode() throws Exception { - ImapResponseMessage response = message.process(session); - assertNotNull("Response is required", response); - response.encode(this.response, session); + public void testEncode() throws Exception { + message.encode(this.response, session); assertEquals(4, this.writer.operations.size()); assertEquals(new MockImapResponseWriter.UntaggedOperation(), writer.operations.get(0)); assertEquals(new MockImapResponseWriter.TextMessageOperation(ImapConstants.BAD), --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
