[rules-users] Exception during insert

Ryan Fitzgerald ryan.fitzgerald at ericsson.com
Fri Mar 19 05:40:51 EDT 2010


Hi,

I get the following exception when trying to insert an object from within a rule consequence:

[Error: object is not an instance of declaring class]

The rule is as follows:

rule "Utran Cell Selection Rule"
salience 50
dialect "java"
        when
        then
                UtranCell[] ucells = TopologyService.getInstance().getUtranCells();
                for (int i=0; i<ucells.length; i++) {
                insert( ucells[i] );
                }
end


And it works fine if I replace the insert with System.out.println(ucells[i]) - it seems to be something problematic with the insert. Full trace is below.

I can't see what the problem is...any ideas?

Thanks,
Ryan.

org.drools.runtime.rule.ConsequenceException: [Error: object is not an instance of declaring class]
[Near : {... Unknown ....}]
             ^
[Line: 1, Column: 0]
        at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)
        at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1086)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:660)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:627)
        at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:183)
        at com.sample.DroolsTest.main(DroolsTest.java:28)
Caused by: [Error: object is not an instance of declaring class]
[Near : {... Unknown ....}]
             ^
[Line: 1, Column: 0]
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:389)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:138)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:133)
        at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
        at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
        at org.mvel2.MVEL.executeExpression(MVEL.java:995)
        at org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:91)
        at org.drools.reteoo.FromNode.evaluateAndPropagate(FromNode.java:124)
        at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:104)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)
        at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)
        at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)
        at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)
        at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)
        at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)
        at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)
        at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)
        at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)
        at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)
        at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)
        at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:114)
        at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:108)
        at com.sample.Rule_Utran_Cell_Selection_Rule_0.consequence(Rule_Utran_Cell_Selection_Rule_0.java:9)
        at com.sample.Rule_Utran_Cell_Selection_Rule_0ConsequenceInvoker.evaluate(Rule_Utran_Cell_Selection_Rule_0ConsequenceInvoker.java:18)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)
        ... 6 more
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:931)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:316)
        ... 36 more


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100319/d150fae2/attachment.html 


More information about the rules-users mailing list