You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by da...@apache.org on 2011/03/16 18:00:45 UTC

svn commit: r1082210 - in /aries/trunk/spi-fly/spi-fly-static/src: main/java/org/apache/aries/spifly/statictool/Main.java test/java/org/apache/aries/spifly/statictool/MainTest.java

Author: davidb
Date: Wed Mar 16 17:00:45 2011
New Revision: 1082210

URL: http://svn.apache.org/viewvc?rev=1082210&view=rev
Log:
Additional WIP for SPI Fly

Modified:
    aries/trunk/spi-fly/spi-fly-static/src/main/java/org/apache/aries/spifly/statictool/Main.java
    aries/trunk/spi-fly/spi-fly-static/src/test/java/org/apache/aries/spifly/statictool/MainTest.java

Modified: aries/trunk/spi-fly/spi-fly-static/src/main/java/org/apache/aries/spifly/statictool/Main.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-static/src/main/java/org/apache/aries/spifly/statictool/Main.java?rev=1082210&r1=1082209&r2=1082210&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-static/src/main/java/org/apache/aries/spifly/statictool/Main.java (original)
+++ aries/trunk/spi-fly/spi-fly-static/src/main/java/org/apache/aries/spifly/statictool/Main.java Wed Mar 16 17:00:45 2011
@@ -60,6 +60,7 @@ public class Main {
             weaveDir(tempDir, consumerHeader);
             // jar(tempDir, newJar);
         }
+        delTree(tempDir);
         // finally - clean up
     }
 
@@ -186,6 +187,13 @@ public class Main {
         }
     }
 
+    static void delTree(File tempDir) throws IOException {
+        for (File f : new DirTree(tempDir).getFiles()) {
+            if (!f.delete())
+                throw new IOException("Problem deleting file: " + tempDir.getAbsolutePath());
+        }
+    }
+
     private static void ensureDirectory(File outDir) throws IOException {
         if (!outDir.isDirectory())
             if (!outDir.mkdirs())

Modified: aries/trunk/spi-fly/spi-fly-static/src/test/java/org/apache/aries/spifly/statictool/MainTest.java
URL: http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-static/src/test/java/org/apache/aries/spifly/statictool/MainTest.java?rev=1082210&r1=1082209&r2=1082210&view=diff
==============================================================================
--- aries/trunk/spi-fly/spi-fly-static/src/test/java/org/apache/aries/spifly/statictool/MainTest.java (original)
+++ aries/trunk/spi-fly/spi-fly-static/src/test/java/org/apache/aries/spifly/statictool/MainTest.java Wed Mar 16 17:00:45 2011
@@ -18,6 +18,9 @@
  */
 package org.apache.aries.spifly.statictool;
 
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -71,10 +74,23 @@ public class MainTest {
             assertStreams("jar:" + copyURL + "!/dir/dir 2/b.txt", 
                     "jar:" + jarURL + "!/dir/dir 2/b.txt");
         } finally {
-            deleteTree(tempDir);
+            Main.delTree(tempDir);
         }
     }
-    
+
+    @Test
+    public void testDelTree() throws IOException {
+        URL jarURL = getClass().getResource("/testjar.jar");
+        File jarFile = new File(jarURL.getFile());
+        File tempDir = new File(System.getProperty("java.io.tmpdir") + "/testjar_" + System.currentTimeMillis());
+        
+        assertFalse("Precondition", tempDir.exists());
+        Main.unJar(jarFile, tempDir);
+        assertTrue(tempDir.exists());
+        
+        Main.delTree(tempDir);                
+        assertFalse(tempDir.exists());
+    }
     
     private void assertStreams(String url1, String url2) throws Exception {
         InputStream is1 = new URL(url1).openStream();
@@ -99,18 +115,6 @@ public class MainTest {
             is2.close();
         }
     }
-
-    public static void deleteTree(File dir) throws IOException {
-        if (!dir.isDirectory()) 
-            return;
-                
-        for (File f : new DirTree(dir).getFiles()) {
-            if (!f.delete()) {
-                throw new IOException("Unable to delete file " + f.getAbsolutePath() +
-                    " The file may still be in use.");
-            }
-        }
-    }
 }