Thanks a lot, Edson, for the quick reply yesterday. Here's another one. The following
rule compiles, but Drools crashes upon insertion of an object. Same when calling a static
method instead of a constructor.
(Based on the Eclipse sample rule project)
rule "rule1"
when
$p1:Message(
message in (
(new String("A")),
(new String("B"))
)
)
then
System.out.println("foo");
end
java.lang.UnsupportedOperationException: does not support method call isAllowed(Object
object, InternalWorkingMemory workingMemoiry)
at org.drools.rule.ReturnValueRestriction.isAllowed(ReturnValueRestriction.java:177)
at org.drools.rule.OrCompositeRestriction.isAllowed(OrCompositeRestriction.java:20)
at
org.drools.rule.MultiRestrictionFieldConstraint.isAllowed(MultiRestrictionFieldConstraint.java:70)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:132)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:22)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:153)
at org.drools.reteoo.Rete.assertObject(Rete.java:177)
at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:858)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:659)
at com.sample.DroolsTest.main(DroolsTest.java:28)
I'm on drools 4.0.2 and mvel14-1.2.8.
Alexandre