You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Frank Budinsky (JIRA)" <tu...@ws.apache.org> on 2006/06/02 22:01:31 UTC

[jira] Commented: (TUSCANY-118) Adding Serializer/Deserializer for DataObject using StAX for better Axis2 AXIOM integration

    [ http://issues.apache.org/jira/browse/TUSCANY-118?page=comments#action_12414511 ] 

Frank Budinsky commented on TUSCANY-118:
----------------------------------------

Committed the SDO portion in revision 411280.

I changed the resource name to SDOXMLResourceImpl, integrated it with XMLDocumentImpl, and put the functions to call it  in XMLStreamHelperImpl.

For example, to load from a StAX stream, clients should do something like this:

      XMLStreamReader xmlStreamReader = ...
      XMLStreamHelper xmlStreamHelper = SDOUtil.createXMLStreamHelper(TypeHelper.INSTANCE);
      XMLDocument doc = xmlStreamHelper.load(xmlStreamReader);

To get a DataObjectXMLStreamReader, do the following:

      DataObject myDO = ...
      XMLStreamReader doXMLtreamReader = xmlStreamHelper.createXMLStreamReader(myDO);

Let me know if this isn't sufficient.



> Adding Serializer/Deserializer for DataObject using StAX for better Axis2 AXIOM integration
> -------------------------------------------------------------------------------------------
>
>          Key: TUSCANY-118
>          URL: http://issues.apache.org/jira/browse/TUSCANY-118
>      Project: Tuscany
>         Type: Improvement

>   Components: Java SCA Axis Binding, Java SDO Implementation
>     Versions: Java-Mx
>     Reporter: Raymond Feng
>     Assignee: Frank Budinsky
>      Fix For: Java-Mx
>  Attachments: rfeng_sdo_stax.diff, rfeng_stax.diff, rfeng_stax_axis_095.diff
>
> Here are the key classes:
> 1) DataObjectStAXWrapper
> Implements "org.apache.axis2.databinding.ADBBean" interface by feeding elements and attibutes to "org.apache.axis2.databinding.utils.ADBPullParser". It can be used as
> a Serializer for DataObject to be serialized as OMElement. 
>  
> 2) StAXXMLResourceImpl and StAX2SAXAdapter
> StAXXMLResourceImpl extends "org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl" to provide additional methods to load DataObject directly from XMLStreamReader. StAX2SAXAdpter is responsible to pull StAX events from XMLSreamReader and generate SAX events so that they can be consumed by XMLResourceImpl.
> 3) DataObjectStAXWrapperTestCase 
> It tests the round trip for "DataObject --> OMElment --> DataObject". Both static SDO model (pre-generated) and dynamic SDO model (loaded from WSDL/XSD) are covered. It also test the cost of the optimized roundtrip against the old "quick and dirty"  way (DataObject --> OutputStream --> InputStream --> OMElement --> OutputStream --> InputStream --> DataObject).
> It shows more that 400% performance gain.
>  
> It seems that files in set 1 and 2 are more fit to be included in the SDO sub-project. The following helper method is desirable.
> void SDOUtil.load(TypeHelper scope, XMLStreamReader reader, Object options)
> XMLStreamReader SDOUtil.save(TypeHelper scope, XMLDocument document, Object options)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


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