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 2009/05/12 16:18:04 UTC
svn commit: r773908 - in /camel/branches/camel-1.x/camel-core/src:
main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
main/java/org/apache/camel/language/simple/FileLanguage.java
test/java/org/apache/camel/language/FileLanguageTest.java
Author: davsclaus
Date: Tue May 12 14:18:03 2009
New Revision: 773908
URL: http://svn.apache.org/viewvc?rev=773908&view=rev
Log:
CAMEL-1607: Added missing name:ext to FileLanguage in Camel 1.x
Modified:
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
Modified: camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java?rev=773908&r1=773907&r2=773908&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java (original)
+++ camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileExpressionBuilder.java Tue May 12 14:18:03 2009
@@ -72,6 +72,24 @@
};
}
+ public static <E extends Exchange> Expression<E> fileExtensionExpression() {
+ return new Expression<E>() {
+ public Object evaluate(E exchange) {
+ String name = exchange.getIn().getHeader("CamelFileName", String.class);
+ if (name != null) {
+ return name.substring(name.lastIndexOf('.') + 1);
+ } else {
+ return null;
+ }
+ }
+
+ @Override
+ public String toString() {
+ return "file:ext";
+ }
+ };
+ }
+
public static <E extends Exchange> Expression<E> fileParentExpression() {
return new Expression<E>() {
public Object evaluate(E exchange) {
Modified: camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java?rev=773908&r1=773907&r2=773908&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java (original)
+++ camel/branches/camel-1.x/camel-core/src/main/java/org/apache/camel/language/simple/FileLanguage.java Tue May 12 14:18:03 2009
@@ -59,6 +59,8 @@
return FileExpressionBuilder.fileNameExpression();
} else if (ObjectHelper.equal(remainder, "name.noext")) {
return FileExpressionBuilder.fileNameNoExtensionExpression();
+ } else if (ObjectHelper.equal(remainder, "ext")) {
+ return FileExpressionBuilder.fileExtensionExpression();
} else if (ObjectHelper.equal(remainder, "parent")) {
return FileExpressionBuilder.fileParentExpression();
} else if (ObjectHelper.equal(remainder, "path")) {
Modified: camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java?rev=773908&r1=773907&r2=773908&view=diff
==============================================================================
--- camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java (original)
+++ camel/branches/camel-1.x/camel-core/src/test/java/org/apache/camel/language/FileLanguageTest.java Tue May 12 14:18:03 2009
@@ -59,6 +59,7 @@
public void testFile() throws Exception {
assertExpression("${file:name}", file.getName());
assertExpression("${file:name.noext}", "hello");
+ assertExpression("${file:ext}", "txt");
assertExpression("${file:parent}", file.getParent());
assertExpression("${file:path}", file.getPath());
assertExpression("${file:absolute.path}", file.getAbsolutePath());