Hi,
i have the following rule.
(defrule someRule
"comment"
(Callhome (thing1 ?a)(thing2 ?b))
(test (try
(eq ?a ?b)
catch
FALSE))
;(test(eq ?b TRUE))
=>
(printout t crlf (jess-type engine) )
(new chars.Ssomething engine)
(try (printout t "done" crlf) catch )
)
and my Ssomething program looks like this
package chars;
import jess.Rete;
public class Ssomething {
public Ssomething(Rete engine){
try {
System.out.println(engine.eval("(printout t crlf
\"helloworld\")"));
} catch (Exception Ex) {
Ex.printStackTrace();
}
}
}
Now as seen above , i want to pass the refernce of me rete (engine) from my
jess rule to my java program, can this be done?
Actually i have three programs running.
1. this is the main web application for the user interface
2. from this main application i am calling the Jess engine and passing facts
and rules to it.
Now in the conclusion of the rule i am running a expect script which
later calls a different java program itself.
3. Here in this java program(called from expect) i want to create another
fact and pass it to the engine. So can i pass the reference of the jess
Engine from the jess rule itself (something like "this")?
Thanks,
Mrinal