[webbeans-commits] Webbeans SVN: r1693 - in tck/trunk/impl/src/main/java/org/jboss/jsr299/tck: impl/packaging and 3 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Feb 24 17:52:15 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-24 17:52:15 -0500 (Tue, 24 Feb 2009)
New Revision: 1693

Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ResourceDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/util/Files.java
Log:
close streams

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java	2009-02-24 21:59:04 UTC (rev 1692)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractDeclarativeTest.java	2009-02-24 22:52:15 UTC (rev 1693)
@@ -1,6 +1,7 @@
 package org.jboss.jsr299.tck;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.lang.reflect.Method;
 import java.util.Arrays;
 import java.util.Set;
@@ -83,7 +84,19 @@
       {
          if (isDeployToContainerNeeded())
          {
-            getCurrentConfiguration().getContainers().deploy(artifact.getJarAsStream(), artifact.getDefaultName());
+            InputStream jar = null;
+            try
+            {
+               jar = artifact.getJarAsStream();
+               getCurrentConfiguration().getContainers().deploy(jar, artifact.getDefaultName());
+            }
+            finally
+            {
+               if (jar != null)
+               {
+                  jar.close();
+               }
+            }
          }
          else if (artifact != null && artifact.isUnit())
          {

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java	2009-02-24 21:59:04 UTC (rev 1692)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java	2009-02-24 22:52:15 UTC (rev 1693)
@@ -240,11 +240,23 @@
    
    public URL getJar() throws IOException
    {
-      InputStream is = getJarAsStream();
-      File file = File.createTempFile(ArtifactDescriptor.class.getCanonicalName(), ".jar");
-      file.deleteOnExit();
-      copy(is, file);
-      return file.toURI().toURL();
+      InputStream is = null;
+      try
+      {
+         is = getJarAsStream();
+         File file = File.createTempFile(ArtifactDescriptor.class.getCanonicalName(), ".jar");
+         file.deleteOnExit();
+         Files.copy(is, file);
+         is.close();
+         return file.toURI().toURL();
+      }
+      finally
+      {
+         if (is != null)
+         {
+            is.close();
+         }
+      }
    }
    
    public File getExplodedJar() throws IOException
@@ -309,7 +321,7 @@
       File file = new File(directory, fileName);
       file.createNewFile();
       file.deleteOnExit();
-      copy(resourceDescriptor.getSource().openStream(), file);
+      Files.copy(resourceDescriptor.getSource().openStream(), file);
    }
    
    private static void copyClass(String className, File root) throws IOException
@@ -321,7 +333,7 @@
       File classFile = new File(packageDirectory, classFileName);
       classFile.createNewFile();
       classFile.deleteOnExit();
-      copy(loadResourceAsStream(classFilePathName), classFile);
+      Files.copy(loadResourceAsStream(classFilePathName), classFile);
    }
    
    private static File makeDirectoryStructure(File root, String directoryName)
@@ -342,13 +354,27 @@
    
    public void writeArtifactToDisk(String outputDirectory, String fileName) throws IOException
    {
+      OutputStream os = null;
+      InputStream jar = null;
+      try
+      {
       File file = new File(outputDirectory, fileName);
       file.createNewFile();
-      OutputStream os = new BufferedOutputStream(new FileOutputStream(file));
-      InputStream jar = getJarAsStream();
+      os = new BufferedOutputStream(new FileOutputStream(file));
+      jar = getJarAsStream();
       Files.copy(jar, os);
-      jar.close();
-      os.close();
+      }
+      finally
+      {
+         if (os != null)
+         {
+            os.close();
+         }
+         if (jar != null)
+         {
+            jar.close();
+         }
+      }
    }
    
    public String getDefaultName()
@@ -361,25 +387,6 @@
       return className.replace('.', '/') + ".class";
    }
    
-   private static void copy(InputStream inputStream, File file) throws IOException
-   {
-      OutputStream os = new FileOutputStream(file);
-      try 
-      {
-         byte[] buf = new byte[1024];
-         int i = 0;
-         while ((i = inputStream.read(buf)) != -1) 
-         {
-             os.write(buf, 0, i);
-         }
-     } 
-     finally 
-     {
-         os.close();
-     }
-
-   }
-   
    public Set<Class<?>> getClasses()
    {
       return classes;

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ResourceDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ResourceDescriptor.java	2009-02-24 21:59:04 UTC (rev 1692)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ResourceDescriptor.java	2009-02-24 22:52:15 UTC (rev 1693)
@@ -3,12 +3,12 @@
 import static org.jboss.jsr299.tck.impl.util.Reflections.loadResource;
 
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.net.URL;
 
+import org.jboss.jsr299.tck.impl.util.Files;
+
 public class ResourceDescriptor
 {
    
@@ -20,7 +20,7 @@
       this.name = name;
       File file = File.createTempFile(ResourceDescriptor.class.getName(), null);
       file.deleteOnExit();
-      copy(source, file);
+      Files.copy(source, file);
       this.source = file.toURI().toURL(); 
    }
    
@@ -80,23 +80,4 @@
       return name + " (" + source.toString() + ")";
    }
    
-   private static void copy(InputStream inputStream, File file) throws IOException
-   {
-      OutputStream os = new FileOutputStream(file);
-      try 
-      {
-         byte[] buf = new byte[1024];
-         int i = 0;
-         while ((i = inputStream.read(buf)) != -1) 
-         {
-             os.write(buf, 0, i);
-         }
-     } 
-     finally 
-     {
-         os.close();
-     }
-
-   }
-   
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java	2009-02-24 21:59:04 UTC (rev 1692)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ear/EarArtifactDescriptor.java	2009-02-24 22:52:15 UTC (rev 1693)
@@ -42,15 +42,30 @@
          }
          
       };
