Re: JESS: dealing with shadow facts having null properties
I can't reproduce anything like this; can you show me a stack trace (run jess.Main with -stacktrace to see a full error trace). On Aug 2, 2007, at 6:12 PM, Skeptic 2000 wrote: When I add a shadow fact with a property having a null value, I get an exception (in updateMultiSlot IRRC). JFL From: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Thu, 2 Aug 2007 15:57:55 -0400 To: jess-users@sandia.gov Jess has been able to handle null properties for a long time; 6.1p8 can handle them, as can the current versions. What problem are you having, exactly? On Aug 2, 2007, at 2:19 PM, Skeptic 2000 wrote: Hi, I need to add in the working memory some shadow facts with properties whose values are null. Currently, my workaround is to use a NullObject to prevent Jess from crashing upon finding a null value. Is it the recommended way to do it ? JFL Soyez parmi les premiers à essayer Windows Live Mail. - 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 owner-jess- [EMAIL PROTECTED] Soyez parmi les premiers à essayer Windows Live Mail. - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (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]
RE: JESS: dealing with shadow facts having null properties
Hi and thanks a lot for helping, the details are here : That's the ShadowFact : public class Test { private Integer a = null; private Integer b = 4; public Test() { } public int getA() { return a; } public int getB() { return b; } } That's the .CLP file : (defclass Test xxx.yyy.zzz.Test) (defrule testrule (Test (a ?a) (b ?b)) = (printout t testrule ok) ) That's the java code : void functionX() { ... jessEngine.add(new Test()); ... } That's the exception : Jess reported an error in routine DefinstanceList.updateMultipleSlots. Message: Called method threw an exception. at jess.DefinstanceList.getSlotValueFromObject(DefinstanceList.java:371) at jess.DefinstanceList.setAllSlotValuesFromObject(DefinstanceList.java:353) at jess.DefinstanceList.createNewShadowFact(DefinstanceList.java:332) at jess.DefinstanceList.definstance(DefinstanceList.java:111) at jess.Rete.definstance(Rete.java:1903) at jess.Rete.definstance(Rete.java:1883) at jess.Rete.add(Rete.java:2023) ... JFL From: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Fri, 3 Aug 2007 10:48:15 -0400 To: jess-users@sandia.gov I can't reproduce anything like this; can you show me a stack trace (run jess.Main with -stacktrace to see a full error trace). On Aug 2, 2007, at 6:12 PM, Skeptic 2000 wrote:When I add a shadow fact with a property having a null value, I get an exception (in updateMultiSlot IRRC). JFLFrom: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Thu, 2 Aug 2007 15:57:55 -0400 To: jess-users@sandia.gov Jess has been able to handle null properties for a long time; 6.1p8 can handle them, as can the current versions. What problem are you having, exactly? On Aug 2, 2007, at 2:19 PM, Skeptic 2000 wrote: Hi, I need to add in the working memory some shadow facts withproperties whose values are null. Currently, my workaround is touse a NullObject to prevent Jess from crashing upon finding a null value. Is it the recommended way to do it ? JFL Soyez parmi les premiers à essayer Windows Live Mail. - 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 owner-jess- [EMAIL PROTECTED] Soyez parmi les premiers à essayer Windows Live Mail. - 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] _ Soyez parmi les premiers à essayer Windows Live Mail. http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d
Re: JESS: dealing with shadow facts having null properties
Look closely at your stack trace: it says Message: Called method threw an exception. If you called getCause() on the JessException, it would return a NullPointerException, and if you looked at that NPE's stack trace, you'd see it was thrown by the getA() method of your Test class. Here are the relevant lines from your code: private Integer a = null; ... public int getA() { return a; } Note that the type of variable a is Integer, but getA() is returning an int. That means that, due to auto-unboxing, the Java compiler is going to emit code as if you had written something like public int getA() { return a.intValue(); } and since a is null, this line throws a NullPointerException. It's not Jess's fault if your getter methods throw NPEs when called! On Aug 3, 2007, at 2:51 PM, Skeptic 2000 wrote: Hi and thanks a lot for helping, the details are here : That's the ShadowFact : public class Test { private Integer a = null; private Integer b = 4; public Test() { } public int getA() { return a; } public int getB() { return b; } } That's the .CLP file : (defclass Test xxx.yyy.zzz.Test) (defrule testrule (Test (a ?a) (b ?b)) = (printout t testrule ok) ) That's the java code : void functionX() { ... jessEngine.add(new Test()); ... } That's the exception : Jess reported an error in routine DefinstanceList.updateMultipleSlots. Message: Called method threw an exception. at jess.DefinstanceList.getSlotValueFromObject(DefinstanceList.java: 371) at jess.DefinstanceList.setAllSlotValuesFromObject (DefinstanceList.java:353) at jess.DefinstanceList.createNewShadowFact(DefinstanceList.java:332) at jess.DefinstanceList.definstance(DefinstanceList.java:111) at jess.Rete.definstance(Rete.java:1903) at jess.Rete.definstance(Rete.java:1883) at jess.Rete.add(Rete.java:2023) ... JFL From: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Fri, 3 Aug 2007 10:48:15 -0400 To: jess-users@sandia.gov I can't reproduce anything like this; can you show me a stack trace (run jess.Main with -stacktrace to see a full error trace). On Aug 2, 2007, at 6:12 PM, Skeptic 2000 wrote: When I add a shadow fact with a property having a null value, I get an exception (in updateMultiSlot IRRC). JFL From: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Thu, 2 Aug 2007 15:57:55 -0400 To: jess-users@sandia.gov Jess has been able to handle null properties for a long time; 6.1p8 can handle them, as can the current versions. What problem are you having, exactly? On Aug 2, 2007, at 2:19 PM, Skeptic 2000 wrote: Hi, I need to add in the working memory some shadow facts with properties whose values are null. Currently, my workaround is to use a NullObject to prevent Jess from crashing upon finding a null value. Is it the recommended way to do it ? JFL Soyez parmi les premiers à essayer Windows Live Mail. - 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 owner-jess- [EMAIL PROTECTED] Soyez parmi les premiers à essayer Windows Live Mail. - 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 owner-jess- [EMAIL PROTECTED] Soyez parmi les premiers à essayer Windows Live Mail. - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (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
RE: JESS: dealing with shadow facts having null properties
Well, I'm really sorry...JFL From: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Fri, 3 Aug 2007 15:23:03 -0400 To: jess-users@sandia.gov Look closely at your stack trace: it says Message: Called method threw an exception. If you called getCause() on the JessException, it would return a NullPointerException, and if you looked at that NPE's stack trace, you'd see it was thrown by the getA() method of your Test class. Here are the relevant lines from your code: private Integer a = null; ... public int getA() { return a; } Note that the type of variable a is Integer, but getA() is returning an int. That means that, due to auto-unboxing, the Java compiler is going to emit code as if you had written something like public int getA() { return a.intValue(); } and since a is null, this line throws a NullPointerException. It's not Jess's fault if your getter methods throw NPEs when called! On Aug 3, 2007, at 2:51 PM, Skeptic 2000 wrote:Hi and thanks a lot for helping, the details are here : That's the ShadowFact : public class Test { private Integer a = null; private Integer b = 4; public Test() { } public int getA() { return a; } public int getB() { return b; }} That's the .CLP file : (defclass Test xxx.yyy.zzz.Test)(defrule testrule (Test (a ?a) (b ?b)) = (printout t testrule ok) ) That's the java code : void functionX() { ... jessEngine.add(new Test()); ... } That's the exception : Jess reported an error in routine DefinstanceList.updateMultipleSlots. Message: Called method threw an exception. at jess.DefinstanceList.getSlotValueFromObject(DefinstanceList.java: 371) at jess.DefinstanceList.setAllSlotValuesFromObject (DefinstanceList.java:353) at jess.DefinstanceList.createNewShadowFact(DefinstanceList.java:332) at jess.DefinstanceList.definstance(DefinstanceList.java:111) at jess.Rete.definstance(Rete.java:1903) at jess.Rete.definstance(Rete.java:1883) at jess.Rete.add(Rete.java:2023) ...JFLFrom: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Fri, 3 Aug 2007 10:48:15 -0400 To: jess-users@sandia.gov I can't reproduce anything like this; can you show me a stack trace (run jess.Main with -stacktrace to see a full error trace). On Aug 2, 2007, at 6:12 PM, Skeptic 2000 wrote: When I add a shadow fact with a property having a null value, I getan exception (in updateMultiSlot IRRC). JFLFrom: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Thu, 2 Aug 2007 15:57:55 -0400 To: jess-users@sandia.gov Jess has been able to handle null properties for a long time; 6.1p8 can handle them, as can the current versions. What problem are you having, exactly? On Aug 2, 2007, at 2:19 PM, Skeptic 2000 wrote: Hi, I need to add in the working memory some shadow facts with properties whose values are null. Currently, my workaround is to use a NullObject to prevent Jess from crashing upon finding a null value. Is it the recommended way to do it ? JFL Soyez parmi les premiers à essayer Windows Live Mail. - 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 owner-jess-[EMAIL PROTECTED] Soyez parmi les premiers à essayer Windows Live Mail. - 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 owner-jess- [EMAIL PROTECTED] Soyez parmi les premiers à essayer Windows Live Mail. - Ernest Friedman
JESS: dealing with shadow facts having null properties
Hi, I need to add in the working memory some shadow facts with properties whose values are null. Currently, my workaround is to use a NullObject to prevent Jess from crashing upon finding a null value.Is it the recommended way to do it ?JFL _ Soyez parmi les premiers à essayer Windows Live Mail. http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d
Re: JESS: dealing with shadow facts having null properties
Jess has been able to handle null properties for a long time; 6.1p8 can handle them, as can the current versions. What problem are you having, exactly? On Aug 2, 2007, at 2:19 PM, Skeptic 2000 wrote: Hi, I need to add in the working memory some shadow facts with properties whose values are null. Currently, my workaround is to use a NullObject to prevent Jess from crashing upon finding a null value. Is it the recommended way to do it ? JFL Soyez parmi les premiers à essayer Windows Live Mail. - Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National LabsFAX: (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]
RE: JESS: dealing with shadow facts having null properties
When I add a shadow fact with a property having a null value, I get an exception (in updateMultiSlot IRRC). JFL From: [EMAIL PROTECTED] Subject: Re: JESS: dealing with shadow facts having null properties Date: Thu, 2 Aug 2007 15:57:55 -0400 To: jess-users@sandia.gov Jess has been able to handle null properties for a long time; 6.1p8 can handle them, as can the current versions. What problem are you having, exactly? On Aug 2, 2007, at 2:19 PM, Skeptic 2000 wrote:Hi, I need to add in the working memory some shadow facts with properties whose values are null. Currently, my workaround is to use a NullObject to prevent Jess from crashing upon finding a null value. Is it the recommended way to do it ? JFL Soyez parmi les premiers à essayer Windows Live Mail. - 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] _ Soyez parmi les premiers à essayer Windows Live Mail. http://ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d