Hi Susan. I think you will have to create little wrapper objects around your
domain objects  - instead of asserting nulls etc, you assert the empty
wrapper object, and then set the fields of that wrapper object in the rules
(otherwise it can't possibly work - as it is only passing around pointers to
objects, just like normal java, not named variables which I htink is what
you are trying to get to).

On 4/13/06, Susan G Lee <[EMAIL PROTECTED]> wrote:
>
> I'm aware that you can do that but we are trying to segregate the code so
> that developers extending off my rule engine do not need to know about the
> drools implementation
>
>
> Thanks,
> Susan G. Lee
>
> Distribution and New Ventures
> Depository Trust and Clearing Corporation
> 55 Water Street, New York, NY 10041
> Phone: 212-855-2883
> E-mail: [EMAIL PROTECTED]
>
>
>
> "Lionel Port" <[EMAIL PROTECTED]>
> 04/12/2006 07:40 PM
> Please respond to
> [email protected]
>
>
> To
> [email protected]
> cc
>
> Subject
> Re: [drools-user] Assert Null objects
>
>
>
>
>
>
> I kinda question your need for a rules engine when all your doing is
> delegating to another action but maybe there is more to it that your not
> telling us about.
> Anyway, if your rule is not dependant on the existence of a delegate, then
> don't add it as a parameter. You can do something like this.
>
>
> <rule name="LoginRequest">
>      <parameter identifier="request">
>         <class>com.dtcc.dnv.request.IServiceRequest</class>
>      </parameter>
>      <java:condition>request.getId().equals("Login")</java:condition>
>      <java:consequence>drools.assertObject(new
> com.dtcc.dnv.delegate.LoginDelegate());</java:consequence>
>
> </rule>
>
> On 4/13/06, Susan G Lee <[EMAIL PROTECTED]> wrote:
> >
> > Hi Mike.
> >
> > The scenario is that in the service request and it contains a request
> id,
> > which is really a rule name.  So depending on the rule name being
> called,
> > a specific delegate would handle the service request, which is why I did
> > what I did.  Here's maybe a clearer example
> >
> > <rule name="LoginRequest">
> >       <parameter identifier="request">
> >          <class>com.dtcc.dnv.request.IServiceRequest</class>
> >       </parameter>
> >       <parameter identifier="delegate">
> >          <class>com.dtcc.dnv.delegate.IDelegate</class>
> >       </parameter>
> >
> >       <java:consequence>delegate = new
> > com.dtcc.dnv.delegate.LoginDelegate();</java:consequence>
> >
> >   </rule>
> >
> > <rule name="DBRequest">
> >       <parameter identifier="request">
> >          <class>com.dtcc.dnv.request.IServiceRequest</class>
> >       </parameter>
> >       <parameter identifier="delegate">
> >          <class>com.dtcc.dnv.delegate.IDelegate</class>
> >       </parameter>
> >
> >       <java:consequence>delegate = new
> > com.dtcc.dnv.delegate.DBDelegate();</java:consequence>
> >
> >   </rule>
> >
> > Thanks,
> > Susan G. Lee
> >
> >
> >
> >
> > "Michael Neale" <[EMAIL PROTECTED]>
> > 04/12/2006 01:29 AM
> > Please respond to
> > [email protected]
> >
> >
> > To
> > [email protected]
> > cc
> >
> > Subject
> > Re: [drools-user] Assert Null objects
> >
> >
> >
> >
> >
> >
> > that rule doesn't quite make sense. you can set a null pointer to a new
> > object in that way and have it do anything useful.
> > explain a bit more what you are trying to do?
> >
> > On 4/11/06, Susan G Lee <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > I'm trying to genericize the use of the drl files. For example, I'm
> > going
> > > to pass in a request and from the request, I will be able to determine
> > > what delegate to use.  So I assert a request and delegate, but the
> > > delegate is instantiated to null, so when i do this:
> > >
> > > rule name="testRequest">
> > >      <parameter identifier="request">
> > >         <class>com.dtcc.dnv.request.IServiceRequest</class>
> > >      </parameter>
> > >      <parameter identifier="delegate">
> > >         <class>com.dtcc.dnv.delegate.IDelegate</class>
> > >      </parameter>
> > >
> > >      <java:consequence>delegate = new
> > > com.dtcc.dnv.delegate.LoginDelegate();</java:consequence>
> > >
> > >   </rule>
> > >
> > > it doesn't even get into the rule b/c the delegate is null.  I'm using
> > > drools 2.5. Can someone help with this?
> > >
> > >
> > > Thanks,
> > > Susan G. Lee
> > >
> > >
> > >
> >
> >
> >
>
>
>

Reply via email to