+      InputStream applicationXml = null;
       try
       {
-         getResources().add(new ResourceDescriptor(APPLICATION_XML_DESTINATION, getApplicationXml(declaringClass)));
+         applicationXml = getApplicationXml(declaringClass);
+         getResources().add(new ResourceDescriptor(APPLICATION_XML_DESTINATION, applicationXml));
       }
       catch (IOException e)
       {
-         log.warn("Error generating ear");
+         log.warn("Error generating ear", e);
       }
-
+      finally
+      {
+         if (applicationXml != null)
+         {
+            try
+            {
+               applicationXml.close();
+            }
+            catch (IOException e1)
+            {
+               log.error("Error generating ear", e1);
+            }
+         }
+      }
    }
    
    @Override
@@ -110,24 +125,31 @@
    private static InputStream getApplicationXml(Class<?> declaringClass) throws IOException
    {
       ByteArrayOutputStream os = new ByteArrayOutputStream();
-      Writer writer = new PrintWriter(os);
-      writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
-      writer.write("<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n" + 
-                "\t\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" +
-                "\t\txsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\" \n" +
-                "\t\tversion=\"5\">\n\n");
-      writer.write("\t<display-name>JSR-99 TCK: " + declaringClass.getName() + "</display-name>\n\n");
-      writer.write("\t<module>\n" +
-           "\t\t<web>\n" +
-               "\t\t\t<web-uri>" + declaringClass.getName() +".war</web-uri>\n" + 
-               "\t\t\t<context-root>/" + declaringClass.getName() + "</context-root>\n" +
-           "\t\t</web>\n" +
-       "\t</module>\n\n");
-      writer.write("\t<module>\n" +
-                "\t\t<ejb>" + declaringClass.getName() +".jar</ejb>\n" + 
-        "\t</module>\n\n");
-      writer.write("</application>\n");
-      writer.flush();
-      return new ByteArrayInputStream(os.toByteArray());
+      try
+      {
+         Writer writer = new PrintWriter(os);
+         writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+         writer.write("<application xmlns=\"http://java.sun.com/xml/ns/javaee\" \n" + 
+                   "\t\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" \n" +
+                   "\t\txsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd\" \n" +
+                   "\t\tversion=\"5\">\n\n");
+         writer.write("\t<display-name>JSR-99 TCK: " + declaringClass.getName() + "</display-name>\n\n");
+         writer.write("\t<module>\n" +
+              "\t\t<web>\n" +
+                  "\t\t\t<web-uri>" + declaringClass.getName() +".war</web-uri>\n" + 
+                  "\t\t\t<context-root>/" + declaringClass.getName() + "</context-root>\n" +
+              "\t\t</web>\n" +
+          "\t</module>\n\n");
+         writer.write("\t<module>\n" +
+                   "\t\t<ejb>" + declaringClass.getName() +".jar</ejb>\n" + 
+           "\t</module>\n\n");
+         writer.write("</application>\n");
+         writer.flush();
+         return new ByteArrayInputStream(os.toByteArray());
+      }
+      finally
+      {
+         os.close();
+      }
    }
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java	2009-02-24 21:59:04 UTC (rev 1692)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/jsr299/TCKArtifactDescriptor.java	2009-02-24 22:52:15 UTC (rev 1693)
@@ -50,24 +50,47 @@
          getLibraries().add(new ResourceDescriptor("testng.jar", "/lib/testng-jdk15.jar"));
          getLibraries().add(new ResourceDescriptor("jsr-299-tck-api.jar", "/lib/jsr299-tck-api.jar"));
          getLibraries().add(getTckSupportJar());
+         InputStream deploymentProperties = null;
          try
          {
-            getResources().add(new ResourceDescriptor(getClassesRoot() + DeploymentProperties.RESOURCE_BUNDLE, getDeploymentProperties(declaringClass)));
+            deploymentProperties = getDeploymentProperties(declaringClass);
+            getResources().add(new ResourceDescriptor(getClassesRoot() + DeploymentProperties.RESOURCE_BUNDLE, deploymentProperties));
          }
          catch (IOException e)
          {
             log.warn("Error generating deployment properties", e);
          }
+         finally
+         {
+            if (deploymentProperties != null)
+            {
+               try
+               {
+                  deploymentProperties.close();
+               }
+               catch (IOException e)
+               {
+                  log.error("Error generating deployment properties", e);
+               }
+            }
+         }
       }
    }
    
    private static InputStream getDeploymentProperties(Class<?> declaringClass) throws IOException
    {
       ByteArrayOutputStream os = new ByteArrayOutputStream();
-      Writer writer = new PrintWriter(os);
-      writer.write("className=" + declaringClass.getName());
-      writer.flush();
-      return new ByteArrayInputStream(os.toByteArray());
+      try
+      {
+         Writer writer = new PrintWriter(os);
+         writer.write("className=" + declaringClass.getName());
+         writer.flush();
+         return new ByteArrayInputStream(os.toByteArray());
+      }
+      finally
+      {
+         os.close();
+      }
    }
    
    public boolean isUnit()

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/util/Files.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/util/Files.java	2009-02-24 21:59:04 UTC (rev 1692)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/util/Files.java	2009-02-24 22:52:15 UTC (rev 1693)
@@ -1,5 +1,7 @@
 package org.jboss.jsr299.tck.impl.util;
 
+import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -16,5 +18,19 @@
          destination.write(readBuffer, 0, bytesIn); 
       }
    }
+
+   public static void copy(InputStream inputStream, File file) throws IOException
+   {
+      OutputStream os = new FileOutputStream(file);
+      try 
+      {
+         copy(inputStream, os);
+     } 
+     finally 
+     {
+         os.close();
+     }
    
+   }
+   
 }




More information about the weld-commits mailing list