[jboss-svn-commits] JBL Code SVN: r11665 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools/integrationtests and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 3 21:35:33 EDT 2007


Author: tirelli
Date: 2007-05-03 21:35:33 -0400 (Thu, 03 May 2007)
New Revision: 11665

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_contains_in_array.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ValueType.java
Log:
JBRULES-805: fixing array verification

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java	2007-05-04 01:28:42 UTC (rev 11664)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/Primitives.java	2007-05-04 01:35:33 UTC (rev 11665)
@@ -30,6 +30,7 @@
     private float    doublePrimitive;
     private Object[] arrayAttribute;
     private int[]    primitiveArrayAttribute;
+    private String[] stringArray;
 
     public boolean isBooleanPrimitive() {
         return this.booleanPrimitive;
@@ -117,4 +118,12 @@
         this.primitiveArrayAttribute = primitiveArrayAttribute;
     }
 
+    public String[] getStringArray() {
+        return stringArray;
+    }
+
+    public void setStringArray(String[] stringArray) {
+        this.stringArray = stringArray;
+    }
+
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2007-05-04 01:28:42 UTC (rev 11664)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2007-05-04 01:35:33 UTC (rev 11665)
@@ -2513,4 +2513,31 @@
                       list.get( 1 ) );
     }
 
+    public void testContainsInArray() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_contains_in_array.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newStatefulSession();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "list",
+                                 list );
+
+        final Primitives p = new Primitives( );
+        p.setStringArray( new String[] { "test1", "test3" } );
+        workingMemory.assertObject( p );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( 2,
+                      list.size() );
+
+        assertEquals( "ok1",
+                      list.get( 0 ) );
+        assertEquals( "ok2",
+                      list.get( 1 ) );
+    }
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_contains_in_array.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_contains_in_array.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_contains_in_array.drl	2007-05-04 01:35:33 UTC (rev 11665)
@@ -0,0 +1,18 @@
+package org.drools;
+
+global java.util.List list;
+
+rule "contains in array"
+    salience 10
+	when
+		Primitives( stringArray contains "test1" )
+	then
+	    list.add( "ok1" );
+end
+
+rule "excludes in array"
+	when
+		Primitives( stringArray excludes "test2" )
+	then
+	    list.add( "ok2" );
+end

Modified: labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ValueType.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ValueType.java	2007-05-04 01:28:42 UTC (rev 11664)
+++ labs/jbossrules/trunk/drools-core/src/main/java/org/drools/base/ValueType.java	2007-05-04 01:35:33 UTC (rev 11665)
@@ -208,7 +208,7 @@
             return ValueType.DATE_TYPE;
         } else if ( clazz == java.util.Date.class ) {
             return ValueType.DATE_TYPE;
-        } else if ( clazz.isAssignableFrom( Object[].class ) ) {
+        } else if ( clazz.isArray() ) {
             return ValueType.ARRAY_TYPE;
         } else if ( clazz == BigDecimal.class ) {
             return ValueType.BIG_DECIMAL_TYPE;




More information about the jboss-svn-commits mailing list