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/11/01 16:50:36 UTC

svn commit: r1404651 - in /camel/trunk/camel-core/src/main/java/org/apache/camel: component/bean/BeanInfo.java language/simple/ast/SimpleFunctionExpression.java

Author: davsclaus
Date: Thu Nov  1 15:50:35 2012
New Revision: 1404651

URL: http://svn.apache.org/viewvc?rev=1404651&view=rev
Log:
Fixed CS

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java?rev=1404651&r1=1404650&r2=1404651&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanInfo.java Thu Nov  1 15:50:35 2012
@@ -514,7 +514,7 @@ public class BeanInfo {
     }
 
     private MethodInfo chooseMethodWithMatchingParameters(Exchange exchange, String parameters, Collection<MethodInfo> operationList)
-            throws AmbiguousMethodCallException {
+        throws AmbiguousMethodCallException {
         // we have hardcoded parameters so need to match that with the given operations
         Iterator<?> it = ObjectHelper.createIterator(parameters);
         int count = 0;

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java?rev=1404651&r1=1404650&r2=1404651&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java Thu Nov  1 15:50:35 2012
@@ -62,42 +62,14 @@ public class SimpleFunctionExpression ex
             return answer;
         }
 
-        // bodyAs
-        String remainder = ifStartsWithReturnRemainder("bodyAs", function);
-        if (remainder != null) {
-            String type = ObjectHelper.between(remainder, "(", ")");
-            if (type == null) {
-                throw new SimpleParserException("Valid syntax: ${bodyAs(type)} was: " + function, token.getIndex());
-            }
-            type = StringHelper.removeQuotes(type);
-            return ExpressionBuilder.bodyExpression(type);
-        }
-        // mandatoryBodyAs
-        remainder = ifStartsWithReturnRemainder("mandatoryBodyAs", function);
-        if (remainder != null) {
-            String type = ObjectHelper.between(remainder, "(", ")");
-            if (type == null) {
-                throw new SimpleParserException("Valid syntax: ${mandatoryBodyAs(type)} was: " + function, token.getIndex());
-            }
-            type = StringHelper.removeQuotes(type);
-            return ExpressionBuilder.mandatoryBodyExpression(type);
-        }
-
-        // body OGNL
-        remainder = ifStartsWithReturnRemainder("body", function);
-        if (remainder == null) {
-            remainder = ifStartsWithReturnRemainder("in.body", function);
-        }
-        if (remainder != null) {
-            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
-            if (invalid) {
-                throw new SimpleParserException("Valid syntax: ${body.OGNL} was: " + function, token.getIndex());
-            }
-            return ExpressionBuilder.bodyOgnlExpression(remainder);
+        // body and headers first
+        answer = createSimpleExpressionBodyOrHeader(function, strict);
+        if (answer != null) {
+            return answer;
         }
 
         // camelContext OGNL
-        remainder = ifStartsWithReturnRemainder("camelContext", function);
+        String remainder = ifStartsWithReturnRemainder("camelContext", function);
         if (remainder != null) {
             boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
             if (invalid) {
@@ -116,74 +88,6 @@ public class SimpleFunctionExpression ex
             return ExpressionBuilder.exchangeExceptionOgnlExpression(remainder);
         }
 
-        // headerAs
-        remainder = ifStartsWithReturnRemainder("headerAs", function);
-        if (remainder != null) {
-            String keyAndType = ObjectHelper.between(remainder, "(", ")");
-            if (keyAndType == null) {
-                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
-            }
-
-            String key = ObjectHelper.before(keyAndType, ",");
-            String type = ObjectHelper.after(keyAndType, ",");
-            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
-                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
-            }
-            key = StringHelper.removeQuotes(key);
-            type = StringHelper.removeQuotes(type);
-            return ExpressionBuilder.headerExpression(key, type);
-        }
-
-        // headers function
-        if ("in.headers".equals(function) || "headers".equals(function)) {
-            return ExpressionBuilder.headersExpression();
-        }
-
-        // in header function
-        remainder = ifStartsWithReturnRemainder("in.headers", function);
-        if (remainder == null) {
-            remainder = ifStartsWithReturnRemainder("in.header", function);
-        }
-        if (remainder == null) {
-            remainder = ifStartsWithReturnRemainder("headers", function);
-        }
-        if (remainder == null) {
-            remainder = ifStartsWithReturnRemainder("header", function);
-        }
-        if (remainder != null) {
-            // remove leading character (dot or ?)
-            if (remainder.startsWith(".") || remainder.startsWith("?")) {
-                remainder = remainder.substring(1);
-            }
-            // remove starting and ending brackets
-            if (remainder.startsWith("[") && remainder.endsWith("]")) {
-                remainder = remainder.substring(1, remainder.length() - 1);
-            }
-
-            // validate syntax
-            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
-            if (invalid) {
-                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
-            }
-
-            if (OgnlHelper.isValidOgnlExpression(remainder)) {
-                // ognl based header
-                return ExpressionBuilder.headersOgnlExpression(remainder);
-            } else {
-                // regular header
-                return ExpressionBuilder.headerExpression(remainder);
-            }
-        }
-
-        // out header function
-        remainder = ifStartsWithReturnRemainder("out.header.", function);
-        if (remainder == null) {
-            remainder = ifStartsWithReturnRemainder("out.headers.", function);
-        }
-        if (remainder != null) {
-            return ExpressionBuilder.outHeaderExpression(remainder);
-        }
-
         // property
         remainder = ifStartsWithReturnRemainder("property", function);
         if (remainder != null) {
@@ -216,8 +120,6 @@ public class SimpleFunctionExpression ex
         if (remainder != null) {
             return ExpressionBuilder.systemPropertyExpression(remainder);
         }
-
-        // system property
         remainder = ifStartsWithReturnRemainder("sysenv.", function);
         if (remainder != null) {
             return ExpressionBuilder.systemEnvironmentExpression(remainder);
@@ -280,6 +182,112 @@ public class SimpleFunctionExpression ex
         }
     }
 
+    private Expression createSimpleExpressionBodyOrHeader(String function, boolean strict) {
+        // bodyAs
+        String remainder = ifStartsWithReturnRemainder("bodyAs", function);
+        if (remainder != null) {
+            String type = ObjectHelper.between(remainder, "(", ")");
+            if (type == null) {
+                throw new SimpleParserException("Valid syntax: ${bodyAs(type)} was: " + function, token.getIndex());
+            }
+            type = StringHelper.removeQuotes(type);
+            return ExpressionBuilder.bodyExpression(type);
+        }
+        // mandatoryBodyAs
+        remainder = ifStartsWithReturnRemainder("mandatoryBodyAs", function);
+        if (remainder != null) {
+            String type = ObjectHelper.between(remainder, "(", ")");
+            if (type == null) {
+                throw new SimpleParserException("Valid syntax: ${mandatoryBodyAs(type)} was: " + function, token.getIndex());
+            }
+            type = StringHelper.removeQuotes(type);
+            return ExpressionBuilder.mandatoryBodyExpression(type);
+        }
+
+        // body OGNL
+        remainder = ifStartsWithReturnRemainder("body", function);
+        if (remainder == null) {
+            remainder = ifStartsWithReturnRemainder("in.body", function);
+        }
+        if (remainder != null) {
+            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
+            if (invalid) {
+                throw new SimpleParserException("Valid syntax: ${body.OGNL} was: " + function, token.getIndex());
+            }
+            return ExpressionBuilder.bodyOgnlExpression(remainder);
+        }
+
+        // headerAs
+        remainder = ifStartsWithReturnRemainder("headerAs", function);
+        if (remainder != null) {
+            String keyAndType = ObjectHelper.between(remainder, "(", ")");
+            if (keyAndType == null) {
+                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
+            }
+
+            String key = ObjectHelper.before(keyAndType, ",");
+            String type = ObjectHelper.after(keyAndType, ",");
+            if (ObjectHelper.isEmpty(key) || ObjectHelper.isEmpty(type)) {
+                throw new SimpleParserException("Valid syntax: ${headerAs(key, type)} was: " + function, token.getIndex());
+            }
+            key = StringHelper.removeQuotes(key);
+            type = StringHelper.removeQuotes(type);
+            return ExpressionBuilder.headerExpression(key, type);
+        }
+
+        // headers function
+        if ("in.headers".equals(function) || "headers".equals(function)) {
+            return ExpressionBuilder.headersExpression();
+        }
+
+        // in header function
+        remainder = ifStartsWithReturnRemainder("in.headers", function);
+        if (remainder == null) {
+            remainder = ifStartsWithReturnRemainder("in.header", function);
+        }
+        if (remainder == null) {
+            remainder = ifStartsWithReturnRemainder("headers", function);
+        }
+        if (remainder == null) {
+            remainder = ifStartsWithReturnRemainder("header", function);
+        }
+        if (remainder != null) {
+            // remove leading character (dot or ?)
+            if (remainder.startsWith(".") || remainder.startsWith("?")) {
+                remainder = remainder.substring(1);
+            }
+            // remove starting and ending brackets
+            if (remainder.startsWith("[") && remainder.endsWith("]")) {
+                remainder = remainder.substring(1, remainder.length() - 1);
+            }
+
+            // validate syntax
+            boolean invalid = OgnlHelper.isInvalidValidOgnlExpression(remainder);
+            if (invalid) {
+                throw new SimpleParserException("Valid syntax: ${header.name[key]} was: " + function, token.getIndex());
+            }
+
+            if (OgnlHelper.isValidOgnlExpression(remainder)) {
+                // ognl based header
+                return ExpressionBuilder.headersOgnlExpression(remainder);
+            } else {
+                // regular header
+                return ExpressionBuilder.headerExpression(remainder);
+            }
+        }
+
+        // out header function
+        remainder = ifStartsWithReturnRemainder("out.header.", function);
+        if (remainder == null) {
+            remainder = ifStartsWithReturnRemainder("out.headers.", function);
+        }
+        if (remainder != null) {
+            return ExpressionBuilder.outHeaderExpression(remainder);
+        }
+
+        return null;
+    }
+
     private Expression createSimpleExpressionDirectly(String expression) {
         if (ObjectHelper.isEqualToAny(expression, "body", "in.body")) {
             return ExpressionBuilder.bodyExpression();