[rules-users] list operations in "then" part

Wolfgang Laun wolfgang.laun at gmail.com
Thu Jun 2 03:14:38 EDT 2011


On 1 June 2011 21:43, Simon Chen <simonchennj at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110602/1f3ea666/attachment.html 


More information about the rules-users mailing list