jochen 2005/03/07 00:02:25
Modified: src/api/javax/xml/bind JAXBContext.java
src/js/org/apache/ws/jaxme/logging LoggerAccess.java
src/jaxme/org/apache/ws/jaxme/impl JAXBContextImpl.java
src/js/org/apache/ws/jaxme/js/pattern SourceReflector.java
Log:
Ensured, that InputStreams are closed.
Revision Changes Path
1.4 +8 -1 ws-jaxme/src/api/javax/xml/bind/JAXBContext.java
Index: JAXBContext.java
===================================================================
RCS file: /home/cvs/ws-jaxme/src/api/javax/xml/bind/JAXBContext.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JAXBContext.java 27 Jul 2004 11:19:25 -0000 1.3
+++ JAXBContext.java 7 Mar 2005 08:02:25 -0000 1.4
@@ -17,6 +17,7 @@
package javax.xml.bind;
import java.io.IOException;
+import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -162,10 +163,16 @@
continue;
}
Properties props = new Properties();
+ InputStream istream = null;
try {
- props.load(resource.openStream());
+ istream = resource.openStream();
+ props.load(istream);
+ istream.close();
+ istream = null;
} catch (IOException e) {
throw new JAXBException("Failed to load property file " + resource,
e);
+ } finally {
+ if (istream != null) { try { istream.close(); } catch (Throwable
ignore) {} }
}
String className = props.getProperty(JAXB_CONTEXT_FACTORY);
if (className == null) {
1.5 +8 -1
ws-jaxme/src/js/org/apache/ws/jaxme/logging/LoggerAccess.java
Index: LoggerAccess.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/logging/LoggerAccess.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- LoggerAccess.java 2 Sep 2004 06:45:17 -0000 1.4
+++ LoggerAccess.java 7 Mar 2005 08:02:25 -0000 1.5
@@ -17,6 +17,7 @@
package org.apache.ws.jaxme.logging;
import java.io.BufferedReader;
+import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
@@ -115,14 +116,20 @@
}
}
if (url != null) {
+ InputStream istream = null;
try {
- BufferedReader reader = new BufferedReader(new
InputStreamReader(url.openStream()));
+ istream = url.openStream();
+ BufferedReader reader = new BufferedReader(new
InputStreamReader(istream));
v = reader.readLine();
if (v != null) {
result = newLoggerFactory(v);
}
+ istream.close();
+ istream = null;
} catch (Throwable t) {
t.printStackTrace();
+ } finally {
+ if (istream != null) { try { istream.close(); } catch (Throwable
ignore) {} }
}
}
1.8 +9 -2
ws-jaxme/src/jaxme/org/apache/ws/jaxme/impl/JAXBContextImpl.java
Index: JAXBContextImpl.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/impl/JAXBContextImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JAXBContextImpl.java 4 Mar 2005 10:41:53 -0000 1.7
+++ JAXBContextImpl.java 7 Mar 2005 08:02:25 -0000 1.8
@@ -17,6 +17,7 @@
package org.apache.ws.jaxme.impl;
import java.io.IOException;
+import java.io.InputStream;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@@ -384,6 +385,7 @@
(packageName.replace('.', '/') + '/') : "") + "Configuration.xml";
URL url = getClassLoader().getResource(configFileName);
if (url != null) {
+ InputStream istream = null;
try {
Configuration c = new Configuration(this);
Configurator configurator = new Configurator();
@@ -392,9 +394,12 @@
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(configurator);
- InputSource isource = new InputSource(url.openStream());
+ istream = url.openStream();
+ InputSource isource = new InputSource(istream);
isource.setSystemId(url.toString());
xr.parse(isource);
+ istream.close();
+ istream = null;
if (first) {
first = false;
@@ -416,6 +421,8 @@
throw new JAXBException(msg, f);
} catch (ParserConfigurationException e) {
throw new JAXBException("Failed to create a SAX Parser: " +
e.getMessage(), e);
+ } finally {
+ if (istream != null) { try { istream.close(); } catch (Throwable
ignore) {} }
}
}
}
1.2 +21 -7
ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/SourceReflector.java
Index: SourceReflector.java
===================================================================
RCS file:
/home/cvs/ws-jaxme/src/js/org/apache/ws/jaxme/js/pattern/SourceReflector.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SourceReflector.java 6 Sep 2004 14:51:57 -0000 1.1
+++ SourceReflector.java 7 Mar 2005 08:02:25 -0000 1.2
@@ -3,6 +3,7 @@
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
@@ -41,16 +42,29 @@
public JavaSource getJavaSource(final JavaSourceFactory pFactory)
throws RecognitionException, TokenStreamException, IOException {
- Reader r;
- String name;
+ List result;
if (file == null) {
- name = url.toExternalForm();
- r = new InputStreamReader(url.openStream());
+ InputStream istream = null;
+ try {
+ istream = url.openStream();
+ Reader r = new InputStreamReader(istream);
+ result = new JavaParser(pFactory).parse(r);
+ istream.close();
+ istream = null;
+ } finally {
+ if (istream != null) { try { istream.close(); } catch
(Throwable ignore) {} }
+ }
} else {
- name = file.getAbsolutePath();
- r = new FileReader(file);
+ Reader r = null;
+ try {
+ r = new FileReader(file);
+ result = new JavaParser(pFactory).parse(r);
+ r.close();
+ r = null;
+ } finally {
+ if (r != null) { try { r.close(); } catch (Throwable ignore)
{} }
+ }
}
- List result = new JavaParser(pFactory).parse(r);
if (result.size() > 1) {
throw new RecognitionException("The Java source file contained
multiple classes.");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]