You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by "Rich Scheuerle (JIRA)" <ji...@apache.org> on 2008/05/23 22:11:56 UTC
[jira] Created: (WSCOMMONS-351)
OMElement.getChildrenWithName(QName) breaks customers dependent on the old
semantics
OMElement.getChildrenWithName(QName) breaks customers dependent on the old semantics
------------------------------------------------------------------------------------
Key: WSCOMMONS-351
URL: https://issues.apache.org/jira/browse/WSCOMMONS-351
Project: WS-Commons
Issue Type: Bug
Components: AXIOM
Reporter: Rich Scheuerle
Assignee: Rich Scheuerle
Background:
OMElement.getChildrenWithName(QName searchQName) relies on OMChildrenQNameIterator to get the child elements that have a matching qname.
The OMChildrenQNameIterator had a "loose" interpretation of equality. If the child element's local name matched the searchQName local name, then the child was returned.
The OMChildrenQNameIterator semantic was changed to a proper, "strict" interpretation. (http://svn.apache.org/viewvc?view=rev&revision=522259)
Problem:
Some customers built applications that relied on the old "loose" interpretation. Many of these customers cannot change their applications because they are in a shipped product. When they upgrade to the new Axiom levels, their applications fail. (Since Axiom is close to the bottom of the stack, it is difficult to diagnose these failures).
Solution:
I want to keep the OMChildrenQNameIterator intact. It will continue to use the "strict" interpretation.
In OMElementImpl.getChildrenWithName, I want to use the "strict" interpretation if a fully qualified searchQName is provided.
However, in the case where the searchQName has no namespace, I want to have a fallback.
If there are no child elements that match the unqualified qname, then I would like the code to fallback to the old semantic.
I feel that this tactical approach is the best compromise between the correct "strict" semantics, but also tolerates customers that relied on the old behavior.
I will provide a patch containing both the new code, trace, and validation testcase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (WSCOMMONS-351)
OMElement.getChildrenWithName(QName) breaks customers dependent on the old
semantics
Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WSCOMMONS-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rich Scheuerle resolved WSCOMMONS-351.
--------------------------------------
Resolution: Fixed
> OMElement.getChildrenWithName(QName) breaks customers dependent on the old semantics
> ------------------------------------------------------------------------------------
>
> Key: WSCOMMONS-351
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-351
> Project: WS-Commons
> Issue Type: Bug
> Components: AXIOM
> Reporter: Rich Scheuerle
> Assignee: Rich Scheuerle
> Attachments: patch.txt
>
>
> Background:
> OMElement.getChildrenWithName(QName searchQName) relies on OMChildrenQNameIterator to get the child elements that have a matching qname.
> The OMChildrenQNameIterator had a "loose" interpretation of equality. If the child element's local name matched the searchQName local name, then the child was returned.
>
> The OMChildrenQNameIterator semantic was changed to a proper, "strict" interpretation. (http://svn.apache.org/viewvc?view=rev&revision=522259)
> Problem:
> Some customers built applications that relied on the old "loose" interpretation. Many of these customers cannot change their applications because they are in a shipped product. When they upgrade to the new Axiom levels, their applications fail. (Since Axiom is close to the bottom of the stack, it is difficult to diagnose these failures).
> Solution:
> I want to keep the OMChildrenQNameIterator intact. It will continue to use the "strict" interpretation.
> In OMElementImpl.getChildrenWithName, I want to use the "strict" interpretation if a fully qualified searchQName is provided.
> However, in the case where the searchQName has no namespace, I want to have a fallback.
> If there are no child elements that match the unqualified qname, then I would like the code to fallback to the old semantic.
>
> I feel that this tactical approach is the best compromise between the correct "strict" semantics, but also tolerates customers that relied on the old behavior.
> I will provide a patch containing both the new code, trace, and validation testcase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (WSCOMMONS-351)
OMElement.getChildrenWithName(QName) breaks customers dependent on the old
semantics
Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/WSCOMMONS-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rich Scheuerle updated WSCOMMONS-351:
-------------------------------------
Attachment: patch.txt
Here is the patched code and new test
> OMElement.getChildrenWithName(QName) breaks customers dependent on the old semantics
> ------------------------------------------------------------------------------------
>
> Key: WSCOMMONS-351
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-351
> Project: WS-Commons
> Issue Type: Bug
> Components: AXIOM
> Reporter: Rich Scheuerle
> Assignee: Rich Scheuerle
> Attachments: patch.txt
>
>
> Background:
> OMElement.getChildrenWithName(QName searchQName) relies on OMChildrenQNameIterator to get the child elements that have a matching qname.
> The OMChildrenQNameIterator had a "loose" interpretation of equality. If the child element's local name matched the searchQName local name, then the child was returned.
>
> The OMChildrenQNameIterator semantic was changed to a proper, "strict" interpretation. (http://svn.apache.org/viewvc?view=rev&revision=522259)
> Problem:
> Some customers built applications that relied on the old "loose" interpretation. Many of these customers cannot change their applications because they are in a shipped product. When they upgrade to the new Axiom levels, their applications fail. (Since Axiom is close to the bottom of the stack, it is difficult to diagnose these failures).
> Solution:
> I want to keep the OMChildrenQNameIterator intact. It will continue to use the "strict" interpretation.
> In OMElementImpl.getChildrenWithName, I want to use the "strict" interpretation if a fully qualified searchQName is provided.
> However, in the case where the searchQName has no namespace, I want to have a fallback.
> If there are no child elements that match the unqualified qname, then I would like the code to fallback to the old semantic.
>
> I feel that this tactical approach is the best compromise between the correct "strict" semantics, but also tolerates customers that relied on the old behavior.
> I will provide a patch containing both the new code, trace, and validation testcase.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.