[
https://issues.redhat.com/browse/DROOLS-4956?page=com.atlassian.jira.plug...
]
Toshiya Kobayashi edited comment on DROOLS-4956 at 1/24/20 5:00 AM:
--------------------------------------------------------------------
Note:
{code:java}
Person( "Toshiya" == name )
{code}
works for property reactivity thanks to
MvelConstraint.getPropertyNameFromSimpleExpression()/StringUtils.extractFirstIdentifier()
which intelligently detects the property name. However, it doesn't work for indexing
because CompositeObjectSinkAdapter.isHashable() returns false
(indexableConstraint.fieldValue == null in this case).
{code:java}
Person($customer == name)
{code}
This can cause a property reactivity issue.
was (Author: tkobayashi):
Note:
{code:java}
Person( "Toshiya" == name )
{code:java}
works for property reactivity thanks to
MvelConstraint.getPropertyNameFromSimpleExpression()/StringUtils.extractFirstIdentifier()
which intelligently detects the property name. However, it doesn't work for indexing
because CompositeObjectSinkAdapter.isHashable() returns false
(indexableConstraint.fieldValue == null in this case).
{code:java}
Person($customer == name)
{code:java}
This can cause a property reactivity issue.
Normarize rule constraints for property reactivity and indexing
---------------------------------------------------------------
Key: DROOLS-4956
URL:
https://issues.redhat.com/browse/DROOLS-4956
Project: Drools
Issue Type: Bug
Components: core engine, executable model
Affects Versions: 7.31.0.Final
Reporter: Toshiya Kobayashi
Assignee: Toshiya Kobayashi
Priority: Major
Having a constraint like
{code:java}
Person( name == "Toshiya" )
{code}
is not really the same thing as
{code:java}
Person( "Toshiya" == name )
{code}
In the second case not only you don't have property reactivity, but also you
don't have indexing. This an inconsistent behaviour and hoping to fix it with a
"normalization" phase where the second constraint got rewritten like the first
before being analyzed by property reactivity and indexing.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)