You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/04/10 00:37:33 UTC

svn commit: r1090698 - /commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/resource/classes/DiscoverClasses.java

Author: simonetripodi
Date: Sat Apr  9 22:37:33 2011
New Revision: 1090698

URL: http://svn.apache.org/viewvc?rev=1090698&view=rev
Log:
related to DISCOVERY-6: ProtectionDomain.getCodeSource() can return null

Modified:
    commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/resource/classes/DiscoverClasses.java

Modified: commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/resource/classes/DiscoverClasses.java
URL: http://svn.apache.org/viewvc/commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/resource/classes/DiscoverClasses.java?rev=1090698&r1=1090697&r2=1090698&view=diff
==============================================================================
--- commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/resource/classes/DiscoverClasses.java (original)
+++ commons/proper/discovery/trunk/src/java/org/apache/commons/discovery/resource/classes/DiscoverClasses.java Sat Apr  9 22:37:33 2011
@@ -17,6 +17,7 @@
 package org.apache.commons.discovery.resource.classes;
 
 import java.net.URL;
+import java.security.CodeSource;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -102,10 +103,13 @@ public class DiscoverClasses<T> extends 
                         url = loader.getResource(resourceName);
                     } catch (UnsupportedOperationException e) {
                         try {
-                            url = new URL(loader.loadClass(className)
-                                    .getProtectionDomain()
-                                    .getCodeSource()
-                                    .getLocation(), resourceName);
+                            CodeSource codeSource = loader.loadClass(className)
+                                .getProtectionDomain()
+                                .getCodeSource();
+                            if (codeSource != null) {
+                                url = new URL(codeSource.getLocation(), resourceName);
+                            }
+                            // else keep url null
                         } catch (Exception le) {
                             // keep url null
                         }