<div dir="ltr"><br> You can only use memberOf with Collection or arrays, so you should be binding your variables to the list, instead of the class:<br><br>Workdays( $wd : workDays )<br><br> []s<br> Edson<br><br><div class="gmail_quote">
2008/10/3 Marcin Krol <span dir="ltr"><<a href="mailto:mrkafk@gmail.com">mrkafk@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
I'm doing this:<br>
<br>
ThermostatTimeData ttd1 = new ThermostatTimeData("January", "Monday", 14);<br>
session.insert(ttd1);<br>
WorkDays wd = new WorkDays();<br>
session.insert(wd);<br>
session.fireAllRules();<br>
printoutThermostatData(ttd1);<br>
<br>
and then this:<br>
<br>
rule "Rule 1"<br>
when<br>
$wd : com.sample.WorkDays()<br>
$ttd : ThermostatTimeData ( day memberOf $wd )<br>
then<br>
modify ( $ttd ) {<br>
setDaytype("workday")<br>
}<br>
System.out.println("Rule 1 fired.");<br>
end<br>
<br>
And I get the error like in subject. Anybody knows why?<br>
<br>
<br>
WorkDays.java:<br>
<br>
package com.sample;<br>
import java.util.ArrayList;<br>
import java.util.List;<br>
<br>
<br>
public class WorkDays {<br>
private List<String> wd;<br>
<br>
public WorkDays() {<br>
this.wd = new ArrayList<String>();<br>
this.wd.add("Monday");<br>
this.wd.add("Tuesday");<br>
this.wd.add("Wednesday");<br>
this.wd.add("Thursday"); <br>
this.wd.add("Friday"); <br>
}<br>
<br>
public List<String> getWorkDays() {<br>
return this.wd;<br>
}<br>
}<br>
<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> Edson Tirelli<br> JBoss Drools Core Development<br> JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a><br>
</div>