You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by pe...@apache.org on 2012/08/05 15:04:31 UTC

svn commit: r1369570 - /river/jtsk/trunk/src/net/jini/loader/pref/PreferredClassLoader.java

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;
+                    }
                 }
 	    }
 	}