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