You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ma...@apache.org on 2010/02/13 00:18:36 UTC

svn commit: r909653 - /incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java

Author: mahrwald
Date: Fri Feb 12 23:18:35 2010
New Revision: 909653

URL: http://svn.apache.org/viewvc?rev=909653&view=rev
Log:
ARIES-159 Minor refactoring

Modified:
    incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java

Modified: incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java?rev=909653&r1=909652&r2=909653&view=diff
==============================================================================
--- incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java (original)
+++ incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java Fri Feb 12 23:18:35 2010
@@ -140,29 +140,28 @@
         throw new ComponentDefinitionException("Unable to load class " + typeName + " from recipe " + this, cnfe);
       }
       
-      final ClassLoader blueprintClassLoader = AbstractServiceReferenceRecipe.class.getClassLoader();
-      class DualClassloader extends ClassLoader {
-        DualClassloader() {
-          super(interfaceClassLoader);
-        }
-        
-        @Override
-        protected Class<?> findClass(String name) throws ClassNotFoundException {
-          return blueprintClassLoader.loadClass(name);
-        }
-
-        @Override
-        protected URL findResource(String name) {
-          return blueprintClassLoader.getResource(name);
-        }
-      }
-      
       return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
         public ClassLoader run() {
-          return new DualClassloader();
+          return new DualClassloader(interfaceClassLoader);
         }      
       });
     }
+
+    private static class DualClassloader extends ClassLoader {
+      DualClassloader(ClassLoader parent) {
+        super(parent);
+      }
+      
+      @Override
+      protected Class<?> findClass(String name) throws ClassNotFoundException {
+        return getClass().getClassLoader().loadClass(name);
+      }
+
+      @Override
+      protected URL findResource(String name) {
+        return getClass().getClassLoader().getResource(name);
+      }
+    }
     
     public CollectionRecipe getListenersRecipe() {
         return listenersRecipe;