in the beginning I inserted a couple of not processed customers in my workingmemory (#total = #not processed, #processed = 0). During the rules 1-9 a part ot these customers will be processed (call $customer.setProcessed(true) and udpate($customer) the wm). Rule 10 + 11 should sort the customers. The result of rule 10 looks perfect, the list just contain the processes customers. The result of rule 11 looks bad, all customers in the wm are in the result. (#total = #not processed + #processed) Rule 11 is activated as last one, in the insert process all customers are not processed, then I try to change the customer objects in the working memory (rule 1-9). The output produced in the for-loop shows that already processed customers are in the list, which should only contain not processed customers. What is wrong, where I made my mistake? best wishes+Thanks a lot. Thorsten Trägenap rule "#10" salience 46 when $kunden : ArrayList() from collect (Customer(processed == true)) then System.err.println("customers already processed " + $kunden.size() + " " + $kunden); end rule "#11" salience 47 when $cust : ArrayList() from collect (Customer(processed == false)) then System.err.println("Customer to process " + $cust.size() + " " + $cust); for (int i = 0; i < $cust.size(); i++) { Customer c = (Customer)$cust.get(i); if (c.getProcessed()) System.err.println("Why i am here: " + c); } end
Gesprächspartner: |
|
Datum: |
|
Inhalt: |
|
TODO: |
|
Rückmeldung
bis: |
|
Absender: |
|