[jboss-jira] [JBoss JIRA] Updated: (JBPM-962) SuperState.nodes Mapping causes serious problems

Tom Baeyens (JIRA) jira-events at lists.jboss.org
Fri Jun 1 07:59:08 EDT 2007


     [ http://jira.jboss.com/jira/browse/JBPM-962?page=all ]

Tom Baeyens updated JBPM-962:
-----------------------------

    Fix Version/s: jBPM 3.3

this will only be resolved in 3.3.

the only thing that we currently can do is document this known limitation.  the hibernate mapping file of process definition the process definition contains the following instructions:

      <!-- 
      replace the key element 
      <key column="PROCESSDEFINITION_" />
      below with 
      <key column="PROCDEF_NODES_" />
      in case you want the superstates and their nodes to be 
      persisted correctly.  since this affects the schema 
      (addition of column PROCDEF_NODES_ to table JBPM_NODE)
      we can't introduce this fix till 3.3
      -->

also the release.notes.html contain information about this limitation

i suspect that this is a duplicate issue, but i couldn't find the other one...

> SuperState.nodes Mapping causes serious problems
> ------------------------------------------------
>
>                 Key: JBPM-962
>                 URL: http://jira.jboss.com/jira/browse/JBPM-962
>             Project: JBoss jBPM
>          Issue Type: Bug
>          Components: Core Engine
>    Affects Versions: jBPM jPDL 3.2
>            Reporter: Bernd Ruecker
>         Assigned To: Tom Baeyens
>             Fix For: jBPM 3.3
>
>
> The SuperState Node mapping in the database has a problem.
> When parsing a process, everything is done fine. All Nodes at the root level are added to the nodes-association at the process-definition and the nodes in the super-state are added to the super-state nodes.
> But after persisting we have a problem: For every Node the processDefinition-association is set (by JpdlXmlReader.readNodes). So we have a id in every database column for PROCESSDEFINITION_. 
> Because of the many-to-one mapping in ProcessDefinition:
>     <list name="nodes" cascade="all">
>       <cache usage="nonstrict-read-write"/>
>       <key column="PROCESSDEFINITION_" />
>       <list-index column="NODECOLLECTIONINDEX_" />
>       <one-to-many class="org.jbpm.graph.def.Node" />
>     </list>
> we now load ALL nodes in the nodes-List in ProcessDefinition (instead of only root nodes). To make things worse, because of the NODECOLLECTIONINDEX_ overlapping with SuperState-Nodes, we only get some of the nodes (I think it is somehow random which ones).
> Took some minutes to catch that ;-)
> One possible fix would be to NOT set the processDefinition for SuperState-Nodes (not my favorite) or maybe improve the mapping to reflect the situation (sorry, there my hibernate expertise ends).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list