]
Mark Proctor closed JBRULES-1784.
---------------------------------
Resolution: Out of Date
I'm going to close this, as it's unlikely we will fix this for 4.0.8
Class Cast exception when using from
------------------------------------
Key: JBRULES-1784
URL:
https://jira.jboss.org/jira/browse/JBRULES-1784
Project: JBoss Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-compiler (expert), drools-core (expert)
Affects Versions: 4.0.7
Environment: Windows XP
Reporter: Dave Sinclair
Assignee: Edson Tirelli
Fix For: 5.0.0.M5
I have the following rule that should fire for each element in the set from $Chassis
rule 'ChassisSlotCollectionFieldWalker'
agenda-group "Traversal"
no-loop true
dialect "mvel"
when
$Chassis : Chassis ()
$SlotElement : Slot () from $Chassis.slots
then
insert($SlotElement);
end
But whenever I insert a Chassis into memory, I get the following expcetion
Caused by: java.lang.ClassCastException:
com.sungard.ams.persistence.model.objects.BladeServerSlot cannot be cast to
com.sungard.ams.persistence.model
.objects.BladeChassis$$EnhancerByCGLIB$$e5aeb667
at ASMAccessorImpl_248066451222360199260.getValue(Unknown Source)
at
org.mvel.ast.VariableDeepPropertyNode.getReducedValueAccelerated(VariableDeepPropertyNode.java:22)
at
org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:21)
at org.mvel.MVELRuntime.execute(MVELRuntime.java:90)
at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
at org.mvel.MVEL.executeExpression(MVEL.java:252)
at
org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:55)
at org.drools.reteoo.FromNode.assertTuple(FromNode.java:68)
at
org.drools.reteoo.SingleTupleSinkAdapter.createAndPropagateAssertTuple(SingleTupleSinkAdapter.java:55)
at
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:116)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)
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.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:67)
at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:61)
BladeServerSlot is a subclass of Slot and is contained in a Chassis.
Here is the debug from insertion
[ObjectInserted: handle=[fid:1:1:ClassName:[BladeChassis],
GUID:[CF0A4E63-94B2-8505-9CD2-56B4CBB52A01], Revision#:[10], Creation Date:[2008-09-24
11:2
5:59.687], ModDate:[2008-09-24 14:44:55.859], ModBy:[david.sinclair], CommonName:[blade
chassis 1]]; object=ClassName:[BladeChassis], GUID:[CF0A4E63-9
4B2-8505-9CD2-56B4CBB52A01], Revision#:[10], Creation Date:[2008-09-24 11:25:59.687],
ModDate:[2008-09-24 14:44:55.859], ModBy:[david.sinclair], Commo
nName:[blade chassis 1]]
and before activation fired
[BeforeActivationFired(0): rule=ChassisSlotCollectionFieldWalker;
tuple=[fid:3:3:ClassName:[BladeServerSlot], GUID:[AE26671E-BF95-B58A-A6AB-DA13BEED6B
D5], Revision#:[0], Creation Date:[2008-09-24 16:10:11.062], ModDate:[2008-09-24
16:10:11.062], ModBy:[david.sinclair], CommonName:[blade server slot
2]]
[fid:1:1:ClassName:[BladeChassis], GUID:[CF0A4E63-94B2-8505-9CD2-56B4CBB52A01],
Revision#:[10], Creation Date:[2008-09-24 11:25:59.687], ModDate:[2008
-09-24 14:44:55.859], ModBy:[david.sinclair], CommonName:[blade chassis 1]]
]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: