[jboss-jira] [JBoss JIRA] (DROOLS-2695) Beta node indexes don't support type coercion
Mario Fusco (JIRA)
issues at jboss.org
Mon Jul 2 13:26:00 EDT 2018
Mario Fusco created DROOLS-2695:
-----------------------------------
Summary: Beta node indexes don't support type coercion
Key: DROOLS-2695
URL: https://issues.jboss.org/browse/DROOLS-2695
Project: Drools
Issue Type: Bug
Components: core engine
Reporter: Mario Fusco
Assignee: Mario Fusco
When there is a type mismatch (e.g. String vs Integer) in a constraint, usually a type is coerced and a rule is fired.
{code}
rule "R2"
when
$f : MyFactB( strData == 20 )
then
System.out.println( "R2 fired : $f = " + $f );
end
{code}
As far as I investigate, in case of AlphaNode, MVEL does the coercion. Also AlphaNode hashing does the coercion (https://github.com/kiegroup/drools/blob/7.5.0.Final/drools-core/src/main/java/org/drools/core/reteoo/CompositeObjectSinkAdapter.java#L748).
However, in case of JoinNode, it doesn't coerce so doesn't fire.
{code}
rule "R1"
when
MyFactA( $i : intData )
$f : MyFactB( strData == $i )
then
System.out.println( "R1 fired : $f = " + $f );
end
{code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jboss-jira
mailing list