You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by aj...@apache.org on 2004/12/15 03:19:35 UTC

svn commit: r111915 - in webservices/axis/trunk/java/dev/scratch/prototype2/src: java/org/apache/axis/impl/llom/serialize java/org/apache/axis/impl/llom/wrapper java/org/apache/axis/om test/org/apache/axis/om/impl/streamwrapper

Author: ajith
Date: Tue Dec 14 18:19:34 2004
New Revision: 111915

URL: http://svn.apache.org/viewcvs?view=rev&rev=111915
Log:
removed Streaming wrapper and replaced with the javax.xml.stream.XMLStreamReader. Now only the standard interface is available
Removed:
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/StreamingWrapper.java
Modified:
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java?view=diff&rev=111915&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java&r1=111914&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java&r2=111915
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/serialize/XMLSerilazer.java	Tue Dec 14 18:19:34 2004
@@ -1,8 +1,6 @@
 package org.apache.axis.impl.llom.serialize;
 
 import org.apache.axis.om.OMElement;
-import org.apache.axis.om.StreamingWrapper;
-
 import javax.xml.stream.XMLStreamReader;
 
 /**
@@ -23,11 +21,11 @@
  */
 public class XMLSerilazer {
     private static StringBuffer b;
-    private StreamingWrapper streamingWrapper;
+    private XMLStreamReader parser;
     private OMElement startingElement;
 
-    public XMLSerilazer(StreamingWrapper streamingWrapper) {
-        this.streamingWrapper = streamingWrapper;
+    public XMLSerilazer(XMLStreamReader streamingWrapper) {
+        this.parser = streamingWrapper;
 
     }
 
@@ -37,33 +35,33 @@
     }
 
 
-    public static String printEvent(StreamingWrapper streamingWrapper) {
+    public static String printEvent(XMLStreamReader parser) {
 
-        switch (streamingWrapper.getEventType()) {
+        switch (parser.getEventType()) {
             case XMLStreamReader.START_ELEMENT:
                 b.append("<");
-                printName(streamingWrapper, b);
-                for (int i = 0; i < streamingWrapper.getNamespaceCount(); i++) {
+                printName(parser, b);
+                for (int i = 0; i < parser.getNamespaceCount(); i++) {
                     b.append(" ");
-                    String n = streamingWrapper.getNamespacePrefix(i);
+                    String n = parser.getNamespacePrefix(i);
                     if ("xmlns".equals(n)) {
-                        b.append("xmlns=\"" + streamingWrapper.getNamespaceURI(i) + "\"");
+                        b.append("xmlns=\"" + parser.getNamespaceURI(i) + "\"");
                     } else {
                         b.append("xmlns:" + n);
                         b.append("=\"");
-                        b.append(streamingWrapper.getNamespaceURI(i));
+                        b.append(parser.getNamespaceURI(i));
                         b.append("\"");
                     }
                 }
 
-                for (int i = 0; i < streamingWrapper.getAttributeCount(); i++) {
+                for (int i = 0; i < parser.getAttributeCount(); i++) {
                     b.append(" ");
-                    printName(streamingWrapper.getAttributePrefix(i),
-                            streamingWrapper.getAttributeNamespace(i),
-                            streamingWrapper.getAttributeLocalName(i),
+                    printName(parser.getAttributePrefix(i),
+                            parser.getAttributeNamespace(i),
+                            parser.getAttributeLocalName(i),
                             b);
                     b.append("=\"");
-                    b.append(streamingWrapper.getAttributeValue(i));
+                    b.append(parser.getAttributeValue(i));
                     b.append("\"");
                 }
 
@@ -71,16 +69,16 @@
                 break;
             case XMLStreamReader.END_ELEMENT:
                 b.append("</");
-                printName(streamingWrapper, b);
-                for (int i = 0; i < streamingWrapper.getNamespaceCount(); i++) {
+                printName(parser, b);
+                for (int i = 0; i < parser.getNamespaceCount(); i++) {
                     b.append(" ");
-                    String n = streamingWrapper.getNamespacePrefix(i);
+                    String n = parser.getNamespacePrefix(i);
                     if ("xmlns".equals(n)) {
-                        b.append("xmlns=\"" + streamingWrapper.getNamespaceURI(i) + "\"");
+                        b.append("xmlns=\"" + parser.getNamespaceURI(i) + "\"");
                     } else {
                         b.append("xmlns:" + n);
                         b.append("=\"");
-                        b.append(streamingWrapper.getNamespaceURI(i));
+                        b.append(parser.getNamespaceURI(i));
                         b.append("\"");
                     }
                 }
@@ -88,30 +86,30 @@
                 break;
             case XMLStreamReader.SPACE:
             case XMLStreamReader.CHARACTERS:
-                int start = streamingWrapper.getTextStart();
-                int length = streamingWrapper.getTextLength();
-                b.append(new String(streamingWrapper.getTextCharacters(),
+                int start = parser.getTextStart();
+                int length = parser.getTextLength();
+                b.append(new String(parser.getTextCharacters(),
                         start,
                         length));
                 break;
             case XMLStreamReader.CDATA:
                 b.append("<![CDATA[");
-                if (streamingWrapper.hasText())
-                    b.append(streamingWrapper.getText());
+                if (parser.hasText())
+                    b.append(parser.getText());
                 b.append("]]>");
                 break;
 
             case XMLStreamReader.COMMENT:
                 b.append("<!--");
-                if (streamingWrapper.hasText())
-                    b.append(streamingWrapper.getText());
+                if (parser.hasText())
+                    b.append(parser.getText());
                 b.append("-->");
                 break;
             case XMLStreamReader.START_DOCUMENT:
 //                b.append("<?xml");
-//                b.append(" version='" + streamingWrapper.getVersion() + "'");
-//                b.append(" encoding='" + streamingWrapper.getCharacterEncodingScheme() + "'");
-//                if (streamingWrapper.isStandalone())
+//                b.append(" version='" + parser.getVersion() + "'");
+//                b.append(" encoding='" + parser.getCharacterEncodingScheme() + "'");
+//                if (parser.isStandalone())
 //                    b.append(" standalone='yes'");
 //                else
 //                    b.append(" standalone='no'");
@@ -131,11 +129,11 @@
         if (localName != null) b.append(localName);
     }
 
-    private static void printName(StreamingWrapper streamingWrapper, StringBuffer b) {
-        if (streamingWrapper.hasName()) {
-            String prefix = streamingWrapper.getPrefix();
-            String uri = streamingWrapper.getNamespaceURI();
-            String localName = streamingWrapper.getLocalName();
+    private static void printName(XMLStreamReader parser, StringBuffer b) {
+        if (parser.hasName()) {
+            String prefix = parser.getPrefix();
+            String uri = parser.getNamespaceURI();
+            String localName = parser.getLocalName();
             printName(prefix, uri, localName, b);
         }
     }

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java?view=diff&rev=111915&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java&r1=111914&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java&r2=111915
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java	Tue Dec 14 18:19:34 2004
@@ -5,9 +5,11 @@
 import org.apache.axis.om.*;
 
 import javax.xml.namespace.QName;
+import javax.xml.namespace.NamespaceContext;
 import javax.xml.stream.XMLStreamConstants;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.Location;
 import java.util.Iterator;
 import java.util.Stack;
 
@@ -31,7 +33,7 @@
  *         Note  - This class also implements the streaming constants interface
  *         to get access to the StAX constants
  */
-public class OMStAXWrapper implements StreamingWrapper, XMLStreamConstants {
+public class OMStAXWrapper implements XMLStreamReader, XMLStreamConstants {
 
 
     private OMNavigator navigator;
@@ -87,6 +89,10 @@
      * root element if the entire document is needed
      */
     public OMStAXWrapper(OMXMLParserWrapper builder, OMElement startNode) {
+        this(builder,startNode,false);
+    }
+
+    public OMStAXWrapper(OMXMLParserWrapper builder, OMElement startNode,boolean cacheOff) {
         //create a navigator
         this.navigator = new OMNavigator(startNode);
         this.builder = builder;
@@ -96,9 +102,11 @@
         //returns the starting node at the first call to it
         currentNode = navigator.next();
         nextNode = navigator.next();
-
+        switchingAllowed = cacheOff;
     }
-
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getPrefix()
+     */
     public String getPrefix() {
         String returnStr = null;
         if (currentEvent == START_ELEMENT || currentEvent == END_ELEMENT) {
@@ -113,7 +121,7 @@
     }
 
     /**
-     * @return
+     * @see javax.xml.stream.XMLStreamReader#getNamespaceURI()
      */
     public String getNamespaceURI() {
         String returnStr = null;
@@ -130,7 +138,7 @@
     }
 
     /**
-     * @return
+     * @see javax.xml.stream.XMLStreamReader#hasName()
      */
     public boolean hasName() {
         if (currentEvent == START_ELEMENT || currentEvent == END_ELEMENT) {
@@ -141,7 +149,7 @@
     }
 
     /**
-     * @return
+     *@see javax.xml.stream.XMLStreamReader#getLocalName()
      */
     public String getLocalName() {
         String returnStr = null;
@@ -156,8 +164,10 @@
         return returnStr;
     }
 
+    /**
+     *@see javax.xml.stream.XMLStreamReader#getName()
+     */
     public QName getName() {
-
         QName returnName = null;
         if (currentEvent == START_ELEMENT || currentEvent == END_ELEMENT) {
             if (navigable) {
@@ -170,6 +180,9 @@
     }
 
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#hasText()
+     */
     public boolean hasText() {
         return (currentEvent == CHARACTERS ||
                 currentEvent == DTD ||
@@ -178,6 +191,9 @@
                 currentEvent == SPACE);
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getTextLength()
+     */
     public int getTextLength() {
         int returnLength = 0;
         if (hasText()) {
@@ -192,6 +208,9 @@
         return returnLength;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getTextStart()
+     */
     public int getTextStart() {
         int returnLength = 0;
         if (hasText()) {
@@ -203,7 +222,11 @@
         return returnLength;
     }
 
-    public int getTextCharacters(int i, char[] chars, int i1, int i2) throws OMStreamingException {
+    /**
+     *
+     *  @see javax.xml.stream.XMLStreamReader#getTextCharacters(int, char[], int, int)
+     */
+    public int getTextCharacters(int i, char[] chars, int i1, int i2) throws XMLStreamException {
         int returnLength = 0;
         if (hasText()) {
             if (!navigable) {
@@ -219,7 +242,7 @@
     }
 
     /**
-     * @return
+     * @see javax.xml.stream.XMLStreamReader#getTextCharacters()
      */
     public char[] getTextCharacters() {
         char[] returnArray = null;
@@ -237,7 +260,7 @@
     }
 
     /**
-     * @return
+     * @see javax.xml.stream.XMLStreamReader#getText()
      */
     public String getText() {
         String returnString = null;
@@ -252,11 +275,18 @@
         return returnString;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getEventType()
+     */
     //todo this should be improved
     public int getEventType() {
         return currentEvent;
     }
 
+    /**
+     * @see  javax.xml.stream.XMLStreamReader#getNamespaceURI
+     *
+     */
     public String getNamespaceURI(int i) {
         String returnString = null;
         if (isStartElement() || isEndElement() || currentEvent == NAMESPACE) {
@@ -269,6 +299,9 @@
         return returnString;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getNamespacePrefix
+     */
     public String getNamespacePrefix(int i) {
         String returnString = null;
         if (isStartElement() || isEndElement() || currentEvent == NAMESPACE) {
@@ -281,6 +314,9 @@
         return returnString;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getNamespaceCount()
+     */
     public int getNamespaceCount() {
         int returnCount = 0;
         if (isStartElement() || isEndElement() || currentEvent == NAMESPACE) {
@@ -293,6 +329,9 @@
         return returnCount;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#isAttributeSpecified
+     */
     public boolean isAttributeSpecified(int i) {
         boolean returnValue = false;
         if (isStartElement() || currentEvent == ATTRIBUTE) {
@@ -307,6 +346,9 @@
         return returnValue;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getAttributeValue
+     */
     public String getAttributeValue(int i) {
         String returnString = null;
         if (isStartElement() || currentEvent == ATTRIBUTE) {
@@ -324,6 +366,10 @@
         return returnString;
     }
 
+    /**
+     *
+     * @see javax.xml.stream.XMLStreamReader#getAttributeType
+     */
     public String getAttributeType(int i) {
         String returnString = null;
         if (isStartElement() || currentEvent == ATTRIBUTE) {
@@ -338,6 +384,9 @@
         return returnString;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getAttributePrefix
+     */
     public String getAttributePrefix(int i) {
         String returnString = null;
         if (isStartElement() || currentEvent == ATTRIBUTE) {
@@ -358,6 +407,9 @@
         return returnString;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getAttributeLocalName
+     */
     public String getAttributeLocalName(int i) {
         String returnString = null;
         if (isStartElement() || currentEvent == ATTRIBUTE) {
@@ -375,6 +427,9 @@
         return returnString;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getAttributeNamespace
+     */
     public String getAttributeNamespace(int i) {
         String returnString = null;
         if (isStartElement() || currentEvent == ATTRIBUTE) {
@@ -396,8 +451,6 @@
     }
 
     /**
-     * @param i
-     * @return
      * @see javax.xml.stream.XMLStreamReader#getAttributeName
      */
     public QName getAttributeName(int i) {
@@ -436,8 +489,9 @@
     }
 
 
+    //todo
     public String getAttributeValue(String s, String s1) {
-        return null;
+        throw new UnsupportedOperationException();
     }
 
     public boolean isWhiteSpace() {
@@ -471,6 +525,17 @@
         return b;
     }
 
+    /**
+     * @see javax.xml.stream.XMLStreamReader#require(int, String, String)
+     * @param i
+     * @param s
+     * @param s1
+     * @throws XMLStreamException
+     */
+    public void require(int i, String s, String s1) throws XMLStreamException {
+        throw new XMLStreamException();
+    }
+
     public boolean isStartElement() {
         boolean b;
         if (navigable) {
@@ -493,19 +558,16 @@
         return returnString;
     }
 
-    public void close() throws OMStreamingException {
+    public void close() throws XMLStreamException {
         //this doesnot mean anything with respect to the OM
         if (!navigable) {
-            try {
-                parser.close();
-            } catch (XMLStreamException e) {
-                throw new OMStreamingException(e);
-            }
+            parser.close();
+
         }
 
     }
 
-    public boolean hasNext() throws OMStreamingException {
+    public boolean hasNext() throws XMLStreamException {
         return !complete;
     }
 
@@ -516,11 +578,14 @@
      * @throws org.apache.axis.impl.llom.exception.OMStreamingException
      *
      */
-    public int nextTag() throws OMStreamingException {
-        return 0;
+    public int nextTag() throws XMLStreamException {
+        throw new UnsupportedOperationException();
     }
 
-    public String getElementText() throws OMStreamingException {
+    /**
+     * @see javax.xml.stream.XMLStreamReader#getElementText()
+     */
+    public String getElementText() throws XMLStreamException {
 
         String returnText = "";
 
@@ -539,16 +604,16 @@
         return returnText;
     }
 
-    public int next() throws OMStreamingException {
+    public int next() throws XMLStreamException {
 
         if (complete) {
             throw new OMStreamingException("Parser completed!");
         }
 
         if (switched){
-             //set navigable to false.Now the subsequent requests will be directed to
-                //the parser
-                navigable = false;
+            //set navigable to false.Now the subsequent requests will be directed to
+            //the parser
+            navigable = false;
         }
         if (navigable) {
             currentEvent = generateEvents(currentNode);
@@ -562,7 +627,7 @@
     }
 
     public Object getProperty(String s) throws IllegalArgumentException {
-        return null;
+        throw new UnsupportedOperationException();
     }
 
 
@@ -573,7 +638,7 @@
      * At the same time the parser and builder are set up for the upcoming event
      * generation
      */
-    private void updateNextNode() throws OMStreamingException {
+    private void updateNextNode() throws XMLStreamException {
         lastNode = currentNode;
         currentNode = nextNode;
 
@@ -596,7 +661,7 @@
                 try {
                     parser = (XMLStreamReader) builder.getParser();
                 } catch (ClassCastException e) {
-                    throw new OMStreamingException("incompatible parser found!", e);
+                    throw new XMLStreamException("incompatible parser found!", e);
                 }
 
                 switched = true;
@@ -608,7 +673,7 @@
     }
 
     private void updateCompleteStatus() {
-        //todo this needs to be done correctly
+
         if (!navigable) {
             complete = (currentEvent == END_DOCUMENT);
         } else {
@@ -618,6 +683,43 @@
                 else
                     complete = true;
         }
+    }
+
+
+    public NamespaceContext getNamespaceContext() {
+        throw new UnsupportedOperationException();
+    }
+
+    public String getEncoding() {
+        throw new UnsupportedOperationException();
+    }
+
+    public Location getLocation() {
+        throw new UnsupportedOperationException();
+    }
+
+    public String getVersion() {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean isStandalone() {
+        throw new UnsupportedOperationException();
+    }
+
+    public boolean standaloneSet() {
+        throw new UnsupportedOperationException();
+    }
+
+    public String getCharacterEncodingScheme() {
+        throw new UnsupportedOperationException();
+    }
+
+    public String getPITarget() {
+        throw new UnsupportedOperationException();
+    }
+
+    public String getPIData() {
+        throw new UnsupportedOperationException();
     }
 
     /*

Deleted: /webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/StreamingWrapper.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/StreamingWrapper.java?view=auto&rev=111914
==============================================================================

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java?view=diff&rev=111915&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java&r1=111914&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java&r2=111915
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/impl/streamwrapper/OMStaxStreamingWrapperTest.java	Tue Dec 14 18:19:34 2004
@@ -7,16 +7,15 @@
 
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamException;
 
 import org.apache.axis.AbstractTestCase;
-import org.apache.axis.impl.llom.builder.StAXSOAPModelBuilder;
 import org.apache.axis.impl.llom.serialize.SimpleOMSerializer;
 import org.apache.axis.impl.llom.wrapper.OMStAXWrapper;
 import org.apache.axis.impl.llom.factory.OMXMLBuilderFactory;
 import org.apache.axis.om.OMFactory;
 import org.apache.axis.om.SOAPEnvelope;
 import org.apache.axis.om.OMXMLParserWrapper;
-import org.apache.axis.om.StreamingWrapper;
 
 /**
  * Copyright 2001-2004 The Apache Software Foundation.
@@ -39,6 +38,7 @@
     private SimpleOMSerializer serilizer;
     private OMXMLParserWrapper builder;
     private File tempFile;
+    private XMLStreamReader parser;
 
     public OMStaxStreamingWrapperTest(String testName) {
         super(testName);
@@ -52,83 +52,76 @@
         envelope = (SOAPEnvelope) builder.getDocumentElement();
         serilizer = new SimpleOMSerializer();
         tempFile = File.createTempFile("temp", "xml");
+
+        parser = new OMStAXWrapper(builder, envelope);
     }
 
 
-    public void testWrapperFullOM() throws FileNotFoundException {
+    public void testWrapperFullOM() throws Exception {
         assertNotNull(envelope);
         //this serializing will cause the OM to fully build!
         serilizer.serialize(envelope, new FileOutputStream(tempFile));
 
-        //now the OM is fully created. Create the wrapper and see
-        StreamingWrapper wrapper = new OMStAXWrapper(builder, envelope);
-
-        while (wrapper.hasNext()) {
-            int event = wrapper.next();
+        while (parser.hasNext()) {
+            int event = parser.next();
             assertTrue(event > 0);
         }
 
     }
 
-    public void testWrapperHalfOM() {
+    public void testWrapperHalfOM() throws Exception {
         assertNotNull(envelope);
 
-        //now the OM is not fully created. Create the wrapper and see
-        StreamingWrapper wrapper = new OMStAXWrapper(builder, envelope);
-        while (wrapper.hasNext()) {
-            int event = wrapper.next();
+        while (parser.hasNext()) {
+            int event = parser.next();
             assertTrue(event > 0);
         }
     }
 
-    public void testWrapperHalfOMWithCacheOff() {
+    public void testWrapperHalfOMWithCacheOff() throws Exception {
         assertNotNull(envelope);
-        //now the OM is not fully created. Create the wrapper and see
-        StreamingWrapper wrapper = new OMStAXWrapper(builder, envelope);
-        //set the switching allowed flag
-        wrapper.setAllowSwitching(true);
-        while (wrapper.hasNext()) {
-            int event = wrapper.next();
+
+        parser = new OMStAXWrapper(builder, envelope, true);
+
+        while (parser.hasNext()) {
+            int event = parser.next();
             assertTrue(event > 0);
         }
     }
 
-    public void testWrapperElementEventGenerationWithHalfOMWithCacheOff() {
+    public void testWrapperElementEventGenerationWithHalfOMWithCacheOff() throws XMLStreamException {
         assertNotNull(envelope);
-        StreamingWrapper wrapper = new OMStAXWrapper(builder, envelope);
-        wrapper.setAllowSwitching(true);
-
-        while (wrapper.hasNext()) {
-            int event = wrapper.next();
+        parser = new OMStAXWrapper(builder, envelope, true);
+        while (parser.hasNext()) {
+            int event = parser.next();
             assertTrue(event > 0);
             if (event == XMLStreamReader.START_ELEMENT) {
-                checkStartElement(wrapper);
-            }else if (event == XMLStreamReader.CHARACTERS){
-                checkCharacters(wrapper);
+                checkStartElement(parser);
+            } else if (event == XMLStreamReader.CHARACTERS) {
+                checkCharacters(parser);
             }
         }
 
 
     }
 
-    public void testWrapperElementEventGenerationWithHalfOM() {
+    public void testWrapperElementEventGenerationWithHalfOM() throws Exception {
         assertNotNull(envelope);
-        StreamingWrapper wrapper = new OMStAXWrapper(builder, envelope);
 
-        while (wrapper.hasNext()) {
-            int event = wrapper.next();
+        while (parser.hasNext()) {
+            int event = parser.next();
             assertTrue(event > 0);
             if (event == XMLStreamReader.START_ELEMENT) {
-                checkStartElement(wrapper);
-            }else if (event == XMLStreamReader.CHARACTERS){
-                checkCharacters(wrapper);
+                checkStartElement(parser);
+            } else if (event == XMLStreamReader.CHARACTERS) {
+                checkCharacters(parser);
             }
         }
 
 
     }
 
-    private void checkCharacters(StreamingWrapper wrapper){
+    private void checkCharacters(XMLStreamReader wrapper) {
         assertFalse(wrapper.isStartElement());
         assertFalse(wrapper.isEndElement());
         assertFalse(wrapper.isWhiteSpace());
@@ -136,10 +129,10 @@
         assertTrue(wrapper.isCharacters());
 
         assertNotNull(wrapper.getText());
-        assertTrue(wrapper.getTextLength()>0);
+        assertTrue(wrapper.getTextLength() > 0);
     }
 
-    private void checkStartElement(StreamingWrapper wrapper) {
+    private void checkStartElement(XMLStreamReader wrapper) {
         assertTrue(wrapper.isStartElement());
         assertTrue(wrapper.hasName());
         assertFalse(wrapper.isEndElement());