Are you using "contains" operator to check a hashmap for the existence of a value? "contains" should only be used with collections, not maps...
[]s Edson 2008/3/4, Brian Trezise <[EMAIL PROTECTED]>: > > I'm getting a strange exception upon inserting an object into working > memory. Relevant information follows: > > 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. > > > > This is the regex where I'm having the problem: > > public static final String REGEX_APPLICATION_CURRENT_SENSE = ".*(" + > "CURRENT[ .]?SENSE?" + ").*"; > > > > and the smartdescription string I'm testing is "aaaaaaaaaaaaaaaaaaa > current sense aaaaaaaaaaaaa". > > > > 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. > > > > This is the exception: > > *java.lang.ClassCastException*: java.util.HashMap > > at > org.drools.base.evaluators.ObjectFactory$ObjectContainsEvaluator.evaluate( > *ObjectFactory.java:433*) > > at org.drools.rule.LiteralRestriction.isAllowed(* > LiteralRestriction.java:61*) > > at org.drools.rule.LiteralConstraint.isAllowed(* > LiteralConstraint.java:82*) > > at org.drools.reteoo.AlphaNode.assertObject(*AlphaNode.java > :132*) > > at > org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(* > SingleObjectSinkAdapter.java:22*) > > at org.drools.reteoo.AlphaNode.assertObject(*AlphaNode.java > :140*) > > at > org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(* > CompositeObjectSinkAdapter.java:318*) > > at org.drools.reteoo.ObjectTypeNode.assertObject(* > ObjectTypeNode.java:153*) > > at org.drools.reteoo.Rete.assertObject(*Rete.java:175*) > > at org.drools.reteoo.ReteooRuleBase.assertObject(* > ReteooRuleBase.java:192*) > > at org.drools.reteoo.ReteooWorkingMemory.doInsert(* > ReteooWorkingMemory.java:71*) > > at org.drools.common.AbstractWorkingMemory.insert(* > AbstractWorkingMemory.java:909*) > > at org.drools.common.AbstractWorkingMemory.insert(* > AbstractWorkingMemory.java:881*) > > at org.drools.common.AbstractWorkingMemory.insert(* > AbstractWorkingMemory.java:682*) > > at > net.intellidata.sleuth.description.DefinitionRuleTest.testApplicationRules > (*DefinitionRuleTest.java:129*) > > 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 junit.framework.TestCase.runTest(*TestCase.java:154*) > > at junit.framework.TestCase.runBare(*TestCase.java:127*) > > at junit.framework.TestResult$1.protect(*TestResult.java:106*) > > at junit.framework.TestResult.runProtected(*TestResult.java > :124*) > > at junit.framework.TestResult.run(*TestResult.java:109*) > > at junit.framework.TestCase.run(*TestCase.java:118*) > > at > org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(* > JUnit3TestReference.java:130*) > > at org.eclipse.jdt.internal.junit.runner.TestExecution.run(* > TestExecution.java:38*) > > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(* > RemoteTestRunner.java:460*) > > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(* > RemoteTestRunner.java:673*) > > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run( > *RemoteTestRunner.java:386*) > > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main > (*RemoteTestRunner.java:196*) > > > > Any idea what could be causing this??? > > > > DefinitionRuleTest.java:129 is > > workingMemory.insert(sd); > > > > Thanks, > > *___________________________________________________ > Brian Trezise > Staff Software Engineer > IntelliData, Inc > *3173 s. uravan way > aurora, colorado 80013 > T: 720.524.4864 > [EMAIL PROTECTED] > > > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > -- Edson Tirelli JBoss Drools Core Development Office: +55 11 3529-6000 Mobile: +55 11 9287-5646 JBoss, a division of Red Hat @ www.jboss.com
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users