[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