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
}