Author: craigmcc
Date: Mon Nov 13 14:36:41 2006
New Revision: 474543

URL: http://svn.apache.org/viewvc?view=rev&rev=474543
Log:
Further work on SHALE-274 ... close the input stream for each parsed
configuration resource.  This doesn't solve the locked JAR file problem,
but it is the right thing to do anyway.

Modified:
    
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/config/ConfigurationParser.java

Modified: 
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/config/ConfigurationParser.java
URL: 
http://svn.apache.org/viewvc/shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/config/ConfigurationParser.java?view=diff&rev=474543&r1=474542&r2=474543
==============================================================================
--- 
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/config/ConfigurationParser.java
 (original)
+++ 
shale/framework/trunk/shale-dialog-basic/src/main/java/org/apache/shale/dialog/basic/config/ConfigurationParser.java
 Mon Nov 13 14:36:41 2006
@@ -18,6 +18,7 @@
 package org.apache.shale.dialog.basic.config;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.URL;
 import java.util.Map;
 
@@ -162,8 +163,24 @@
         digester.clear();
         digester.push(getDialogs());
         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
+                }
+            }
+        }
 
     }
 


Reply via email to