I forgot to say that I am using Drools 4.0.4




From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Carlsen, Len
Sent: Wednesday, February 06, 2008 12:55 PM
To: Rules Users List
Subject: [rules-users] boolean == String?




I have an expression where I am comparing a Boolean to a String which I would expect to fail but the expression always returns true. Is this expected behaviour?


I modified the Drools HelloWorldExample and changed the status from an int to a boolean.


import org.drools.examples.HelloWorldExample.Message;

rule "Hello World"


        m : Message( status == "hello", message : message )


        System.out.println( message );



public static class Message {

        public static final boolean HELLO   = false;

        public static final boolean GOODBYE = true;

        private String message;

        private Boolean status;


        public Message() {}

        public String getMessage() { return this.message; }

        public void setMessage(final String message) { this.message = message; }

        public boolean getStatus() { return this.status; }

        public void setStatus(final boolean status) { this.status = status; }




final Message message = new Message();

message.setMessage( "Hello World" );

message.setStatus( Message.HELLO );


final StatefulSession session = ruleBase.newStatefulSession();

session.insert( message );




Thanks very much,