2016-06-03 16 views
0

Ich habe eine Klasse Anwendung, in der es eine Liste von Instanzen von CallPhones gibt.Forall wird immer als wahr [Drools]

class Application() { 
     List<CallPhones> callPhonesList; 
     ... 
} 

class CallPhones() { 
     Integer callTimes; 
     ... 
} 

Ich möchte die Regel ausgelöst, wenn callTimes aller Instanzen größer als 10 ist hier die Regel:

rule "Application eligible" 
    when 
     app : Application() 
     forall(CallPhones(callTimes > 10)) 
    then 
     // application is eligible 
end 

Merkwürdigerweise der Regel immer ausgelöst, auch wenn es eine Instanz mit callTimes 5. Ich habe auch versucht, Antwort von this question, bekam aber keine Hilfe. Irgendwelche Ideen?

+0

'von app.callPhoneList' fehlt auch': 'fehlt – piyushj

+0

Könnten Sie ein komplettes Beispiel geben? @piyushj – dehiker

Antwort

1

Es sollte

sein
rule "Application eligible" 
    when 
     app : Application() 
     forall($temp:CallPhones(callUserTimes > 10) from app.callPhoneList) 
    then 
     // application is eligible 
end 
+0

danke für die Bearbeitung :) – piyushj