Author: davsclaus Date: Sat Feb 28 17:55:31 2009 New Revision: 748894 URL: http://svn.apache.org/viewvc?rev=748894&view=rev Log: CAMEL-1408: Fixes setting absolute paths using the file component.
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.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/FileExpressionBuilder.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java?rev=748894&r1=748893&r2=748894&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java Sat Feb 28 17:55:31 2009 @@ -134,6 +134,19 @@ }; } + public static Expression fileAbsoluteExpression() { + return new ExpressionAdapter() { + public Object evaluate(Exchange exchange) { + return exchange.getIn().getHeader("CamelFileAbsolute", Boolean.class); + } + + @Override + public String toString() { + return "file:absolute"; + } + }; + } + public static Expression fileCanoicalPathExpression() { return new ExpressionAdapter() { public Object evaluate(Exchange 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=748894&r1=748893&r2=748894&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 Sat Feb 28 17:55:31 2009 @@ -30,6 +30,7 @@ * <li><tt>file:name.ext</tt> to access the file name extension</li> * <li><tt>file:parent</tt> to access the parent file name</li> * <li><tt>file:path</tt> to access the file path name</li> + * <li><tt>file:absolute</tt> is the file regarded as absolute or relative</li> * <li><tt>file:absolute.path</tt> to access the absolute file path name</li> * <li><tt>file:canonical.path</tt> to access the canonical path name</li> * <li><tt>file:length</tt> to access the file length as a Long type</li> @@ -66,6 +67,8 @@ return FileExpressionBuilder.fileParentExpression(); } else if (ObjectHelper.equal(remainder, "path")) { return FileExpressionBuilder.filePathExpression(); + } else if (ObjectHelper.equal(remainder, "absolute")) { + return FileExpressionBuilder.fileAbsoluteExpression(); } else if (ObjectHelper.equal(remainder, "absolute.path")) { return FileExpressionBuilder.fileAbsolutePathExpression(); } else if (ObjectHelper.equal(remainder, "canonical.path")) { 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=748894&r1=748893&r2=748894&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 Sat Feb 28 17:55:31 2009 @@ -25,7 +25,6 @@ import org.apache.camel.Exchange; import org.apache.camel.ExchangePattern; import org.apache.camel.LanguageTestSupport; -import org.apache.camel.component.file.FileComponent; import org.apache.camel.component.file.FileConsumer; import org.apache.camel.component.file.FileEndpoint; import org.apache.camel.component.file.GenericFile; @@ -66,6 +65,7 @@ assertExpression("${file:name.noext}", "hello"); assertExpression("${file:parent}", file.getParent()); assertExpression("${file:path}", file.getPath()); + assertExpression("${file:absolute}", file.isAbsolute()); assertExpression("${file:absolute.path}", file.getAbsolutePath()); assertExpression("${file:canonical.path}", file.getCanonicalPath()); assertExpression("${file:length}", file.length());