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] [Updated] (ODE-1077) ODE doesn't distinguish between complex node selection and its text subnode
Date Mon, 28 Jan 2019 13:28:00 GMT

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

Vitaliy Tkachenko updated ODE-1077:
-----------------------------------
    Description: 
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.

  was:
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.


> 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
(v7.6.3#76005)

Mime
View raw message