[jboss-cvs] JBossAS SVN: r75212 - in projects/vfs/trunk/src: test/java/org/jboss/test/virtual/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 30 07:40:20 EDT 2008


Author: alesj
Date: 2008-06-30 07:40:20 -0400 (Mon, 30 Jun 2008)
New Revision: 75212

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java
   projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java
Log:
[JBVFS-45] fix directory deletion - use Files recursion.

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java	2008-06-30 11:35:13 UTC (rev 75211)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileHandler.java	2008-06-30 11:40:20 UTC (rev 75212)
@@ -35,6 +35,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.jboss.util.file.Files;
 import org.jboss.virtual.plugins.context.AbstractURLHandler;
 import org.jboss.virtual.plugins.context.StructuredVirtualFileHandler;
 import org.jboss.virtual.spi.VirtualFileHandler;
@@ -127,6 +128,11 @@
       return getFile().lastModified();
    }
 
+   public boolean exists() throws IOException
+   {
+      return getFile().exists();
+   }
+
    @Override
    public long getSize()
    {
@@ -156,21 +162,18 @@
       if (exists == false)
          return false;
 
-      if (f.delete() == false)
+      if (Files.delete(f) == false)
       {
          long endOfGrace = System.currentTimeMillis() + gracePeriod;
          while(System.currentTimeMillis() < endOfGrace)
          {
-            boolean done = f.delete();
+            boolean done = Files.delete(f);
             if (done)
             {
                childCache.remove(f.getName());
                return true;
             }
-
-            if (f.isDirectory())
-               return false;
-
+            
             try
             {
                Thread.sleep(100);

Modified: projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java
===================================================================
--- projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java	2008-06-30 11:35:13 UTC (rev 75211)
+++ projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/FileVFSUnitTestCase.java	2008-06-30 11:40:20 UTC (rev 75212)
@@ -1460,10 +1460,16 @@
       assertTrue(tmpRoot + ".delete()", vfs.getRoot().delete());
       tmpRoot.mkdir();
 
-      // non-empty directory - delete() not
-      File tmp = File.createTempFile("testFileDelete", ".jar", tmpRoot);
-      assertFalse(tmpRoot + ".delete() == false", vfs.getRoot().delete());
+      // non-empty directory - delete()
+      File tmp = new File(tmpRoot, "testFileDelete.jar");
+      assertTrue(tmp.mkdir());
+      File tmp2 = File.createTempFile("testFileDelete2", ".jar", tmp);
+      assertTrue(tmp2.exists());
+      VirtualFile tmpDeletable = VFS.getRoot(tmp.toURI());
+      assertTrue(tmpRoot + ".delete() == false", tmpDeletable.delete());
 
+      // create child to vfs
+      assertTrue(tmp.mkdir());
       // children() exist
       List<VirtualFile> children = vfs.getChildren();
       assertTrue(tmpRoot + ".getChildren().size() == 1", children.size() == 1);




More information about the jboss-cvs-commits mailing list