Uploaded image for project: 'Axiom'
  1. Axiom
  2. AXIOM-314

Add more servicability to OMStaxWrapper

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      Background:
      Axiom exposes an XMLStreamReader interface. The implementation of this interface is the OMStAXWrapper object.
      The OMStAXWrapper simulates the XMLStreamReader event model by a combination of walking the om, walking OMDataSource objects, and getting events from the original parser. There are a number of things that can go wrong. Sometimes the problems are outside of Axiom (ie. invalid parser or incorrectly coded OMDataSource implementation).

      Problem:
      When problems arise due to bad events from OMStAXWrapper, the problems may not be detected until much further downstream. This can make it difficult to determine the root cause of certain kinds of problems. (Example WSCOMMONS-369).

      Solution:
      I am working on a simple OMXMLStreamReaderValidator. When debug is enabled, the validator wraps the OMStAXWrapper and can be used to validate the events. The first generation of the validator will simply ensure that the START_ELEMENT events have a matching END_ELEMENT event.

      If the validator discovers a problem, it logs the assertion failures. This new debug information will make it easier to track down the root cause.

      The validator will only be inserted if tracing is enabled. Thus it will not affect the performance of axiom.

      Attachments

        Issue Links

          Activity

            People

              scheu@us.ibm.com Rich Scheuerle
              scheu@us.ibm.com Rich Scheuerle
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 48h
                  48h
                  Remaining:
                  Remaining Estimate - 48h
                  48h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified