The things on a rule's LHS are not function calls, of course, so no,
you can't do what you've tried to do here. You can, however, use the
(test) CE -- see Jess 6 manual section 2.8.1.5.


I think Satish boggavarapu wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> 
> Thanks Ernest. That solved my silly problem :) I have another question. can
> i use "call" function only on the RHS side? I tried the following rule and
> its working in case 2 and not in case 1.
> 
> case1:
>       (defrule testbeans2 
>       (test1 (name ?name) (clli ?clli) (netPlane 1) (OBJECT ?test1))
>       (call ?test1 hasLink "link1")
>       =>
>       (printout t "The NE matched with link1 is :" ?name  crlf)
> )
> 
> case1:
>       (defrule testbeans2 
>       (test1 (name ?name) (clli ?clli) (netPlane 1) (OBJECT ?test1))
>       =>
>       (call ?test1 hasLink "link1")
>       (printout t "The NE matched with link1 is :" ?name  crlf)
> )
> 
> In case2 the method hasLink is getting called and it returns a boolean true.
> I even printed whats being returned on to the jess side and it turns out to
> be the atom TRUE. So am i right in assuming i can not use call on the LHS
> side? or do i need to handle the return value in any specifc manner? 
> 
> I am basically testing how i can call methods in a java object by pasing
> certain arguments and also when that method call returns true so the
> condition evaluates to true (if called from LHS).
> 
> Thanks for the help
> Satish.
> 
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, April 18, 2001 10:07 PM
> To: Satish boggavarapu
> Cc: '[EMAIL PROTECTED]'
> Subject: Re: JESS: definstance on beans
> 
> 
> I think Satish boggavarapu wrote:
> [Charset iso-8859-1 unsupported, filtering to ASCII...]
> > 
> > Hi All,
> > 
> > I am trying to create definstances on a set of beans which has an
> ArrayList
> > in it with out much success. I am enclosing the error log and the code
> > snippets here. I appreciate any help indicating where i am going wrong.
> > 
> > public interface Test1Intf {
> ...
> >     public ArrayList getLinks();
> >     public void setLinks(ArrayList aList);
> ...
> > public class Test2 extends Test1 implements Test2Intf {
> > ...................
> > }
> > 
> ...
> > (defclass test1 jess.examples.pumps.Test1Intf)
> > (defclass test2 jess.examples.pumps.Test2Intf extends test1)
> > 
> ...
> > 
> > (defrule testbeans2 
> >     (test2 (name ?name) (clli ?clli) (netPlane 1) (link ?link)
> >     =>
> >     (printout t "The NE matched is :" ?name ?link crlf)
> > )
> > 
> > 
> > I am getting the following error. Where am i going wrong?
> > 
> 
> Sorry that Jess doesn't do a better job of reporting this error in a
> sensible way. The message "Bad index -3 in call to get() on this
> vector..." when defining a rule always means you've tried to match a
> nonexistent slot; usually it's a typo. The rule testbeans2 above is
> trying to match a slot named "link", but there is no such slot in any
> of your defclasses: there is, though, one named "links", as I've shown
> in Test1Intf above.
> 
> > java jess.examples.pumps.Test
> > Exception in thread "main" Jess reported an error in routine
> ValueVector.get
> >     while executing (batch jess/examples/pumps/test.clp).
> >   Message: Bad index -3 in call to get() on this vector:  (clli
> > <External-Address:jess.SerializablePropertyDescriptor> -1 links
> > <External-Address:jess.SerializablePropertyDescriptor> -1 location
> > <External-Address:jess.SerializablePropertyDescriptor> -1 name
> > <External-Address:jess.SerializablePropertyDescriptor> -1 netPlane
> > <External-Address:jess.SerializablePropertyDescriptor> -1 OBJECT nil
> 2048).
> 
> 
> 
> 
> ---------------------------------------------------------
> Ernest Friedman-Hill  
> Distributed Systems Research        Phone: (925) 294-2154
> Sandia National Labs                FAX:   (925) 294-2234
> Org. 8920, MS 9012                  [EMAIL PROTECTED]
> PO Box 969                  http://herzberg.ca.sandia.gov
> Livermore, CA 94550
> 



---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
Org. 8920, MS 9012                  [EMAIL PROTECTED]
PO Box 969                  http://herzberg.ca.sandia.gov
Livermore, CA 94550

---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list (use your own address!) List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------

Reply via email to