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 ch...@apache.org on 2004/12/07 06:02:38 UTC

svn commit: r110075 - in webservices/axis/trunk/java/dev/scratch/prototype2/src: java/org/apache/axis/impl/llom java/org/apache/axis/impl/llom/builder java/org/apache/axis/impl/llom/wrapper java/org/apache/axis/impl/providers java/org/apache/axis/impl/transport/http java/org/apache/axis/om test/org/apache/axis/om

Author: chinthaka
Date: Mon Dec  6 21:02:37 2004
New Revision: 110075

URL: http://svn.apache.org/viewcvs?view=rev&rev=110075
Log:
Added OM building without SOAP specifics
Added:
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMDocument.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXOMBuilder.java
Modified:
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.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/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java
   webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMDocument.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMDocument.java?view=auto&rev=110075
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/OMDocument.java	Mon Dec  6 21:02:37 2004
@@ -0,0 +1,57 @@
+package org.apache.axis.impl.llom;
+
+import org.apache.axis.om.OMElement;
+import org.apache.axis.om.OMXMLParserWrapper;
+
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * <p/>
+ * User: Eran Chinthaka - Lanka Software Foundation
+ * Date: Dec 7, 2004
+ * Time: 9:46:52 AM
+ */
+public class OMDocument {
+    private OMElement rootElement;
+    private OMXMLParserWrapper parserWrapper;
+
+    /**
+     *
+     * @param rootElement
+     * @param parserWrapper
+     */
+    public OMDocument(OMElement rootElement, OMXMLParserWrapper parserWrapper) {
+        this.rootElement = rootElement;
+        this.parserWrapper = parserWrapper;
+    }
+
+    /**
+     *
+     * @param parserWrapper
+     */
+    public OMDocument(OMXMLParserWrapper parserWrapper) {
+        this.parserWrapper = parserWrapper;
+    }
+
+    public OMElement getRootElement() {
+        if(rootElement == null){
+            parserWrapper.next();
+        }
+        return rootElement;
+    }
+
+    public void setRootElement(OMElement rootElement) {
+        this.rootElement = rootElement;
+    }
+}

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPEnvelopeImpl.java	Mon Dec  6 21:02:37 2004
@@ -2,7 +2,6 @@
 
 import org.apache.axis.om.*;
 import org.apache.axis.om.OMConstants;
-import org.apache.axis.impl.llom.OMElementImpl;
 
 
 import javax.xml.namespace.QName;

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/SOAPHeaderBlockImpl.java	Mon Dec  6 21:02:37 2004
@@ -2,8 +2,6 @@
 
 import org.apache.axis.om.*;
 import org.apache.axis.om.OMConstants;
-import org.apache.axis.impl.llom.OMAttributeImpl;
-import org.apache.axis.impl.llom.OMElementImpl;
 
 
 import javax.xml.namespace.QName;

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/ObjectToOMBuilder.java	Mon Dec  6 21:02:37 2004
@@ -61,11 +61,7 @@
         omFactory = OMFactory.newInstance();
     }
 
