XOP:Include information is not retained by OMElement clone()
------------------------------------------------------------

                 Key: WSCOMMONS-374
                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-374
             Project: WS-Commons
          Issue Type: Bug
          Components: AXIOM
            Reporter: Rich Scheuerle
            Assignee: Rich Scheuerle
            Priority: Critical


Problem Summary:
  The OMElement.clone() method makes a clone of the current element.  However, 
if the OMElement contains nested XOP:Include nodes, the information 
(datahandlers, content-ids) are not preserved.   In fact, the attachments are 
lost completely.

Solution:
   Currently, the clone() implementation does two things:
        (A) Gets a XMLStreamReader to read the events from the source element.
        (B) Constructs a StAXOMBuilder to create the new cloned tree.

       (A) will be changed to changed to query the source builder.  If it is 
XOPAware, then the XMLStreamReader will be toggled to deliver XOP optimized 
events.

        (B) If the source builder is XOPAware, then an XOPAwareOMBuilder will 
be created to build the target tree.  
       This will guarantee that the XOP include information (datahandlers, 
content-ids) are retained.

I am also including a validation test to verify the new changes.

I will commit the change after some additional testing

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to