[jboss-svn-commits] JBL Code SVN: r19060 - in labs/jbossrules/trunk/drools-core/src/main/java/org/drools: rule and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 18 15:50:41 EDT 2008


Author: mingjin
Date: 2008-03-18 15:50:41 -0400 (Tue, 18 Mar 2008)
New Revision: 19060

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java
Log:
JBRULES-1488 returning null when class was not found instead of throwing an ClassNotFoundException
- DroolsObjectInputStream.java: handling null in resolveClass.
- CompositePackageClassLoader.java: returning null when class was not found.
- DialectDatas.java: handling null and returning null when class was not found in loadClass
- JavaDialectData.java: handling null clazz in wire.
-MapBackedClassLoader.java: returning null when class was not found.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-18 19:15:31 UTC (rev 19059)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/common/DroolsObjectInputStream.java	2008-03-18 19:50:41 UTC (rev 19060)
@@ -479,6 +479,9 @@
             Class clazz = primClasses.get( className );
             if ( clazz == null ) {
                 clazz = getClassLoader().loadClass( className );
+                if (clazz == null) {
+                  clazz = getClass().getClassLoader().loadClass(className);
+                }
             }
             return clazz;
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java	2008-03-18 19:15:31 UTC (rev 19059)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/CompositePackageClassLoader.java	2008-03-18 19:50:41 UTC (rev 19060)
@@ -57,7 +57,7 @@
                 if ( parent != null ) {
                     clazz = parent.loadClass( name );
                 } else {
-                    throw new ClassNotFoundException( name );
+                    return null;
                 }
             }
         }

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-03-18 19:15:31 UTC (rev 19059)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/DialectDatas.java	2008-03-18 19:50:41 UTC (rev 19060)
@@ -24,7 +24,7 @@
      * will result in an invalid state for the instance.
      */
     public DialectDatas() {
-        this(null);
+        this((ClassLoader)null);
     }
 
     public DialectDatas(ClassLoader classLoader) {

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-18 19:15:31 UTC (rev 19059)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/JavaDialectData.java	2008-03-18 19:50:41 UTC (rev 19060)
@@ -297,23 +297,29 @@
                                           InstantiationException,
                                           IllegalAccessException {
         final Class clazz = this.classLoader.findClass( className );
-        if ( invoker instanceof ReturnValueRestriction ) {
-            ((ReturnValueRestriction) invoker).setReturnValueExpression( (ReturnValueExpression) clazz.newInstance() );
-        } else if ( invoker instanceof PredicateConstraint ) {
-            ((PredicateConstraint) invoker).setPredicateExpression( (PredicateExpression) clazz.newInstance() );
-        } else if ( invoker instanceof EvalCondition ) {
-            ((EvalCondition) invoker).setEvalExpression( (EvalExpression) clazz.newInstance() );
-        } else if ( invoker instanceof Accumulate ) {
-            ((Accumulate) invoker).setAccumulator( (Accumulator) clazz.newInstance() );
-        } else if ( invoker instanceof Rule ) {
-            ((Rule) invoker).setConsequence( (Consequence) clazz.newInstance() );
-        } else if ( invoker instanceof JavaAccumulatorFunctionExecutor ) {
-            ((JavaAccumulatorFunctionExecutor) invoker).setExpression( (ReturnValueExpression) clazz.newInstance() );
-        } else if ( invoker instanceof ActionNode ) {
-            ((ActionNode) invoker).setAction( clazz.newInstance() );
-        } else if ( invoker instanceof ReturnValueConstraintEvaluator ) {
-            ((ReturnValueConstraintEvaluator) invoker).setEvaluator( (ReturnValueEvaluator) clazz.newInstance() );
+
+        if (clazz != null) {
+            if ( invoker instanceof ReturnValueRestriction ) {
+                ((ReturnValueRestriction) invoker).setReturnValueExpression( (ReturnValueExpression) clazz.newInstance() );
+            } else if ( invoker instanceof PredicateConstraint ) {
+                ((PredicateConstraint) invoker).setPredicateExpression( (PredicateExpression) clazz.newInstance() );
+            } else if ( invoker instanceof EvalCondition ) {
+                ((EvalCondition) invoker).setEvalExpression( (EvalExpression) clazz.newInstance() );
+            } else if ( invoker instanceof Accumulate ) {
+                ((Accumulate) invoker).setAccumulator( (Accumulator) clazz.newInstance() );
+            } else if ( invoker instanceof Rule ) {
+                ((Rule) invoker).setConsequence( (Consequence) clazz.newInstance() );
+            } else if ( invoker instanceof JavaAccumulatorFunctionExecutor ) {
+                ((JavaAccumulatorFunctionExecutor) invoker).setExpression( (ReturnValueExpression) clazz.newInstance() );
+            } else if ( invoker instanceof ActionNode ) {
+                ((ActionNode) invoker).setAction( clazz.newInstance() );
+            } else if ( invoker instanceof ReturnValueConstraintEvaluator ) {
+                ((ReturnValueConstraintEvaluator) invoker).setEvaluator( (ReturnValueEvaluator) clazz.newInstance() );
+            }
         }
+        else {
+            throw new ClassNotFoundException(className);
+        }
     }
 
     public String toString() {
@@ -398,24 +404,17 @@
                 final ClassLoader parent = getParent();
                 if ( parent != null ) {
                     clazz = parent.loadClass( name );
-                } else {
-                    throw new ClassNotFoundException( name );
                 }
             }
 
-            if ( resolve ) {
+            if ( resolve && clazz != null) {
                 resolveClass( clazz );
             }
-
             return clazz;
         }
 
         protected Class findClass(final String name) throws ClassNotFoundException {
-            final Class clazz = fastFindClass( name );
-            if ( clazz == null ) {
-                throw new ClassNotFoundException( name );
-            }
-            return clazz;
+            return fastFindClass( name );
         }
 
 

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java	2008-03-18 19:15:31 UTC (rev 19059)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/rule/MapBackedClassLoader.java	2008-03-18 19:50:41 UTC (rev 19060)
@@ -79,11 +79,11 @@
     }
 
     /**
-     * Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass 
+     * Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass
      * over method calls to parent.loadClass(name, false); and c = findBootstrapClass0(name); which the default implementation
-     * would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a 
+     * would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a
      * higher priority than normal.
-     * 
+     *
      */
     protected synchronized Class loadClass(final String name,
                                            final boolean resolve) throws ClassNotFoundException {
@@ -93,8 +93,6 @@
             final ClassLoader parent = getParent();
             if ( parent != null ) {
                 clazz = parent.loadClass( name );
-            } else {
-                throw new ClassNotFoundException( name );
             }
         }
 
@@ -106,11 +104,7 @@
     }
 
     protected Class findClass(final String name) throws ClassNotFoundException {
-        final Class clazz = fastFindClass( name );
-        if ( clazz == null ) {
-            throw new ClassNotFoundException( name );
-        }
-        return clazz;
+        return fastFindClass( name );
     }
 
     public InputStream getResourceAsStream(final String name) {




More information about the jboss-svn-commits mailing list