[jboss-jira] [JBoss JIRA] (DROOLS-213) IsA operator does not evaluate correcly

Mario Fusco (JIRA) jira-events at lists.jboss.org
Wed Aug 21 04:46:27 EDT 2013


     [ https://issues.jboss.org/browse/DROOLS-213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mario Fusco resolved DROOLS-213.
--------------------------------

    Resolution: Rejected

    
> IsA operator does not evaluate correcly
> ---------------------------------------
>
>                 Key: DROOLS-213
>                 URL: https://issues.jboss.org/browse/DROOLS-213
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 6.0.0.Beta5
>            Reporter: Fabian Meyer
>            Assignee: Mario Fusco
>
> package test;
> declare T
> 	@Traitable
> 	id : String
> end
> declare trait A
> 	id : String
> end
> declare trait B
> 	id : String
> end
> rule "Print A"
> 	when
> 		$tmp : A()
> 	then
> 		System.out.println("(A) " + $tmp.getId());
> end
> rule "Print B"
> 	when
> 		$tmp : B()
> 	then
> 		System.out.println("(B) " + $tmp.getId());
> end
> rule "Print T isA A"
> 	when
> 		$tmp : T(this isA A)
> 	then
> 		System.out.println("(T isA A) " + $tmp.getId());
> end
> rule "Print T isA B"
> 	when
> 		$tmp : T(this isA B)
> 	then
> 		System.out.println("(T isA B) " + $tmp.getId());
> end
> rule "Print A isA B"
> 	when
> 		$tmp : A(this isA B)
> 	then
> 		System.out.println("(A isA B) " + $tmp.getId());
> end
> rule "Print B isA A"
> 	when
> 		$tmp : B(this isA A)
> 	then
> 		System.out.println("(B isA A) " + $tmp.getId());
> end
> rule "Init"
> 	when
> 	then
> 		T $a = new T("a"); 
> 		insert ($a);
> 		don($a, A.class, true);	
> 		
> 		T $b = new T("b"); 
> 		insert ($b);
> 		don($b, B.class, true);	
> 		
> 		T $ab = new T("ab"); 
> 		insert ($ab);
> 		don($ab, A.class, true);
> 		don($ab, B.class, true);	
> end
> Results in output:
> (B isA A) ab
> (B) ab
> (B) b
> (A) ab
> (A) a
> Expected additional output:
> (T isA B) b
> (T isA B) ab
> (T isA A) a
> (T isA A) ab
> (A isA B) ab
> Also, the syntax of the "isA" operator is unclear. The example in the documentation of the operator uses quotes for the traits:
> $sc : GoldenCustomer( $maxExpense : maxExpense > 1000,
>                       this isA "SeniorCustomer"
> )
> If quotes are used for the example above, no output is generated at all.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list