On 1 June 2011 21:43, Simon Chen <simonchennj@gmail.com> wrote:
Hi all,

I am always confused about what we can do in the "then" part of the rule.

In particular, I have problem duplicate a list. For example:

when:
 $b: Book( "james" memberOf authors )
then:
 Test fact = new Test();
 fact.getList().addAll( $b.authors );
 insert(fact);
end

The error message reads like this:

BuildError: Unable to build expression for 'consequence': [Error:
Failed to compile: 2 compilation error(s):
 - (1,7) unqualified type in strict mode for: $b
 - (1,12) unqualified type in strict mode for: authors]

What is the right way to do this?

Granted - the error message is a puzzle in itself, but basically, the RHS must be written according to Java rules. Hence, if $b is an object of type Book, $b.authors depends on the (Java!) visibility of member authors. If it isn't public, you must use the getter.

-W
 

Thanks.
-Simon
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users