Author: davsclaus
Date: Thu Mar 12 10:43:06 2009
New Revision: 752829

URL: http://svn.apache.org/viewvc?rev=752829&view=rev
Log:
Polished code. Removed unusued class. Removed package tangle. Removed annoying 
2nd method on Predicate.

Added:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java
   (contents, props changed)
      - copied, changed from r752801, 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/ExpressionEvaluationException.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
   (contents, props changed)
      - copied, changed from r752801, 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/IllegalSyntaxException.java
Removed:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/PredicateSupport.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/ExpressionEvaluationException.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/IllegalSyntaxException.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/Predicate.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FileExpressionBuilder.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateSupport.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/TestSupport.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
    
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java
    
camel/trunk/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java
    
camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java
    
camel/trunk/components/camel-mvel/src/main/java/org/apache/camel/language/mvel/MvelExpression.java
    
camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java
    
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/ScalaPredicate.scala
    
camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java

Copied: 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java
 (from r752801, 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/ExpressionEvaluationException.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/language/ExpressionEvaluationException.java&r1=752801&r2=752829&rev=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/ExpressionEvaluationException.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java
 Thu Mar 12 10:43:06 2009
@@ -14,11 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.language;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Expression;
-import org.apache.camel.RuntimeCamelException;
+package org.apache.camel;
 
 /**
  * An exception thrown if evaluation of the expression failed.

Propchange: 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionEvaluationException.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
 (from r752801, 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/IllegalSyntaxException.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java?p2=camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java&p1=camel/trunk/camel-core/src/main/java/org/apache/camel/language/IllegalSyntaxException.java&r1=752801&r2=752829&rev=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/IllegalSyntaxException.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
 Thu Mar 12 10:43:06 2009
@@ -14,27 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.language;
-
-import org.apache.camel.RuntimeCamelException;
-import org.apache.camel.spi.Language;
+package org.apache.camel;
 
 /**
- * An exception thrown if some illegal syntax is rejected by a specific 
language
+ * An exception thrown if the expression contains illegal syntax.
  *
  * @version $Revision$
  */
-public class IllegalSyntaxException extends RuntimeCamelException {
-    private final Language language;
+public class ExpressionIllegalSyntaxException extends RuntimeCamelException {
     private final String expression;
 
-    public IllegalSyntaxException(Language language, String expression) {
-        this(language, expression, null);
+    public ExpressionIllegalSyntaxException(String expression) {
+        this(expression, null);
     }
 
-    public IllegalSyntaxException(Language language, String expression, 
Throwable cause) {
-        super("Illegal syntax for language: " + language + ". Expression: " + 
expression, cause);
-        this.language = language;
+    public ExpressionIllegalSyntaxException(String expression, Throwable 
cause) {
+        super("Illegal syntax: " + expression, cause);
         this.expression = expression;
     }
 
@@ -42,7 +37,4 @@
         return expression;
     }
 
-    public Language getLanguage() {
-        return language;
-    }
 }

Propchange: 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
camel/trunk/camel-core/src/main/java/org/apache/camel/ExpressionIllegalSyntaxException.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/Predicate.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/Predicate.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/Predicate.java 
(original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/Predicate.java Thu 
Mar 12 10:43:06 2009
@@ -38,15 +38,4 @@
      */
     boolean matches(Exchange exchange);
 
-    /**
-     * Allows this predicate to be used nicely in testing to generate a nicely
-     * formatted exception and message if this predicate does not match for the
-     * given exchange.
-     * 
-     * @param text the description to use in the exception message
-     * @param exchange the exchange to evaluate the expression on
-     * @throws AssertionError if the predicate does not match
-     */
-    void assertMatches(String text, Exchange exchange) throws AssertionError;
-
 }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FileExpressionBuilder.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FileExpressionBuilder.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FileExpressionBuilder.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/FileExpressionBuilder.java
 Thu Mar 12 10:43:06 2009
@@ -22,10 +22,9 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
+import org.apache.camel.ExpressionIllegalSyntaxException;
 import org.apache.camel.impl.ExpressionAdapter;
-import org.apache.camel.language.IllegalSyntaxException;
-import org.apache.camel.language.constant.ConstantLanguage;
-import org.apache.camel.language.simple.SimpleLanguage;
+import org.apache.camel.spi.Language;
 
 /**
  * A helper class for working with <a 
href="http://camel.apache.org/expression.html";>expressions</a> based
@@ -236,22 +235,24 @@
         };
     }
 
-    public static Expression simpleExpression(final String simple) {
+    public static Expression simpleExpression(final String expression) {
         return new ExpressionAdapter() {
             public Object evaluate(Exchange exchange) {
                 // must call evaluate to return the nested language evaluate 
when evaluating
                 // stacked expressions
                 try {
-                    return SimpleLanguage.simple(simple).evaluate(exchange);
-                } catch (IllegalSyntaxException e) {
+                    Language simple = 
exchange.getContext().resolveLanguage("simple");
+                    return 
simple.createExpression(expression).evaluate(exchange);
+                } catch (ExpressionIllegalSyntaxException e) {
                     // fallback to constant so end users can enter a fixed 
filename
-                    return 
ConstantLanguage.constant(simple).evaluate(exchange);
+                    Language constant = 
exchange.getContext().resolveLanguage("constant");
+                    return 
constant.createExpression(expression).evaluate(exchange);
                 }
             }
 
             @Override
             public String toString() {
-                return "simple(" + simple + ")";
+                return "simple(" + expression + ")";
             }
         };
     }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateBuilder.java
 Thu Mar 12 10:43:06 2009
@@ -247,12 +247,6 @@
             public String toString() {
                 return expression + " instanceof " + type.getCanonicalName();
             }
-
-            @Override
-            protected String assertionFailureMessage(Exchange exchange) {
-                return super.assertionFailureMessage(exchange)
-                    + " for <" + expression.evaluate(exchange) + ">";
-            }
         };
     }
 
@@ -294,12 +288,6 @@
             public String toString() {
                 return expression + ".matches('" + pattern + "')";
             }
-
-            @Override
-            protected String assertionFailureMessage(Exchange exchange) {
-                return super.assertionFailureMessage(exchange) + " for <" + 
expression.evaluate(exchange) + ">";
-            }
-
         };
     }
 }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateSupport.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateSupport.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateSupport.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/PredicateSupport.java
 Thu Mar 12 10:43:06 2009
@@ -26,13 +26,14 @@
  */
 public abstract class PredicateSupport implements Predicate {
 
-    public void assertMatches(String text, Exchange exchange) {
-        if (!matches(exchange)) {
-            throw new AssertionError(assertionFailureMessage(exchange)  + " on 
" + exchange);
+    public static void assertMatches(Predicate predicate, String text, 
Exchange exchange) {
+        if (!predicate.matches(exchange)) {
+            if (text == null) {
+                throw new AssertionError(predicate + " on " + exchange);
+            } else {
+                throw new AssertionError(text + predicate + " on " + exchange);
+            }
         }
-    }
 
-    protected String assertionFailureMessage(Exchange exchange) {
-        return toString();
     }
 }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/AssertionClause.java
 Thu Mar 12 10:43:06 2009
@@ -24,6 +24,7 @@
 import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.ExpressionClause;
+import org.apache.camel.builder.PredicateSupport;
 import org.apache.camel.builder.ValueBuilder;
 import static org.apache.camel.builder.ExpressionBuilder.bodyExpression;
 import static org.apache.camel.builder.ExpressionBuilder.headerExpression;
@@ -111,7 +112,7 @@
      */
     protected void applyAssertionOn(MockEndpoint endpoint, int index, Exchange 
exchange) {
         for (Predicate predicate : predicates) {
-            predicate.assertMatches(endpoint.getEndpointUri() + " ", exchange);
+            PredicateSupport.assertMatches(predicate, 
endpoint.getEndpointUri() + " ", exchange);
         }
     }
 

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
 Thu Mar 12 10:43:06 2009
@@ -17,8 +17,8 @@
 package org.apache.camel.language.simple;
 
 import org.apache.camel.Expression;
+import org.apache.camel.ExpressionIllegalSyntaxException;
 import org.apache.camel.builder.FileExpressionBuilder;
-import org.apache.camel.language.IllegalSyntaxException;
 import org.apache.camel.util.ObjectHelper;
 
 /**
@@ -94,7 +94,7 @@
         if (remainder != null) {
             String[] parts = remainder.split(":");
             if (parts.length != 2) {
-                throw new IllegalSyntaxException(this, expression + " 
${date:command:pattern} is the correct syntax.");
+                throw new ExpressionIllegalSyntaxException("Valid syntax: 
${date:command:pattern} was: " + expression);
             }
             String command = parts[0];
             String pattern = parts[1];

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java
 Thu Mar 12 10:43:06 2009
@@ -17,8 +17,8 @@
 package org.apache.camel.language.simple;
 
 import org.apache.camel.Expression;
+import org.apache.camel.ExpressionIllegalSyntaxException;
 import org.apache.camel.builder.ExpressionBuilder;
-import org.apache.camel.language.IllegalSyntaxException;
 import org.apache.camel.util.ObjectHelper;
 
 /**
@@ -104,7 +104,7 @@
         if (remainder != null) {
             String[] parts = remainder.split(":");
             if (parts.length != 2) {
-                throw new IllegalSyntaxException(this, expression + " 
${date:command:pattern} is the correct syntax.");
+                throw new ExpressionIllegalSyntaxException("Valid syntax: 
${date:command:pattern} was: " + expression);
             }
             String command = parts[0];
             String pattern = parts[1];
@@ -117,7 +117,7 @@
             return ExpressionBuilder.beanExpression(remainder);
         }
 
-        throw new IllegalSyntaxException(this, expression);
+        throw new ExpressionIllegalSyntaxException(expression);
     }
 
 }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/TestSupport.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/TestSupport.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/TestSupport.java 
(original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/TestSupport.java Thu 
Mar 12 10:43:06 2009
@@ -22,6 +22,7 @@
 
 import junit.framework.TestCase;
 import org.apache.camel.builder.Builder;
+import org.apache.camel.builder.PredicateSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.builder.ValueBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
@@ -227,7 +228,7 @@
      */
     protected void assertPredicateDoesNotMatch(Predicate predicate, Exchange 
exchange) {
         try {
-            predicate.assertMatches("Predicate should match: ", exchange);
+            PredicateSupport.assertMatches(predicate, "Predicate should match: 
", exchange);
         } catch (AssertionError e) {
             log.debug("Caught expected assertion error: " + e);
         }
@@ -237,9 +238,9 @@
     /**
      * Asserts that the predicate returns the expected value on the exchange
      */
-    protected boolean assertPredicate(Predicate predicate, Exchange exchange, 
boolean expected) {
+    protected boolean assertPredicate(final Predicate predicate, Exchange 
exchange, boolean expected) {
         if (expected) {
-            predicate.assertMatches("Predicate failed: ", exchange);
+            PredicateSupport.assertMatches(predicate, "Predicate failed: ", 
exchange);
         }
         boolean value = predicate.matches(exchange);
 
@@ -407,20 +408,15 @@
      * as Window, Mac and Linux.
      */
     public static void assertDirectoryEquals(String message, String expected, 
String actual) {
-        String expectedPath = expected;
-        String actualPath = actual;
         // must use single / as path separators
-        if (expected.indexOf("\\") >= 0) {
-            expectedPath = expected.replaceAll("\\\\", "/");
-        }
-        if (actual.indexOf("\\") >= 0) {
-            actualPath = actual.replaceAll("\\\\", "/");            
-        }
-        
+        String expectedPath = expected.replace('\\', '/');
+        String actualPath = actual.replace('\\', '/');
+
         if (message != null) {
             assertEquals(message, expectedPath, actualPath);
         } else {
             assertEquals(expectedPath, actualPath);
         }
     }
+
 }

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/component/dataset/CustomDataSetTest.java
 Thu Mar 12 10:43:06 2009
@@ -24,6 +24,7 @@
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.ExpressionBuilder;
 import org.apache.camel.builder.PredicateBuilder;
+import org.apache.camel.builder.PredicateSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.builder.xml.XPathBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
@@ -40,7 +41,7 @@
             // lets compare the XPath result
             Predicate predicate = PredicateBuilder.isEqualTo(expression, 
ExpressionBuilder.constantExpression(index));
             log.debug("evaluating predicate: " + predicate);
-            predicate.assertMatches("Actual: " + actual, actual);
+            PredicateSupport.assertMatches(predicate, "Actual: " + actual, 
actual);
         }
 
         protected Object createMessageBody(long messageIndex) {

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java 
(original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/language/SimpleTest.java 
Thu Mar 12 10:43:06 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.language;
 
 import org.apache.camel.LanguageTestSupport;
+import org.apache.camel.ExpressionIllegalSyntaxException;
 
 /**
  * @version $Revision$
@@ -27,7 +28,7 @@
         try {
             assertExpression("Hello World", "Hello World");
             fail("Should have thrown an Exception");
-        } catch (IllegalSyntaxException e) {
+        } catch (ExpressionIllegalSyntaxException e) {
             // constants is not supported
         }
     }

Modified: 
camel/trunk/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java
 (original)
+++ 
camel/trunk/components/camel-jxpath/src/main/java/org/apache/camel/language/jxpath/JXPathExpression.java
 Thu Mar 12 10:43:06 2009
@@ -18,8 +18,8 @@
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
+import org.apache.camel.ExpressionEvaluationException;
 import org.apache.camel.impl.ExpressionSupport;
-import org.apache.camel.language.ExpressionEvaluationException;
 import org.apache.commons.jxpath.CompiledExpression;
 import org.apache.commons.jxpath.JXPathContext;
 import org.apache.commons.jxpath.JXPathException;
@@ -80,4 +80,9 @@
         }
         return compiledExpression;
     }
+
+    @Override
+    public String toString() {
+        return "JXpath[" + expression + "]";
+    }
 }

Modified: 
camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java
 (original)
+++ 
camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathTest.java
 Thu Mar 12 10:43:06 2009
@@ -16,8 +16,8 @@
  */
 package org.apache.camel.language.jxpath;
 
+import org.apache.camel.ExpressionEvaluationException;
 import org.apache.camel.LanguageTestSupport;
-import org.apache.camel.language.ExpressionEvaluationException;
 
 /**
  * Test for {...@link JXPathExpression} and {...@link JXPathLanguage}
@@ -50,15 +50,8 @@
     public void testExceptions() throws Exception {
         assertInvalidExpression("....@.");
         assertInvalidExpression("ins/body");
-        // assertInvalidPredicate("in/body");
     }
 
-    /*
-     * @Override protected void populateExchange(Exchange exchange) { Message 
in =
-     * exchange.getIn(); in.setHeader("foo", "abc"); in.setHeader("bar", 123);
-     * in.setBody(body); }
-     */
-
     private void assertInvalidExpression(String expression) {
         try {
             assertExpression(expression, null);

Modified: 
camel/trunk/components/camel-mvel/src/main/java/org/apache/camel/language/mvel/MvelExpression.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-mvel/src/main/java/org/apache/camel/language/mvel/MvelExpression.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/components/camel-mvel/src/main/java/org/apache/camel/language/mvel/MvelExpression.java
 (original)
+++ 
camel/trunk/components/camel-mvel/src/main/java/org/apache/camel/language/mvel/MvelExpression.java
 Thu Mar 12 10:43:06 2009
@@ -19,15 +19,15 @@
 import java.io.Serializable;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.ExpressionEvaluationException;
+import org.apache.camel.ExpressionIllegalSyntaxException;
 import org.apache.camel.impl.ExpressionSupport;
-import org.apache.camel.language.ExpressionEvaluationException;
-import org.apache.camel.language.IllegalSyntaxException;
 
 public class MvelExpression extends ExpressionSupport {
 
     private final String expressionString;
     private final Class<?> type;
-    private Serializable compiled;
+    private final Serializable compiled;
 
     public MvelExpression(MvelLanguage language, String expressionString, 
Class<?> type) {
         this.expressionString = expressionString;
@@ -35,7 +35,7 @@
         try {
             this.compiled = org.mvel.MVEL.compileExpression(expressionString);
         } catch (Exception e) {
-            throw new IllegalSyntaxException(language, expressionString, e);
+            throw new ExpressionIllegalSyntaxException(expressionString, e);
         }
     }
 
@@ -54,4 +54,9 @@
     protected String assertionFailureMessage(Exchange exchange) {
         return expressionString;
     }
+
+    @Override
+    public String toString() {
+        return "Mvel[" + expressionString + "]";
+    }
 }

Modified: 
camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java
 (original)
+++ 
camel/trunk/components/camel-ognl/src/main/java/org/apache/camel/language/ognl/OgnlExpression.java
 Thu Mar 12 10:43:06 2009
@@ -21,9 +21,9 @@
 import ognl.OgnlException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
+import org.apache.camel.ExpressionEvaluationException;
+import org.apache.camel.ExpressionIllegalSyntaxException;
 import org.apache.camel.impl.ExpressionSupport;
-import org.apache.camel.language.ExpressionEvaluationException;
-import org.apache.camel.language.IllegalSyntaxException;
 
 /**
  * An <a href="http://www.ognl.org/";>OGNL</a> {...@link Expression}
@@ -42,7 +42,7 @@
         try {
             this.expression = Ognl.parseExpression(expressionString);
         } catch (OgnlException e) {
-            throw new IllegalSyntaxException(language, expressionString, e);
+            throw new ExpressionIllegalSyntaxException(expressionString, e);
         }
     }
 
@@ -52,8 +52,7 @@
 
     public Object evaluate(Exchange exchange) {
         // TODO we could use caching here but then we'd have possible
-        // concurrency issues
-        // so lets assume that the provider caches
+        // concurrency issues so lets assume that the provider caches
         OgnlContext oglContext = new OgnlContext();
         try {
             return Ognl.getValue(expression, oglContext, new 
RootObject(exchange));
@@ -65,4 +64,9 @@
     protected String assertionFailureMessage(Exchange exchange) {
         return expressionString;
     }
+
+    @Override
+    public String toString() {
+        return "OGNL[" + expressionString + "]";
+    }
 }

Modified: 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/ScalaPredicate.scala
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/ScalaPredicate.scala?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/ScalaPredicate.scala
 (original)
+++ 
camel/trunk/components/camel-scala/src/main/scala/org/apache/camel/scala/ScalaPredicate.scala
 Thu Mar 12 10:43:06 2009
@@ -24,8 +24,4 @@
     function(exchange)
   }
 
-  override def assertMatches(text: String, exchange: Exchange) = {
-    if (!matches(exchange)) throw new AssertionError(text + " : " + exchange + 
" doesn't match Scala function")
-  }
-
 }

Modified: 
camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java?rev=752829&r1=752828&r2=752829&view=diff
==============================================================================
--- 
camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java
 (original)
+++ 
camel/trunk/components/camel-test/src/main/java/org/apache/camel/test/TestSupport.java
 Thu Mar 12 10:43:06 2009
@@ -30,6 +30,7 @@
 import org.apache.camel.Processor;
 import org.apache.camel.Route;
 import org.apache.camel.builder.Builder;
+import org.apache.camel.builder.PredicateSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.builder.ValueBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
@@ -228,7 +229,7 @@
      */
     protected void assertPredicateDoesNotMatch(Predicate predicate, Exchange 
exchange) {
         try {
-            predicate.assertMatches("Predicate should match", exchange);
+            PredicateSupport.assertMatches(predicate, "Predicate should 
match", exchange);
         } catch (AssertionError e) {
             log.debug("Caught expected assertion error: " + e);
         }
@@ -240,7 +241,7 @@
      */
     protected boolean assertPredicate(Predicate predicate, Exchange exchange, 
boolean expected) {
         if (expected) {
-            predicate.assertMatches("Predicate failed", exchange);
+            PredicateSupport.assertMatches(predicate, "Predicate failed", 
exchange);
         }
         boolean value = predicate.matches(exchange);
 
@@ -370,4 +371,29 @@
         File dir = new File(file);
         dir.mkdirs();
     }
+
+    /**
+     * To be used for folder/directory comparison that works across different 
platforms such
+     * as Window, Mac and Linux.
+     */
+    public static void assertDirectoryEquals(String expected, String actual) {
+        assertDirectoryEquals(null, expected, actual);
+    }
+
+    /**
+     * To be used for folder/directory comparison that works across different 
platforms such
+     * as Window, Mac and Linux.
+     */
+    public static void assertDirectoryEquals(String message, String expected, 
String actual) {
+        // must use single / as path separators
+        String expectedPath = expected.replace('\\', '/');
+        String actualPath = actual.replace('\\', '/');
+
+        if (message != null) {
+            assertEquals(message, expectedPath, actualPath);
+        } else {
+            assertEquals(expectedPath, actualPath);
+        }
+    }
+
 }
\ No newline at end of file


Reply via email to