Hi,
I successfully run the example below.
I have one question (not related to Juan Luis Mulas Platero)
How can i receive the result back as arbitrary data from  this example ?
(Jess manual section 5.4)
Thanks
Hue




> 
> I think Juan Luis Mulas Platero wrote:
> > 
> > Hello everybody again.
> 
> > If I a create a object from Java outside Jess, and then I put it into Jess
> > using a definstance or bind with a defglobal (all from Java), is it
> > possible to access from Jess to the changes makes on that object (created
> > in Java)?  
> 
> Of course!
> 
> > Could someone explain me, in detail, how I can create a object outside
> > JESS, put it into JESS and use the firePropertyChange method (from JAVA)
> > so that it fires a rule in JESS with a pattern=the object put into JESS 
> > (having used the definstance contruct).
> > 
> 
> Here is a complete example using the Pumps and Tanks classes, but driving
> things from Java instead of from Jess. Before running this, edit the
> jess/examples/pumps/pumps.clp file by commenting out the 'startup' rule
> and the (reset) and (run) commands.
> 
> ; ----------------------------------------------------------------------
> import jess.*;
> 
> public class FromJava 
> {
> 
>   public static void main(String[] argv) throws ReteException
>   {
>     // Initial setup.
>     Rete rete = new Rete(new NullDisplay());
>     rete.addUserpackage(new MiscFunctions()); // For 'batch'
>     rete.addUserpackage(new jess.reflect.ReflectFunctions());
> 
>     // IMPORTANT: Edit this file - remove the 'startup' rule and the
>     // (reset) and (run) commands!
>     rete.executeCommand("(batch jess/examples/pumps/pumps.clp)");
>     rete.executeCommand("(reset)");
> 
>     // Create some Java Beans ...
>     jess.examples.pumps.Tank t = new
>       jess.examples.pumps.Tank("MAIN");
>     jess.examples.pumps.Pump p = new
>       jess.examples.pumps.Pump("MAIN", t);
>     
>     // Install these objects into Jess ...
>     Funcall f = new Funcall("definstance", rete);               
>     f.add(new Value(RU.putAtom("pump"), RU.ATOM));
>     f.add(new Value(p, RU.EXTERNAL_ADDRESS));
>     f.simpleExecute(f, rete.globalContext());
>     
>     f = new Funcall("definstance", rete);               
>     f.add(new Value(RU.putAtom("tank"), RU.ATOM));
>     f.add(new Value(t, RU.EXTERNAL_ADDRESS));
>     f.simpleExecute(f, rete.globalContext());
>     
>     // and start the engine...
>     rete.executeCommand("(run)");
>   }
> 
> }
> ; ----------------------------------------------------------------------
> 
> 
> ---------------------------------------------------------
> Ernest Friedman-Hill  
> Distributed Systems Research        Phone: (510) 294-2154
> Sandia National Labs                FAX:   (510) 294-2234
> Org. 8920, MS 9214                  [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. List problems? Notify [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> 

---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------

Reply via email to