You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/08/28 10:31:32 UTC

svn commit: r570342 - in /activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder: Builder.java ExpressionBuilder.java

Author: jstrachan
Date: Tue Aug 28 01:31:31 2007
New Revision: 570342

URL: http://svn.apache.org/viewvc?rev=570342&view=rev
Log:
Patch applied from Nicky Sandhu:  http://www.nabble.com/out-body-expressions-tf4337934s22882.html#a12356586

Modified:
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java
    activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java?rev=570342&r1=570341&r2=570342&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/Builder.java Tue Aug 28 01:31:31 2007
@@ -73,7 +73,7 @@
      * exchange
      */
     public static <E extends Exchange> ValueBuilder<E> outBody() {
-        Expression<E> expression = ExpressionBuilder.bodyExpression();
+        Expression<E> expression = ExpressionBuilder.outBodyExpression();
         return new ValueBuilder<E>(expression);
     }
 
@@ -82,7 +82,7 @@
      * specific type
      */
     public static <E extends Exchange, T> ValueBuilder<E> outBody(Class<T> type) {
-        Expression<E> expression = ExpressionBuilder.<E, T> bodyExpression(type);
+        Expression<E> expression = ExpressionBuilder.<E, T> outBodyExpression(type);
         return new ValueBuilder<E>(expression);
     }
 

Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java?rev=570342&r1=570341&r2=570342&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java Tue Aug 28 01:31:31 2007
@@ -246,6 +246,22 @@
     }
 
     /**
+     * Returns the expression for the exchanges outbound message body converted
+     * to the given type
+     */
+    public static <E extends Exchange, T> Expression<E> outBodyExpression(final Class<T> type) {
+        return new Expression<E>() {
+            public Object evaluate(E exchange) {
+                return exchange.getOut().getBody(type);
+            }
+
+            @Override
+            public String toString() {
+                return "outBodyAs[" + type.getName() + "]";
+            }
+        };
+    }
+    /**
      * Returns the expression for the exchange
      */
     public static <E extends Exchange> Expression<E> exchangeExpression() {