Author: bago
Date: Thu Dec 28 02:43:45 2006
New Revision: 490694

URL: http://svn.apache.org/viewvc?view=rev&rev=490694
Log:
Made SMTPHandlerChain generic (it now doesn't have anymore SMTP knowledge: it 
is simply an handler container that is able to wire ExtensibleHandlers).
Moved the main LineHandler to its own Class. 
Added a WiringException (to have some degree of control on dependency 
correctness)
Removed the "commands" configuration support for CmdHandlers (always use all 
the implemented commands)

Modified:
    
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java

Modified: 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java?view=diff&rev=490694&r1=490693&r2=490694
==============================================================================
--- 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
 (original)
+++ 
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
 Thu Dec 28 02:43:45 2006
@@ -35,6 +35,7 @@
 import org.apache.james.smtpserver.SMTPResponse;
 import org.apache.james.smtpserver.SMTPSession;
 import org.apache.james.smtpserver.SizeLimitedInputStream;
+import org.apache.james.smtpserver.WiringException;
 import org.apache.james.util.CharTerminatedInputStream;
 import org.apache.james.util.DotStuffingInputStream;
 import org.apache.james.util.mail.SMTPRetCode;
@@ -448,11 +449,20 @@
 
 
     /**
+     * @throws WiringException 
      * @see 
org.apache.james.smtpserver.ExtensibleHandler#wireExtensions(java.lang.Class, 
java.util.List)
      */
-    public void wireExtensions(Class interfaceName, List extension) {
+    public void wireExtensions(Class interfaceName, List extension) throws 
WiringException {
         if (MessageHandler.class.equals(interfaceName)) {
             this.messageHandlers = extension;
+            if (messageHandlers.size() == 0) {
+                if (getLogger().isErrorEnabled()) {
+                    getLogger()
+                            .error(
+                                    "No messageHandler configured. Check that 
SendMailHandler is configured in the SMTPHandlerChain");
+                }
+                throw new WiringException("No messageHandler configured");
+            }
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to