ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vitaliy Tkachenko (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (ODE-1077) ODE doesn't distinguish between complex node selection and its text subnode
Date Tue, 29 Jan 2019 15:41:00 GMT

     [ https://issues.apache.org/jira/browse/ODE-1077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Vitaliy Tkachenko closed ODE-1077.
    Resolution: Invalid

In XPath 1.0 only existed node can be replaced. If text node exists it works fine.

> ODE doesn't distinguish between complex node selection and its text subnode
> ---------------------------------------------------------------------------
>                 Key: ODE-1077
>                 URL: https://issues.apache.org/jira/browse/ODE-1077
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.3.8
>            Reporter: Vitaliy Tkachenko
>            Priority: Major
> ODE doesn't distinguish either complex node is selected $extPLRequest.parameters/ns:userIdin
or it's text subnode (per XPath specification, means "node inner text") $extPLRequest.parameters/ns:userIdin/text().
> It was a bug created and fixed ODE-960 but the fix looks incorrect. When the selected
node is intended to be replaced the whole selection should be replaced so having selected
full complex node $extPLRequest.parameters/ns:userIdin all its content including subnodes
should be replaced. Node attributes are meant as root node subnodes so should not be restored
as it was done in 690's fix.
> Instead if user wants to do the node text replacement only he should select not the whole
complex node but its text subnode (inner text) only using the text() funciton per XPath specification.
> But ODE doesn't distinguish between these 2 formulas and operates on the whole node similarly
in both cases. To reproduce the bug rollback the fix made in 960 and apply text() function
in lvalue accepting the replacement. The whole node will be replaced as in the case if no
"text()" function is applied.
> Note that the same in JBPM works correctly - if complex node is selected as lvalue then
its full content is replaced, if selection limits to its text only using text() function,
only text is replaced.

This message was sent by Atlassian JIRA

View raw message