Hey Dirk,

    Trunk already supports || and && without sub-rule generation.


rule "severe bugs for which a member of your group is dev or support owner"
when
    $group : UserGroup( )
    $badBugs : List() from
         collect( Bug( (devOwner memberOf $group || supportOwner memberOf $group),
                             severity == "hair-on-fire" )
then
    $group.runAroundInStarkRavingPanicOver($badBugs)
end

   Just remember that collect is heavy. :) Other than that you are fine. And use || and && for connecting constraints (no sub-rule generation) and "and" and "or" for connecting CE's.

  []s
  Edson

2007/5/29, Dirk Bergstrom <dirk@juniper.net>:
In my ongoing efforts to abuse Drools syntax, I would like to write rules like this:

rule "severe bugs for which a member of your group is dev or support owner"
when
$group : UserGroup( )
$badBugs : List() from
collect( Bug( (devOwner memberOf $group or supportOwner memberOf $group),
  severity == "hair-on-fire" )
then
$group.runAroundInStarkRavingPanicOver($badBugs)
end

Will that work?  Is that the right syntax?  Will it be performant if I've got
10000 Bugs and 1000 UserGroups?

According to Mark's "What's New in JBoss Rules 4.0" presentation, you can use &&
and || without subrule generation, and I have a vague memory of seeing something
about "and" & "or" as well, but I can't remember where I saw it.

Thanks.

--
Dirk Bergstrom               dirk@juniper.net
_____________________________________________
Juniper Networks Inc.,          Computer Geek
Tel: 408.745.3182           Fax: 408.745.8905
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com