Ciaran Jessup created ODE-991:
---------------------------------

             Summary: ode:delete fails when removing multiple elements
                 Key: ODE-991
                 URL: https://issues.apache.org/jira/browse/ODE-991
             Project: ODE
          Issue Type: Bug
          Components: BPEL Runtime
    Affects Versions: 1.3.2
         Environment: Currently running r832808 with a couple of local patches.
            Reporter: Ciaran Jessup
            Priority: Minor


If ode:delete($Foo/x:child) returns multiple elements for deletion my workflow 
fails with a selectionFailure :( 

It seems to be caused by the Delete method being passed a SequenceExtent rather 
than the expected List etc. 

Whilst adding in support for that type (not sure why this only affects me ?) I 
also found that the logic for removing child elements from the cloned element 
that the function returns was squiffy.  It seemed as if it was mutating the 
collection so the position offsets were incorrect and the wrong elements would 
get removed from the parent element.  I've updated the code to resolve that too 
(there is a better solution as alluded to in my code comments in the patch)

Ironically? I've stopped using ode:delete even with my 'fixes' and moved to use 
an XSL transform as this turned out to be more memory efficient when doing 
multiple deletes so I'm just providing my fixes back in case anyone else needs 
/ wants them.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to