-    public SOAPEnvelope getOMEnvelope() throws OMException {
-        throw new UnsupportedOperationException(); //TODO implement this
-    }
-
-    public int next() throws OMException {
+   public int next() throws OMException {
 
         // next can not be called more than once at one instance. and next can not be called within
         // another next
@@ -105,6 +101,10 @@
     }
 
     public boolean isCompleted() {
+        throw new UnsupportedOperationException(); //TODO implement this
+    }
+
+    public OMElement getRootElement() {
         throw new UnsupportedOperationException(); //TODO implement this
     }
 

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXBuilder.java	Mon Dec  6 21:02:37 2004
@@ -4,6 +4,7 @@
 import org.apache.axis.impl.llom.OMNodeImpl;
 import org.apache.axis.impl.llom.OMTextImpl;
 import org.apache.axis.impl.llom.OMElementImpl;
+import org.apache.axis.impl.llom.OMDocument;
 
 import javax.xml.stream.XMLStreamReader;
 import javax.xml.stream.XMLStreamConstants;
@@ -30,7 +31,7 @@
  * OM should be able to built from any data source. And the model it builds may be a SOAP specific one
  * or just an XML model. This class will give some common functionality of OM Building from StAX.
  */
-public abstract class StAXBuilder implements OMXMLParserWrapper {
+public abstract class StAXBuilder  implements OMXMLParserWrapper {
     protected OMFactory ombuilderFactory;
     protected XMLStreamReader parser;
 
@@ -51,9 +52,7 @@
     }
 
     protected StAXBuilder(XMLStreamReader parser) {
-        this.parser = parser;
-        this.ombuilderFactory = OMFactory.newInstance();
-
+        this(OMFactory.newInstance(), parser);
     }
 
     public void setOmbuilderFactory(OMFactory ombuilderFactory) {

Added: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXOMBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXOMBuilder.java?view=auto&rev=110075
==============================================================================
--- (empty file)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXOMBuilder.java	Mon Dec  6 21:02:37 2004
@@ -0,0 +1,133 @@
+package org.apache.axis.impl.llom.builder;
+
+import org.apache.axis.impl.llom.OMElementImpl;
+import org.apache.axis.impl.llom.OMDocument;
+import org.apache.axis.om.*;
+
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamConstants;
+
+/**
+ * Copyright 2001-2004 The Apache Software Foundation.
+ * <p/>
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * <p/>
+ * User: Eran Chinthaka - Lanka Software Foundation
+ * Date: Dec 6, 2004
+ * Time: 4:37:02 PM
+ *
+ * This will construct an OM without using SOAP specific classes like SOAPEnvelope, SOAPHeader, SOAPHeaderBlock and SOAPBody.
+ * And this will habe the Document concept also.
+ */
+public class StAXOMBuilder extends StAXBuilder implements OMXMLParserWrapper{
+    protected OMDocument document;
+
+    public StAXOMBuilder(OMFactory ombuilderFactory, XMLStreamReader parser) {
+        super(ombuilderFactory, parser);
+        document = new OMDocument(this);
+    }
+
+    public StAXOMBuilder(XMLStreamReader parser) {
+        super(parser);
+        document = new OMDocument(this);
+    }
+
+    protected OMNode createOMElement() throws OMException {
+        OMElement node;
+        String elementName = parser.getLocalName();
+
+        if (lastNode == null) {
+            node = new OMElementImpl(elementName, null, null, this);
+            document.setRootElement(node);
+        } else if (lastNode.isComplete()) {
+            node = new OMElementImpl(elementName, null, lastNode.getParent(), this);
+            lastNode.setNextSibling(node);
+        } else {
+            OMElement e = (OMElement) lastNode;
+            node = new OMElementImpl(elementName, null, (OMElement) lastNode, this);
+            e.setFirstChild(node);
+        }
+
+        //create the namespaces
+        processNamespaceData(node);
+
+        //fill in the attributes
+        processAttributes(node);
+
+        return node;
+    }
+
+    public SOAPEnvelope getOMEnvelope() throws OMException {
+        throw new UnsupportedOperationException(); //TODO implement this
+    }
+
+    public int next() throws OMException {
+        try {
+
+            if (done)
+                throw new OMException();
+
+            int token = parser.next();
+
+            if (!cache) {
+                return token;
+            }
+
+            switch (token) {
+                case XMLStreamConstants.START_ELEMENT:
+                    lastNode = createOMElement();
+                    break;
+
+                case XMLStreamConstants.START_DOCUMENT :
+                    document = new OMDocument(this);
+                    break;
+
+                case XMLStreamConstants.CHARACTERS:
+                    lastNode = createOMText();
+                    break;
+
+                case XMLStreamConstants.END_ELEMENT:
+                    if (lastNode.isComplete()) {
+                        OMElement parent = lastNode.getParent();
+                        parent.setComplete(true);
+                        lastNode = parent;
+                    } else {
+                        OMElement e = (OMElement) lastNode;
+                        e.setComplete(true);
+                    }
+                    break;
+
+                case XMLStreamConstants.END_DOCUMENT:
+                    done = true;
+
+                    break;
+                case XMLStreamConstants.SPACE:
+                    next();
+                    break;
+
+                default :
+                    throw new OMException();
+            }
+            return token;
+        } catch (OMException e) {
+            throw e;
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new OMException(e);
+        }
+    }
+
+    public OMElement getRootElement() {
+        return document.getRootElement();
+    }
+}

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/builder/StAXSOAPModelBuilder.java	Mon Dec  6 21:02:37 2004
@@ -29,7 +29,7 @@
  *         <p/>
  *         Note - OM navigator has been removed to simplify the build process
  */
-public class StAXSOAPModelBuilder extends StAXBuilder {
+public class StAXSOAPModelBuilder extends StAXBuilder{
 
     private SOAPEnvelope envelope;
 
@@ -161,6 +161,10 @@
             e.printStackTrace();
             throw new OMException(e);
         }
+    }
+
+    public OMElement getRootElement() {
+        return getOMEnvelope();
     }
 
 //    public String getNamespace(String arg) throws OMException {

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=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMStAXWrapper.java&r2=110075
==============================================================================
--- 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	Mon Dec  6 21:02:37 2004
@@ -10,14 +10,7 @@
 
 import org.apache.axis.impl.llom.OMNavigator;
 import org.apache.axis.impl.llom.exception.OMStreamingException;
-import org.apache.axis.om.OMAttribute;
-import org.apache.axis.om.OMElement;
-import org.apache.axis.om.OMNamedNode;
-import org.apache.axis.om.OMNamespace;
-import org.apache.axis.om.OMNode;
-import org.apache.axis.om.OMText;
-import org.apache.axis.om.OMXMLParserWrapper;
-import org.apache.axis.om.StreamingWrapper;
+import org.apache.axis.om.*;
 
 /**
  * Copyright 2001-2004 The Apache Software Foundation.

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/llom/wrapper/OMXPPWrapper.java	Mon Dec  6 21:02:37 2004
@@ -1,7 +1,6 @@
 package org.apache.axis.impl.llom.wrapper;
 
 import org.apache.axis.impl.llom.*;
-import org.apache.axis.impl.llom.factory.OMLinkedListImplFactory;
 import org.apache.axis.om.*;
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
@@ -275,6 +274,10 @@
 
     public boolean isCompleted() {
         return done;
+    }
+
+    public OMElement getRootElement() {
+        return getOMEnvelope();
     }
 
     public boolean isParserDone() {

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/providers/SimpleJavaProvider.java	Mon Dec  6 21:02:37 2004
@@ -126,7 +126,7 @@
             Object result = method.invoke(obj,parms);
 
             //TODO fix the server side  
-//            OMXMLParserWrapper parser = new OMXMLPullParserWrapper();
+//            SOAPXMLParserWrapper parser = new OMXMLPullParserWrapper();
 //            msgContext.setOutMessage(new OMMessageImpl(parser));
             return msgContext;
         }  catch (SecurityException e) {

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ClientHttpHandler.java	Mon Dec  6 21:02:37 2004
@@ -22,13 +22,10 @@
 import org.apache.axis.context.MessageContext;
 import org.apache.axis.engine.AxisEngine;
 import org.apache.axis.engine.AxisFault;
-import org.apache.axis.engine.Service;
-import org.apache.axis.engine.ServiceLocator;
-import org.apache.axis.engine.TransportSenderLocator;
-import org.apache.axis.impl.encoding.Base64;
 import org.apache.axis.impl.llom.wrapper.OMXPPWrapper;
-import org.apache.axis.om.OMXMLParserWrapper;
 import org.apache.axis.registry.EngineRegistry;
+import org.apache.axis.om.OMXMLParserWrapper;
+import org.apache.axis.om.SOAPEnvelope;
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserFactory;
 
@@ -121,8 +118,8 @@
                 XmlPullParser  parser = pf.newPullParser();
                 parser.setInput(new InputStreamReader(is));
                 
-                OMXMLParserWrapper parserWrapper = new OMXPPWrapper(parser); 
-                msgContext.setEnvelope(parserWrapper.getOMEnvelope());
+                OMXMLParserWrapper parserWrapper = new OMXPPWrapper(parser);
+                msgContext.setEnvelope((SOAPEnvelope) parserWrapper.getRootElement());
                 EngineRegistry reg = engine.getRegistry();
                 // invoke the Axis engine
                 

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/ServerHttpHandler.java	Mon Dec  6 21:02:37 2004
@@ -28,8 +28,9 @@
 import org.apache.axis.engine.TransportSenderLocator;
 import org.apache.axis.impl.encoding.Base64;
 import org.apache.axis.impl.llom.wrapper.OMXPPWrapper;
-import org.apache.axis.om.OMXMLParserWrapper;
 import org.apache.axis.registry.EngineRegistry;
+import org.apache.axis.om.OMXMLParserWrapper;
+import org.apache.axis.om.SOAPEnvelope;
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 import org.xmlpull.v1.XmlPullParserFactory;
@@ -177,8 +178,8 @@
                 XmlPullParser  parser = pf.newPullParser();
                 parser.setInput(new InputStreamReader(is));
                 
-                OMXMLParserWrapper parserWrapper = new OMXPPWrapper(parser); 
-                msgContext.setEnvelope(parserWrapper.getOMEnvelope());
+                OMXMLParserWrapper parserWrapper = new OMXPPWrapper(parser);
+                msgContext.setEnvelope((SOAPEnvelope) parserWrapper.getRootElement());
                 EngineRegistry reg = engine.getRegistry();
                 // invoke the Axis engine
 //                    engine.recive(msgContext);

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/impl/transport/http/SimpleHTTPHandler.java	Mon Dec  6 21:02:37 2004
@@ -18,7 +18,6 @@
 
 import org.apache.axis.context.MessageContext;
 import org.apache.axis.engine.*;
-import org.apache.axis.om.OMXMLParserWrapper;
 import org.apache.axis.registry.EngineRegistry;
 import org.apache.axis.impl.encoding.Base64;
 import org.apache.axis.impl.llom.wrapper.OMXPPWrapper;

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMElement.java	Mon Dec  6 21:02:37 2004
@@ -2,6 +2,7 @@
 
 
 
+
 import javax.xml.namespace.QName;
 import java.util.Iterator;
 

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMFactory.java	Mon Dec  6 21:02:37 2004
@@ -1,6 +1,7 @@
 package org.apache.axis.om;
 
 
+
 /**
  * Copyright 2001-2004 The Apache Software Foundation.
  * <p/>

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/om/OMXMLParserWrapper.java	Mon Dec  6 21:02:37 2004
@@ -1,5 +1,7 @@
 package org.apache.axis.om;
 
+import org.apache.axis.om.OMException;
+import org.apache.axis.om.OMElement;
 
 /**
  * Copyright 2001-2004 The Apache Software Foundation.
@@ -17,55 +19,49 @@
  * limitations under the License.
  * <p/>
  * User: Eran Chinthaka - Lanka Software Foundation
- * Date: Nov 11, 2004
- * Time: 12:54:18 PM
- *
- * This will wrap the underlying parser OM uses. For example this will define and interface, so that either XPP or StAX or tStAX can be used
- *
- *
+ * Date: Dec 7, 2004
+ * Time: 10:28:21 AM
  */
 public interface OMXMLParserWrapper {
-
-    /**
-     * @return
-     * @throws OMException
-     */
-    public SOAPEnvelope getOMEnvelope() throws OMException;
-
     /**
      *  Proceed the parser one step and return the event value
      * @return
-     * @throws OMException
+     * @throws org.apache.axis.om.OMException
      */
-    public int next() throws OMException;
+    int next() throws OMException;
 
     /**
      *  Discard the current element
      * This should remove the given element and its decendants.
      * @param el
-     * @throws OMException
+     * @throws org.apache.axis.om.OMException
      */
-    public void discard(OMElement el) throws OMException;
+    void discard(OMElement el) throws OMException;
 
     /**
      * @param b
-     * @throws OMException
+     * @throws org.apache.axis.om.OMException
      */
-    public void setCache(boolean b) throws OMException;
+    void setCache(boolean b) throws OMException;
 
-/**
+    /**
      * Allows to access the underlying parser. Since the parser
      * depends on the underlying implementation,an Object is returned
      * However the implementations may have restrictions in letting access to
      * the parser
      * @return
      */
-    public Object getParser();
+    Object getParser();
 
     /**
      *
      * @return the complete status
      */
-    public boolean isCompleted();
+    boolean isCompleted();
 
+    /**
+     *
+     * @return
+     */
+    public OMElement getRootElement();
 }

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/CompareOMWithDOMTest.java	Mon Dec  6 21:02:37 2004
@@ -41,8 +41,8 @@
         if(files != null){
             for(int i = 0;i<files.length;i++){
                 if(files[i].isFile() && files[i].getName().endsWith(".xml")){
-                    SOAPEnvelope soapEnvelope = OMTestUtils.getOMBuilder(
-                            files[i]).getOMEnvelope();
+                    SOAPEnvelope soapEnvelope = (SOAPEnvelope) OMTestUtils.getOMBuilder(
+                            files[i]).getRootElement();
                     DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                     dbf.setNamespaceAware(true);
                     DocumentBuilder builder = dbf.newDocumentBuilder();

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/MessagesTest.java	Mon Dec  6 21:02:37 2004
@@ -29,22 +29,22 @@
     }
 
     public void testMessageWithLotOfWhiteSpaces() throws OMException, Exception {
-        soapEnvelope = OMTestUtils.getOMBuilder(getTestResourceFile("soap/whitespacedMessage.xml")).getOMEnvelope();
+        soapEnvelope = (SOAPEnvelope) OMTestUtils.getOMBuilder(getTestResourceFile("soap/whitespacedMessage.xml")).getRootElement();
         OMTestUtils.walkThrough(soapEnvelope);
     }
     
     public void testMinimalMessage() throws OMException, Exception {
-        soapEnvelope = OMTestUtils.getOMBuilder(getTestResourceFile("soap/minimalMessage.xml")).getOMEnvelope();
+        soapEnvelope = (SOAPEnvelope) OMTestUtils.getOMBuilder(getTestResourceFile("soap/minimalMessage.xml")).getRootElement();
         OMTestUtils.walkThrough(soapEnvelope);
     }
     
     public void testReallyBigMessage() throws OMException, Exception {
-        soapEnvelope = OMTestUtils.getOMBuilder(getTestResourceFile("soap/reallyReallyBigMessage.xml")).getOMEnvelope();
+        soapEnvelope = (SOAPEnvelope) OMTestUtils.getOMBuilder(getTestResourceFile("soap/reallyReallyBigMessage.xml")).getRootElement();
         OMTestUtils.walkThrough(soapEnvelope);
     }
     
     public void testEmptyBodiedMessage() throws OMException, Exception {
-        soapEnvelope = OMTestUtils.getOMBuilder(getTestResourceFile("soap/emtyBodymessage.xml")).getOMEnvelope();
+        soapEnvelope = (SOAPEnvelope) OMTestUtils.getOMBuilder(getTestResourceFile("soap/emtyBodymessage.xml")).getRootElement();
         OMTestUtils.walkThrough(soapEnvelope);
     }
 

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMEnvelopeTest.java	Mon Dec  6 21:02:37 2004
@@ -40,7 +40,7 @@
     }
 
     private SOAPEnvelope getSecondEnvelope() throws Exception {
-        return OMTestUtils.getOMBuilder(getTestResourceFile("soap/sample1.xml")).getOMEnvelope();
+        return (SOAPEnvelope) OMTestUtils.getOMBuilder(getTestResourceFile("soap/sample1.xml")).getRootElement();
     }
 
     public void testGetHeader2() throws Exception {

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTest.java	Mon Dec  6 21:02:37 2004
@@ -50,7 +50,7 @@
         XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(new FileReader(file));
         fac = OMFactory.newInstance();
         OMXMLParserWrapper builder = new StAXSOAPModelBuilder(fac,parser);
-        envelope = builder.getOMEnvelope();
+        envelope = (SOAPEnvelope) builder.getRootElement();
     }
 
     

Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java?view=diff&rev=110075&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java&r1=110074&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java&r2=110075
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java	(original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/om/OMTestUtils.java	Mon Dec  6 21:02:37 2004
@@ -24,6 +24,7 @@
 
 import org.apache.axis.impl.llom.wrapper.OMXPPWrapper;
 import org.apache.axis.impl.llom.builder.StAXSOAPModelBuilder;
+import org.apache.axis.impl.llom.builder.StAXBuilder;
 import org.apache.axis.impl.llom.factory.OMLinkedListImplFactory;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -42,7 +43,7 @@
     public static OMXMLParserWrapper getOMBuilder(File file) throws Exception {
 
         XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(new FileReader(file));
-        StAXSOAPModelBuilder builder =   new StAXSOAPModelBuilder(OMFactory.newInstance(),parser);
+        StAXBuilder builder =   new StAXSOAPModelBuilder(OMFactory.newInstance(),parser);
 
         return builder;
     }