Author: cmueller
Date: Sat Sep 22 22:08:04 2012
New Revision: 1388908

URL: http://svn.apache.org/viewvc?rev=1388908&view=rev
Log:
fixed a regression in ValidatorSchemaImportTest which was introduced with 
r1388762

Modified:
    
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
    
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java

Modified: 
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java?rev=1388908&r1=1388907&r2=1388908&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
 (original)
+++ 
camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/FileUtil.java
 Sat Sep 22 22:08:04 2012
@@ -209,12 +209,7 @@ public final class FileUtil {
         if (path == null) {
             return null;
         }
-
-        // 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;
-        }
-
+        
         // only normalize if contains a path separator
         if (path.indexOf(File.separator) == -1) {
             return path;
@@ -234,6 +229,8 @@ public final class FileUtil {
             if (part.equals("..") && !stack.isEmpty() && 
!"..".equals(stack.peek())) {
                 // only pop if there is a previous path, which is not a ".." 
path either
                 stack.pop();
+            } else if (part.equals(".") || part.isEmpty()) {
+                // do nothing because we don't want a path like foo/./bar
             } else {
                 stack.push(part);
             }
@@ -379,6 +376,7 @@ public final class FileUtil {
         return renamed;
     }
 
+    @SuppressWarnings("resource")
     public static void copyFile(File from, File to) throws IOException {
         FileChannel in = new FileInputStream(from).getChannel();
         FileChannel out = new FileOutputStream(to).getChannel();

Modified: 
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java
URL: 
http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java?rev=1388908&r1=1388907&r2=1388908&view=diff
==============================================================================
--- 
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java
 (original)
+++ 
camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/util/FileUtilTest.java
 Sat Sep 22 22:08:04 2012
@@ -144,6 +144,8 @@ public class FileUtilTest extends TestCa
             assertEquals("baz", FileUtil.compactPath("foo\\bar\\..\\..\\baz"));
             assertEquals("..\\baz", 
FileUtil.compactPath("foo\\bar\\..\\..\\..\\baz"));
             assertEquals("..\\foo\\bar", FileUtil.compactPath("..\\foo\\bar"));
+            assertEquals("foo\\bar\\baz", 
FileUtil.compactPath("foo\\bar\\.\\baz"));
+            assertEquals("foo\\bar\\baz", 
FileUtil.compactPath("foo\\bar\\\\baz"));
         } else {
             assertEquals("../foo", FileUtil.compactPath("../foo"));
             assertEquals("../../foo", FileUtil.compactPath("../../foo"));
@@ -156,6 +158,8 @@ public class FileUtilTest extends TestCa
             assertEquals("baz", FileUtil.compactPath("foo/bar/../../baz"));
             assertEquals("../baz", 
FileUtil.compactPath("foo/bar/../../../baz"));
             assertEquals("../foo/bar", FileUtil.compactPath("../foo/bar"));
+            assertEquals("foo/bar/baz", FileUtil.compactPath("foo/bar/./baz"));
+            assertEquals("foo/bar/baz", FileUtil.compactPath("foo/bar//baz"));
         }
     }
 


Reply via email to