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 no...@apache.org on 2010/12/22 20:48:10 UTC

svn commit: r1052049 - in /james/server/trunk: container-spring/src/main/config/james/ container-spring/src/main/config/james/context/ mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/api/jmx/ mailetcontainer-camel/src/main/java/org/a...

Author: norman
Date: Wed Dec 22 19:48:09 2010
New Revision: 1052049

URL: http://svn.apache.org/viewvc?rev=1052049&view=rev
Log:
Some more renaming to make sure the class names explain what they do. Also alter the mailetcontainer.xml to be easier to understand. I think I'm done now with mailercontainer stuff

Added:
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
      - copied, changed from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeProcessor.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
      - copied, changed from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractMailetProcessor.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateCompositeProcessorListener.java
      - copied, changed from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXCompositeMailProcessorListener.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateMailetProcessorListener.java
      - copied, changed from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXMailetContainerListener.java
Removed:
    james/server/trunk/mailetcontainer-api/src/main/java/org/apache/james/mailetcontainer/api/jmx/ProcessorManagementMBean.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeProcessor.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractMailetProcessor.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXCompositeMailProcessorListener.java
    james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXMailetContainerListener.java
Modified:
    james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml
    james/server/trunk/container-spring/src/main/config/james/mailetcontainer.xml
    james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeProcessor.java
    james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailetProcessor.java
    james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelProcessor.java
    james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/MatcherSplitter.java

Modified: james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml?rev=1052049&r1=1052048&r2=1052049&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml (original)
+++ james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml Wed Dec 22 19:48:09 2010
@@ -101,7 +101,7 @@
     <bean id="configurationProvider" class="org.apache.james.container.spring.provider.configuration.ConfigurationProviderImpl">
         <property name="configurationMappings">
             <map>
-                <entry key="mailprocessor" value="mailetcontainer.states"/>
+                <entry key="mailprocessor" value="mailetcontainer.processors"/>
                 <entry key="mailspooler" value="mailetcontainer.spooler"/>
                 <entry key="mailetcontext" value="mailetcontainer.context"/>
              </map>

Modified: james/server/trunk/container-spring/src/main/config/james/mailetcontainer.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/mailetcontainer.xml?rev=1052049&r1=1052048&r2=1052049&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/mailetcontainer.xml (original)
+++ james/server/trunk/container-spring/src/main/config/james/mailetcontainer.xml Wed Dec 22 19:48:09 2010
@@ -30,8 +30,8 @@
     <threads> 20 </threads>
   </spooler>
     
-  <states>
-    <state name="root" enableJmx="true">
+  <processors>
+    <processor state="root" enableJmx="true">
       <mailet match="All" class="PostmasterAlias"/>
       <mailet match="RelayLimit=30" class="Null"/>
       <mailet match="SMTPAuthSuccessful" class="ToProcessor">
@@ -44,9 +44,9 @@
        <mailet match="All" class="ToProcessor">
         <processor>transport</processor>
        </mailet>
-     </state>
+     </processor>
 
-    <state name="transport" enableJmx="true">
+    <processor state="transport" enableJmx="true">
       <mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
         <name>X-UserIsAuth</name>
         <value>true</value>
@@ -73,36 +73,36 @@
         <sendpartial>true</sendpartial>
         <bounceProcessor>bounces</bounceProcessor>
       </mailet>
-    </state>
+    </processor>
 
-    <state name="error" enableJmx="true">
+    <processor state="error" enableJmx="true">
       <mailet match="All" class="ToRepository">
         <repositoryPath>file://var/mail/error/</repositoryPath>
       </mailet>
-    </state>
+    </processor>
 
-    <state name="spam" enableJmx="true">
+    <processor state="spam" enableJmx="true">
       <mailet match="All" class="ToRepository">
         <repositoryPath>file://var/mail/spam/</repositoryPath>
       </mailet>
-    </state>
+    </processor>
 
-    <state name="local-address-error" enableJmx="true">
+    <processor state="local-address-error" enableJmx="true">
       <mailet match="All" class="ToRepository">
         <repositoryPath>file://var/mail/address-error/</repositoryPath>
       </mailet>
-    </state>
+    </processor>
 
-    <state name="relay-denied" enableJmx="true">
+    <processor state="relay-denied" enableJmx="true">
       <mailet match="All" class="ToRepository">
         <repositoryPath>file://var/mail/relay-denied/</repositoryPath>
       </mailet>
