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]
--------------------------------------------------------------------

Reply via email to