[jboss-svn-commits] JBL Code SVN: r8533 - in labs/jbossrules/trunk/drools-compiler/src: main/java/org/drools/lang main/java/org/drools/lang/descr main/resources/org/drools/lang test/java/org/drools/integrationtests test/java/org/drools/lang test/resources/org/drools/integrationtests test/resources/org/drools/lang

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Dec 21 18:37:14 EST 2006


Author: tirelli
Date: 2006-12-21 18:36:56 -0500 (Thu, 21 Dec 2006)
New Revision: 8533

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NestedConditionalElements.drl
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/nested_conditional_elements.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
Log:
JBRULES-218: parser now supports nested elements. Unit test added

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLLexer.java	2006-12-21 23:36:56 UTC (rev 8533)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2006-12-19 22:28:01
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2006-12-21 21:35:24
 
 	package org.drools.lang;
 

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/DRLParser.java	2006-12-21 23:36:56 UTC (rev 8533)
@@ -1,4 +1,4 @@
-// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2006-12-19 22:28:00
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g 2006-12-21 21:35:24
 
 	package org.drools.lang;
 	import java.util.List;
@@ -4363,7 +4363,7 @@
 
 
     // $ANTLR start lhs_exist
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1254:1: lhs_exist returns [BaseDescr d] : loc= 'exists' ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column ) ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1254:1: lhs_exist returns [BaseDescr d] : loc= 'exists' ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column ) ;
     public BaseDescr lhs_exist() throws RecognitionException {   
         BaseDescr d = null;
 
@@ -4375,12 +4375,12 @@
         		d = null;
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:4: (loc= 'exists' ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:4: loc= 'exists' ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:4: (loc= 'exists' ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:4: loc= 'exists' ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column )
             {
             loc=(Token)input.LT(1);
             match(input,70,FOLLOW_70_in_lhs_exist3127); if (failed) return d;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:17: ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:17: ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column )
             int alt46=2;
             int LA46_0 = input.LA(1);
             if ( (LA46_0==LEFT_PAREN) ) {
@@ -4392,17 +4392,17 @@
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1258:17: ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column )", 46, 0, input);
+                    new NoViableAltException("1258:17: ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column )", 46, 0, input);
 
                 throw nvae;
             }
             switch (alt46) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:18: ( '(' lhs_column ')' )=> '(' column= lhs_column ')'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:18: ( '(' lhs_or ')' )=> '(' column= lhs_or ')'
                     {
                     match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_exist3130); if (failed) return d;
-                    pushFollow(FOLLOW_lhs_column_in_lhs_exist3134);
-                    column=lhs_column();
+                    pushFollow(FOLLOW_lhs_or_in_lhs_exist3134);
+                    column=lhs_or();
                     _fsp--;
                     if (failed) return d;
                     match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_exist3136); if (failed) return d;
