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 2010/12/17 10:20:29 UTC
svn commit: r1050325 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/language/simple/SimpleLanguage.java
test/java/org/apache/camel/language/FileLanguageTest.java
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");