[rules-users] ClassCastException

Christoph Kramer amrod at gmx.de
Thu May 14 06:35:00 EDT 2009


Hi all,
i've some problems with a ClassCastException when using the 
"or"-conditional element.
I have different Java-Beans which all have some string-values. Now I 
want to create one rule which is able to handle every type of my classes 
because it would be a lot of work to create one rule for every class.
Depending on the type of beans in the working memory the programm is 
crashing with an ClassCastException.

Here is a snippet of my drl-file with the "crashing-rule":

rule "BizLocation"
    when
        $epc : EPC()
        QuantityEventType(epcClass == $epc.value ,$bizLoc: bizLocation 
!=null ) or AggregationEventType(childEPCs.epc contains $epc, $bizLoc : 
bizLocation != null) or ObjectEventType(epcList.epc  contains $epc, 
$bizLoc : bizLocation != null)
    then
        System.out.println("BizLocation: " +$bizLoc.getId());
end


There are some EPC's in the working memory and some Events (which might 
be of type QuantityEventType, AggregationEventType or ObjectEventType). 
When there are only ObjectEventType in the working memory, everything 
works fine, but wenn there is an QuantityEventType this rule crashes 
with "org.fosstrak.epcis.model.QuantityEventType cannot be cast to 
org.fosstrak.epcis.model.ObjectEventType".
I've lot of other, similar rules some of them crashing, others don't.


Can anyone give me a hint where is the error?

Thanks,
Christoph

PS: Sorry for the bad english :(



More information about the rules-users mailing list