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(a)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(a)esptechnologies.com with questions regarding this
disclosure.
From: Dennis Duggan
Sent: Tuesday, November 09, 2010 1:55 PM
To: 'rules-users(a)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