You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2010/11/29 17:27:22 UTC

svn commit: r1040172 - in /wicket/trunk: wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/image/resource/ wicket-util/src/main/java/org/apache/wicket/util/io/ wicket-util/src/main/java/org/apache/wicket/util/license/ wicket-util...

Author: pete
Date: Mon Nov 29 16:27:21 2010
New Revision: 1040172

URL: http://svn.apache.org/viewvc?rev=1040172&view=rev
Log:
- reduced noise by using IOUtils.close() and IOUtils.closeQuietly() where appropriate
- try ... finally on double close() to ensure second close() is invoked when first close() throws an IOException
- serialization issue in WebExternalResourceStream

Modified:
    wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/image/resource/ThumbnailImageResource.java
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/XmlReader.java
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
    wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java
    wicket/trunk/wicket-velocity/src/main/java/org/apache/wicket/velocity/Initializer.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java

Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/image/resource/ThumbnailImageResource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/image/resource/ThumbnailImageResource.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/image/resource/ThumbnailImageResource.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/image/resource/ThumbnailImageResource.java Mon Nov 29 16:27:21 2010
@@ -29,6 +29,7 @@ import org.apache.wicket.WicketRuntimeEx
 import org.apache.wicket.request.resource.DynamicImageResource;
 import org.apache.wicket.request.resource.IResource;
 import org.apache.wicket.response.ByteArrayResponse;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.time.Time;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -97,7 +98,7 @@ public class ThumbnailImageResource exte
 	/**
 	 * get resized image instance.
 	 * 
-	 * @param attributes2
+	 * @param attributes
 	 * 
 	 * @return BufferedImage
 	 */
@@ -124,16 +125,13 @@ public class ThumbnailImageResource exte
 		}
 		finally
 		{
-			if (is != null)
+			try
 			{
-				try
-				{
-					is.close();
-				}
-				catch (IOException e)
-				{
-					log.error(e.getMessage(), e);
-				}
+				IOUtils.close(is);
+			}
+			catch (IOException e)
+			{
+				log.error(e.getMessage(), e);
 			}
 		}
 

Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/XmlReader.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/XmlReader.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/XmlReader.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/io/XmlReader.java Mon Nov 29 16:27:21 2010
@@ -228,8 +228,14 @@ public final class XmlReader extends Rea
 	@Override
 	public void close() throws IOException
 	{
-		reader.close();
-		inputStream.close();
+		try
+		{
+			reader.close();
+		}
+		finally
+		{
+			inputStream.close();
+		}
 	}
 
 	/**

Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/license/AbstractLicenseHeaderHandler.java Mon Nov 29 16:27:21 2010
@@ -26,6 +26,7 @@ import java.util.List;
 
 import junit.framework.Assert;
 
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.string.Strings;
 
 
@@ -94,36 +95,9 @@ abstract class AbstractLicenseHeaderHand
 			}
 			finally
 			{
-				if (lineNumberReader != null)
-				{
-					try
-					{
-						lineNumberReader.close();
-					}
-					catch (Exception e)
-					{ /* Ignore */
-					}
-				}
-				if (inputStream != null)
-				{
-					try
-					{
-						inputStream.close();
-					}
-					catch (Exception e)
-					{ /* Ignore */
-					}
-				}
-				if (inputStreamReader != null)
-				{
-					try
-					{
-						inputStreamReader.close();
-					}
-					catch (Exception e)
-					{ /* Ignore */
-					}
-				}
+				IOUtils.closeQuietly(lineNumberReader);
+				IOUtils.closeQuietly(inputStream);
+				IOUtils.closeQuietly(inputStreamReader);
 			}
 		}
 
