Author: norman
Date: Sat Feb 20 19:33:51 2010
New Revision: 912200

URL: http://svn.apache.org/viewvc?rev=912200&view=rev
Log:
More work on POC for camel usage (nearly complete) (JAMES-971)

Modified:
    
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
    
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
    
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
    
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
    
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java

Modified: 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
 (original)
+++ 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailProcessorRouteBuilder.java
 Sat Feb 20 19:33:51 2010
@@ -82,7 +82,7 @@
             String processorName = processorConf.getString("[...@name]");
 
             // Check which route we need to go
-            ChoiceDefinition processorDef = 
spoolDef.when(header(MailMessage.STATE).isEqualTo(processorName));
+            ChoiceDefinition processorDef = 
spoolDef.when(header(MailMessage.STATE).isEqualTo(processorName)).setHeader("currentProcessor",
 constant(processorName));
             
             final List<HierarchicalConfiguration> mailetConfs = 
processorConf.configurationsAt("mailet");
             // Loop through the mailet configuration, load
@@ -169,10 +169,11 @@
               
 
             }
+            processorDef.to("spool://spoolRepository");
         }
 
         // just use a mock for now
-        spoolDef.end().to("mock:end");
+        spoolDef.end();
         
     }
 

Modified: 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
 (original)
+++ 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MailetProcessor.java
 Sat Feb 20 19:33:51 2010
@@ -22,14 +22,13 @@
      * @see org.apache.camel.Processor#process(org.apache.camel.Exchange)
      */
     public void process(Exchange exchange) throws Exception {
-        //System.out.println("Call mailet " + mailet);
         try {
             mailet.service((Mail)exchange.getIn().getBody());
         } catch (Exception e) {
             e.printStackTrace();
             throw e;
         }
-        
+                
     }
 
 }

Modified: 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
 (original)
+++ 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/MatcherSplitter.java
 Sat Feb 20 19:33:51 2010
@@ -28,6 +28,7 @@
 
 import org.apache.camel.Body;
 import org.apache.camel.Header;
+import org.apache.camel.InOnly;
 import org.apache.james.core.MailImpl;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
@@ -39,6 +40,7 @@
  * 
  *
  */
+...@inonly
 public class MatcherSplitter {
     
     public final static String MATCHER_MATCHED_HEADER = "matched";
@@ -54,8 +56,8 @@
      * @return mailMessageList
      * @throws MessagingException
      */
+    @SuppressWarnings("unchecked")
     public List<MailMessage> split(@Header(MATCHER_HEADER) Matcher 
matcher,@Body Mail mail) throws MessagingException {
-        //System.out.println("Call matcher " + matcher);
         List<MailMessage> mails = new ArrayList<MailMessage>();
         boolean fullMatch = false;
         
@@ -91,7 +93,7 @@
         MailMessage mailMsg = new MailMessage(mail);
         if (fullMatch) {
             // Set a header because the matcher matched. This can be used 
later when processing the route
-            mailMsg.setHeader("match", true);
+            mailMsg.setHeader(MATCHER_MATCHED_HEADER, true);
         }
         mails.add(mailMsg);
         

Modified: 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
 (original)
+++ 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolConsumer.java
 Sat Feb 20 19:33:51 2010
@@ -20,6 +20,7 @@
 package org.apache.james.transport.camel;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
 import org.apache.camel.impl.DefaultConsumer;
 import org.apache.camel.impl.DefaultEndpoint;
@@ -41,8 +42,7 @@
 
 
     public Exchange receive() {
-        Exchange ex = getEndpoint().createExchange();
-
+        Exchange ex = getEndpoint().createExchange();        
         Mail mail;
         try {
             mail = spool.accept();

Modified: 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java?rev=912200&r1=912199&r2=912200&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
 (original)
+++ 
james/server/trunk/spoolmanager/src/main/java/org/apache/james/transport/camel/SpoolProducer.java
 Sat Feb 20 19:33:51 2010
@@ -42,7 +42,12 @@
     public void process(Exchange exchange) throws Exception {
         Exchange newExchange = getEndpoint().createExchange(exchange);
         Mail mail = (Mail) newExchange.getIn().getBody();
-        spool.store(mail);        
+        try {
+            spool.store(mail);   
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw e;
+        }
         ExchangeHelper.copyResults(exchange, newExchange);
     }
 



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

Reply via email to