<br> Are you using "contains" operator to check a hashmap for the existence of a value? "contains" should only be used with collections, not maps...<br><br> []s<br> Edson<br><br><div><span class="gmail_quote">2008/3/4, Brian Trezise <<a href="mailto:Brian.Trezise@intellidata.net">Brian.Trezise@intellidata.net</a>>:</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. 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. With
the exception of one specific string, this seems to be working perfectly.
I'm using regexes to match the strings.</p>
<p> </p>
<p>This is the regex where I'm having the problem:</p>
<p> public static final String
REGEX_APPLICATION_CURRENT_SENSE = ".*(" + "CURRENT[
.]?SENSE?" + ").*";</p>
<p> </p>
<p>and the smartdescription string I'm testing is "aaaaaaaaaaaaaaaaaaa
current sense aaaaaaaaaaaaa". </p>
<p> </p>
<p>I have determined that any other string that matches any of
the identically formulated rules works with no problems. If I put in something
that doesn't match this regex, there is no exception. The RHS of
the rule in question is not reached in this case.</p>
<p> </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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> at
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</span><span style="font-size: 10pt;"></span></p>
<p style=""><span style="font-size: 10pt; color: red;"> at
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</span><span style="font-size: 10pt;"></span></p>
<p style=""><span style="font-size: 10pt; color: red;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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;"> 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> </p>
<p>Any idea what could be causing this???</p>
<p> </p>
<p>DefinitionRuleTest.java:129 is</p>
<p>
workingMemory.insert(sd);</p>
<p> </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> </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> Edson Tirelli<br> JBoss Drools Core Development<br> Office: +55 11 3529-6000<br> Mobile: +55 11 9287-5646<br> JBoss, a division of Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a>