Hi there!
 
I am using  a svn-built version of drools-core.jar and drools-decisiontable.jar runtime lib (3rd March 2008).
 
I have got the following "Decision table" generated row:
 

#From row number: 25

rule "Otherwise_25"

no-loop true

ruleflow-group "Convert"

when

  cw:ContractWrapper(mycontract.serviceDetail.name not in ("STRING 1", "STRING 2", "STRING 3", "STRING 4", "STRING 5", null))

then

  ...

end

 The point is... despite of a ContractWrapper fact that DOES NOT encapsulate a

 nested 'name' whose value is in the above set, the rule does not fire anyway.

For instance, if i have got a fact (in working memory) cw1 of class ContractWrapper with cw1.mycontract.serviceDetail.name = "STRING 6",

i expect the rule "Otherwise_25" to fire BUT IT ACTUALLY DOES NOT!

Furthermore if i omit the 'not' operator and i insert a fact cw2 with cw2.mycontract.serviceDetail.name = "STRING 2",

the RULE DOES fire!

For this reason there should be something wrong with the "not" operator.

but I do not know what exactly!

By the time the rule is generated from an .xls decision table

i really would not express the "otherwise" rule simply using

a sequence of "!=" and "and" operators (which would be a workaround)

.... If I did so the decisiontable would appear "too technical" and

not suitable for a business user.

Have u ever had this issue before?

I have also tried to omit the "null" value from the set but thait is not

the problem.

Please let me know.

Massi