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]

Reply via email to