[rules-users] mixing activation-group and ruleflow-group

Wolfgang Laun wolfgang.laun at gmail.com
Fri Oct 5 07:37:34 EDT 2012


Drools' DRL doesn't know about generics the way Java does.

Cast $map.get($cname).

-W

On 05/10/2012, raffi <christian.koehler at s2008.tu-chemnitz.de> wrote:
> Thank you so far.
>
> I also noticed that my solution is in some way unefficient if there are a
> lot of categories. I not only have to change rules saliences, I do have to
> change the /not Recommendation(cname == "pets"...)/ lines in every rule,
> too.
> So I have a new approach leave out the removing of Recommendation facts.
> The
> solution is near yours, laune. But I have a new problem now. I added a
> value
> variable (double) to my Recommendation class. I also added a new class that
> holds a HashMap (<String, Double>). Where String is the name of the
> category
> and the double value is dependent on the category (higher prioriry, higher
> value). And I now like to calculate the value for each Recommendation that
> was added.
> rule "calculate recomm value"
> 	salience 15
> 	when
> 		$recomm	: Recommendation($cname : cname, $recomm_value : recommValue)
> 		$map	: HashMap(FilterCriteria.categories)
> 	then
> 		modify ($recomm) {
> 			setRecommValue($recomm_value * $map.get($cname))
> 		}
> end
>
> But eclipse says: /The operator * is undefined for the argument type(s)
> double, Object/
> Using $map.get("test") in a normal java class works perfect and return the
> expected double value. Where is the mistake in the rule?
>
> Thank you
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/mixing-activation-group-and-ruleflow-group-tp4020058p4020142.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>


More information about the rules-users mailing list