<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from rtf -->
<style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<font face="Arial, sans-serif" size="2">
<div>**Apologies if this post starts a new thread**</div>
<div> </div>
<div> </div>
<div>Hi Thomas,</div>
<div> </div>
<div>I get a series of <font face="Courier New">com.sample.UtranCell</font><font face="Courier New"> </font>strings printed expected.</div>
<div> </div>
<div>So the array seems to be correctly comprised of UtranCell objects.</div>
<div> </div>
<div>I have the following import statement in the drl file:</div>
<div> </div>
<div><font face="Courier New" color="#960000"><span style="background-color:#E8F2FE"><b>import</b></span><font color="#000000"><span style="background-color:#E8F2FE"> com.sample.UtranCell;</span></font></font></div>
<div><font face="Courier New"> </font></div>
<div>Weird!</div>
<div> </div>
<div>/Ryan.</div>
<div> </div>
<div> </div>
<div><font face="Courier New, monospace">From: rules-users-boun...@lists.jboss.org
<br>
[<a href="mailto:rules-users-boun...@lists.jboss.org"><font color="#0000FF"><u>mailto:rules-users-boun...@lists.jboss.org</u></font></a>] On Behalf Of Ryan Fitzgerald<br>
Sent: 19 March 2010 09:41<br>
To: rules-users@lists.jboss.org<br>
Subject: [rules-users] Exception during insert<br>
<br>
Hi,<br>
<br>
I get the following exception when trying to insert an object from within a <br>
rule consequence:<br>
<br>
[Error: object is not an instance of declaring class]<br>
<br>
The rule is as follows:<br>
<br>
rule "Utran Cell Selection Rule"<br>
salience 50<br>
dialect "java"<br>
when<br>
then<br>
UtranCell[] ucells = <br>
TopologyService.getInstance().getUtranCells();<br>
for (int i=0; i<ucells.length; i++) {<br>
insert( ucells[i] );<br>
}<br>
end<br>
<br>
<br>
And it works fine if I replace the insert with System.out.println(ucells[i]) - <br>
it seems to be something problematic with the insert. Full trace is below.<br>
<br>
I can't see what the problem is...any ideas?<br>
<br>
Thanks,<br>
Ryan.<br>
<br>
org.drools.runtime.rule.ConsequenceException: [Error: object is not an instance <br>
of declaring class]<br>
[Near : {... Unknown ....}]<br>
^<br>
[Line: 1, Column: 0]<br>
at <br>
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23)<br>
at <br>
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943)<br>
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)<br>
at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1086)<br>
at <br>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:660)<br>
at <br>
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:627)<br>
at <br>
org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:183)<br>
at com.sample.DroolsTest.main(DroolsTest.java:28)<br>
Caused by: [Error: object is not an instance of declaring class]<br>
[Near : {... Unknown ....}]<br>
^<br>
[Line: 1, Column: 0]<br>
at <br>
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:389)<br>
at <br>
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:138)<br>
at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:133)<br>
at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)<br>
at <br>
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)<br>
at org.mvel2.MVEL.executeExpression(MVEL.java:995)<br>
at <br>
org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:91)<br>
at org.drools.reteoo.FromNode.evaluateAndPropagate(FromNode.java:124)<br>
at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:104)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)<br>
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)<br>
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)<br>
at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>
at <br>
org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)<br>
at <br>
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)<br>
at <br>
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<br>
at <br>
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<br>
at <br>
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<br>
at <br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<br>
at <br>
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<br>
at <br>
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:114)<br>
at <br>
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:108)<br>
at <br>
com.sample.Rule_Utran_Cell_Selection_Rule_0.consequence(Rule_Utran_Cell_Selection_Rule_0.java:9)<br>
at <br>
com.sample.Rule_Utran_Cell_Selection_Rule_0ConsequenceInvoker.evaluate(Rule_Utran_Cell_Selection_Rule_0ConsequenceInvoker.java:18)<br>
at <br>
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)<br>
... 6 more<br>
Caused by: java.lang.IllegalArgumentException: object is not an instance of <br>
declaring class<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>
at java.lang.reflect.Method.invoke(Unknown Source)<br>
at <br>
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:931)<br>
at <br>
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:316)<br>
... 36 more</font></div>
<div><font face="Courier New, monospace"> </font></div>
<div> </div>
</font>
</body>
</html>