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

Rich Scheuerle reopened WSCOMMONS-512:
--------------------------------------


I found a corner case broken by this fix.  I will commit a solution soon.

> StreamingOMSerializer expands OMSourcedElement nodes
> ----------------------------------------------------
>
>                 Key: WSCOMMONS-512
>                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-512
>             Project: WS-Commons
>          Issue Type: Bug
>          Components: AXIOM
>            Reporter: Rich Scheuerle
>            Assignee: Rich Scheuerle
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> Background:
> An OM tree may have one or more OMSourcedElement nodes in the tree.  An 
> OMSourcedElement represents an OMElement but contains its content in an 
> alternative form (String, bytes, JAXB object etc.)
> The OMSourcedElement nodes allow OM to represent a message with a much 
> flatter tree. 
> Problem:
> If an OM tree containing OMSourcedElements is serialized with the 
> StreamingOMSerializer, the OMSourcedElements are inadvertently expanded.  
> This extra processing is slow and unnecessary.   
> Solution:
> The StreamingOMSerializer uses an OMNavigator to walk the incoming 
> XMLStreamReader events.   When the OMNavigator encounters a OMSourcedElement, 
> it expands the OMSourcedElement so that it can generated the XMLStreamReader 
> events for the content.
> The solution is to add a property to the OMNavigator to allow it to tree 
> OMSourcedElements as leaf objects.   In such cases, the StreamingOMSerializer 
> can gain access to the OMDataSource and write it out directly.   This 
> increases performance because it eliminates the expansion of the tree.
> I am working on a series of validation tests and a code solution.

-- 
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