You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2012/01/27 14:19:50 UTC

svn commit: r1236675 - in /camel/branches/camel-2.8.x: ./ camel-core/src/main/java/org/apache/camel/model/ camel-core/src/test/java/org/apache/camel/processor/ components/camel-spring/src/test/resources/org/apache/camel/spring/processor/

Author: davsclaus
Date: Fri Jan 27 13:19:49 2012
New Revision: 1236675

URL: http://svn.apache.org/viewvc?rev=1236675&view=rev
Log:
CAMEL-4947: Fixed delayer in XML DSL not working with method call expression.

Added:
    camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/MyDelayCalcBean.java
      - copied unchanged from r1236672, camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/processor/MyDelayCalcBean.java
Modified:
    camel/branches/camel-2.8.x/   (props changed)
    camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/DelayDefinition.java
    camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java
    camel/branches/camel-2.8.x/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/delayer.xml

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jan 27 13:19:49 2012
@@ -1,2 +1,2 @@
-/camel/branches/camel-2.9.x:1227549,1228229,1229567,1234054
-/camel/trunk:1226860,1227540,1228223,1229565,1234043
+/camel/branches/camel-2.9.x:1227549,1228229,1229567,1234054,1236672
+/camel/trunk:1226860,1227540,1228223,1229565,1234043,1236667

Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/DelayDefinition.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/DelayDefinition.java?rev=1236675&r1=1236674&r2=1236675&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/DelayDefinition.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/model/DelayDefinition.java Fri Jan 27 13:19:49 2012
@@ -104,10 +104,8 @@ public class DelayDefinition extends Exp
     private Expression createAbsoluteTimeDelayExpression(RouteContext routeContext) {
         ExpressionDefinition expr = getExpression();
         if (expr != null) {
-            if (ObjectHelper.isNotEmpty(expr.getExpression()) || expr.getExpressionValue() != null) {
-                return expr.createExpression(routeContext);
-            } 
-        } 
+            return expr.createExpression(routeContext);
+        }
         return null;
     }
 

Modified: camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java?rev=1236675&r1=1236674&r2=1236675&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/processor/DelayerTest.java Fri Jan 27 13:19:49 2012
@@ -25,6 +25,8 @@ import org.apache.camel.component.mock.M
  */
 public class DelayerTest extends ContextTestSupport {
 
+    private MyDelayCalcBean bean = new MyDelayCalcBean();
+
     public void testSendingMessageGetsDelayed() throws Exception {
         MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
 
@@ -50,6 +52,15 @@ public class DelayerTest extends Context
         resultEndpoint.assertIsSatisfied();
     }
 
+    public void testDelayBean() throws Exception {
+        MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
+        resultEndpoint.expectedMessageCount(1);
+        // should at least take 1 sec to complete
+        resultEndpoint.setMinimumResultWaitTime(900);
+        template.sendBody("seda:c", "<hello>world!</hello>");
+        resultEndpoint.assertIsSatisfied();
+    }
+
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
@@ -60,6 +71,10 @@ public class DelayerTest extends Context
                 // START SNIPPET: ex2
                 from("seda:b").delay(1000).to("mock:result");
                 // END SNIPPET: ex2
+
+                // START SNIPPET: ex3
+                from("seda:c").delay().method(bean, "delayMe").to("mock:result");
+                // END SNIPPET: ex3
             }
         };
     }

Modified: camel/branches/camel-2.8.x/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/delayer.xml
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/delayer.xml?rev=1236675&r1=1236674&r2=1236675&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/delayer.xml (original)
+++ camel/branches/camel-2.8.x/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/delayer.xml Fri Jan 27 13:19:49 2012
@@ -23,6 +23,8 @@
     ">
 
     <!-- START SNIPPET: example -->
+    <bean id="myDelayBean" class="org.apache.camel.processor.MyDelayCalcBean"/>
+
     <camelContext xmlns="http://camel.apache.org/schema/spring">
         <route>
             <from uri="seda:a"/>
@@ -38,6 +40,13 @@
             </delay>
             <to uri="mock:result"/>
         </route>
+        <route>
+            <from uri="seda:c"/>
+            <delay>
+                <method ref="myDelayBean" method="delayMe"/>
+            </delay>
+            <to uri="mock:result"/>
+        </route>
     </camelContext>
     <!-- END SNIPPET: example -->