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