[jboss-jira] [JBoss JIRA] Resolved: (JBRULES-2321) Implicit binding and "or" CE in pattern cause ClassCastException
Mark Proctor (JIRA)
jira-events at lists.jboss.org
Wed May 18 00:17:01 EDT 2011
[ https://issues.jboss.org/browse/JBRULES-2321?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Proctor resolved JBRULES-2321.
-----------------------------------
Resolution: Won't Fix
I'm closing this as I believe this isn't a issue on newer versions of Drools. Please reopen if this is a bug on 5.2
> Implicit binding and "or" CE in pattern cause ClassCastException
> ----------------------------------------------------------------
>
> Key: JBRULES-2321
> URL: https://issues.jboss.org/browse/JBRULES-2321
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0.7
> Reporter: Tihomir Surdilovic
> Assignee: Mark Proctor
>
> This is a problem with Drools 4.0.7, it does not happen in Drools 5:
> $factB.f1 is triggering a scenario where the engine creates an implicit biding to the "f1" field.
> That in conjunction with the use of "or" is triggering the problem
> rule "implicit bindings test"
> when
> FactA()
> $factB : FactB( $fB : f1 )
> (not FactC( f1 == $factB.f1 ) or FactC() )
> then
> end
> The exception thrown is:
> java.lang.ClassCastException: com.sample.FactAShadowProxy cannot be cast to com.sample.FactB
> at org.drools.base.com.sample.FactB1865721816$getF1.getIntValue(Unknown Source)
> at org.drools.base.extractors.BaseIntClassFieldExtractor.getHashCode(BaseIntClassFieldExtractor.java:85)
> at org.drools.base.ClassFieldExtractor.getHashCode(ClassFieldExtractor.java:225)
> at org.drools.rule.Declaration.getHashCode(Declaration.java:273)
> at org.drools.util.AbstractHashTable$SingleIndex.hashCodeOf(AbstractHashTable.java:533)
> at org.drools.util.TupleIndexHashTable.getOrCreate(TupleIndexHashTable.java:315)
> at org.drools.util.TupleIndexHashTable.add(TupleIndexHashTable.java:227)
> at org.drools.reteoo.NotNode.assertTuple(NotNode.java:93)
> at org.drools.reteoo.CompositeTupleSinkAdapter.propagateAssertTuple(CompositeTupleSinkAdapter.java:30)
> at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:156)
> at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:22)
> at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:162)
> at org.drools.reteoo.Rete.assertObject(Rete.java:175)
> 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:911)
> at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:883)
> at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:684)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list