[jboss-svn-commits] JBL Code SVN: r19055 - 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
Tue Mar 18 13:38:41 EDT 2008


Author: tirelli
Date: 2008-03-18 13:38:40 -0400 (Tue, 18 Mar 2008)
New Revision: 19055

Modified:
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
Log:
JBRULES-1508: fixing NPE

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java	2008-03-18 17:27:15 UTC (rev 19054)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/dataproviders/MVELDataProvider.java	2008-03-18 17:38:40 UTC (rev 19055)
@@ -15,6 +15,7 @@
 import org.drools.spi.DataProvider;
 import org.drools.spi.PropagationContext;
 import org.drools.spi.Tuple;
+import org.drools.util.ArrayIterator;
 import org.mvel.MVEL;
 
 public class MVELDataProvider
@@ -71,14 +72,16 @@
         //this.expression.
         final Object result = MVEL.executeExpression( this.expression,
                                                       factory );
-        if ( result instanceof Collection ) {
+        if ( result == null ) {
+            return Collections.EMPTY_LIST.iterator();
+        } else if ( result instanceof Collection ) {
             return ((Collection) result).iterator();
         } else if ( result instanceof Iterator ) {
             return (Iterator) result;
-        } else if ( result != null ){
+        } else if ( result.getClass().isArray() ) { 
+            return new ArrayIterator( result );
+        } else {
             return Collections.singletonList( result ).iterator();
-        } else {
-            return Collections.EMPTY_LIST.iterator();
         }
     }
 }




More information about the jboss-svn-commits mailing list