[jboss-svn-commits] JBL Code SVN: r5906 - labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Aug 16 07:08:39 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-08-16 07:08:37 -0400 (Wed, 16 Aug 2006)
New Revision: 5906

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MethodDataProvider.java
Log:
JBRULES-340 - added some more defensive checks.

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MethodDataProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MethodDataProvider.java	2006-08-15 22:13:08 UTC (rev 5905)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MethodDataProvider.java	2006-08-16 11:08:37 UTC (rev 5906)
@@ -98,7 +98,9 @@
                 }
             }
         }
-        return null;
+        throw new IllegalArgumentException("Unable to resolve the method: [" 
+                                           + methodName + "] on class: [" + variableClass.getName() 
+                                           + "] with " + numOfArgs + " parameters." );
     }
 
     public Declaration[] getRequiredDeclarations() {
@@ -108,6 +110,7 @@
     public Iterator getResults(Tuple tuple,
                                WorkingMemory wm,
                                PropagationContext ctx) {
+        
         //get the variable value that we are operating on
         Object variable = null;
         if (variableIsDeclaration) {   
@@ -115,8 +118,10 @@
         } else {
             variable = wm.getGlobal( this.variableName );
         }
-        
-        
+        if (variable == null) {
+            throw new IllegalArgumentException("Unable to resolve the variable: [" + this.variableName + "]");
+        }
+                
         //the types we have to convert the arguments to
         Class[] parameterTypes = this.method.getParameterTypes();
         




More information about the jboss-svn-commits mailing list