[jboss-jira] [JBoss JIRA] (DROOLS-3972) Evaluation of facts hasn't been affected by 'modify()' when parsing String to Double
Almas Toimbekov (Jira)
issues at jboss.org
Sat May 4 00:32:00 EDT 2019
[ https://issues.jboss.org/browse/DROOLS-3972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Almas Toimbekov updated DROOLS-3972:
------------------------------------
Steps to Reproduce:
{code:java}
rule "Rule 1"
salience 30
when
then
Resource resource1 = new Resource();
resource1.setName("Resource 1");
resource1.setAmount("5");
insert(resource1);
System.out.println("First");
end
rule "Rule 2"
salience 20
//no-loop - next rule fires if use 'update()' instead
when
$resource1: Resource(name == "Resource 1")
then
modify($resource1) {setAmount("20")};
// update($resource1);
System.out.println("Second");
end
rule "Rule 3"
salience 30
when
$resource1: Resource(name == "Resource 1", Double.parseDouble(amount) == "20")
// - interesting that the line below fires this rule
// $resource1: Resource(name == "Resource 1", amount.startsWith("20"))
then
System.out.println("Rule is fired"); //doesn't fire
end
{code}
was:
rule "Rule 1"
salience 30
when
then
Resource resource1 = new Resource();
resource1.setName("Resource 1");
resource1.setAmount("5");
insert(resource1);
System.out.println("First");
end
rule "Rule 2"
salience 20
//no-loop - next rule fires if use 'update()' instead
when
$resource1: Resource(name == "Resource 1")
then
modify($resource1) {setAmount("20")};
// update($resource1);
System.out.println("Second");
end
rule "Rule 3"
salience 30
when
$resource1: Resource(name == "Resource 1", Double.parseDouble(amount) == "20")
// - interesting that the line below fires this rule
// $resource1: Resource(name == "Resource 1", amount.startsWith("20"))
then
System.out.println("Rule is fired"); //doesn't fire
end
> Evaluation of facts hasn't been affected by 'modify()' when parsing String to Double
> -------------------------------------------------------------------------------------
>
> Key: DROOLS-3972
> URL: https://issues.jboss.org/browse/DROOLS-3972
> Project: Drools
> Issue Type: Bug
> Components: executable model
> Affects Versions: 7.20.0.Final
> Environment: Ubuntu
> Reporter: Almas Toimbekov
> Assignee: Luca Molteni
> Priority: Major
> Labels: double, evaluation, execution, parse
>
> When I modify amount in an example below from 5 to 20 (both are Strings) and then try to evaluate this fact parsing it to Double - the third rule doesn't fire. But it fires when use 'update()' instead of 'modify() {}'
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list