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)