[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