Extension manager module should throw CNFE exception, not log it. A few other
class loading improvements. (FELIX-953)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@747183 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java b/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
index ec51660..934fd30 100644
--- a/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
+++ b/framework/src/main/java/org/apache/felix/framework/ExtensionManager.java
@@ -649,18 +649,7 @@
return null;
}
- try
- {
- return getClass().getClassLoader().loadClass(name);
- }
- catch (ClassNotFoundException ex)
- {
- m_logger.log(
- Logger.LOG_WARNING,
- ex.getMessage(),
- ex);
- }
- return null;
+ return getClass().getClassLoader().loadClass(name);
}
public URL getResourceByDelegation(String name)
diff --git a/framework/src/main/java/org/apache/felix/framework/searchpolicy/ModuleImpl.java b/framework/src/main/java/org/apache/felix/framework/searchpolicy/ModuleImpl.java
index c24c512..2456b48 100644
--- a/framework/src/main/java/org/apache/felix/framework/searchpolicy/ModuleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/searchpolicy/ModuleImpl.java
@@ -414,22 +414,22 @@
public Class getClassByDelegation(String name) throws ClassNotFoundException
{
- Set pkgCycleSet = (Set) m_cycleCheck.get();
- if (pkgCycleSet == null)
+ Set requestSet = (Set) m_cycleCheck.get();
+ if (requestSet == null)
{
- pkgCycleSet = new HashSet();
- m_cycleCheck.set(pkgCycleSet);
+ requestSet = new HashSet();
+ m_cycleCheck.set(requestSet);
}
- if (!pkgCycleSet.contains(name))
+ if (!requestSet.contains(name))
{
- pkgCycleSet.add(name);
+ requestSet.add(name);
try
{
return getClassLoader().loadClass(name);
}
finally
{
- pkgCycleSet.remove(name);
+ requestSet.remove(name);
}
}
return null;
@@ -437,15 +437,15 @@
public URL getResourceByDelegation(String name)
{
- Set pkgCycleSet = (Set) m_cycleCheck.get();
- if (pkgCycleSet == null)
+ Set requestSet = (Set) m_cycleCheck.get();
+ if (requestSet == null)
{
- pkgCycleSet = new HashSet();
- m_cycleCheck.set(pkgCycleSet);
+ requestSet = new HashSet();
+ m_cycleCheck.set(requestSet);
}
- if (!pkgCycleSet.contains(name))
+ if (!requestSet.contains(name))
{
- pkgCycleSet.add(name);
+ requestSet.add(name);
try
{
return (URL) findClassOrResourceByDelegation(name, false);
@@ -463,7 +463,7 @@
}
finally
{
- pkgCycleSet.remove(name);
+ requestSet.remove(name);
}
}
@@ -608,22 +608,22 @@
public Enumeration getResourcesByDelegation(String name)
{
- Set pkgCycleSet = (Set) m_cycleCheck.get();
- if (pkgCycleSet == null)
+ Set requestSet = (Set) m_cycleCheck.get();
+ if (requestSet == null)
{
- pkgCycleSet = new HashSet();
- m_cycleCheck.set(pkgCycleSet);
+ requestSet = new HashSet();
+ m_cycleCheck.set(requestSet);
}
- if (!pkgCycleSet.contains(name))
+ if (!requestSet.contains(name))
{
- pkgCycleSet.add(name);
+ requestSet.add(name);
try
{
return findResourcesByDelegation(name);
}
finally
{
- pkgCycleSet.remove(name);
+ requestSet.remove(name);
}
}
@@ -1368,7 +1368,7 @@
{
try
{
- return (Class) findClassOrResourceByDelegation(name, true);
+ clazz = (Class) findClassOrResourceByDelegation(name, true);
}
catch (ResourceNotFoundException ex)
{
@@ -1398,13 +1398,7 @@
protected Class findClass(String name) throws ClassNotFoundException
{
- // Do a quick check here to see if we can short-circuit this
- // entire process if the class was already loaded.
Class clazz = null;
- synchronized (this)
- {
- clazz = findLoadedClass(name);
- }
// Search for class in module.
if (clazz == null)