[webbeans-commits] Webbeans SVN: r1694 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Tue Feb 24 18:05:26 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-24 18:05:26 -0500 (Tue, 24 Feb 2009)
New Revision: 1694

Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java
Log:
one more hanging stream

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 22:52:15 UTC (rev 1693)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactDescriptor.java	2009-02-24 23:05:26 UTC (rev 1694)
@@ -173,15 +173,31 @@
       
       public InputStream jar() throws IOException
       {
-         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-         Manifest manifest = new Manifest();
-         Attributes attributes = manifest.getMainAttributes();
-         attributes.putValue("Created-By", "JSR-299 TCK Harness");
-         attributes.put(Attributes.Name.MANIFEST_VERSION, "1.0");
-         JarOutputStream jarOutputStream = new JarOutputStream(byteArrayOutputStream, manifest);
-         jar(root, jarOutputStream);
-         jarOutputStream.close();
-         return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+         ByteArrayOutputStream byteArrayOutputStream = null;
+         JarOutputStream jarOutputStream = null;
+         try
+         {
+            byteArrayOutputStream = new ByteArrayOutputStream();
+            Manifest manifest = new Manifest();
+            Attributes attributes = manifest.getMainAttributes();
+            attributes.putValue("Created-By", "JSR-299 TCK Harness");
+            attributes.put(Attributes.Name.MANIFEST_VERSION, "1.0");
+            jarOutputStream = new JarOutputStream(byteArrayOutputStream, manifest);
+            jar(root, jarOutputStream);
+            jarOutputStream.close();
+            return new ByteArrayInputStream(byteArrayOutputStream.toByteArray());
+         }
+         finally
+         {
+            if (jarOutputStream != null)
+            {
+               jarOutputStream.close();
+            }
+            else if (byteArrayOutputStream != null)
+            {
+               byteArrayOutputStream.close();
+            }
+         }
       }
       
       private void jar(File directory, JarOutputStream jarOutputStream) throws IOException
@@ -326,14 +342,26 @@
    
    private static void copyClass(String className, File root) throws IOException
    {
-      String classFilePathName = getClassFileName(className);
-      String directoryName = classFilePathName.substring(0, classFilePathName.lastIndexOf("/"));
-      String classFileName = classFilePathName.substring(classFilePathName.lastIndexOf("/") + 1);
-      File packageDirectory = makeDirectoryStructure(root, directoryName);
-      File classFile = new File(packageDirectory, classFileName);
-      classFile.createNewFile();
-      classFile.deleteOnExit();
-      Files.copy(loadResourceAsStream(classFilePathName), classFile);
+      InputStream clazzStream = null;
+      try
+      {
+         String classFilePathName = getClassFileName(className);
+         String directoryName = classFilePathName.substring(0, classFilePathName.lastIndexOf("/"));
+         String classFileName = classFilePathName.substring(classFilePathName.lastIndexOf("/") + 1);
+         File packageDirectory = makeDirectoryStructure(root, directoryName);
+         File classFile = new File(packageDirectory, classFileName);
+         classFile.createNewFile();
+         classFile.deleteOnExit();
+         clazzStream = loadResourceAsStream(classFilePathName);
+         Files.copy(clazzStream, classFile);
+      }
+      finally
+      {
+         if (clazzStream != null)
+         {
+            clazzStream.close();
+         }
+      }
    }
    
    private static File makeDirectoryStructure(File root, String directoryName)
@@ -358,11 +386,11 @@
       InputStream jar = null;
       try
       {
-      File file = new File(outputDirectory, fileName);
-      file.createNewFile();
-      os = new BufferedOutputStream(new FileOutputStream(file));
-      jar = getJarAsStream();
-      Files.copy(jar, os);
+         File file = new File(outputDirectory, fileName);
+         file.createNewFile();
+         os = new BufferedOutputStream(new FileOutputStream(file));
+         jar = getJarAsStream();
+         Files.copy(jar, os);
       }
       finally
       {




More information about the weld-commits mailing list