I have a super interface, that both objects implement.

 

The matching rule looks like:

rule "Match"

    when

        $oRecord1 : MyObject1( )

        $oRecord2 : MyObject2(RefID==$oRecord1. RefID )

      then

         $oRecord1.setStatus( "Matched" );

         $oRecord2.setStatus( "Matched" );

end

 

I can breakpoint right after running the query and I see objects with all statuses so the matching rule is firing correctly.

 

Thanks!
Dennis

Dennis Duggan

Principal Software Engineer, Software Engineering

ESP Technologies Corp. "THE Buy-Side Solution"

One Indian Head Plaza Suite 701, Nashua, NH 03060

603.324.2444 ext. 1304 Office |  603.324.2447 Fax

dennis@esptechnologies.com

 

ESP Technologies, winner 2009 Red Herring North America 100 and 2008 Deloitte Technology Fast 500.

This e-mail and/or attachments may contain privileged, confidential or proprietary information.  Unintended recipients should notify the sender immediately and delete. Disclosure, copying, distribution or use of this e-mail or any attachment is prohibited. Brokerage services provided by Electronic Securities Processing (ESP) LLC. Member FINRA, SIPC. This is neither an offer or recommendation to buy or sell any security or other financial instrument.  Email compliance@esptechnologies.com with questions regarding this disclosure.

 

From: Dennis Duggan
Sent: Tuesday, November 09, 2010 1:55 PM
To: 'rules-users@lists.jboss.org'
Subject: Query query...

 

I have 2 types of objects in my knowledge base that I am trying to equate.  Equality is based on a number of different variables contained in the objects.  Once I find equal objects I set a status member in each to “Matched”, otherwise it will be “OneKnows” or “TwoKnows”.

 

After I fire the rules I use queries that I call from Java code to get the three different types of objects.

query "OneFirmKnows"

    oRecord : MyObject1( status=="OneKnows" )

end

 

query "TwoKnows"

    oRecord : MyObject2( status=="TwoKnows" )

end

 

query "Matched"

    oRecord : MyObject1( status=="Matched" )

end

 

Each query sends back all objects no matter what the status is.  The objects have a getStatus( ) method.  What am I doing wrong?

 

Thanks!

Dennis