It's a puzzle to me, too. If you want to send me (not the list) the
bsaved file, and let me know what version of Jess you're working
with, I can have a look at it.
On Jul 5, 2007, at 8:08 AM, Henrique Lopes Cardoso wrote:
No, that is not the case.
I tried this:
jel.assertString("(qwe)");
jel.retractString("(qwe)");
jel.assertString("(qwe)");
and it still doesn't work. I only get the retract event.
There must be something else going on in the bsaved file. Any clue?
Henrique
Ernest Friedman-Hill wrote:
One explanation consistent with your observations is that the bsaved
file already contains (qwe) and (asd) facts. If you attempt to assert
a fact that already exists in working memory, the assert method
returns FALSE and no event is sent.
On Jul 5, 2007, at 5:47 AM, Henrique Lopes Cardoso wrote:
I just extended Rete to make the example simpler. I also tried it
with
an independent JessListener implementing class, but the problem is
the same.
I tried to do Rete.addJessListener() after bload, just as you
suggested,
but the problem remains.
So, I ask again: what could be wrong in my bsaved file that prevents
some JessEvents from being notified?
Henrique
Jonathan Sewall wrote:
I didn't extend Rete just to create a JessListener, but I did find
that I needed to reregister my listeners after bload.
Henrique Lopes Cardoso wrote:
I am stumbling for some time now with the use of a
JessListener. After
many tries, I figured out that the listener does not work properly
when
I bload() certain files.
Since the Rete class implements JessListener, for ease of
testing I
extended it and got to the class below.
From my experiences, if the bsave file is empty, it works fine. If
I use
another bsaved file that I have, I get problems. Only the
retracted
facts are being notified.
Is this a bug? What should I look for in my bsaved file?
Thanks.
Henrique
//---------------------------------------------
public class JEL extends Rete {
public JEL() {
super();
// set event mask
setEventMask(JessEvent.FACT);
// load file
try {
FileInputStream fis = new
FileInputStream("somefile.bsave");
bload(fis);
fis.close();
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
public void eventHappened(JessEvent jev) {
System.out.println("EVENT:" +
JessEvent.getEventName(jev.getType()));
switch(jev.getType()) {
case JessEvent.FACT | JessEvent.REMOVED: //
retraction
Fact whatWasRetracted = (Fact) jev.getObject();
< System.out.println("- - -" + whatWasRetracted);
break;
case JessEvent.FACT: // assertion
Fact whatWasAsserted = (Fact) jev.getObject();
System.out.println("+ + +" + whatWasAsserted);
break;
}
}
public static void main(String args[]) {
JEL jel = new JEL();
try {
jel.assertString("(qwe)");
jel.retractString("(qwe)");
jel.assertString("(asd)");
} catch(JessException je) {
je.printStackTrace();
}
}
}
//----------------------------------------------
------------------------------------------------------------------
--
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]
------------------------------------------------------------------
--
-------------------------------------------------------------------
-
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]
-------------------------------------------------------------------
-
--
----- - - - - - - - - - - - -
Henrique Lopes Cardoso
DEEC/FEUP
Rua Dr. Roberto Frias | 4200-465 Porto
PORTUGAL
(+351)225081400 ext.1315
[EMAIL PROTECTED] | www.fe.up.pt/~hlc
----- - - - - - - - - - - - -
--------------------------------------------------------------------
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]
--------------------------------------------------------------------
---------------------------------------------------------
Ernest Friedman-Hill
Advanced Software Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
PO Box 969, MS 9012 [EMAIL PROTECTED]
Livermore, CA 94550 http://www.jessrules.com
--------------------------------------------------------------------
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]
--------------------------------------------------------------------
--
----- - - - - - - - - - - - -
Henrique Lopes Cardoso
DEEC/FEUP
Rua Dr. Roberto Frias | 4200-465 Porto
PORTUGAL
(+351)225081400 ext.1315
[EMAIL PROTECTED] | www.fe.up.pt/~hlc
----- - - - - - - - - - - - -
--------------------------------------------------------------------
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 owner-jess-
[EMAIL PROTECTED]
--------------------------------------------------------------------
---------------------------------------------------------
Ernest Friedman-Hill
Advanced Software Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
PO Box 969, MS 9012 [EMAIL PROTECTED]
Livermore, CA 94550 http://www.jessrules.com
--------------------------------------------------------------------
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]
--------------------------------------------------------------------