Author: davsclaus Date: Fri Dec 17 09:20:27 2010 New Revision: 1050325 URL: http://svn.apache.org/viewvc?rev=1050325&view=rev Log: File language should throw invalid expression if could not resolve, for example misspelt syntax
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/SimpleLanguage.java camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java 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=1050325&r1=1050324&r2=1050325&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 Fri Dec 17 09:20:27 2010 @@ -311,7 +311,7 @@ public class SimpleLanguage extends Simp } } - public Expression createSimpleFileExpression(String remainder) { + protected Expression createSimpleFileExpression(String remainder) { if (ObjectHelper.equal(remainder, "name")) { return ExpressionBuilder.fileNameExpression(); } else if (ObjectHelper.equal(remainder, "name.noext")) { @@ -337,7 +337,7 @@ public class SimpleLanguage extends Simp } else if (ObjectHelper.equal(remainder, "modified")) { return ExpressionBuilder.fileLastModifiedExpression(); } - return null; + throw new ExpressionIllegalSyntaxException("File language syntax: " + remainder); } public boolean isSingleton() { Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java?rev=1050325&r1=1050324&r2=1050325&view=diff ============================================================================== --- camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java (original) +++ camel/trunk/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java Fri Dec 17 09:20:27 2010 @@ -59,6 +59,16 @@ public class FileLanguageTest extends La assertExpression("${id}.bak", exchange.getIn().getMessageId() + ".bak"); } + public void testInvalidSyntax() throws Exception { + assertExpression("${file:onlyname}", file.getName()); + try { + assertExpression("${file:onlyName}", file.getName()); + fail("Should have thrown exception"); + } catch (ExpressionIllegalSyntaxException e) { + assertEquals("Illegal syntax: File language syntax: onlyName", e.getMessage()); + } + } + public void testFile() throws Exception { assertExpression("${file:ext}", "txt"); assertExpression("${file:name.ext}", "txt");