<br>&nbsp;&nbsp; Are you using &quot;contains&quot; operator to check a hashmap for the existence of a value? &quot;contains&quot; should only be used with collections, not maps...<br><br>&nbsp;&nbsp; []s<br>&nbsp;&nbsp; Edson<br><br><div><span class="gmail_quote">2008/3/4, Brian Trezise &lt;<a href="mailto:Brian.Trezise@intellidata.net">Brian.Trezise@intellidata.net</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">









<div link="blue" vlink="purple" lang="EN-US">

<div>

<p>I'm getting a strange exception upon inserting an
object into working memory.&nbsp; Relevant information follows:<br>
<br>
I'm creating a "smartdescription" which contains a string and
some information about that string that is later added by the rules.&nbsp; With
the exception of one specific string, this seems to be working perfectly.&nbsp;
I'm using regexes to match the strings.</p>

<p>&nbsp;</p>

<p>This is the regex where I'm having the problem:</p>

<p>&nbsp;&nbsp; public static final String
REGEX_APPLICATION_CURRENT_SENSE = &quot;.*(&quot; + &quot;CURRENT[
.]?SENSE?&quot; + &quot;).*&quot;;</p>

<p>&nbsp;</p>

<p>and the smartdescription string I'm testing is &quot;aaaaaaaaaaaaaaaaaaa
current sense aaaaaaaaaaaaa&quot;.&nbsp; </p>

<p>&nbsp;</p>

<p>I have determined that any other string that matches any of
the identically formulated rules works with no problems.&nbsp; If I put in something
that doesn't match this regex, there is no exception.&nbsp; The RHS of
the rule in question is not reached in this case.</p>

<p>&nbsp;</p>

<p>This is the exception:</p>

<p style=""><u><span style="font-size: 10pt; color: navy;">java.lang.ClassCastException</span></u><span style="font-size: 10pt; color: red;">:
java.util.HashMap</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.base.evaluators.ObjectFactory$ObjectContainsEvaluator.evaluate(</span><u><span style="font-size: 10pt; color: navy;">ObjectFactory.java:433</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.LiteralRestriction.isAllowed(</span><u><span style="font-size: 10pt; color: navy;">LiteralRestriction.java:61</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.rule.LiteralConstraint.isAllowed(</span><u><span style="font-size: 10pt; color: navy;">LiteralConstraint.java:82</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.AlphaNode.assertObject(</span><u><span style="font-size: 10pt; color: navy;">AlphaNode.java:132</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(</span><u><span style="font-size: 10pt; color: navy;">SingleObjectSinkAdapter.java:22</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.AlphaNode.assertObject(</span><u><span style="font-size: 10pt; color: navy;">AlphaNode.java:140</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(</span><u><span style="font-size: 10pt; color: navy;">CompositeObjectSinkAdapter.java:318</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ObjectTypeNode.assertObject(</span><u><span style="font-size: 10pt; color: navy;">ObjectTypeNode.java:153</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.Rete.assertObject(</span><u><span style="font-size: 10pt; color: navy;">Rete.java:175</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ReteooRuleBase.assertObject(</span><u><span style="font-size: 10pt; color: navy;">ReteooRuleBase.java:192</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.reteoo.ReteooWorkingMemory.doInsert(</span><u><span style="font-size: 10pt; color: navy;">ReteooWorkingMemory.java:71</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(</span><u><span style="font-size: 10pt; color: navy;">AbstractWorkingMemory.java:909</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(</span><u><span style="font-size: 10pt; color: navy;">AbstractWorkingMemory.java:881</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.drools.common.AbstractWorkingMemory.insert(</span><u><span style="font-size: 10pt; color: navy;">AbstractWorkingMemory.java:682</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
net.intellidata.sleuth.description.DefinitionRuleTest.testApplicationRules(</span><u><span style="font-size: 10pt; color: navy;">DefinitionRuleTest.java:129</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke0(</span><u><span style="font-size: 10pt; color: navy;">Native Method</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
java.lang.reflect.Method.invoke(Unknown Source)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.runTest(</span><u><span style="font-size: 10pt; color: navy;">TestCase.java:154</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.runBare(</span><u><span style="font-size: 10pt; color: navy;">TestCase.java:127</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult$1.protect(</span><u><span style="font-size: 10pt; color: navy;">TestResult.java:106</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult.runProtected(</span><u><span style="font-size: 10pt; color: navy;">TestResult.java:124</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestResult.run(</span><u><span style="font-size: 10pt; color: navy;">TestResult.java:109</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
junit.framework.TestCase.run(</span><u><span style="font-size: 10pt; color: navy;">TestCase.java:118</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>

<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(</span><u><span style="font-size: 10pt; color: navy;">JUnit3TestReference.java:130</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(</span><u><span style="font-size: 10pt; color: navy;">TestExecution.java:38</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(</span><u><span style="font-size: 10pt; color: navy;">RemoteTestRunner.java:460</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(</span><u><span style="font-size: 10pt; color: navy;">RemoteTestRunner.java:673</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(</span><u><span style="font-size: 10pt; color: navy;">RemoteTestRunner.java:386</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p style=""><span style="font-size: 10pt; color: red;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(</span><u><span style="font-size: 10pt; color: navy;">RemoteTestRunner.java:196</span></u><span style="font-size: 10pt; color: red;">)</span><span style="font-size: 10pt;"></span></p>


<p>&nbsp;</p>

<p>Any idea what could be causing this???</p>

<p>&nbsp;</p>

<p>DefinitionRuleTest.java:129 is</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
workingMemory.insert(sd);</p>

<p>&nbsp;</p>

<p>Thanks,</p>

<p><b><span style="font-size: 10pt; color: gray;">___________________________________________________<br>
Brian Trezise<br>
Staff Software Engineer<br>
IntelliData, Inc<br>
</span></b><span style="font-size: 10pt; color: gray;">3173 s. uravan way<br>
aurora, colorado 80013<br>
T: 720.524.4864<br>
<a href="mailto:brian.trezise@intellidata.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">brian.trezise@intellidata.net</a></span></p>

<p>&nbsp;</p>

</div>

</div>


<br>_______________________________________________<br>
rules-users mailing list<br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>&nbsp;&nbsp;Edson Tirelli<br>&nbsp;&nbsp;JBoss Drools Core Development<br>&nbsp;&nbsp;Office: +55 11 3529-6000<br>&nbsp;&nbsp;Mobile: +55 11 9287-5646<br>&nbsp;&nbsp;JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a>