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
}