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/03/08 12:28:45 UTC
svn commit: r751402 - in /camel/trunk/camel-core/src:
main/java/org/apache/camel/builder/
main/java/org/apache/camel/component/file/ main/java/org/apache/camel/util/
test/java/org/apache/camel/language/
Author: davsclaus
Date: Sun Mar 8 11:28:45 2009
New Revision: 751402
URL: http://svn.apache.org/viewvc?rev=751402&view=rev
Log:
CAMEL-1428: Fixed checkstyle. Move code to FileUtil. And reverter experimental code in FileConsumer about file name.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.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/builder/RouteBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java?rev=751402&r1=751401&r2=751402&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/RouteBuilder.java Sun Mar 8 11:28:45 2009
@@ -27,8 +27,8 @@
import org.apache.camel.Routes;
import org.apache.camel.impl.DefaultCamelContext;
import org.apache.camel.model.ChoiceDefinition;
-import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.model.InterceptDefinition;
+import org.apache.camel.model.OnExceptionDefinition;
import org.apache.camel.model.ProcessorDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RoutesDefinition;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java?rev=751402&r1=751401&r2=751402&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileConsumer.java Sun Mar 8 11:28:45 2009
@@ -101,8 +101,9 @@
answer.setEndpointPath(endpointPath);
answer.setBinding(new FileBinding());
answer.setFile(file);
- answer.setFileLength(file.length());
+ answer.setFileName(file.getName());
answer.setFileNameOnly(file.getName());
+ answer.setFileLength(file.length());
answer.setAbsolute(file.isAbsolute());
answer.setAbsoluteFilePath(file.getAbsolutePath());
answer.setLastModified(file.lastModified());
@@ -125,9 +126,6 @@
}
}
- // name is the relative path as we want to preserve leading paths relative to the endpoint path
- answer.setFileName(answer.getRelativeFilePath());
-
// use file as body as we have converters if needed as stream
answer.setBody(file);
return answer;
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java?rev=751402&r1=751401&r2=751402&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/GenericFile.java Sun Mar 8 11:28:45 2009
@@ -18,8 +18,6 @@
import java.io.File;
import java.io.Serializable;
-import java.util.Stack;
-import java.util.Iterator;
import org.apache.camel.util.FileUtil;
import org.apache.camel.util.ObjectHelper;
@@ -82,38 +80,6 @@
return File.separator;
}
- public static String normalizePath(String path) {
- return path;
-
- // TODO: not needed
-/* // only normalize path if it contains .. as we want to avoid: path/../sub/../sub2 as this can leads to trouble
- if (path.indexOf("..") == -1) {
- return path;
- }
-
- Stack<String> stack = new Stack<String>();
- String[] parts = path.split(File.separator);
- for (String part : parts) {
- if (part.equals("..") && !stack.isEmpty()) {
- // only pop if there is a previous path
- stack.pop();
- } else {
- stack.push(part);
- }
- }
-
- // build path based on stack
- StringBuilder sb = new StringBuilder();
- for (Iterator it = stack.iterator(); it.hasNext();) {
- sb.append(it.next());
- if (it.hasNext()) {
- sb.append(File.separator);
- }
- }
-
- return sb.toString();*/
- }
-
/**
* Changes the name of this remote file. This method alters the absolute and
* relative names as well.
@@ -173,8 +139,7 @@
}
public void setRelativeFilePath(String relativeFilePath) {
- String path = normalizePath(relativeFilePath);
- this.relativeFilePath = needToNormalize() ? FileUtil.normalizePath(path) : path;
+ this.relativeFilePath = needToNormalize() ? FileUtil.normalizePath(relativeFilePath) : relativeFilePath;
}
public String getFileName() {
@@ -241,8 +206,7 @@
}
public void setAbsoluteFilePath(String absoluteFilePath) {
- String path = normalizePath(absoluteFilePath);
- this.absoluteFilePath = needToNormalize() ? FileUtil.normalizePath(path) : path;
+ this.absoluteFilePath = needToNormalize() ? FileUtil.normalizePath(absoluteFilePath) : absoluteFilePath;
}
public String getAbsoluteFilePath() {
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java?rev=751402&r1=751401&r2=751402&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/util/FileUtil.java Sun Mar 8 11:28:45 2009
@@ -24,8 +24,10 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
+import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -308,6 +310,9 @@
return results;
}
+ /**
+ * Strip any leading separators
+ */
public static String stripLeadingSeparator(String name) {
if (name == null) {
return null;
@@ -318,6 +323,9 @@
return name;
}
+ /**
+ * Strips any leading paths
+ */
public static String stripPath(String name) {
if (name == null) {
return null;
@@ -332,4 +340,36 @@
return name;
}
+ /**
+ * Compacts a path by stacking it and reducing <tt>..</tt>
+ */
+ public static String compactPath(String path) {
+ // only normalize path if it contains .. as we want to avoid: path/../sub/../sub2 as this can leads to trouble
+ if (path.indexOf("..") == -1) {
+ return path;
+ }
+
+ Stack<String> stack = new Stack<String>();
+ String[] parts = path.split(File.separator);
+ for (String part : parts) {
+ if (part.equals("..") && !stack.isEmpty()) {
+ // only pop if there is a previous path
+ stack.pop();
+ } else {
+ stack.push(part);
+ }
+ }
+
+ // build path based on stack
+ StringBuilder sb = new StringBuilder();
+ for (Iterator it = stack.iterator(); it.hasNext();) {
+ sb.append(it.next());
+ if (it.hasNext()) {
+ sb.append(File.separator);
+ }
+ }
+
+ return sb.toString();
+ }
+
}
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=751402&r1=751401&r2=751402&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 Sun Mar 8 11:28:45 2009
@@ -25,7 +25,6 @@
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.LanguageTestSupport;
-import org.apache.camel.util.ObjectHelper;
import org.apache.camel.component.file.FileConsumer;
import org.apache.camel.component.file.FileEndpoint;
import org.apache.camel.component.file.GenericFile;