[rules-users] 2 Drools Rules in one DRL file and second Rule is not firing.

Joe Donnelly jdonnelly at bizxcel.com
Tue Apr 24 16:56:06 EDT 2012


Hi All,

 

I'm new to drools and using 5.2.0

 

I have 2 test cases I want to run on my test xml files

1.       Is the xml node there

2.       Does it match XSD data type pattern 

 

The XML file contents is loaded into a DTO(which has sub DTOs) and the DTO
is passed to the RuleService

I created one rule file called F1.drl with 2 rules in it.

 

rule "F1 - Exists"

                when

                                fact : basicFact()

                                ojb1 :  ObjectDTO() from fact.Objects

                                not(String() from ojb1.node1())

                then

                                System.out.println("Missing Node Data");


end

rule "F1- Pattern Match"

                when

                                fact : basicFact()

                                ObjectDTO( node1 not matches
"^[\\S]{1,100}$") from fact.Objects

                then

                                System.out.println("Bad Node value");

end 

 

test.java has 2 junit test cases

 

@test for TestFailExists.XML

 

@Test for TestFailPattern.XML

 

Regardless of which rule is first the first is only one that fires on the
file that it would apply to.

I tried commenting out 1 rule and the other works fine and vice versa.  I
even tried separating the 

Into separate DRL files which worked as expected.

 

Hopefully someone can shed some light on this for me

 

Thank you for your time,

 

Joe

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120424/208c6dc3/attachment-0001.html 


More information about the rules-users mailing list