RE: JESS: dealing with shadow facts having null properties

2007-08-03 Thread Skeptic 2000
 
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)> 
> > ...> >> >> > 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. 
> 

Re: JESS: dealing with shadow facts having null properties

2007-08-03 Thread Ernest Friedman-Hill
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 'unsubscrib

RE: JESS: dealing with shadow facts having null properties

2007-08-03 Thread Skeptic 2000
 
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 [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

2007-08-03 Thread Ernest Friedman-Hill
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

2007-08-02 Thread Skeptic 2000
 
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

Re: JESS: dealing with shadow facts having null properties

2007-08-02 Thread Ernest Friedman-Hill
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]