Look at this....
I have got a "ContractWrapper" fact inserted into
WM.
It wraps a "Contract" object and some "enums"
fields.
One of these fields is "upronto":
public
class ContractWrapper extends
BaseOmPersistentWithAssignedId{
Contract
mycontract=null;
...
Pronto upronto = null;
...
<getters and setters....>
...
}
"upronto" is an insance of a "Pronto" java
enum:
public
enum Pronto {
N
,
UNKNOWN
,
Y
;
}
"Pronto" can be : (Y, N, UNKNOWN)
Here is the rule which reasons over this
enum:
(ofcourse I have got a Request into WM as
well)
rule "ScorePronto"
dialect
"mvel"
ruleflow-group "Scoring"
when
$r:Request( $mc:mainContract != null )
$cw_p:ContractWrapper($c_w_p:mycontract == $mc, eval(upronto !=
Pronto.Y))
then
System.out.println("Test Result: "+($cw_p.upronto ==
Pronto.Y))
end
Any guesses for the output???
Well....
Test Result: true
HOW COMES???????????????????
I mean ... the test "eval(upronto != Pronto.Y)"
returned "true".... It means that the rule
engine sees upronto <> Pronto.Y!, doesn't
it??!!!!
So... why do I get "upronto == Pronto.Y" in
the RHS????
What
the.........&$%%&()%%$/%£....sorry....but having these
kind of problems during saturday night is not so
pleaseant!
T-T
I really hope you can help me with a
workaround to this issue.
Bye
Massi