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 ba...@apache.org on 2006/12/28 11:43:46 UTC

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

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org