You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2006/09/20 20:35:43 UTC
svn commit: r448295 -
/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/MyFacesResourceLoader.java
Author: mmarinschek
Date: Wed Sep 20 11:35:43 2006
New Revision: 448295
URL: http://svn.apache.org/viewvc?view=rev&rev=448295
Log:
fix for TOMAHAWK-668 input stream not closed in MyFacesResourceLoader.writeResource. Thanks to Mike Youngstrom (I applied only one half of the patch; I allow the response stream to be closed still).
Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/MyFacesResourceLoader.java
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/MyFacesResourceLoader.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/MyFacesResourceLoader.java?view=diff&rev=448295&r1=448294&r2=448295
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/MyFacesResourceLoader.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/renderkit/html/util/MyFacesResourceLoader.java Wed Sep 20 11:35:43 2006
@@ -96,7 +96,7 @@
* which define the mime content-type; this is deduced from the
* filename suffix of the resource.
* <p>
- * @see org.apache.myfaces.shared.renderkit.html.util.ResourceLoader#serveResource(javax.servlet.ServletContext,
+ * @see org.apache.myfaces.renderkit.html.util.ResourceLoader#serveResource(javax.servlet.ServletContext,
* javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
*/
public void serveResource(ServletContext context, HttpServletRequest request,
@@ -133,22 +133,32 @@
}
resource = "resource/" + resource;
- InputStream is = componentClass.getResourceAsStream(resource);
- if (is == null)
+ InputStream is = null;
+
+ try
{
- response.sendError(HttpServletResponse.SC_NOT_FOUND, "Unable to find resource "
- + resource + " for component " + component
- + ". Check that this file is available " + "in the classpath in sub-directory "
- + "/resource of the package-directory.");
- log.error("Unable to find resource " + resource + " for component " + component
- + ". Check that this file is available " + "in the classpath in sub-directory "
- + "/resource of the package-directory.");
+ is = componentClass.getResourceAsStream(resource);
+ if (is == null)
+ {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND, "Unable to find resource "
+ + resource + " for component " + component
+ + ". Check that this file is available " + "in the classpath in sub-directory "
+ + "/resource of the package-directory.");
+ log.error("Unable to find resource " + resource + " for component " + component
+ + ". Check that this file is available " + "in the classpath in sub-directory "
+ + "/resource of the package-directory.");
+ }
+ else
+ {
+ defineContentHeaders(request, response, resource);
+ defineCaching(request, response, resource);
+ writeResource(request, response, is);
+ }
}
- else
+ finally
{
- defineContentHeaders(request, response, resource);
- defineCaching(request, response, resource);
- writeResource(request, response, is);
+ if(is!=null)
+ is.close();
}
}