You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2009/05/15 16:52:04 UTC

svn commit: r775170 - in /camel/branches/camel-1.x: ./ camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/test/java/org/apache/camel/processor/

Author: ningjiang
Date: Fri May 15 14:52:04 2009
New Revision: 775170

URL: http://svn.apache.org/viewvc?rev=775170&view=rev
Log:
Merged revisions 775123 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk

........
  r775123 | ningjiang | 2009-05-15 21:10:31 +0800 (Fri, 15 May 2009) | 1 line
  
  CAMEL-1618 added the DSL of BeanExpression for the non registry beans
........

Added:
    camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java
      - copied, changed from r775123, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java
Modified:
    camel/branches/camel-1.x/   (props changed)
    camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/Builder.java
    camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
    camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java

Propchange: camel/branches/camel-1.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri May 15 14:52:04 2009
@@ -1 +1 @@
-/camel/trunk:736980,739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269,746872,746895,746962,747258,747678-747704,748392,748436,748821,749563-749564,749574,749628-749629,749936,749956,750017,750334,750396,750761,750796,752068,752117,752418,752751-752755,752764-752773,752956,753087,753101,753175,755136,755487,756313,756348,756870,756939,757636,757693,757743,757865,758539,758563,758600,758617,758692,758990,759362,759453,759887,759931,760003,760890,760909,760937,761194,761536,761583,761607,762047,762633,762650,762935,763095,763484,763551,765154,765686,765729,765743,765824,766016,766289,766584,766588,766590,766602,766673,767403,767824,768342,769239,769346,769368,769434,770172,770906,771303,773193,773446,773781,774192,774383,774658-774659
+/camel/trunk:736980,739733,739904,740251,740295,740306,740596,740663,741848,742231,742705,742739,742854,742856,742898,742906,743613,743762,743773,743920,743959-743960,744123,745105,745367,745541,745751,745826,745978,746269,746872,746895,746962,747258,747678-747704,748392,748436,748821,749563-749564,749574,749628-749629,749936,749956,750017,750334,750396,750761,750796,752068,752117,752418,752751-752755,752764-752773,752956,753087,753101,753175,755136,755487,756313,756348,756870,756939,757636,757693,757743,757865,758539,758563,758600,758617,758692,758990,759362,759453,759887,759931,760003,760890,760909,760937,761194,761536,761583,761607,762047,762633,762650,762935,763095,763484,763551,765154,765686,765729,765743,765824,766016,766289,766584,766588,766590,766602,766673,767403,767824,768342,769239,769346,769368,769434,770172,770906,771303,773193,773446,773781,774192,774383,774658-774659,775123

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

Modified: camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/Builder.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/Builder.java?rev=775170&r1=775169&r2=775170&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/Builder.java (original)
+++ camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/Builder.java Fri May 15 14:52:04 2009
@@ -36,6 +36,44 @@
     }
 
     /**
+     * Returns a <a href="http://camel.apache.org/bean-language.html">bean expression</a>
+     * value builder
+     *
+     * @param beanRef  reference to bean to lookup in the Registry
+     * @return the builder
+     */
+    public static ValueBuilder bean(String beanRef) {
+        Expression expression = ExpressionBuilder.beanExpression(beanRef);
+        return new ValueBuilder(expression);
+    }
+
+    /**
+     * Returns a <a href="http://camel.apache.org/bean-language.html">bean expression</a>
+     * value builder
+     *
+     * @param beanRef  reference to bean to lookup in the Registry
+     * @param method   name of method to invoke
+     * @return the builder
+     */
+    public static ValueBuilder bean(String beanRef, String method) {
+        Expression expression = ExpressionBuilder.beanExpression(beanRef, method);
+        return new ValueBuilder(expression);
+    }
+    
+    /**
+     * Returns a <a href="http://camel.apache.org/bean-language.html">bean expression</a>
+     * value builder
+     *
+     * @param beanType the bean class which will be invoked
+     * @param method   name of method to invoke
+     * @return the builder
+     */
+    public static ValueBuilder bean(Class beanType, String method) {
+        Expression expression = ExpressionBuilder.beanExpression(beanType, method);
+        return new ValueBuilder(expression);
+    }
+
+    /**
      * Returns a constant expression
      */
     public static <E extends Exchange> ValueBuilder<E> constant(Object value) {

Modified: camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java?rev=775170&r1=775169&r2=775170&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java (original)
+++ camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/BuilderSupport.java Fri May 15 14:52:04 2009
@@ -133,7 +133,30 @@
     }
 
     /**
-     * Returns an expression value builder that replaces all occurrences of the
+     * Returns a <a href="http://camel.apache.org/bean-language.html">bean expression</a>
+     * value builder
+     *
+     * @param beanRef  reference to bean to lookup in the Registry
+     * @return the builder
+     */
+    public ValueBuilder bean(String beanRef) {
+        return Builder.bean(beanRef, null);
+    }
+    
+    /**
+     * Returns a <a href="http://camel.apache.org/bean-language.html">bean expression</a>
+     * value builder
+     *
+     * @param beanType  the bean's class
+     * @param methodName  the method name that will be invoked
+     * @return the builder
+     */
+    public ValueBuilder bean(Class<?> beanType, String methodName) {
+        return Builder.bean(beanType, methodName);
+    }
+
+    /**
+     * Returns an expression value builder that replaces all occurrences of the 
      * regular expression with the given replacement
      */
     public ValueBuilder regexReplaceAll(Expression content, String regex, String replacement) {

Modified: camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java?rev=775170&r1=775169&r2=775170&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java (original)
+++ camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/builder/ExpressionBuilder.java Fri May 15 14:52:04 2009
@@ -33,6 +33,7 @@
 import org.apache.camel.language.bean.BeanLanguage;
 import org.apache.camel.language.simple.SimpleLanguage;
 
+
 /**
  * A helper class for working with <a href="http://activemq.apache.org/camel/expression.html">expressions</a>.
  *
@@ -723,18 +724,14 @@
     }
 
     public static <E extends Exchange> Expression<E> beanExpression(final String bean) {
-        return new Expression<E>() {
-            public Object evaluate(E exchange) {
-                // must call evalute to return the nested langauge evaluate when evaluating
-                // stacked expressions
-                return BeanLanguage.bean(bean).evaluate(exchange);
-            }
-
-            @Override
-            public String toString() {
-                return "bean(" + bean + ")";
-            }
-        };
+        return BeanLanguage.bean(bean);
+    }
+    
+    public static <E extends Exchange> Expression<E> beanExpression(final String bean, final String method) {
+        return BeanLanguage.bean(bean, method);
+    }
+    public static Expression beanExpression(final Class beanType, final String methodName) {
+        return BeanLanguage.bean(beanType, methodName);        
     }
 
 }

Copied: camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java (from r775123, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java)
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java?p2=camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java&r1=775123&r2=775170&rev=775170&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java (original)
+++ camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/processor/ChoiceWhenBeanExpressionTest.java Fri May 15 14:52:04 2009
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.processor;
 
-import static org.apache.camel.builder.PredicateBuilder.not;
 import org.apache.camel.Body;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;