[rules-users] Is there a better way?
Dirk Bergstrom
dirk at juniper.net
Mon Jan 28 16:42:27 EST 2008
On 01/26/08 03:32, someone claiming to be Edson Tirelli wrote:
> This should work:
> $rli_list : RecordSet( this != $npi.relatedRLIs )
And it does, thanks very much. I could swear I tried that, but I guess not.
Foolish me.
> 2008/1/25, Dirk Bergstrom <dirk at juniper.net <mailto:dirk at juniper.net>>:
>
> I collect objects of type RLI that are related to instances of type
> NPI, and
> "attach" them to their NPIs, and (in a later agenda group) collect
> subsets of
> RLIs based on attributes of RLIs, NPIs, and other objects. In the
> first agenda
> group, I need to update() the NPI object after the new list of RLIs
> is attached,
> but I only want to do this when a *new* list is attached.
>
> The only way I can find to do this requires an eval. Is there a
> better way?
>
> Here's the rule that I have now. This works:
>
> rule "RLIs for NPI"
> agenda-group "010"
> lock-on-active true
> salience 50
> when
> $npi : NPIRecord( )
> $rli_list : RecordSet( eval( !
> $rli_list.equals($npi.getRelatedRLIs())) ) from
> collect( RLIRecord( npi_program == $npi.synopsis ) )
> then
> $npi.setRelatedRecords($rli_list, DataSource.RLI);
> update($npi);
> end
>
> I'd like to write something like this:
>
> ...
> $rli_list : RecordSet( $rli_list != $npi.relatedRLIs ) from
> ...
>
> But that doesn't compile.
--
Dirk Bergstrom dirk at juniper.net
_____________________________________________
Juniper Networks Inc., Computer Geek
Tel: 408.745.3182 Fax: 408.745.8905
More information about the rules-users
mailing list