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")); } }