[rules-users] About for and inheritance

Wolfgang Laun wolfgang.laun at gmail.com
Fri Jan 14 11:10:55 EST 2011


If smell is a property of Cheese and not just of FrenchCheese you could use


when
       $person : Person ()
       $c: Cheese( eval( $c instanceof FrenchCheese), smell == "good" ) from
$person.getLikes()
then

Also, I think that a selective retrieval with an overloaded version of
getLikes():
   getLikes( Class clazz )
might be useful, avoiding useless elements in the returned collection.

-W

On 14 January 2011 12:02, Evert Penninckx <evert.penninckx at gmail.com> wrote:

>
> Hi
>
> I stumbled upon this problem last week. I see this is a very old post, and
> I
> was wondering if a "solution" has been implemented?
>
> It seems logical to me, that "from" only matches if an element in the list
> matches the required subclass. This means the classcast exception is
> catched
> and causes the rule not to match.
> rule "likes french cheese"
>    when
>        $person : Person ()
>        FrenchCheese( smell == "good" ) from $person.getLikes()
>    then
>        System.out.println("likes french cheese");
> end
> This rule should only match FrenchCheese, even if other subclasses of
> Cheese
> are present in the set of Cheeses (getLikes()).
>
>
> They way I avoid it now is using an Enum containing each Cheese class
> (since
> I can't get it working with reflection).
> rule "likes french cheese"
>    when
>        $person : Person ()
>        $cheese : Cheese( cheeseType == CheeseTypes.FrenchCheese ) from
> $person.getLikes()
>        FrenchCheese( smell == "good" ) from $cheese
>    then
>        System.out.println("likes french cheese");
> end
> A bit awkward in my opinion. It would be nice if drools provided for the
> matching itself.
>
>
> So again, has this "problem" evolved since 2007?
>
>
>
> Greetz
>
> Evert
>
>
>
> --
> View this message in context:
> http://drools-java-rules-engine.46999.n3.nabble.com/About-for-and-inheritance-tp54110p2254750.html
> Sent from the Drools - User mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110114/c4029d3d/attachment.html 


More information about the rules-users mailing list