Author: pete
Date: Mon Nov 29 15:39:47 2010
New Revision: 1040156

URL: http://svn.apache.org/viewvc?rev=1040156&view=rev
Log:
- Streams.close() can close more than just streams, so moved it to 
IOUtils.close()
- IOUtils.closeQuiety() is a little too quiet, so if close() fails we still log 
some message in debug mode (failed close() means potential trouble, so we 
should not completely ignore it)

Modified:
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/IOUtils.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/IOUtils.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/IOUtils.java?rev=1040156&r1=1040155&r2=1040156&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/IOUtils.java 
(original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/IOUtils.java 
Mon Nov 29 15:39:47 2010
@@ -16,6 +16,9 @@
  */
 package org.apache.wicket.util.io;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.io.*;
 
 /**
@@ -56,6 +59,8 @@ import java.io.*;
  */
 public final class IOUtils
 {
+       private static final Logger log = 
LoggerFactory.getLogger(IOUtils.class);
+
        // NOTE: This class is focused on InputStream, OutputStream, Reader and
        // Writer. Each method should take at least one of these as a parameter.
        // NOTE: This class should not depend on any other classes
@@ -73,6 +78,20 @@ public final class IOUtils
        }
 
        /**
+        * Closes a closeable. Guards against null closables.
+        *
+        * @param closeable
+        *            closeable to close
+        * @throws IOException
+        *             when close fails
+        */
+       public static void close(Closeable closeable) throws IOException
+       {
+               if (closeable != null)
+                       closeable.close();
+       }
+
+       /**
         * Unconditionally close a <code>Closeable</code>.
         * <p>
         * closeables can be input or output streams, reader, writers, and much 
more.
@@ -85,16 +104,13 @@ public final class IOUtils
         */
        public static void closeQuietly(Closeable closeable)
        {
-               if (closeable != null)
+               try
                {
-                       try
-                       {
-                               closeable.close();
-                       }
-                       catch (Exception e)
-                       {
-                               // ignore
-                       }
+                       close(closeable);
+               }
+               catch (IOException e)
+               {
+                       log.debug("closing resource failed: " + e.getMessage(), 
e);
                }
        }
 

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java?rev=1040156&r1=1040155&r2=1040156&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java 
(original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/Streams.java 
Mon Nov 29 15:39:47 2010
@@ -55,22 +55,16 @@ public final class Streams
                + " key CDATA #REQUIRED>";
 
        /**
-        * Closes a closeable. Guards against null closables.
-        * 
-        * @param closeable
-        *            closeable to close
-        * @throws IOException
-        *             when close fails
+        * @deprecated
+        *
+        * @see IOUtils#close(Closeable);
         */
+       @Deprecated
        public static void close(Closeable closeable) throws IOException
        {
-               if (closeable != null)
-               {
-                       closeable.close();
-               }
+               IOUtils.close(closeable);
        }
 
-
        /**
         * Writes the input stream to the output stream. Input is done without 
a Reader object, meaning
         * that the input is copied in its raw form.


Reply via email to