@@ -152,16 +126,13 @@ abstract class AbstractLicenseHeaderHand
 		}
 		finally
 		{
-			if (lineNumberReader != null)
+			try
 			{
-				try
-				{
-					lineNumberReader.close();
-				}
-				catch (IOException e)
-				{
-					Assert.fail(e.getMessage());
-				}
+				IOUtils.close(lineNumberReader);
+			}
+			catch (IOException e)
+			{
+				Assert.fail(e.getMessage());
 			}
 		}
 

Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java Mon Nov 29 16:27:21 2010
@@ -104,14 +104,7 @@ public abstract class AbstractStringReso
 		finally
 		{
 			IOUtils.closeQuietly(reader);
-			try
-			{
-				close();
-			}
-			catch (IOException e)
-			{
-				// ignore
-			}
+			IOUtils.closeQuietly(this);
 		}
 	}
 

Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java Mon Nov 29 16:27:21 2010
@@ -23,6 +23,7 @@ import java.io.InputStream;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.time.Time;
 
 /**
@@ -96,15 +97,8 @@ public class XSLTResourceStream extends 
 		}
 		finally
 		{
-			try
-			{
-				xmlResource.close();
-				xsltResource.close();
-			}
-			catch (IOException e)
-			{
-				// ignore
-			}
+			IOUtils.closeQuietly(xmlResource);
+			IOUtils.closeQuietly(xsltResource);
 		}
 	}
 

Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java Mon Nov 29 16:27:21 2010
@@ -142,7 +142,7 @@ public class ZipResourceStream extends A
 			}
 			else
 			{
-				out.putNextEntry(new ZipEntry(path.toString() + f.getName()));
+				out.putNextEntry(new ZipEntry(path + f.getName()));
 
 				FileInputStream fi = new FileInputStream(f);
 				origin = new BufferedInputStream(fi, BUFFER);

Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/upload/DiskFileItem.java Mon Nov 29 16:27:21 2010
@@ -30,7 +30,7 @@ import java.util.Map;
 
 import org.apache.wicket.util.file.FileCleaner;
 import org.apache.wicket.util.io.DeferredFileOutputStream;
-
+import org.apache.wicket.util.io.IOUtils;
 
 /**
  * <p>
@@ -296,17 +296,7 @@ public class DiskFileItem implements Fil
 		}
 		finally
 		{
-			if (fis != null)
-			{
-				try
-				{
-					fis.close();
-				}
-				catch (IOException e)
-				{
-					// ignore
-				}
-			}
+			IOUtils.closeQuietly(fis);
 		}
 
 		return fileData;
@@ -389,10 +379,7 @@ public class DiskFileItem implements Fil
 			}
 			finally
 			{
-				if (fout != null)
-				{
-					fout.close();
-				}
+				IOUtils.close(fout);
 			}
 		}
 		else
@@ -421,28 +408,8 @@ public class DiskFileItem implements Fil
 					}
 					finally
 					{
-						if (in != null)
-						{
-							try
-							{
-								in.close();
-							}
-							catch (IOException e)
-							{
-								// ignore
-							}
-						}
-						if (out != null)
-						{
-							try
-							{
-								out.close();
-							}
-							catch (IOException e)
-							{
-								// ignore
-							}
-						}
+						IOUtils.closeQuietly(in);
+						IOUtils.closeQuietly(out);
 					}
 				}
 			}

Modified: wicket/trunk/wicket-velocity/src/main/java/org/apache/wicket/velocity/Initializer.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-velocity/src/main/java/org/apache/wicket/velocity/Initializer.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket-velocity/src/main/java/org/apache/wicket/velocity/Initializer.java (original)
+++ wicket/trunk/wicket-velocity/src/main/java/org/apache/wicket/velocity/Initializer.java Mon Nov 29 16:27:21 2010
@@ -28,13 +28,14 @@ import org.apache.wicket.IInitializer;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.file.WebApplicationPath;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * An implementation of {@link wicket.IInitializer} for the Velocity Runtime Singleton. If
+ * An implementation of {@link org.apache.wicket.IInitializer} for the Velocity Runtime Singleton. If
  * Application is an instance of WebApplication, Initializer will retrieve
  * "velocityPropertiesFolder" as an initparam to point to the directory the properties file lives
  * in, and "velocity.properties" for the name of the properties file. If the params don't exist,
@@ -112,16 +113,13 @@ public class Initializer implements IIni
 				}
 				finally
 				{
-					if (is != null)
+					try
 					{
-						try
-						{
-							is.close();
-						}
-						catch (IOException e)
-						{
-							log.error(e.getMessage(), e);
-						}
+						IOUtils.close(is);
+					}
+					catch (IOException e)
+					{
+						log.error(e.getMessage(), e);
 					}
 				}
 			}
@@ -141,16 +139,13 @@ public class Initializer implements IIni
 		}
 		finally
 		{
-			if (is != null)
+			try
 			{
-				try
-				{
-					is.close();
-				}
-				catch (IOException e)
-				{
-					log.error(e.getMessage(), e);
-				}
+				IOUtils.close(is);
+			}
+			catch (IOException e)
+			{
+				log.error(e.getMessage(), e);
 			}
 		}
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Application.java Mon Nov 29 16:27:21 2010
@@ -99,6 +99,7 @@ import org.apache.wicket.settings.def.Re
 import org.apache.wicket.settings.def.SecuritySettings;
 import org.apache.wicket.settings.def.SessionSettings;
 import org.apache.wicket.util.IProvider;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.lang.Generics;
 import org.apache.wicket.util.lang.PropertyResolver;
@@ -495,10 +496,7 @@ public abstract class Application implem
 				}
 				finally
 				{
-					if (in != null)
-					{
-						in.close();
-					}
+					IOUtils.close(in);
 				}
 			}
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java Mon Nov 29 16:27:21 2010
@@ -19,6 +19,8 @@ package org.apache.wicket.markup.html;
 import org.apache.wicket.request.Response;
 import org.apache.wicket.request.resource.ResourceReference;
 
+import java.io.Closeable;
+
 /**
  * Interface that is used to render header elements (usually javascript and CSS references).
  * 
@@ -27,7 +29,7 @@ import org.apache.wicket.request.resourc
  * 
  * @author Matej Knopp
  */
