No, this doesn't work...
Drools-5.2 doesn't help either :-(
2011/6/2 Joe White <Joe.White(a)recondotech.com>:
If you cast $b on the RHS it will probably work. We’ve had to do this
in the
past for rules like this.
….
then:
Test fact = new Test();
Book rhsBook = (Book)$b;
fact.getList().addAll( rhsBook.authors );
insert(fact);
end
From: rules-users-bounces(a)lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Mark Proctor
Sent: Thursday, June 02, 2011 8:52 AM
To: rules-users(a)lists.jboss.org
Subject: Re: [rules-users] list operations in "then" part
On 02/06/2011 08:14, Wolfgang Laun wrote:
On 1 June 2011 21:43, Simon Chen <simonchennj(a)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.
I believe he's using "mvel" judging by the error.
mark
-W
Thanks.
-Simon
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users