Author: rmannibucau
Date: Tue Oct  7 18:23:00 2014
New Revision: 1629943

URL: http://svn.apache.org/r1629943
Log:
better delete strategy for arquillian archives and respect 
isSingleDumpByArchiveName

Modified:
    
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
    
tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java

Modified: 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1629943&r1=1629942&r2=1629943&view=diff
==============================================================================
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 Tue Oct  7 18:23:00 2014
@@ -279,14 +279,14 @@ public abstract class TomEEContainer<Con
                 }
 
                 if (appInfo != null) {
-                    moduleIds.put(archiveName, new DeployedApp(appInfo.path, 
file.getParentFile()));
+                    moduleIds.put(archiveName, new DeployedApp(appInfo.path, 
file));
                     Files.deleteOnExit(file); // "i" folder
                 } else {
                     LOGGER.severe("appInfo was not found for " + 
file.getPath() + ", available are: " + apps());
                     throw new OpenEJBException("can't get appInfo");
                 }
             } catch (final OpenEJBException re) { // clean up in undeploy 
needs it
-                moduleIds.put(archiveName, new DeployedApp(file.getPath(), 
file.getParentFile()));
+                moduleIds.put(archiveName, new DeployedApp(file.getPath(), 
file));
                 throw re;
             }
 
@@ -353,7 +353,7 @@ public abstract class TomEEContainer<Con
         if (file.exists()) {
             size = file.length();
         }
-        finalArchive.as(ZipExporter.class).exportTo(file, true);
+        finalArchive.as(ZipExporter.class).exportTo(file, 
configuration.isSingleDumpByArchiveName());
         if (size > 0 && size != file.length()) {
             LOGGER.warning("\nFile overwritten but size doesn't match: (now) "
                     + file.length() + "/(before) " + size + " name="+ 
file.getName()
@@ -445,13 +445,18 @@ public abstract class TomEEContainer<Con
         } finally {
             if (deployed != null && 
!configuration.isSingleDumpByArchiveName()) {
                 LOGGER.info("cleaning " + deployed.file.getAbsolutePath());
-                Files.tryTodelete(deployed.file); // "i" folder
+                Files.delete(deployed.file); // "i" folder
 
                 final File pathFile = new File(deployed.path);
                 if (!deployed.path.equals(deployed.file.getAbsolutePath()) && 
pathFile.exists()) {
                     LOGGER.info("cleaning " + pathFile);
                     Files.delete(pathFile);
                 }
+                final File parentFile = deployed.file.getParentFile();
+                final File[] parentChildren = parentFile.listFiles();
+                if (parentChildren == null || parentChildren.length == 0) {
+                    Files.delete(deployed.file.getParentFile());
+                }
             }
         }
     }

Modified: 
tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1629943&r1=1629942&r2=1629943&view=diff
==============================================================================
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
 Tue Oct  7 18:23:00 2014
@@ -167,12 +167,12 @@ public class EmbeddedTomEEContainer exte
             throw new DeploymentException("Unable to undeploy", e);
         }
         final File file = ARCHIVES.remove(archive);
-        final File folder = new File(file.getParentFile(), 
file.getName().substring(0, file.getName().length() - 4));
-        if (folder.exists()) {
-            Files.delete(folder);
-        }
-        Files.delete(file);
         if (!configuration.isSingleDumpByArchiveName()) {
+            final File folder = new File(file.getParentFile(), 
file.getName().substring(0, file.getName().length() - 4));
+            if (folder.exists()) {
+                Files.delete(folder);
+            }
+            Files.delete(file);
             final File parentFile = file.getParentFile();
             final File[] parentChildren = parentFile.listFiles();
             if (parentChildren == null || parentChildren.length == 0) {


Reply via email to