Hello,

Please excuse me if I have double posted - my first did not seem to appear.

I am wondering if the following is valid rule syntax. I am getting  a 
stacktrace when the rules fire that points to a ClassCastException on a HashSet

I am using v4.0 GA. 

Thank you, Mark


rule StateMatch
        when
        $ca:CandidateAssociation(nurseDetails.stateLicensures excludes 
patientDetails.state  )                  
        then    
                retract( $ca );
end


public class CandidateAssociation {
        private PatientDetails patientDetails;
        private NurseDetails   nurseDetails;
        private int overlapHours;

        public CandidateAssociation( PatientDetails patientDetails, 
NurseDetails nurseDetails) {
                super();
                this.patientDetails = patientDetails;
                this.nurseDetails = nurseDetails;
                overlapHours = 
participantDetails.getNumberOverlapHourCnt(nurseDetails);
        }
[...]
}

public class NurseDetails {
        private Set stateLicensures = new HashSet();
        [...]
}
public class PatientDetails {
        private String state;
        [...]
}

------------------------------------------------------
Firing Rules 
**********
org.drools.RuntimeDroolsException: Exception executing predicate [EMAIL 
PROTECTED]
        at 
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:197)
        at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:121)
        at 
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:317)
        at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:159)
        at org.drools.reteoo.Rete.assertObject(Rete.java:175)
        at 
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
        at 
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)
        at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:772)
        at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:64)
        at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:58)
        at 
org.drools.examples.Rule_InitializeCandidateForEachNurse_0.consequence(Rule_InitializeCandidateForEachNurse_0.java:13)
        at 
org.drools.examples.Rule_InitializeCandidateForEachNurse_0ConsequenceInvoker.evaluate(Rule_InitializeCandidateForEachNurse_0ConsequenceInvoker.java:25)
        at 
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:503)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:467)
        at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:403)
        at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:384)
        at 
primarynursePOC.PrimaryNursePOC.selectPrimaryNurse(PrimaryNursePOC.java:136)
        at primarynursePOC.PrimaryNursePOC.main(PrimaryNursePOC.java:91)
Caused by: java.lang.ClassCastException: java.util.HashSet
        at 
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:35)
        at 
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:191)
        ... 17 more
org.drools.RuntimeDroolsException: Exception executing predicate [EMAIL 
PROTECTED]
        at 
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:197)
        at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:121)
        at 
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:317)
        at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:159)
        at org.drools.reteoo.Rete.assertObject(Rete.java:175)
        at 
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
        at 
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)
        at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:772)
        at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:64)
        at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:58)
        at 
org.drools.examples.Rule_InitializeCandidateForEachNurse_0.consequence(Rule_InitializeCandidateForEachNurse_0.java:13)
        at 
org.drools.examples.Rule_InitializeCandidateForEachNurse_0ConsequenceInvoker.evaluate(Rule_InitializeCandidateForEachNurse_0ConsequenceInvoker.java:25)
        at 
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:503)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:467)
        at 
org.drools.common.AbstractWorkingMemory.doOtherwise(AbstractWorkingMemory.java:430)
        at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:412)
        at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:384)
        at 
primarynursePOC.PrimaryNursePOC.selectPrimaryNurse(PrimaryNursePOC.java:136)
        at primarynursePOC.PrimaryNursePOC.main(PrimaryNursePOC.java:91)
Caused by: java.lang.ClassCastException: java.util.HashSet
        at 
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:35)
        at 
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:191)
        ... 18 more
Exception in thread "main" org.drools.spi.ConsequenceException: 
org.drools.RuntimeDroolsException: Exception executing predicate [EMAIL 
PROTECTED]
        at 
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:507)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:467)
        at 
org.drools.common.AbstractWorkingMemory.doOtherwise(AbstractWorkingMemory.java:430)
        at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:412)
        at 
org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:384)
        at 
primarynursePOC.PrimaryNursePOC.selectPrimaryNurse(PrimaryNursePOC.java:136)
        at primarynursePOC.PrimaryNursePOC.main(PrimaryNursePOC.java:91)
Caused by: org.drools.RuntimeDroolsException: Exception executing predicate 
[EMAIL PROTECTED]
        at 
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:197)
        at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:121)
        at 
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:317)
        at 
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:159)
        at org.drools.reteoo.Rete.assertObject(Rete.java:175)
        at 
org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:190)
        at 
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:70)
        at 
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:772)
        at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:64)
        at 
org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:58)
        at 
org.drools.examples.Rule_InitializeCandidateForEachNurse_0.consequence(Rule_InitializeCandidateForEachNurse_0.java:13)
        at 
org.drools.examples.Rule_InitializeCandidateForEachNurse_0ConsequenceInvoker.evaluate(Rule_InitializeCandidateForEachNurse_0ConsequenceInvoker.java:25)
        at 
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:503)
        ... 6 more
Caused by: java.lang.ClassCastException: java.util.HashSet
        at 
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:35)
        at 
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:191)
        ... 18 more
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to