[
https://issues.jboss.org/browse/DROOLS-280?page=com.atlassian.jira.plugin...
]
RH Bugzilla Integration commented on DROOLS-280:
------------------------------------------------
Mario Fusco <mfusco(a)redhat.com> made a comment on [bug
1025824|https://bugzilla.redhat.com/show_bug.cgi?id=1025824]
lock-on-active is not working as expected.
I seems to work as activation-group.
Works fine with 5.x
Fails with 6.0.0 CR3 and CR4
Fact:
public class Poc implements Serializable {
private static final long serialVersionUID = 1L;
private long id = 1;
private boolean test1 = false;
private boolean test2 = false;
private int foundTest = 0;
...
}
Rule:
rule "test1"
lock-on-active
dialect "mvel"
when
$poc:Poc( isTest1() )
then
System.out.println("test1 found");
modify($poc) { setFoundTest($poc.getFoundTest() + 1) }
end
rule "test2"
lock-on-active
dialect "mvel"
when
$poc:Poc( isTest2() )
then
System.out.println("test2 found");
modify($poc) { setFoundTest($poc.getFoundTest() + 1) }
end
Test:
@Test
public void lockOnActiveTest() {
// Get the Knowledge base from the DRL file
KieSession kSession = getSF();
Poc poc = new Poc();
poc.setTest1(true);
poc.setTest2(true);
kSession.insert(poc);
// Fire the rules
kSession.fireAllRules();
assertTrue("broken",poc.getFoundTest()==2);
// Clean up
kSession.dispose();
}
lock-on-active broken
---------------------
Key: DROOLS-280
URL:
https://issues.jboss.org/browse/DROOLS-280
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 6.0.0.CR4
Reporter: Anthony Patricio
Assignee: Mario Fusco
Hi,
lock-on-active is not working as expected.
I seems to work as activation-group.
Works fine with 5.x
Fails with 6.0.0 CR3 and CR4
Fact:
{code:java}
public class Poc implements Serializable {
private static final long serialVersionUID = 1L;
private long id = 1;
private boolean test1 = false;
private boolean test2 = false;
private int foundTest = 0;
...
}
{code}
Rule:
{code:java}
rule "test1"
lock-on-active
dialect "mvel"
when
$poc:Poc( isTest1() )
then
System.out.println("test1 found");
modify($poc) { setFoundTest($poc.getFoundTest() + 1) }
end
rule "test2"
lock-on-active
dialect "mvel"
when
$poc:Poc( isTest2() )
then
System.out.println("test2 found");
modify($poc) { setFoundTest($poc.getFoundTest() + 1) }
end
{code}
Test:
{code:java}
@Test
public void lockOnActiveTest() {
// Get the Knowledge base from the DRL file
KieSession kSession = getSF();
Poc poc = new Poc();
poc.setTest1(true);
poc.setTest2(true);
kSession.insert(poc);
// Fire the rules
kSession.fireAllRules();
assertTrue("broken",poc.getFoundTest()==2);
// Clean up
kSession.dispose();
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira