Close the temporarily opened streams.

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/22664fc6
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/22664fc6
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/22664fc6

Branch: refs/heads/master
Commit: 22664fc6655534b4dbc7c862b5f46569e3e8780f
Parents: 045d193
Author: Martin Tzvetanov Grigorov <[email protected]>
Authored: Mon Feb 6 14:59:43 2012 +0200
Committer: Martin Tzvetanov Grigorov <[email protected]>
Committed: Mon Feb 6 14:59:43 2012 +0200

----------------------------------------------------------------------
 .../wicket/util/resource/ZipResourceStream.java    |   25 ++++++++++----
 1 files changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/22664fc6/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
----------------------------------------------------------------------
diff --git 
a/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
 
b/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
index 9aa00fb..dcc648a 100644
--- 
a/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
+++ 
b/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
@@ -77,7 +77,12 @@ public class ZipResourceStream extends AbstractResourceStream
                try
                {
                        ZipOutputStream out = new ZipOutputStream(bytearray);
-                       zipDir(dir, out, "", recursive);
+                       try
+                       {
+                               zipDir(dir, out, "", recursive);
+                       } finally {
+                               out.close();
+                       }
                }
                catch (RuntimeException e)
                {
@@ -129,8 +134,10 @@ public class ZipResourceStream extends 
AbstractResourceStream
 
                for (String file : files)
                {
-                       log.debug("Adding: '{}'", file);
-
+                       if (log.isDebugEnabled())
+                       {
+                               log.debug("Adding: '{}'", file);
+                       }
                        File f = new File(dir, file);
                        if (f.isDirectory())
                        {
@@ -146,12 +153,16 @@ public class ZipResourceStream extends 
AbstractResourceStream
                                FileInputStream fi = new FileInputStream(f);
                                origin = new BufferedInputStream(fi, BUFFER);
 
-                               int count;
-                               while ((count = origin.read(data, 0, BUFFER)) 
!= -1)
+                               try
                                {
-                                       out.write(data, 0, count);
+                                       int count;
+                                       while ((count = origin.read(data, 0, 
BUFFER)) != -1)
+                                       {
+                                               out.write(data, 0, count);
+                                       }
+                               } finally {
+                                       origin.close();
                                }
-                               origin.close();
                        }
                }
 

Reply via email to