Hi Wolfgang,
Thanks for your response.
Here is the rule that I had written for the file.
rule "Id != value"
when
plc : DailyPLC(Id!="1794");
then
System.out.println("Incorrect ID " + plc.getId()+ " at row : "
+ plc.getRowNumber());
end
Any pointers shall be really very helpful.
Regards,
Amal
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Wolfgang Laun
Sent: Tuesday, June 12, 2012 3:57 PM
To: Rules Users List
Subject: Re: [rules-users] Firing the rules in a sequence for all the items in an
ArrayList.
Your question can't be answered without the rules. - If your Java code does what you
say it does, then it should be OK.
-W
On 12/06/2012, Amal Gupta
<Amal_Gupta@infosys.com<mailto:Amal_Gupta@infosys.com>> wrote:
Hello,
I am new to Java and Drools and have a doubt regarding the sequence
of
rules' execution as stated below :-
Scenario:- I have a scenario wherein I have to apply multiple rules
on
multiple columns coming in a file. To simulate that I created a 2-D
array as follows
String[][] data = {
{"1791","8459625","78458745","20120610","20120610"
},
{"1792","8459623","78458745","20120610","20120610"
},
{"1793","8459624","78458745","20120610","20120610"
},
{"17944","8459626","78458745","20120610","20120610"}
};
Here each column of corresponds to a member for the following class
public class DailyPLC {
private String Id; // This value will correspond to
data[i][0]
private String productCode; // This value will correspond to
data[i][1]
private String customerCode; // This value will correspond to
data[i][2]
private String date1; // This value will correspond to
data[i][3]
private String date2; // This value will correspond to
data[i][4]
private int rowNumber; // The row number to keep a track of row
for which the record exists
/*Getters and Setters defined for each of them*/ }
I have to perform checks on each of the columns, and the intent is to
create all the rules that I need for the entire array and save it in
a
single drl file. Also, at the execution time, all the rules should be
applied - either at once or sequentially - to all the rows of the
data.
Approach:- I tried the following
1. Created an ArrayList
ArrayList<DailyPLC> alPLCArrayList = new
ArrayList<DailyPLC>();
2. Iterated over the data and stored each row into a field of
the
object of DailyPLC class.
3. For every iteration, added the object into the array list.
alPLCArrayList.add(plcToday); // The plcToday is the object of the
DailyPLC class
4. When executing the rules, I am adding all the items of the
ArrayList one by one and adding into the Knowledge Session.
for(DailyPLC d : alPLCArrayList)
{
ksession.insert(d);
}
Problem Faced :- The problem that I faced is that when I do
FireAllRules, the rule only validates the last record. The intent is
that it should traverse the list and give a result for all the
members of the list.
Have I missed something here?
Please assist. Let me know in case you need any more information
Thanks in Advance,
Amal Gupta
**************** CAUTION - Disclaimer ***************** This e-mail
contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely
for the use of the addressee(s). If you are not the intended
recipient, please notify the sender by e-mail and delete the original
message. Further, you are not to copy, disclose, or distribute this
e-mail or its contents to any other person and any such actions are
unlawful. This e-mail may contain viruses. Infosys has taken every
reasonable precaution to minimize this risk, but is not liable for
any
damage you may sustain as a result of any virus in this e-mail. You
should carry out your own virus checks before opening the e-mail or
attachment. Infosys reserves the right to monitor and review the
content of all messages sent to or from this e-mail address. Messages
sent to or from this e-mail address may be stored on the Infosys
e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users