[rules-users] Drools-flow: Event within foreach throws ClassCastException

Liße, Jan Jan.Lisse at BDR.de
Mon Nov 8 10:19:26 EST 2010


Hello,

i'm using the latest version 5.1.1 of drools-flow for a POC project.
I have a process definition where I have an intermediate event node within a foreach CompositeNode.
When I trigger the event using processInstance.signalEvent() I get a ClassCastException:

java.lang.ClassCastException: org.drools.workflow.core.node.CompositeContextNode cannot be cast to org.drools.workflow.core.node.EventNode
            at org.drools.workflow.instance.node.EventNodeInstance.getEventNode(EventNodeInstance.java:62)
            at org.drools.workflow.instance.node.EventNodeInstance.signalEvent(EventNodeInstance.java:36)
            at org.drools.workflow.instance.node.CompositeNodeInstance.signalEvent(CompositeNodeInstance.java:231)
            at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:357)
            at de.bdr.prototype.ProcessTest.main(ProcessTest.java:36)


Many thanks for any help!

-Jan

Below my process definition:

<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://drools.org/drools-5.0/process"
         xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
         xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
         type="RuleFlow" name="flow" id="processOrders" package-name="order.flow" >

  <header>
    <variables>
      <variable name="orderPreparationResult" >
        <type name="org.drools.process.core.datatype.impl.type.UndefinedDataType" />
      </variable>
      <variable name="orders" >
        <type name="org.drools.process.core.datatype.impl.type.ObjectDataType" className="java.util.List" />
      </variable>
    </variables>
  </header>

  <nodes>
    <start id="1" name="Start" x="227" y="16" width="228" height="40" />
    <forEach id="2" name="ForEach" x="16" y="88" width="650" height="196" variableName="order" collectionExpression="orders" >
      <nodes>
    <eventNode id="2" name="OrderPreparation Response" x="146" y="133" width="166" height="40">
      <eventFilters>
        <eventFilter type="eventType" eventType="OrderPreparationEvent" />
      </eventFilters>
    </eventNode>
    <actionNode id="3" name="ORDER_PREP" x="9" y="53" width="151" height="50" >
        <action type="expression" dialect="java" >System.out.println("Call Order prep");</action>
    </actionNode>
    <join id="4" name="Join" x="191" y="59" width="80" height="40" type="1" />
    <actionNode id="5" name="ORDER_VALIDATION" x="300" y="56" width="141" height="40" >
        <action type="expression" dialect="java" >System.out.println("Order validation");</action>
    </actionNode>
    <actionNode id="6" name="POPULATE_DB" x="470" y="55" width="152" height="40" >
        <action type="expression" dialect="java" >System.out.println("Save to db");</action>
    </actionNode>
      </nodes>
      <connections>
    <connection from="3" to="4" />
    <connection from="2" to="4" />
    <connection from="4" to="5" />
    <connection from="5" to="6" />
      </connections>
      <in-ports>
        <in-port type="DROOLS_DEFAULT" nodeId="3" nodeInType="DROOLS_DEFAULT" />
      </in-ports>
      <out-ports>
        <out-port type="DROOLS_DEFAULT" nodeId="6" nodeOutType="DROOLS_DEFAULT" />
      </out-ports>
    </forEach>
    <end id="4" name="End" x="227" y="388" width="228" height="40" />
    <actionNode id="5" name="NOTIFY " x="288" y="316" width="106" height="40" >
        <action type="expression" dialect="java" >System.out.println("Notify");</action>
    </actionNode>
  </nodes>

  <connections>
    <connection from="1" to="2" />
    <connection from="5" to="4" />
    <connection from="2" to="5" />
  </connections>

</process>




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20101108/e85fa5ee/attachment.html 


More information about the rules-users mailing list