[rules-users] strict-mode and nested object property access in drools 5.4.0.Final - can i cast?
radai rosenblatt
radai.rosenblatt at gmail.com
Thu May 24 07:47:08 EDT 2012
hello.
I have the following 2 classes:
public class ClassWithPayload {
private String key;
private Object payload;
// getters setters etc ommitted
}
public class PayloadClass {
public String someProp;
//getters setters etc ommitted
}
and im trying to get the following rule to compile:
rule "Naive Payload Access"
when
$container : ClassWithPayload(key == "someKey", (payload != null &&
payload.someProp == "someValue"))
then
System.err.println("boom");
end
which results in the following error:
java.lang.AssertionError: Unable to Analyse Expression payload.someProp:
[Error: unable to resolve method using strict-mode:
java.lang.Object.someProp()]
[Near : {... payload.someProp ....}]
is there some way for me to cast payload.someProp to the proper class ?
(PayloadClass in this case).
this is a simplification of a bigger migration issue from drools 5.1 to 5.4
so the payload property has to remain an Object in the general case.
there's a casting syntax mentioned here
(https://community.jboss.org/wiki/DroolsPatternLanguage) but i take it its
not been implemented yet? (or maybe i just cant understand it properly?)
i've tried this:
rule "Naive Payload Access"
when
$container : ClassWithPayload(key == "someKey", (payload != null &&
payload.#PayloadClass(someProp == "someValue")))
then
System.err.println("boom");
end
but it doesnt compile:
java.lang.AssertionError: [8,51]: [ERR 101] Line 8:51 no viable alternative
at input '(' in rule "Naive Payload Access"
[0,0]: Parser returned a null Package
and if i cant cast, how can i get this sort of rule to behave as it did in
5.1.1 ?
thanks in advance for any assistance,
Radai.
--
View this message in context: http://drools.46999.n3.nabble.com/strict-mode-and-nested-object-property-access-in-drools-5-4-0-Final-can-i-cast-tp4013373.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list