Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-991

ode:delete fails when removing multiple elements

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.3.2
    • 1.3.7
    • BPEL Runtime
    • None
    • Currently running r832808 with a couple of local patches.

    Description

      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.

      Attachments

        Activity

          People

            vanto Tammo van Lessen
            javajunky Ciaran Jessup
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: