You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by cr...@apache.org on 2006/11/14 01:33:10 UTC
svn commit: r474604 -
/shale/framework/trunk/shale-tiger/src/main/java/org/apache/shale/tiger/config/FacesConfigParser.java
Author: craigmcc
Date: Mon Nov 13 16:33:10 2006
New Revision: 474604
URL: http://svn.apache.org/viewvc?view=rev&rev=474604
Log:
Close parsed input streams, to avoid the potential for leaving JAR files
locked on Windows after an undeploy (as with SHALE-274). Webapps will still
need a version of Digester newer than 1.7 for the Digester part of the fix.
Modified:
shale/framework/trunk/shale-tiger/src/main/java/org/apache/shale/tiger/config/FacesConfigParser.java
Modified: shale/framework/trunk/shale-tiger/src/main/java/org/apache/shale/tiger/config/FacesConfigParser.java
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-tiger/src/main/java/org/apache/shale/tiger/config/FacesConfigParser.java?view=diff&rev=474604&r1=474603&r2=474604
==============================================================================
--- shale/framework/trunk/shale-tiger/src/main/java/org/apache/shale/tiger/config/FacesConfigParser.java (original)
+++ shale/framework/trunk/shale-tiger/src/main/java/org/apache/shale/tiger/config/FacesConfigParser.java Mon Nov 13 16:33:10 2006
@@ -18,6 +18,7 @@
package org.apache.shale.tiger.config;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import org.apache.commons.digester.Digester;
import org.apache.commons.digester.RuleSet;
@@ -149,8 +150,24 @@
digester.clear();
digester.push(getFacesConfig());
InputSource source = new InputSource(getResource().toExternalForm());
- source.setByteStream(getResource().openStream());
- digester.parse(source);
+ InputStream stream = null;
+ try {
+ stream = getResource().openStream();
+ source.setByteStream(stream);
+ digester.parse(source);
+ } catch (IOException e) {
+ throw e;
+ } catch (SAXException e) {
+ throw e;
+ } finally {
+ if (stream != null) {
+ try {
+ stream.close();
+ } catch (IOException e) {
+ ; // Fall through
+ }
+ }
+ }
}