-    </state>
+    </processor>
 
-    <state name="bounces" enableJmx="true">
+    <processor state="bounces" enableJmx="true">
       <mailet match="All" class="DSNBounce">
         <passThrough>false</passThrough>
       </mailet>
-    </state>
-  </states>
+    </processor>
+  </processors>
 </mailetcontainer>

Modified: james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeProcessor.java?rev=1052049&r1=1052048&r2=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeProcessor.java (original)
+++ james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelCompositeProcessor.java Wed Dec 22 19:48:09 2010
@@ -28,7 +28,7 @@ import org.apache.commons.configuration.
 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.AbstractCompositeProcessor;
+import org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor;
 import org.apache.james.mailetcontainer.lib.matchers.CompositeMatcher;
 import org.apache.mailet.Mail;
 import org.apache.mailet.Mailet;
@@ -44,7 +44,7 @@ import org.apache.mailet.Matcher;
  * See JAMES-948 
  * 
  */
-public class CamelCompositeProcessor extends AbstractCompositeProcessor implements CamelContextAware{
+public class CamelCompositeProcessor extends AbstractStateCompositeProcessor implements CamelContextAware{
 
     private CamelContext camelContext;
     private MailetContext mailetContext;
@@ -114,19 +114,6 @@ public class CamelCompositeProcessor ext
         container.init();
         return container;
     }
-
-    @Override
-    public void dispose() {
-        String names[] = getProcessorNames();
-        for (int i = 0; i < names.length; i++) {
-            MailProcessor processor = getProcessor(names[i]);
-            if (processor instanceof CamelMailetProcessor) {
-                ((CamelMailetProcessor) processor).destroy();
-            }
-
-        }
-        super.dispose();
-    }
  
 
 }

Modified: james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailetProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailetProcessor.java?rev=1052049&r1=1052048&r2=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailetProcessor.java (original)
+++ james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelMailetProcessor.java Wed Dec 22 19:48:09 2010
@@ -33,7 +33,7 @@ import org.apache.camel.builder.RouteBui
 import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
 import org.apache.commons.logging.Log;
-import org.apache.james.mailetcontainer.lib.AbstractMailetProcessor;
+import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor;
 import org.apache.james.mailetcontainer.lib.MailetConfigImpl;
 import org.apache.james.mailetcontainer.lib.MatcherMailetPair;
 import org.apache.mailet.Mail;
@@ -43,10 +43,10 @@ import org.apache.mailet.Matcher;
 
 
 /**
- * {@link AbstractMailetProcessor} implementation which use Camel DSL for the {@link Matcher} / {@link Mailet} routing
+ * {@link AbstractStateMailetProcessor} implementation which use Camel DSL for the {@link Matcher} / {@link Mailet} routing
  *
  */
