[rules-users] Can get "not equal" (!=) to work but not "equal" (==) in LHS

Stephen Masters stephen.masters at me.com
Tue Feb 5 12:33:15 EST 2013


Okay … well, without seeing what's been inserted as an Autopolicy in the first place, I reckon the best plan is to debug it. It's probably worth changing to something like this:

	when 
		$autoPolicy : Autopolicy($ruleFlowId: ruleFlowId)
	then
		logger.debug("Rule flow ID = " + $ruleFlowId);
	end

That should show you what value is held in the Autopolicy ruleFlowId property.

If you're comparing using != then the value could be just about anything. It could be a String with a value other than "test" or "control". It could also be null or a non-String object. When you use == "test", then you are saying that the value must be a String with the value "test".

Steve


On 5 Feb 2013, at 17:21, Stephen Masters <stephen.masters at me.com> wrote:

> Going by the example provided, the code is a constraint on the left hand side … so it's valid to use == or !=. It's not Java code, it's MVEL and is automatically converted to use the appropriate .equals("") method on the Java objects.
> 
> You would only need to use .equals("") inside an eval or in Java code on the RHS.
> 
> So the answer is something else … but I haven't worked out what yet. :)
> 
> Steve
> 
> 
> On 5 Feb 2013, at 17:11, rjr201 <rich.j.riley at gmail.com> wrote:
> 
>> It may be because in Java you have to compare strings using .equals("");
>> 
>> So in your case it would be: 
>> 
>> ruleFlowId.equals("test") == true
>> 
>> It's because Strings are objects, and ==  tests to see if the String is
>> literally the same object as the other String, not just a String with the
>> same value. != works because they aren't the same object.
>> 
>> Hope that works,
>> Rich. 
>> 
>> 
>> 
>> --
>> View this message in context: http://drools.46999.n3.nabble.com/Can-get-not-equal-to-work-but-not-equal-in-LHS-tp4022074p4022076.html
>> Sent from the Drools: User forum mailing list archive at Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
> 




More information about the rules-users mailing list