Author: bago
Date: Sun Oct 18 11:30:37 2009
New Revision: 826411
URL: http://svn.apache.org/viewvc?rev=826411&view=rev
Log:
Make the SMTPHandlerChain equals the other handlerchains by merging the 2
HandlerPackages (CoreCmdHandler and CoreMessageHook)
Removed:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/core/CoreMessageHookLoader.java
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/SMTPHandlerChain.java
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/core/CoreCmdHandlerLoader.java
james/server/trunk/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractHandlerChain.java
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/SMTPHandlerChain.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/SMTPHandlerChain.java?rev=826411&r1=826410&r2=826411&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/SMTPHandlerChain.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/SMTPHandlerChain.java
Sun Oct 18 11:30:37 2009
@@ -21,13 +21,9 @@
package org.apache.james.smtpserver.protocol;
-import java.util.List;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.james.smtpserver.protocol.core.CoreCmdHandlerLoader;
-import org.apache.james.smtpserver.protocol.core.CoreMessageHookLoader;
-import org.apache.james.smtpserver.protocol.core.DataLineMessageHookHandler;
import org.apache.james.socket.shared.AbstractHandlerChain;
import org.apache.james.socket.shared.LogEnabled;
@@ -38,7 +34,7 @@
public class SMTPHandlerChain extends AbstractHandlerChain implements
LogEnabled{
/** This log is the fall back shared by all instances */
- private static final Log FALLBACK_LOG =
LogFactory.getLog(DataLineMessageHookHandler.class);
+ private static final Log FALLBACK_LOG =
LogFactory.getLog(SMTPHandlerChain.class);
/** Non context specific log should only be used when no context specific
log is available */
private Log log = FALLBACK_LOG;
@@ -53,30 +49,6 @@
}
/**
- * loads the various handlers from the configuration
- *
- * @param configuration
- * configuration under handlerchain node
- */
- @SuppressWarnings("unchecked")
- protected void loadHandlers() throws Exception {
- super.loadHandlers();
- if (commonsConf != null) {
- List<org.apache.commons.configuration.Configuration> children =
commonsConf.configurationsAt("handler");
- ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
-
- // load the configured handlers
- if (children != null && children.isEmpty() == false) {
-
- // load core messageHandlers
- loadClass(classLoader, CoreMessageHookLoader.class.getName(),
- addHandler(CoreMessageHookLoader.class.getName()));
-
- }
- }
- }
-
- /**
* @see org.apache.james.socket.shared.AbstractHandlerChain#getLog()
*/
protected Log getLog() {
Modified:
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/core/CoreCmdHandlerLoader.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/core/CoreCmdHandlerLoader.java?rev=826411&r1=826410&r2=826411&view=diff
==============================================================================
---
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/core/CoreCmdHandlerLoader.java
(original)
+++
james/server/trunk/smtpserver-function/src/main/java/org/apache/james/smtpserver/protocol/core/CoreCmdHandlerLoader.java
Sun Oct 18 11:30:37 2009
@@ -56,6 +56,11 @@
private final String SENDERAUTHIDENTITYVERIFICATION =
SenderAuthIdentifyVerificationRcptHook.class.getName();
private final String DATALINEMESSAGEHOOKHANDLER =
DataLineMessageHookHandler.class.getName();
private final String STARTTLSHANDLER = StartTlsCmdHandler.class.getName();
+
+ // MessageHooks
+ private final String ADDDEFAULTATTRIBUTESHANDLER =
AddDefaultAttributesMessageHook.class.getName();
+ private final String SENDMAILHANDLER = SendMailHandler.class.getName();
+
private final List<String> commands = new LinkedList<String>();
public CoreCmdHandlerLoader() {
@@ -80,7 +85,11 @@
commands.add(SENDERAUTHIDENTITYVERIFICATION);
commands.add(POSTMASTERABUSEHOOK);
commands.add(DATALINEMESSAGEHOOKHANDLER);
- commands.add(STARTTLSHANDLER); }
+ commands.add(STARTTLSHANDLER);
+ // Add the default messageHooks
+ commands.add(ADDDEFAULTATTRIBUTESHANDLER);
+ commands.add(SENDMAILHANDLER);
+ }
/**
* @see org.apache.james.socket.shared.HandlersPackage#getHandlers()
*/
Modified:
james/server/trunk/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractHandlerChain.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractHandlerChain.java?rev=826411&r1=826410&r2=826411&view=diff
==============================================================================
---
james/server/trunk/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractHandlerChain.java
(original)
+++
james/server/trunk/socket-shared-library/src/main/java/org/apache/james/socket/shared/AbstractHandlerChain.java
Sun Oct 18 11:30:37 2009
@@ -32,19 +32,20 @@
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.logging.Log;
import org.apache.james.api.kernel.LoaderService;
+import org.apache.james.socket.configuration.Configurable;
/**
* Abstract class which HandlerChains should extend
*
*
*/
-public abstract class AbstractHandlerChain {
+public abstract class AbstractHandlerChain implements LogEnabled, Configurable
{
protected final List<Object> handlers = new LinkedList<Object>();
/** Loads instances */
private LoaderService loader;
- protected HierarchicalConfiguration commonsConf;
+ protected Configuration commonsConf;
/**
@@ -175,8 +176,8 @@
*/
@SuppressWarnings("unchecked")
protected void loadHandlers() throws Exception {
- if (commonsConf != null) {
- List<org.apache.commons.configuration.Configuration> children =
commonsConf.configurationsAt("handler");
+ if (commonsConf != null && commonsConf instanceof
HierarchicalConfiguration) {
+ List<org.apache.commons.configuration.Configuration> children =
((HierarchicalConfiguration) commonsConf).configurationsAt("handler");
ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
// load the configured handlers
@@ -209,12 +210,15 @@
* Configure the chain
*
* @param commonsConf
- * @throws Exception
*/
- public void configure(HierarchicalConfiguration commonsConf) throws
Exception {
+ public void configure(Configuration commonsConf) throws
ConfigurationException {
this.commonsConf = commonsConf;
- loadHandlers();
- wireExtensibleHandlers();
+ try {
+ loadHandlers();
+ wireExtensibleHandlers();
+ } catch (Exception e) {
+ throw new ConfigurationException(e.getMessage(), e);
+ }
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]