[jboss-jira] [JBoss JIRA] (DROOLS-280) lock-on-active broken
RH Bugzilla Integration (JIRA)
jira-events at lists.jboss.org
Fri Nov 1 12:54:02 EDT 2013
[ https://issues.jboss.org/browse/DROOLS-280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12829527#comment-12829527 ]
RH Bugzilla Integration commented on DROOLS-280:
------------------------------------------------
Mario Fusco <mfusco at 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
More information about the jboss-jira
mailing list