<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>&nbsp;</div>
<div>&nbsp;</div>
<div>Hi Thomas,</div>
<div>&nbsp;</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>&nbsp;</div>
<div>So the array seems to be correctly comprised of UtranCell objects.</div>
<div>&nbsp;</div>
<div>I have the following import statement in the drl file:</div>
<div>&nbsp;</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">&nbsp;</font></div>
<div>Weird!</div>
<div>&nbsp;</div>
<div>/Ryan.</div>
<div>&nbsp;</div>
<div>&nbsp;</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 &quot;Utran Cell Selection Rule&quot;<br>

salience 50<br>

dialect &quot;java&quot;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UtranCell[] ucells = <br>

TopologyService.getInstance().getUtranCells();<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (int i=0; i&lt;ucells.length; i&#43;&#43;) {<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; insert( ucells[i] );<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<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>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^<br>

[Line: 1, Column: 0]<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1086)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:660)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:627)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:183)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at com.sample.DroolsTest.main(DroolsTest.java:28)<br>

Caused by: [Error: object is not an instance of declaring class]<br>

[Near : {... Unknown ....}]<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^<br>

[Line: 1, Column: 0]<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:389)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:138)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:133)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.mvel2.MVEL.executeExpression(MVEL.java:995)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:91)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.FromNode.evaluateAndPropagate(FromNode.java:124)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.FromNode.assertLeftTuple(FromNode.java:104)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:28)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:116)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:117)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:142)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:114)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:108)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

com.sample.Rule_Utran_Cell_Selection_Rule_0.consequence(Rule_Utran_Cell_Selection_Rule_0.java:9)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

com.sample.Rule_Utran_Cell_Selection_Rule_0ConsequenceInvoker.evaluate(Rule_Utran_Cell_Selection_Rule_0ConsequenceInvoker.java:18)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 6 more<br>

Caused by: java.lang.IllegalArgumentException: object is not an instance of <br>

declaring class<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Unknown Source)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:931)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at <br>

org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:316)<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 36 more</font></div>
<div><font face="Courier New, monospace">&nbsp;</font></div>
<div>&nbsp;</div>
</font>
</body>
</html>