[jboss-svn-commits] JBoss Common SVN: r4752 - in arquillian/trunk/impl-base/src: test/java/org/jboss/arquillian/impl/handler and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jul 16 05:19:42 EDT 2010


Author: aslak
Date: 2010-07-16 05:19:41 -0400 (Fri, 16 Jul 2010)
New Revision: 4752

Modified:
   arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporter.java
   arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporterTestCase.java
Log:
ARQ-212 ARQ-213 Target export path for Archives changed to be unique. TestClass.getName + "_" + Archive.getName()


Modified: arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporter.java
===================================================================
--- arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporter.java	2010-07-16 08:59:08 UTC (rev 4751)
+++ arquillian/trunk/impl-base/src/main/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporter.java	2010-07-16 09:19:41 UTC (rev 4752)
@@ -17,6 +17,7 @@
 package org.jboss.arquillian.impl.handler;
 
 import java.io.File;
+import java.util.logging.Logger;
 
 import org.jboss.arquillian.spi.Configuration;
 import org.jboss.arquillian.spi.Context;
@@ -34,6 +35,8 @@
  */
 public class ArchiveDeploymentExporter implements EventHandler<ClassEvent>
 {
+   private static final Logger log = Logger.getLogger(ArchiveDeploymentExporter.class.getName());
+
    /* (non-Javadoc)
     * @see org.jboss.arquillian.spi.event.suite.EventHandler#callback(org.jboss.arquillian.spi.Context, java.lang.Object)
     */
@@ -41,12 +44,26 @@
    {
       Archive<?> deployment = context.get(Archive.class);
       Configuration configuration = context.get(Configuration.class);
-      
-      if(deployment != null && (configuration != null && configuration.getDeploymentExportPath() != null))
+
+      if (deployment != null && configuration != null && configuration.getDeploymentExportPath() != null)
       {
+         // TODO: should prepping the export directory be in the configuration builder?
+         String exportPath = configuration.getDeploymentExportPath();
+         File exportDir = new File(exportPath);
+         if (exportDir.isFile())
+         {
+            log.warning("Deployment export disabled. Export path points to an existing file: " + exportPath);
+            return;
+         }
+         else if (!exportDir.isDirectory() && !exportDir.mkdirs())
+         {
+            log.warning("Deployment export directory could not be created: " + exportPath);
+            return;
+         }
+
          deployment.as(ZipExporter.class).exportZip(
-               new File(configuration.getDeploymentExportPath() + deployment.getName()), 
-               true);
+            new File(exportDir, event.getTestClass().getName() + "_" + deployment.getName()),
+            true);
       }
    }
 }

Modified: arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporterTestCase.java
===================================================================
--- arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporterTestCase.java	2010-07-16 08:59:08 UTC (rev 4751)
+++ arquillian/trunk/impl-base/src/test/java/org/jboss/arquillian/impl/handler/ArchiveDeploymentExporterTestCase.java	2010-07-16 09:19:41 UTC (rev 4752)
@@ -106,7 +106,7 @@
 
    private void fileShouldExist(boolean bol) 
    {
-      File file = new File(EXPORT_PATH + ARCHIVE_NAME);
+      File file = new File(EXPORT_PATH + getClass().getName() + "_" + ARCHIVE_NAME);
       
       Assert.assertEquals("File exists", bol, file.exists());
       



More information about the jboss-svn-commits mailing list