-public interface IHeaderResponse
+public interface IHeaderResponse extends Closeable
 {
 	/**
 	 * Writes a javascript reference, if the specified reference hasn't been rendered yet.

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/parser/XmlPullParser.java Mon Nov 29 16:27:21 2010
@@ -24,12 +24,12 @@ import java.text.ParseException;
 
 import org.apache.wicket.markup.MarkupElement;
 import org.apache.wicket.util.io.FullyBufferedReader;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.io.XmlReader;
 import org.apache.wicket.util.parse.metapattern.parsers.TagNameParser;
 import org.apache.wicket.util.parse.metapattern.parsers.VariableAssignmentParser;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
 
-
 /**
  * A fairly shallow markup pull parser which parses a markup string of a given type of markup (for
  * example, html, xml, vxml or wml) into ComponentTag and RawMarkup tokens.
@@ -562,10 +562,13 @@ public final class XmlPullParser impleme
 		}
 		finally
 		{
-			inputStream.close();
-			if (xmlReader != null)
+			try
+			{
+				inputStream.close();
+			}
+			finally
 			{
-				xmlReader.close();
+				IOUtils.close(xmlReader);
 			}
 		}
 	}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java Mon Nov 29 16:27:21 2010
@@ -1551,8 +1551,15 @@ public class MockHttpServletRequest impl
 
 					// Load the file and put it into the the inputstream
 					FileInputStream fis = new FileInputStream(uf.getFile());
-					IOUtils.copy(fis, out);
-					fis.close();
+
+					try
+					{
+						IOUtils.copy(fis, out);
+					}
+					finally
+					{
+						fis.close();
+					}
 					out.write(crlf.getBytes());
 				}
 			}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/resource/PropertiesFactory.java Mon Nov 29 16:27:21 2010
@@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentHa
 
 import org.apache.wicket.Application;
 import org.apache.wicket.settings.IResourceSettings;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.listener.IChangeListener;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
@@ -243,26 +244,8 @@ public class PropertiesFactory implement
 		}
 		finally
 		{
-			if (in != null)
-			{
-				try
-				{
-					in.close();
-				}
-				catch (IOException ex)
-				{
-					// ignore
-				}
-			}
-
-			try
-			{
-				resourceStream.close();
-			}
-			catch (IOException ex)
-			{
-				// ignore
-			}
+			IOUtils.closeQuietly(in);
+			IOUtils.closeQuietly(resourceStream);
 		}
 
 		return null;

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/WicketObjects.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/WicketObjects.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/WicketObjects.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/lang/WicketObjects.java Mon Nov 29 16:27:21 2010
@@ -33,6 +33,7 @@ import org.apache.wicket.WicketRuntimeEx
 import org.apache.wicket.application.IClassResolver;
 import org.apache.wicket.settings.IApplicationSettings;
 import org.apache.wicket.util.io.ByteCountingOutputStream;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.io.IObjectStreamFactory;
 import org.apache.wicket.util.io.IObjectStreamFactory.DefaultObjectStreamFactory;
 import org.apache.wicket.util.string.Strings;
@@ -258,11 +259,14 @@ public class WicketObjects
 			}
 			finally
 			{
-				if (ois != null)
+				try
 				{
-					ois.close();
+					IOUtils.close(ois);
+				}
+				finally
+				{
+					in.close();
 				}
-				in.close();
 			}
 		}
 		catch (ClassNotFoundException e)
@@ -478,11 +482,14 @@ public class WicketObjects
 			}
 			finally
 			{
-				if (oos != null)
+				try
 				{
-					oos.close();
+					IOUtils.close(oos);
+				}
+				finally
+				{
+					out.close();
 				}
-				out.close();
 			}
 			return out.toByteArray();
 		}
@@ -522,11 +529,14 @@ public class WicketObjects
 			}
 			finally
 			{
-				if (oos != null)
+				try
 				{
-					oos.close();
+					IOUtils.close(oos);
+				}
+				finally
+				{
+					out.close();
 				}
-				out.close();
 			}
 			return out.toByteArray();
 		}

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java?rev=1040172&r1=1040171&r2=1040172&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java Mon Nov 29 16:27:21 2010
@@ -24,10 +24,8 @@ import javax.servlet.ServletContext;
 import org.apache.wicket.Application;
 import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.time.Time;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 
 /**
  * An {@link IResourceStream} that reads data from a file in the web application
@@ -36,14 +34,9 @@ import org.slf4j.LoggerFactory;
  */
 public class WebExternalResourceStream extends AbstractResourceStream
 {
-	InputStream in;
-	/**
-	 * 
-	 */
 	private static final long serialVersionUID = 1L;
 
-	/** log. */
-	private static final Logger log = LoggerFactory.getLogger(WebExternalResourceStream.class);
+	transient InputStream in;
 
 	/** the relative url of the external resource. */
 	private final String url;
@@ -78,10 +71,7 @@ public class WebExternalResourceStream e
 	public void close() throws IOException
 	{
 		// getInputStream() is not always called (WICKET-790)
-		if (in != null)
-		{
-			in.close();
-		}
+		IOUtils.close(in);
 	}
 
 	@Override