Axiom
  1. Axiom
  2. AXIOM-361

OMNodeImpl detach, when done on the document element of a document, fails to record the state change on the OMDocumentImpl.

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.2.11
    • Fix Version/s: 1.2.13
    • Component/s: LLOM
    • Labels:
      None

      Description

      When doing full document decryption in https://code.google.com/a/apache-extras.org/p/santuario-genxdm/, it is necessary to replace the document element of a document with its decrypted counterpart.

      However, OMNodeImpl.detach doesn't inform the document that the element has been removed, and the OMDocumentImpl.documentElement still points at the one being detached. When subsequently attempting to add in the newly decrypted form of the element, it fails, asserting that the document already has an element.

      The work-around here is to specifically check in the case of doing a detach on the element of a document, to set the document element of a document to null. Unfortunately, but do-able without resorting to implementation details.

        Activity

        Hide
        Hudson added a comment -

        Integrated in ws-axiom-trunk #522 (See https://builds.apache.org/job/ws-axiom-trunk/522/)

        • Fixed various issues with getOMDocumentElement and setOMDocumentElement, in particular AXIOM-361.
        • Make sure that the behavior of setOMDocumentElement is well defined and doesn't violate encapsulation (i.e. that it doesn't allow application code to put the OMDocument instance into an inconsistent state).

        veithen :
        Files :

        • /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDocument.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-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.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/document/TestGetOMDocumentElement.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestGetOMDocumentElementAfterDetach.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestGetOMDocumentElementWithParser.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestSetOMDocumentElementNew.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestSetOMDocumentElementNull.java
        • /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestSetOMDocumentElementReplace.java
        Show
        Hudson added a comment - Integrated in ws-axiom-trunk #522 (See https://builds.apache.org/job/ws-axiom-trunk/522/ ) Fixed various issues with getOMDocumentElement and setOMDocumentElement, in particular AXIOM-361 . Make sure that the behavior of setOMDocumentElement is well defined and doesn't violate encapsulation (i.e. that it doesn't allow application code to put the OMDocument instance into an inconsistent state). veithen : Files : /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/main/java/org/apache/axiom/om/OMDocument.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-dom/src/main/java/org/apache/axiom/om/impl/dom/DocumentImpl.java /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/ParentNode.java /webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/om/impl/dom/factory/OMDOMFactory.java /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/om/impl/llom/OMDocumentImpl.java /webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPMessageImpl.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/document/TestGetOMDocumentElement.java /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestGetOMDocumentElementAfterDetach.java /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestGetOMDocumentElementWithParser.java /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestSetOMDocumentElementNew.java /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestSetOMDocumentElementNull.java /webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/document/TestSetOMDocumentElementReplace.java

          People

          • Assignee:
            Andreas Veithen
            Reporter:
            Eric Johnson
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development