-public class CamelMailetProcessor extends AbstractMailetProcessor implements CamelContextAware{
+public class CamelMailetProcessor extends AbstractStateMailetProcessor implements CamelContextAware{
 
     private CamelContext context;
 
@@ -97,7 +97,7 @@ public class CamelMailetProcessor extend
      * @return endPoint
      */
     protected String getEndpoint() {
-        return "direct:processor." + getName();
+        return "direct:processor." + getState();
     }
     
     
@@ -140,10 +140,10 @@ public class CamelMailetProcessor extend
             Processor disposeProcessor = new DisposeProcessor();
             Processor removePropsProcessor = new RemovePropertiesProcessor();
             Processor completeProcessor = new CompleteProcessor();
-            String name = getName();
+            String state = getState();
             Log logger = getLogger();
 
-            RouteDefinition processorDef = from(getEndpoint()).routeId(name).inOnly()
+            RouteDefinition processorDef = from(getEndpoint()).routeId(state).inOnly()
             // store the logger in properties
             .setProperty(MatcherSplitter.LOGGER_PROPERTY, constant(getLogger()));
             
@@ -171,7 +171,7 @@ public class CamelMailetProcessor extend
                     
                     .choice().when(new MailStateEquals(Mail.GHOST)).process(disposeProcessor).stop().otherwise().process(removePropsProcessor).end()
 
-                    .choice().when(new MailStateNotEquals(name)).process(completeProcessor).stop().end();
+                    .choice().when(new MailStateNotEquals(state)).process(completeProcessor).stop().end();
             }
                 
           
@@ -187,7 +187,7 @@ public class CamelMailetProcessor extend
              
                 // when the mail state did not change till yet ( the end of the route) we need to call the TerminatingMailet to
                 // make sure we don't fall into a endless loop
-                .when(new MailStateEquals(name)).process(terminatingMailetProcessor).stop()
+                .when(new MailStateEquals(state)).process(terminatingMailetProcessor).stop()
                 
                    
                 // dispose when needed
@@ -214,7 +214,7 @@ public class CamelMailetProcessor extend
         private final class CompleteProcessor implements Processor {
             
             public void process(Exchange ex) throws Exception {
-                getLogger().debug("End of mailetcontainer" + getName() + " reached");
+                getLogger().debug("End of mailetcontainer" + getState() + " reached");
                 ex.setProperty(Exchange.ROUTE_STOP, true);
             }
         }

Modified: james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelProcessor.java?rev=1052049&r1=1052048&r2=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelProcessor.java (original)
+++ james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/CamelProcessor.java Wed Dec 22 19:48:09 2010
@@ -26,7 +26,7 @@ import javax.mail.MessagingException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.commons.logging.Log;
-import org.apache.james.mailetcontainer.lib.AbstractMailetProcessor.MailetProcessorListener;
+import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.MailetProcessorListener;
 import org.apache.james.mailetcontainer.lib.MailetConfigImpl;
 import org.apache.james.mailetcontainer.lib.ProcessorUtil;
 import org.apache.mailet.Mail;
@@ -48,7 +48,7 @@ public class CamelProcessor implements P
      * 
      * @param mailet
      */
-    public CamelProcessor(Mailet mailet, Log logger, CamelMailetProcessor container) {
+    public CamelProcessor(Mailet mailet, Log logger, CamelMailetProcessor processor) {
         this.mailet = mailet;
         this.logger = logger;
         this.processor = processor;

Modified: james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/MatcherSplitter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/MatcherSplitter.java?rev=1052049&r1=1052048&r2=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/MatcherSplitter.java (original)
+++ james/server/trunk/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/camel/MatcherSplitter.java Wed Dec 22 19:48:09 2010
@@ -33,7 +33,7 @@ import org.apache.camel.InOnly;
 import org.apache.camel.Property;
 import org.apache.commons.logging.Log;
 import org.apache.james.core.MailImpl;
-import org.apache.james.mailetcontainer.lib.AbstractMailetProcessor.MailetProcessorListener;
+import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.MailetProcessorListener;
 import org.apache.james.mailetcontainer.lib.ProcessorUtil;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;

Copied: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java (from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeProcessor.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java?p2=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java&p1=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeProcessor.java&r1=1052035&r2=1052049&rev=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractCompositeProcessor.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java Wed Dec 22 19:48:09 2010
@@ -36,8 +36,7 @@ import org.apache.james.lifecycle.api.Co
 import org.apache.james.lifecycle.api.LifecycleUtil;
 import org.apache.james.lifecycle.api.LogEnabled;
 import org.apache.james.mailetcontainer.api.MailProcessor;
-import org.apache.james.mailetcontainer.api.jmx.ProcessorManagementMBean;
-import org.apache.james.mailetcontainer.lib.jmx.JMXCompositeMailProcessorListener;
+import org.apache.james.mailetcontainer.lib.jmx.JMXStateCompositeProcessorListener;
 import org.apache.mailet.Mail;
 
 /**
@@ -45,14 +44,14 @@ import org.apache.mailet.Mail;
  * 
  *
  */
-public abstract class AbstractCompositeProcessor implements MailProcessor, Configurable, LogEnabled, ProcessorManagementMBean{
+public abstract class AbstractStateCompositeProcessor implements MailProcessor, Configurable, LogEnabled{
 
     private List<CompositeProcessorListener> listeners = Collections.synchronizedList(new ArrayList<CompositeProcessorListener>());
     private final Map<String,MailProcessor> processors = new HashMap<String,MailProcessor>();
     protected Log logger;
     protected HierarchicalConfiguration config;
 
-    private JMXCompositeMailProcessorListener jmxListener;
+    private JMXStateCompositeProcessorListener jmxListener;
     private boolean enableJmx = true;
     
     /*
@@ -130,22 +129,19 @@ public abstract class AbstractCompositeP
     }
 
     /**
-     * Return a {@link MailProcessor} for a given name
+     * Return a {@link MailProcessor} for a given state
      * 
      * @param name
      * @return processor
      */
-    public MailProcessor getProcessor(String name) {
-        return processors.get(name);
+    public MailProcessor getProcessor(String state) {
+        return processors.get(state);
     }
 
 
 
-    /*
-     * (non-Javadoc)
-     * @see org.apache.james.mailetcontainer.MailProcessorList#getProcessorNames()
-     */
-    public String[] getProcessorNames() {
+
+    public String[] getProcessorStates() {
         return processors.keySet().toArray(new String[processors.size()]);
     }
 
@@ -180,10 +176,10 @@ public abstract class AbstractCompositeP
     @SuppressWarnings("unchecked")
     @PostConstruct
     public void init() throws Exception {
-        List<HierarchicalConfiguration> processorConfs = config.configurationsAt("state");
+        List<HierarchicalConfiguration> processorConfs = config.configurationsAt("processor");
         for (int i = 0; i < processorConfs.size(); i++) {
             final HierarchicalConfiguration processorConf = processorConfs.get(i);
-            String processorName = processorConf.getString("[@name]");
+            String processorName = processorConf.getString("[@state]");
             
             // if the "child" processor has no jmx config we just use the one of the composite
             if (processorConf.containsKey("[@enableJmx]") == false) {
@@ -194,7 +190,7 @@ public abstract class AbstractCompositeP
         
         
         if (enableJmx) {
-            this.jmxListener = new JMXCompositeMailProcessorListener(this);
+            this.jmxListener = new JMXStateCompositeProcessorListener(this);
             addListener(jmxListener);
         }
         
@@ -204,7 +200,15 @@ public abstract class AbstractCompositeP
     
     @PreDestroy
     public void dispose() {
+        String names[] = getProcessorStates();
+        for (int i = 0; i < names.length; i++) {
+            MailProcessor processor = getProcessor(names[i]);
+            if (processor instanceof AbstractStateMailetProcessor) {
+                ((AbstractStateMailetProcessor) processor).destroy();
+            }
 
+        }
+        
         if (jmxListener != null) {
             jmxListener.dispose();
         }
@@ -213,12 +217,12 @@ public abstract class AbstractCompositeP
     /**
      * Create a new {@link MailProcessor} 
      * 
-     * @param name
+     * @param state
      * @param config
      * @return container
      * @throws Exception
      */
-    protected abstract MailProcessor createMailProcessor(String name, HierarchicalConfiguration config) throws Exception;
+    protected abstract MailProcessor createMailProcessor(String state, HierarchicalConfiguration config) throws Exception;
     
     
     /**

Copied: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java (from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractMailetProcessor.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java?p2=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java&p1=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractMailetProcessor.java&r1=1052035&r2=1052049&rev=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractMailetProcessor.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java Wed Dec 22 19:48:09 2010
@@ -39,7 +39,7 @@ import org.apache.james.lifecycle.api.Lo
 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.jmx.JMXMailetContainerListener;
+import org.apache.james.mailetcontainer.lib.jmx.JMXStateMailetProcessorListener;
 import org.apache.james.mailetcontainer.lib.matchers.CompositeMatcher;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
@@ -55,18 +55,18 @@ import org.apache.mailet.base.MatcherInv
  * Abstract base class for {@link MailProcessor} implementations which want to process {@link Mail} via {@link Matcher} and {@link Mailet}
  *
  */
-public abstract class AbstractMailetProcessor implements MailProcessor, Configurable, LogEnabled{
+public abstract class AbstractStateMailetProcessor implements MailProcessor, Configurable, LogEnabled{
 
     private MailetContext mailetContext;
     private MatcherLoader matcherLoader;
     private List<MailetProcessorListener> listeners = Collections.synchronizedList(new ArrayList<MailetProcessorListener>());
-    private String processorName;
-    private JMXMailetContainerListener jmxListener;
+    private JMXStateMailetProcessorListener jmxListener;
     private boolean enableJmx = true;
     private Log logger;
     private HierarchicalConfiguration config;
     private MailetLoader mailetLoader;
     private List<MatcherMailetPair> pairs = new ArrayList<MatcherMailetPair>();
+    private String state;
 
     
     @Resource(name = "matcherloader")
@@ -99,9 +99,9 @@ public abstract class AbstractMailetProc
      * @see org.apache.james.lifecycle.api.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
      */
     public void configure(HierarchicalConfiguration config) throws ConfigurationException {
-        this.processorName = config.getString("[@name]", null);
-        if (processorName == null) throw new ConfigurationException("Processor name must be configured");
-        if (processorName.equals(Mail.GHOST)) throw new ConfigurationException("ProcessorName of " + Mail.GHOST + " is reserved for internal use, choose a different name");
+        this.state = config.getString("[@state]", null);
+        if (state == null) throw new ConfigurationException("Processor state attribute must be configured");
+        if (state.equals(Mail.GHOST)) throw new ConfigurationException("Processor state of " + Mail.GHOST + " is reserved for internal use, choose a different one");
 
         this.enableJmx = config.getBoolean("[@enableJmx]", true);
         this.config = config;
@@ -120,7 +120,7 @@ public abstract class AbstractMailetProc
         setupRouting(pairs);
         
         if (enableJmx) {
-            this.jmxListener = new JMXMailetContainerListener(processorName, this);
+            this.jmxListener = new JMXStateMailetProcessorListener(state, this);
             addListener(jmxListener);
         }
     }
@@ -158,8 +158,8 @@ public abstract class AbstractMailetProc
         return logger;
     }
     
-    protected String getName() {
-        return processorName;
+    protected String getState() {
+        return state;
     }
 
     /**
@@ -257,7 +257,7 @@ public abstract class AbstractMailetProc
      * @throws NotCompliantMBeanException
      */
     @SuppressWarnings("unchecked")
-    private List<Matcher> loadCompositeMatchers(String processorName, Map<String,Matcher> compMap, List<HierarchicalConfiguration> compMatcherConfs) throws ConfigurationException, MessagingException {
+    private List<Matcher> loadCompositeMatchers(String state, Map<String,Matcher> compMap, List<HierarchicalConfiguration> compMatcherConfs) throws ConfigurationException, MessagingException {
         List<Matcher> matchers = new ArrayList<Matcher>();
 
         for (int j= 0 ; j < compMatcherConfs.size(); j++) {
@@ -275,7 +275,7 @@ public abstract class AbstractMailetProc
                 if (matcher instanceof CompositeMatcher) {
                     CompositeMatcher compMatcher = (CompositeMatcher) matcher;
                     
-                    List<Matcher> childMatcher = loadCompositeMatchers(processorName, compMap,c.configurationsAt("matcher"));
+                    List<Matcher> childMatcher = loadCompositeMatchers(state, compMap,c.configurationsAt("matcher"));
                     for (int i = 0 ; i < childMatcher.size(); i++) {
                         compMatcher.add(childMatcher.get(i));
                     }
@@ -285,7 +285,7 @@ public abstract class AbstractMailetProc
                 if (m instanceof CompositeMatcher) {
                     CompositeMatcher compMatcher = (CompositeMatcher) m;
                     
-                    List<Matcher> childMatcher = loadCompositeMatchers(processorName, compMap,c.configurationsAt("matcher"));
+                    List<Matcher> childMatcher = loadCompositeMatchers(state, compMap,c.configurationsAt("matcher"));
                     for (int i = 0 ; i < childMatcher.size(); i++) {
                         compMatcher.add(childMatcher.get(i));
                     }
@@ -296,7 +296,7 @@ public abstract class AbstractMailetProc
             matchers.add(matcher);
             if (compName != null) {
                 // check if there is already a composite Matcher with the name registered in the processor
-                if (compMap.containsKey(compName)) throw new ConfigurationException("CompositeMatcher with name " + compName + " is already defined in processor " + processorName);
+                if (compMap.containsKey(compName)) throw new ConfigurationException("CompositeMatcher with name " + compName + " is already defined in processor " + state);
                 compMap.put(compName, matcher);
             }
         }
@@ -308,7 +308,7 @@ public abstract class AbstractMailetProc
         
         // load composite matchers if there are any
         Map<String,Matcher> compositeMatchers = new HashMap<String, Matcher>();
-        loadCompositeMatchers(getName(), compositeMatchers, config.configurationsAt("matcher"));
+        loadCompositeMatchers(getState(), compositeMatchers, config.configurationsAt("matcher"));
         
         
         final List<HierarchicalConfiguration> mailetConfs = config.configurationsAt("mailet");

Copied: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateCompositeProcessorListener.java (from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXCompositeMailProcessorListener.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateCompositeProcessorListener.java?p2=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateCompositeProcessorListener.java&p1=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXCompositeMailProcessorListener.java&r1=1052035&r2=1052049&rev=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXCompositeMailProcessorListener.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateCompositeProcessorListener.java Wed Dec 22 19:48:09 2010
@@ -32,21 +32,21 @@ import javax.management.ObjectName;
 
 import org.apache.james.lifecycle.api.Disposable;
 import org.apache.james.mailetcontainer.api.MailProcessor;
-import org.apache.james.mailetcontainer.lib.AbstractCompositeProcessor;
-import org.apache.james.mailetcontainer.lib.AbstractCompositeProcessor.CompositeProcessorListener;
+import org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor;
+import org.apache.james.mailetcontainer.lib.AbstractStateCompositeProcessor.CompositeProcessorListener;
 
 /**
  * {@link CompositeProcessorListener} implementation which register MBeans for its child {@link MailProcessor} 
  * and keep track of the stats
  *
  */
-public class JMXCompositeMailProcessorListener implements CompositeProcessorListener, Disposable{
+public class JMXStateCompositeProcessorListener implements CompositeProcessorListener, Disposable{
 
-    private AbstractCompositeProcessor mList;
+    private AbstractStateCompositeProcessor mList;
     private MBeanServer mbeanserver;
     private List<ObjectName> mbeans = new ArrayList<ObjectName>();
     private Map<MailProcessor, MailProcessorManagement> mMap = new HashMap<MailProcessor, MailProcessorManagement>();
-    public JMXCompositeMailProcessorListener(AbstractCompositeProcessor mList) throws MalformedObjectNameException, JMException {
+    public JMXStateCompositeProcessorListener(AbstractStateCompositeProcessor mList) throws MalformedObjectNameException, JMException {
         this.mList = mList;
         
         mbeanserver = ManagementFactory.getPlatformMBeanServer();
@@ -82,7 +82,7 @@ public class JMXCompositeMailProcessorLi
        
         String baseObjectName = "org.apache.james:type=component,name=processor,";
 
-        String[] processorNames = mList.getProcessorNames();
+        String[] processorNames = mList.getProcessorStates();
         for (int i = 0; i < processorNames.length; i++) {
             String processorName = processorNames[i];
             registerProcessorMBean(baseObjectName, processorName);

Copied: james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateMailetProcessorListener.java (from r1052035, james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXMailetContainerListener.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateMailetProcessorListener.java?p2=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateMailetProcessorListener.java&p1=james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXMailetContainerListener.java&r1=1052035&r2=1052049&rev=1052049&view=diff
==============================================================================
--- james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXMailetContainerListener.java (original)
+++ james/server/trunk/mailetcontainer-library/src/main/java/org/apache/james/mailetcontainer/lib/jmx/JMXStateMailetProcessorListener.java Wed Dec 22 19:48:09 2010
@@ -33,8 +33,8 @@ import javax.management.MalformedObjectN
 import javax.management.ObjectName;
 
 import org.apache.james.lifecycle.api.Disposable;
-import org.apache.james.mailetcontainer.lib.AbstractMailetProcessor;
-import org.apache.james.mailetcontainer.lib.AbstractMailetProcessor.MailetProcessorListener;
+import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor;
+import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.MailetProcessorListener;
 import org.apache.james.mailetcontainer.lib.matchers.CompositeMatcher;
 import org.apache.mailet.MailAddress;
 import org.apache.mailet.Mailet;
@@ -46,9 +46,9 @@ import org.apache.mailet.Matcher;
  * 
  *
  */
-public class JMXMailetContainerListener implements MailetProcessorListener, Disposable{
+public class JMXStateMailetProcessorListener implements MailetProcessorListener, Disposable{
 
-    private AbstractMailetProcessor processor;
+    private AbstractStateMailetProcessor processor;
     private MBeanServer mbeanserver;
     private List<ObjectName> mbeans = new ArrayList<ObjectName>();
     private Map<Mailet, MailetManagement> mailetMap = new HashMap<Mailet, MailetManagement>();
@@ -56,7 +56,7 @@ public class JMXMailetContainerListener 
 
     private String name;
 
-    public JMXMailetContainerListener(String name, AbstractMailetProcessor processor) throws MalformedObjectNameException, JMException {
+    public JMXStateMailetProcessorListener(String name, AbstractStateMailetProcessor processor) throws MalformedObjectNameException, JMException {
         this.processor = processor;
         this.name = name;
         



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org