Skip to content

Commit

Permalink
MODULES-26: Use appcl instead of syscl for system:system
Browse files Browse the repository at this point in the history
  • Loading branch information
dmlloyd committed Aug 13, 2010
1 parent 7ae5104 commit 60c0e04
Showing 1 changed file with 7 additions and 54 deletions.
61 changes: 7 additions & 54 deletions src/main/java/org/jboss/modules/SystemLocalLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
Expand Down Expand Up @@ -64,15 +62,10 @@ public Class<?> loadClassLocal(final String name, final boolean resolve) {

public List<Resource> loadResourceLocal(final String name) {
final Enumeration<URL> urls;
final SecurityManager sm = System.getSecurityManager();
if (sm != null) {
urls = AccessController.doPrivileged(new GetResourcesAction(name));
} else {
try {
urls = SYSTEM_CL.getResources(name);
} catch (IOException e) {
return Collections.emptyList();
}
try {
urls = SYSTEM_CL.getResources(name);
} catch (IOException e) {
return Collections.emptyList();
}
final List<Resource> list = new ArrayList<Resource>();
while (urls.hasMoreElements()) {
Expand All @@ -85,13 +78,7 @@ public Resource loadResourceLocal(final String root, final String name) {
if (! "".equals(root)) {
return null;
}
final SecurityManager sm = System.getSecurityManager();
final URL url;
if (sm != null) {
url = AccessController.doPrivileged(new GetResourceAction(name));
} else {
url = ClassLoader.getSystemResource(name);
}
final URL url = SYSTEM_CL.getResource(name);
return url == null ? null : new URLResource(url);
}

Expand All @@ -105,45 +92,11 @@ Set<String> getPathSet() {
return pathSet;
}

// Private members
// Private members

private static final SystemLocalLoader INSTANCE = new SystemLocalLoader();

private static final ClassLoader SYSTEM_CL = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
public ClassLoader run() {
return ClassLoader.getSystemClassLoader();
}
});

private static final class GetResourceAction implements PrivilegedAction<URL> {

private final String name;

GetResourceAction(final String name) {
this.name = name;
}

public URL run() {
return ClassLoader.getSystemResource(name);
}
}

private static final class GetResourcesAction implements PrivilegedAction<Enumeration<URL>> {

private final String name;

GetResourcesAction(final String name) {
this.name = name;
}

public Enumeration<URL> run() {
try {
return ClassLoader.getSystemResources(name);
} catch (IOException e) {
return ConcurrentClassLoader.EMPTY_ENUMERATION;
}
}
}
private static final ClassLoader SYSTEM_CL = SystemLocalLoader.class.getClassLoader();

private static void processClassPathItem(final String classPath, final Set<String> jarSet, final Set<String> pathSet) {
if (classPath == null) return;
Expand Down

0 comments on commit 60c0e04

Please sign in to comment.