@@ -4410,7 +4410,7 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:46: column= lhs_column
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1258:42: column= lhs_column
                     {
                     pushFollow(FOLLOW_lhs_column_in_lhs_exist3142);
                     column=lhs_column();
@@ -4444,7 +4444,7 @@
 
 
     // $ANTLR start lhs_not
-    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1265:1: lhs_not returns [NotDescr d] : loc= 'not' ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column ) ;
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1265:1: lhs_not returns [NotDescr d] : loc= 'not' ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column ) ;
     public NotDescr lhs_not() throws RecognitionException {   
         NotDescr d = null;
 
@@ -4456,12 +4456,12 @@
         		d = null;
         	
         try {
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:4: (loc= 'not' ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column ) )
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:4: loc= 'not' ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:4: (loc= 'not' ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:4: loc= 'not' ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column )
             {
             loc=(Token)input.LT(1);
             match(input,71,FOLLOW_71_in_lhs_not3172); if (failed) return d;
-            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:14: ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:14: ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column )
             int alt47=2;
             int LA47_0 = input.LA(1);
             if ( (LA47_0==LEFT_PAREN) ) {
@@ -4473,17 +4473,17 @@
             else {
                 if (backtracking>0) {failed=true; return d;}
                 NoViableAltException nvae =
-                    new NoViableAltException("1269:14: ( ( '(' lhs_column ')' )=> '(' column= lhs_column ')' | column= lhs_column )", 47, 0, input);
+                    new NoViableAltException("1269:14: ( ( '(' lhs_or ')' )=> '(' column= lhs_or ')' | column= lhs_column )", 47, 0, input);
 
                 throw nvae;
             }
             switch (alt47) {
                 case 1 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:15: ( '(' lhs_column ')' )=> '(' column= lhs_column ')'
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:15: ( '(' lhs_or ')' )=> '(' column= lhs_or ')'
                     {
                     match(input,LEFT_PAREN,FOLLOW_LEFT_PAREN_in_lhs_not3175); if (failed) return d;
-                    pushFollow(FOLLOW_lhs_column_in_lhs_not3179);
-                    column=lhs_column();
+                    pushFollow(FOLLOW_lhs_or_in_lhs_not3179);
+                    column=lhs_or();
                     _fsp--;
                     if (failed) return d;
                     match(input,RIGHT_PAREN,FOLLOW_RIGHT_PAREN_in_lhs_not3182); if (failed) return d;
@@ -4491,7 +4491,7 @@
                     }
                     break;
                 case 2 :
-                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:44: column= lhs_column
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\lang\\DRL.g:1269:40: column= lhs_column
                     {
                     pushFollow(FOLLOW_lhs_column_in_lhs_not3188);
                     column=lhs_column();
@@ -4505,7 +4505,7 @@
 
             if ( backtracking==0 ) {
               
-              			d = new NotDescr( (ColumnDescr) column ); 
+              			d = new NotDescr( column ); 
               			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
               		
             }
@@ -5355,13 +5355,13 @@
     public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_unary3093 = new BitSet(new long[]{0x0000000020000002L});
     public static final BitSet FOLLOW_opt_semicolon_in_lhs_unary3103 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_70_in_lhs_exist3127 = new BitSet(new long[]{0x0000000000000810L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist3130 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_lhs_column_in_lhs_exist3134 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_exist3130 = new BitSet(new long[]{0x0000000000000810L,0x00000000000001C0L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_exist3134 = new BitSet(new long[]{0x0000000000001000L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_exist3136 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_lhs_column_in_lhs_exist3142 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_71_in_lhs_not3172 = new BitSet(new long[]{0x0000000000000810L});
-    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not3175 = new BitSet(new long[]{0x0000000000000010L});
-    public static final BitSet FOLLOW_lhs_column_in_lhs_not3179 = new BitSet(new long[]{0x0000000000001000L});
+    public static final BitSet FOLLOW_LEFT_PAREN_in_lhs_not3175 = new BitSet(new long[]{0x0000000000000810L,0x00000000000001C0L});
+    public static final BitSet FOLLOW_lhs_or_in_lhs_not3179 = new BitSet(new long[]{0x0000000000001000L});
     public static final BitSet FOLLOW_RIGHT_PAREN_in_lhs_not3182 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_lhs_column_in_lhs_not3188 = new BitSet(new long[]{0x0000000000000002L});
     public static final BitSet FOLLOW_72_in_lhs_eval3216 = new BitSet(new long[]{0x0000000000000800L});

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/ExistsDescr.java	2006-12-21 23:36:56 UTC (rev 8533)
@@ -32,8 +32,8 @@
     public ExistsDescr() {
     }
 
-    public ExistsDescr(final ColumnDescr column) {
-        addDescr( column );
+    public ExistsDescr(final BaseDescr baseDescr) {
+        addDescr( baseDescr );
     }
 
     public void addDescr(final BaseDescr baseDescr) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/lang/descr/NotDescr.java	2006-12-21 23:36:56 UTC (rev 8533)
@@ -32,8 +32,8 @@
     public NotDescr() {
     }
 
-    public NotDescr(final ColumnDescr column) {
-        addDescr( column );
+    public NotDescr(final BaseDescr descr) {
+        addDescr( descr );
     }
 
     public void addDescr(final BaseDescr baseDescr) {

Modified: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/lang/DRL.g	2006-12-21 23:36:56 UTC (rev 8533)
@@ -1255,7 +1255,7 @@
 	@init {
 		d = null;
 	}
-	:	loc='exists' ('(' column=lhs_column ')' | column=lhs_column)
+	:	loc='exists' ('(' column=lhs_or ')' | column=lhs_column)
 		{ 
 			d = new ExistsDescr( (ColumnDescr) column ); 
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
@@ -1266,9 +1266,9 @@
 	@init {
 		d = null;
 	}
-	:	loc='not' ('(' column=lhs_column  ')' | column=lhs_column)
+	:	loc='not' ('(' column=lhs_or  ')' | column=lhs_column)
 		{
-			d = new NotDescr( (ColumnDescr) column ); 
+			d = new NotDescr( column ); 
 			d.setLocation( offset(loc.getLine()), loc.getCharPositionInLine() );
 		}
 	;

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/IntegrationCases.java	2006-12-21 23:36:56 UTC (rev 8533)
@@ -3648,4 +3648,39 @@
             Assert.fail("Should have thrown an InvalidRulePackage Exception instead of "+e.getMessage());
         }
     }
+    
+    public void testNestedConditionalElements() throws Exception {
+
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NestedConditionalElements.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final WorkingMemory workingMemory = ruleBase.newWorkingMemory();
+
+        final List list = new ArrayList();
+        workingMemory.setGlobal( "results",
+                                 list );
+
+        State state = new State("SP");
+        workingMemory.assertObject( state );
+        
+        Person bob = new Person( "Bob" );
+        bob.setStatus( state.getState() );
+        bob.setLikes( "stilton" );
+        workingMemory.assertObject( bob );
+
+        workingMemory.fireAllRules();
+
+        assertEquals( 0,
+                      list.size() );
+
+        workingMemory.assertObject( new Cheese( bob.getLikes(), 10 ) );
+        workingMemory.fireAllRules();
+
+        assertEquals( 1,
+                      list.size() );
+    }
+
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/RuleParserTest.java	2006-12-21 23:36:56 UTC (rev 8533)
@@ -2410,6 +2410,36 @@
         assertFalse( this.parser.getErrorMessages().toString(), this.parser.hasErrors() );
     }
 
+    public void testNestedCEs() throws Exception {
+        final RuleDescr rule = parseResource( "nested_conditional_elements.drl" ).rule();
+
+        assertFalse( this.parser.getErrorMessages().toString(), this.parser.hasErrors() );
+
+        assertNotNull( rule );
+        
+        AndDescr root = rule.getLhs();
+        NotDescr not1 = (NotDescr) root.getDescrs().get( 0 );
+        AndDescr and1 = (AndDescr) not1.getDescrs().get( 0 );
+        
+        ColumnDescr state = (ColumnDescr) and1.getDescrs().get( 0 );
+        NotDescr not2 = (NotDescr) and1.getDescrs().get( 1 );
+        AndDescr and2 = (AndDescr) not2.getDescrs().get( 0 );
+        ColumnDescr person = (ColumnDescr) and2.getDescrs().get( 0 );
+        ColumnDescr cheese = (ColumnDescr) and2.getDescrs().get( 1 );
+        
+        ColumnDescr person2 = (ColumnDescr) root.getDescrs().get( 1 );
+        OrDescr or = (OrDescr) root.getDescrs().get( 2 );
+        ColumnDescr cheese2 = (ColumnDescr) or.getDescrs().get( 0 );
+        ColumnDescr cheese3 = (ColumnDescr) or.getDescrs().get( 1 );
+        
+        assertEquals( state.getObjectType(), "State" );
+        assertEquals( person.getObjectType(), "Person" );
+        assertEquals( cheese.getObjectType(), "Cheese" );
+        assertEquals( person2.getObjectType(), "Person" );
+        assertEquals( cheese2.getObjectType(), "Cheese" );
+        assertEquals( cheese3.getObjectType(), "Cheese" );
+    }
+
     private DRLParser parse(final String text) throws Exception {
         this.parser = newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
         return this.parser;

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NestedConditionalElements.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NestedConditionalElements.drl	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NestedConditionalElements.drl	2006-12-21 23:36:56 UTC (rev 8533)
@@ -0,0 +1,12 @@
+package org.drools;
+
+global java.util.List results
+
+rule "test nested CEs"	
+	when
+	    not ( State( $state : state ) and
+	          not( Person( status == $state, $likes : likes ) and
+	               Cheese( type == $likes ) ) )
+	then 
+		results.add("OK");		
+end
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_NestedConditionalElements.drl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/nested_conditional_elements.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/nested_conditional_elements.drl	2006-12-21 23:28:57 UTC (rev 8532)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/nested_conditional_elements.drl	2006-12-21 23:36:56 UTC (rev 8533)
@@ -0,0 +1,10 @@
+rule "test nested CEs"	
+	when
+	    not ( State( $state : state ) and
+	          not( Person( status == $state, $likes : likes ) and
+	               Cheese( type == $likes ) ) )
+	    Person( name == "Bob" )
+	    ( Cheese( price == 10 ) or Cheese( type == "brie" ) )
+	then 
+		results.add("OK");		
+end
\ No newline at end of file


Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/lang/nested_conditional_elements.drl
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list