ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AXIOM-376) Axiom should report conflicting namespace declarations
Date Sun, 13 Nov 2011 20:25:51 GMT

    [ https://issues.apache.org/jira/browse/AXIOM-376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13149351#comment-13149351
] 

Hudson commented on AXIOM-376:
------------------------------

Integrated in ws-axiom-trunk #690 (See [https://builds.apache.org/job/ws-axiom-trunk/690/])
    * AXIOM-28: Don't allow declareDefaultNamespace to change the namespace of the element.
* AXIOM-376: Throw an exception if an attempt is made to use declareDefaultNamespace to add
a conflicting namespace declaration (in particular in the case considered in AXIOM-28).
* Changed the code in the builder to bypass these checks internally (so that they only apply
when manipulating the OM tree programmatically).
* Fixed a couple of test cases that were attempting to create conflicting namespace declarations.

veithen : 
Files : 
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMElement.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/OMElementEx.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/SAXOMBuilder.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/impl/builder/StAXOMBuilder.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/soap/impl/builder/SOAPBuilderHelper.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ElementImpl.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMElementImpl.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMSourcedElementImpl.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/OMTestSuiteBuilder.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestChildReDeclaringGrandParentsDefaultNSWithPrefix.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestChildReDeclaringParentsDefaultNSWithPrefix.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestDeclareDefaultNamespace1.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestDeclareDefaultNamespaceConflict1.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestDeclareDefaultNamespaceConflict2.java
* /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestMultipleDefaultNS.java

                
> Axiom should report conflicting namespace declarations
> ------------------------------------------------------
>
>                 Key: AXIOM-376
>                 URL: https://issues.apache.org/jira/browse/AXIOM-376
>             Project: Axiom
>          Issue Type: Improvement
>    Affects Versions: 1.2.12
>            Reporter: Andreas Veithen
>            Assignee: Andreas Veithen
>            Priority: Minor
>             Fix For: 1.2.14
>
>
> Consider the following code:
> OMFactory factory = OMAbstractFactory.getOMFactory();
> OMNamespace ns = factory.createOMNamespace("urn:ns1", "p");
> OMElement parent = factory.createOMElement("parent", ns);
> OMElement child = factory.createOMElement("child", ns, parent);
> child.declareNamespace("urn:ns2", "p");
> System.out.println("XML = " + parent);
> System.out.println("URI = " + child.getNamespaceURI());
> Both elements are created in the urn:ns1 namespace. An attempt is made to add a namespace
declaration that binds the prefix to a different namespace. No error occurs and the output
is as follows:
> XML = <p:parent xmlns:p="urn:ns1"><p:child xmlns:p="urn:ns2" /></p:parent>
> URI = urn:ns1
> This means that in the serialized document, the namespace of the child element is different
than in the object model. This situation (which is expected to be accidental in most cases)
will lead to subtle issues later.
> Axiom should make sure that the namespaces of element and attribute information items
are always preserved and trigger an exception if this constraint is violated by a conflicting
namespace declaration.
> These checks can be implemented at two levels:
> * In the serializer. This is the most robust solution, but makes it more difficult to
identify the code that is responsible for the conflicting declaration (because it is only
detected later).
> * In the declareNamespace and declareDefaultNamespace methods.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org


Mime
View raw message