You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/04/12 20:31:28 UTC
svn commit: r764311 - in
/geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config:
./ classloading/
Author: djencks
Date: Sun Apr 12 18:31:28 2009
New Revision: 764311
URL: http://svn.apache.org/viewvc?rev=764311&view=rev
Log:
remove unused classloader parent mutability. Add a little error checking
Removed:
geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/GlobalClassLoaderListener.java
Modified:
geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationResolver.java
geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/GlobalClassLoader.java
Modified: geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationResolver.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationResolver.java?rev=764311&r1=764310&r2=764311&view=diff
==============================================================================
--- geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationResolver.java (original)
+++ geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/ConfigurationResolver.java Sun Apr 12 18:31:28 2009
@@ -68,6 +68,9 @@
public ConfigurationResolver(ConfigurationData configurationData, Collection<? extends Repository> repositories, ArtifactResolver artifactResolver) {
if (configurationData == null) throw new NullPointerException("configurationData is null");
if (repositories == null) repositories = Collections.emptySet();
+ for (Repository repo: repositories) {
+ if (repo == null) throw new NullPointerException("null repository");
+ }
configurationId = configurationData.getId();
this.artifactResolver = artifactResolver;
Modified: geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java?rev=764311&r1=764310&r2=764311&view=diff
==============================================================================
--- geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java (original)
+++ geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/SimpleConfigurationManager.java Sun Apr 12 18:31:28 2009
@@ -78,7 +78,13 @@
Collection<DeploymentWatcher> watchers) {
if (stores == null) stores = Collections.emptySet();
if (repositories == null) repositories = Collections.emptySet();
+ for (Repository repo: repositories) {
+ if (repo == null) throw new NullPointerException("null repository");
+ }
if (watchers == null) watchers = Collections.emptySet();
+ for (DeploymentWatcher watcher: watchers) {
+ if (watcher == null) throw new NullPointerException("null DeploymentWatcher");
+ }
this.stores = stores;
this.artifactResolver = artifactResolver;
Modified: geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/GlobalClassLoader.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/GlobalClassLoader.java?rev=764311&r1=764310&r2=764311&view=diff
==============================================================================
--- geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/GlobalClassLoader.java (original)
+++ geronimo/sandbox/djencks/framework/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/config/classloading/GlobalClassLoader.java Sun Apr 12 18:31:28 2009
@@ -41,14 +41,12 @@
*
* @version $Rev: 732599 $ $Date: 2009-01-08 14:36:25 +1100 (Thu, 08 Jan 2009) $
*/
-public class GlobalClassLoader extends URLClassLoader implements GlobalClassLoaderListener {
+public class GlobalClassLoader extends URLClassLoader {
private static final Logger LOG = LoggerFactory.getLogger(GlobalClassLoader.class);
private final Artifact artifact;
private final Set<Artifact> dependencies;
- private final CopyOnWriteArraySet<GlobalClassLoaderListener> listeners = new CopyOnWriteArraySet<GlobalClassLoaderListener>();
private final CopyOnWriteArraySet<String> resourcesNotFound = new CopyOnWriteArraySet<String>();
- private final CopyOnWriteArraySet<GlobalClassLoader> flattenedParents = new CopyOnWriteArraySet<GlobalClassLoader>();
private ClassLoader[] parents;
public GlobalClassLoader(Artifact artifact, URL[] urls, ClassLoader[] parents) {
@@ -58,55 +56,9 @@
dependencies = Collections.emptySet();
}
- public GlobalClassLoader(Artifact artifact, URL[] urls, Set<Artifact> dependencies) {
- super(urls);
- if (null == dependencies) {
- throw new IllegalArgumentException("dependencies is required");
- }
- this.artifact = artifact;
- this.dependencies = dependencies;
-
- parents = new ClassLoader[] { ClassLoader.getSystemClassLoader() };
- }
-
public Artifact getArtifact() {
return artifact;
}
-
- public synchronized void registerListener(GlobalClassLoaderListener listener) {
- listeners.add(listener);
-
- for (GlobalClassLoader classLoader : flattenedParents) {
- listener.notifyAddParent(this, classLoader);
- }
- }
-
- public synchronized void notifyAddParent(GlobalClassLoader globalClassLoader, GlobalClassLoader parent) {
- flattenedParents.add(parent);
-
- for (GlobalClassLoaderListener listener : listeners) {
- listener.notifyAddParent(globalClassLoader, parent);
- }
- }
-
- public synchronized void addParent(ClassLoader parent) {
- for (ClassLoader parentClassLoader : parents) {
- if (parentClassLoader == parent) {
- return;
- }
- }
-
- ClassLoader[] newParents = new ClassLoader[parents.length + 1];
- System.arraycopy(parents, 0, newParents, 0, parents.length);
- newParents[parents.length] = parent;
- parents = newParents;
-
- if (parent instanceof GlobalClassLoader) {
- for (GlobalClassLoaderListener listener : listeners) {
- listener.notifyAddParent(this, (GlobalClassLoader) parent);
- }
- }
- }
public Class<?> loadClass(String name, List<ClassLoader> visitedClassLoaders) throws ClassNotFoundException {
return loadClass(name, false, visitedClassLoaders);