Author: norman
Date: Wed Dec 22 11:51:28 2010
New Revision: 1051862

URL: http://svn.apache.org/viewvc?rev=1051862&view=rev
Log:
AbstractCompositeMailProcessor should not tie the dev to MailetContainer

Modified:
    
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeMailProcessor.java
    
james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeMailProcessor.java

Modified: 
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeMailProcessor.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeMailProcessor.java?rev=1051862&r1=1051861&r2=1051862&view=diff
==============================================================================
--- 
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeMailProcessor.java
 (original)
+++ 
james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeMailProcessor.java
 Wed Dec 22 11:51:28 2010
@@ -26,7 +26,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.james.mailetcontainer.api.CompositeMailProcessor;
-import org.apache.james.mailetcontainer.api.MailetContainer;
+import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.MailetLoader;
 import org.apache.james.mailetcontainer.api.MatcherLoader;
 import org.apache.james.mailetcontainer.lib.AbstractCompositeMailProcessor;
@@ -89,19 +89,22 @@ public class CamelCompositeMailProcessor
         return camelContext;
     }
 
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.camel.CamelContextAware#setCamelContext(org.apache.camel.CamelContext)
-        */
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see 
org.apache.camel.CamelContextAware#setCamelContext(org.apache.camel.
+     * CamelContext)
+     */
     public void setCamelContext(CamelContext camelContext) {
         this.camelContext = camelContext;
     }
 
     /*
      * (non-Javadoc)
-     * @see 
org.apache.james.mailetcontainer.lib.AbstractMailetProcessorList#createMailetContainer(java.lang.String,
 org.apache.commons.configuration.HierarchicalConfiguration)
+     * @see 
org.apache.james.mailetcontainer.lib.AbstractCompositeMailProcessor#createMailProcessor(java.lang.String,
 org.apache.commons.configuration.HierarchicalConfiguration)
      */
-    protected MailetContainer createMailetContainer(String name, 
HierarchicalConfiguration config) throws Exception{
+    protected MailProcessor createMailProcessor(String name, 
HierarchicalConfiguration config) throws Exception{
         CamelMailetContainer container = new CamelMailetContainer();
         container.setLog(logger);
         container.setCamelContext(camelContext);
@@ -117,8 +120,11 @@ public class CamelCompositeMailProcessor
     public void dispose() {
         String names[] = getProcessorNames();
         for (int i = 0; i < names.length; i++) {
-            CamelMailetContainer container = (CamelMailetContainer) 
getProcessor(names[i]);
-            container.destroy();
+            MailProcessor processor = getProcessor(names[i]);
+            if (processor instanceof CamelMailetContainer) {
+                ((CamelMailetContainer) processor).destroy();
+            }
+
         }
         super.dispose();
     }

Modified: 
james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeMailProcessor.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeMailProcessor.java?rev=1051862&r1=1051861&r2=1051862&view=diff
==============================================================================
--- 
james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeMailProcessor.java
 (original)
+++ 
james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeMailProcessor.java
 Wed Dec 22 11:51:28 2010
@@ -38,7 +38,6 @@ import org.apache.james.lifecycle.api.Lo
 import org.apache.james.mailetcontainer.api.MailProcessor;
 import org.apache.james.mailetcontainer.api.CompositeMailProcessor;
 import org.apache.james.mailetcontainer.api.CompositeMailProcessorListener;
-import org.apache.james.mailetcontainer.api.MailetContainer;
 import org.apache.james.mailetcontainer.api.jmx.ProcessorManagementMBean;
 import 
org.apache.james.mailetcontainer.lib.jmx.JMXCompositeMailProcessorListener;
 import org.apache.mailet.Mail;
@@ -198,7 +197,7 @@ public abstract class AbstractCompositeM
             final HierarchicalConfiguration processorConf = 
processorConfs.get(i);
             String processorName = processorConf.getString("[...@name]");
             
-            processors.put(processorName, createMailetContainer(processorName, 
processorConf));
+            processors.put(processorName, createMailProcessor(processorName, 
processorConf));
         }
         
         
@@ -220,13 +219,13 @@ public abstract class AbstractCompositeM
     }
     
     /**
-     * Create a new {...@link MailetContainer} 
+     * Create a new {...@link MailProcessor} 
      * 
      * @param name
      * @param config
      * @return container
      * @throws Exception
      */
-    protected abstract MailetContainer createMailetContainer(String name, 
HierarchicalConfiguration config) throws Exception;
+    protected abstract MailProcessor createMailProcessor(String name, 
HierarchicalConfiguration config) throws Exception;
     
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to