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 2016/02/24 17:31:33 UTC
[3/3] camel git commit: CAMEL-9641: Simple backwards parser bug if
using file as prefix
CAMEL-9641: Simple backwards parser bug if using file as prefix
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9a6e6d8a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9a6e6d8a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9a6e6d8a
Branch: refs/heads/master
Commit: 9a6e6d8a9d81c6a764096009f058224affe60c9d
Parents: 88fede5
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Feb 24 16:56:24 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Feb 24 17:31:22 2016 +0100
----------------------------------------------------------------------
.../language/simple/ast/SimpleFunctionExpression.java | 11 +++++++----
.../org/apache/camel/language/simple/SimpleTest.java | 4 ++++
2 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/9a6e6d8a/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java b/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
index be5e4ac..5110ae9 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/ast/SimpleFunctionExpression.java
@@ -141,8 +141,8 @@ public class SimpleFunctionExpression extends LiteralExpression {
// file: prefix
remainder = ifStartsWithReturnRemainder("file:", function);
if (remainder != null) {
- Expression fileExpression = createSimpleFileExpression(remainder);
- if (function != null) {
+ Expression fileExpression = createSimpleFileExpression(remainder, strict);
+ if (fileExpression != null) {
return fileExpression;
}
}
@@ -388,7 +388,7 @@ public class SimpleFunctionExpression extends LiteralExpression {
return null;
}
- private Expression createSimpleFileExpression(String remainder) {
+ private Expression createSimpleFileExpression(String remainder, boolean strict) {
if (ObjectHelper.equal(remainder, "name")) {
return ExpressionBuilder.fileNameExpression();
} else if (ObjectHelper.equal(remainder, "name.noext")) {
@@ -418,7 +418,10 @@ public class SimpleFunctionExpression extends LiteralExpression {
} else if (ObjectHelper.equal(remainder, "modified")) {
return ExpressionBuilder.fileLastModifiedExpression();
}
- throw new SimpleParserException("Unknown file language syntax: " + remainder, token.getIndex());
+ if (strict) {
+ throw new SimpleParserException("Unknown file language syntax: " + remainder, token.getIndex());
+ }
+ return null;
}
private String ifStartsWithReturnRemainder(String prefix, String text) {
http://git-wip-us.apache.org/repos/asf/camel/blob/9a6e6d8a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
index 1ff94c8..df6d850 100644
--- a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
@@ -106,6 +106,10 @@ public class SimpleTest extends LanguageTestSupport {
assertNull(SimpleLanguage.simple("${null}").evaluate(exchange, Object.class));
}
+ public void testSimpleFileDir() throws Exception {
+ assertExpression("file:mydir", "file:mydir");
+ }
+
public void testEmptyExpression() throws Exception {
assertExpression("", "");
assertExpression(" ", " ");