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]

Reply via email to