[jboss-svn-commits] JBL Code SVN: r31308 - labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 29 11:57:16 EST 2010


Author: mark.proctor at jboss.com
Date: 2010-01-29 11:57:16 -0500 (Fri, 29 Jan 2010)
New Revision: 31308

Modified:
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java
   labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/CompositeClassLoader.java
Log:
JBRULES-2351 OSGi Ready
-fixed search order for classpaths.

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java	2010-01-29 16:31:10 UTC (rev 31307)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/ClassLoaderUtil.java	2010-01-29 16:57:16 UTC (rev 31308)
@@ -11,25 +11,21 @@
         ClassLoader currentClassLoader = ( cls != null ) ? cls.getClassLoader() : ClassLoaderUtil.class.getClassLoader();
         ClassLoader systemClassLoader = Class.class.getClassLoader().getSystemClassLoader();
         
-        IdentityHashMap<ClassLoader, Object> map = new IdentityHashMap<ClassLoader, Object>();
-        map.put( classLoader, null );
-        map.put( contextClassLoader, null );
-        map.put( currentClassLoader, null );
-        map.put( systemClassLoader, null );
-        
-        if ( map.size() > 0 ) {
-            CompositeClassLoader cl = new CompositeClassLoader( null );
-            for ( ClassLoader entry : map.keySet() ) {
-                if ( entry != null ) {
-                    cl.addClassLoader( entry );
-                }
-            }
-            
-            return cl;
-            
-        } else {
-            return map.keySet().iterator().next();
+        CompositeClassLoader cl = new CompositeClassLoader( null );
+        if (classLoader != null ) {
+        	cl.addClassLoader(classLoader); 
         }
-               
+        if (contextClassLoader != null ) {
+        	cl.addClassLoader(contextClassLoader); 
+        }     
+        if (currentClassLoader != null ) {
+        	cl.addClassLoader(currentClassLoader); 
+        }   
+        if (systemClassLoader != null ) {
+        	cl.addClassLoader(systemClassLoader); 
+        }        
+        
+        return cl;
+                       
     } 
 }

Modified: labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/CompositeClassLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/CompositeClassLoader.java	2010-01-29 16:31:10 UTC (rev 31307)
+++ labs/jbossrules/trunk/drools-api/src/main/java/org/drools/util/CompositeClassLoader.java	2010-01-29 16:57:16 UTC (rev 31308)
@@ -49,8 +49,8 @@
         Class< ? > cls = null;
 
         for ( final ClassLoader classLoader : this.classLoaders ) {
-            try {
-                cls = classLoader.loadClass( name );
+            try {            	
+                cls = Class.forName( name, true, classLoader );
             } catch ( ClassNotFoundException e ) {
                 // swallow as we need to check more classLoaders
             }



More information about the jboss-svn-commits mailing list