[ http://issues.apache.org/jira/browse/TUSCANY-118?page=all ]
Raymond Feng updated TUSCANY-118: --------------------------------- Attachment: rfeng_stax_axis_095.diff Here's the updated patch @ Axis2 0.95 level > 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 Integration, Java SDO Implementation > Reporter: Raymond Feng > Attachments: 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