Author: peter_firmstone
Date: Sun Aug  5 13:04:31 2012
New Revision: 1369570

URL: http://svn.apache.org/viewvc?rev=1369570&view=rev
Log:
Work around sun bug ID 6536522 NPE thrown instead of MalformedURLException

Modified:
    river/jtsk/trunk/src/net/jini/loader/pref/PreferredClassLoader.java

Modified: river/jtsk/trunk/src/net/jini/loader/pref/PreferredClassLoader.java
URL: 
http://svn.apache.org/viewvc/river/jtsk/trunk/src/net/jini/loader/pref/PreferredClassLoader.java?rev=1369570&r1=1369569&r2=1369570&view=diff
==============================================================================
--- river/jtsk/trunk/src/net/jini/loader/pref/PreferredClassLoader.java 
(original)
+++ river/jtsk/trunk/src/net/jini/loader/pref/PreferredClassLoader.java Sun Aug 
 5 13:04:31 2012
@@ -681,7 +681,7 @@ public class PreferredClassLoader extend
                if (closeAfter) {
                    hconn.setRequestMethod("HEAD");
                }
-               int responseCode = hconn.getResponseCode();
+               int responseCode = hconn.getResponseCode();//NPE
                
                switch (responseCode) {
                case HttpURLConnection.HTTP_OK:
@@ -708,16 +708,22 @@ public class PreferredClassLoader extend
                }
            }
         } catch (NullPointerException e){
+            // Sun Bug ID: 6536522
             e.fillInStackTrace();
             throw new IOException(url.toString(), e);
        } finally {
            if (closeAfter && (closeConn != null)) {
                /* clean up after... */
                try {
-                   closeConn.getInputStream().close();
+                   closeConn.getInputStream().close();//RTE NPE
                } catch (IOException e) {
-               } catch (NullPointerException e){
-                    // Sun Bug ID: 6536522
+               } catch (RuntimeException e){
+                    if ( e instanceof NullPointerException || e.getCause() 
instanceof NullPointerException) {
+                        // Sun Bug ID: 6536522
+                        // swallow
+                    } else {
+                        throw e;
+                    }
                 }
            }
        }


Reply via email to