If you can a Java function from Jess, and that function returns a java.lang.Boolean, then Jess will turn it into a Jess boolean value (the symbols TRUE or FALSE, of type RU.SYMBOL).
On the other hand, new Value(Boolean.TRUE) will give you a Value of type RU.JAVA_OBJECT that contains a java.lang.Boolean object. No matter what you hand to this constructor, Jess will always give you an object of type RU.JAVA_OBJECT; no automatic conversions will be done. So since you know what you have, you can look at the options. The most straightforward thing would just be to say (test ((ognl-get ?anObject "booleanProperty") booleanValue)) I'd be tempted to write an ognl-get-boolean function to make this a little less ugly. I think erich.oliphant wrote: [Charset iso-8859-1 unsupported, filtering to ASCII...] > Hi, > I'm trying to understand the type conversion model a bit better. I've written > a Userfunction (ognl-get) that takes an object, and Object Graph Notation > Language (OGNL) expresssion, and any additional variables. The OGNL evaluator > returns a plain Object which I just wrap in a jess.Value "new Value(obj)" and > return. It's been working great as we have a pretty complex domain model. > > However, I now have a situation where the function is returing a Boolean that > I know is say 'true', i.e. > -- > (ognl-get ?anObject "booleanProperty") > -- > > I assumed that the Jess type conversion would allow me to do something like > -- > (test (ognl-get ?anObject "booleanProperty")) > -- > implicity converting Boolean.TRUE to 'TRUE'. > When that failed, I assumed that the plain object was returned so I tried > -- > (test (eq (ognl-get ?anObject "booleanProperty") (Boolean.TRUE))) > -- > this still does not seem to do it. > > I assume that I am making an incorrect assumption :) Any ideas ? > > -------------------------------------------------------------------- > 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://herzberg.ca.sandia.gov -------------------------------------------------------------------- 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] --------------------------------------------------------------------