You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ru...@apache.org on 2005/12/21 10:35:18 UTC
svn commit: r358243 - in /webservices/axis2/trunk/java/modules:
saaj/src/org/apache/axis2/om/impl/dom/
saaj/src/org/apache/axis2/om/impl/dom/factory/
xml/src/org/apache/axis2/om/impl/llom/
xml/src/org/apache/axis2/soap/impl/llom/
Author: ruchithf
Date: Wed Dec 21 01:34:34 2005
New Revision: 358243
URL: http://svn.apache.org/viewcvs?rev=358243&view=rev
Log:
- DOOM: Now we can add comments to XML documents
- Renamed 'rootElement' in OMDocumentImpl to 'documentElement'
Modified:
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DocumentImpl.java
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java
webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/SOAPMessageImpl.java
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DocumentImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DocumentImpl.java?rev=358243&r1=358242&r2=358243&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DocumentImpl.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/DocumentImpl.java Wed Dec 21 01:34:34 2005
@@ -56,6 +56,8 @@
private String charEncoding;
+ protected ElementImpl documentElement;
+
/**
* @param ownerDocument
*/
@@ -380,10 +382,10 @@
* We'r sure that only an element can be the first child
* of a Document
*/
- if(this.firstChild == null && !this.done) {
+ if(this.documentElement == null && !this.done) {
this.build();
}
- return (OMElement)this.firstChild;
+ return this.documentElement;
}
/**
@@ -392,11 +394,7 @@
*/
public Element getDocumentElement() {
- if(this.firstChild == null && !this.done) {
- this.build();
- }
-
- return (Element)this.firstChild;
+ return (Element)this.getOMDocumentElement();
}
/**
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java?rev=358243&r1=358242&r2=358243&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/ParentNode.java Wed Dec 21 01:34:34 2005
@@ -15,6 +15,10 @@
*/
package org.apache.axis2.om.impl.dom;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMException;
import org.apache.axis2.om.OMNode;
@@ -27,10 +31,6 @@
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import java.util.Iterator;
-
-import javax.xml.namespace.QName;
-
public abstract class ParentNode extends ChildNode implements OMContainerEx {
@@ -165,20 +165,18 @@
}
if(this instanceof Document) {
- if(this.firstChild != null) {
+ if(((DocumentImpl)this).documentElement != null && !(newDomChild instanceof CommentImpl)) {
//Throw exception since there cannot be two document elements
throw new DOMException(DOMException.HIERARCHY_REQUEST_ERR,
DOMMessageFormatter.formatMessage(
DOMMessageFormatter.DOM_DOMAIN,
"HIERARCHY_REQUEST_ERR", null));
- } else {
- this.firstChild = newDomChild;
- newDomChild.isFirstChild(true);
- this.lastChild = newDomChild;
+ } else if(newDomChild instanceof ElementImpl) {
if(newDomChild.parentNode == null) {
newDomChild.parentNode = this;
}
- return newDomChild;
+ //set the document element
+ ((DocumentImpl)this).documentElement = (ElementImpl)newDomChild;
}
}
@@ -309,9 +307,6 @@
ChildNode child = (ChildNode)docFrag.getFirstChild();
child.parentNode = this;
this.replaceChild(child, oldChild);
-// DocumentFragmentimpl docFrag = (DocumentFragmentimpl)newDomChild;
-// docFrag.firstChild.previousSubling = oldDomChild.previousSubling;
-//
} else {
if(oldDomChild.isFirstChild()) {
oldDomChild.detach();
Modified: webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java?rev=358243&r1=358242&r2=358243&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java (original)
+++ webservices/axis2/trunk/java/modules/saaj/src/org/apache/axis2/om/impl/dom/factory/OMDOMFactory.java Wed Dec 21 01:34:34 2005
@@ -237,7 +237,14 @@
}
public OMComment createOMComment(OMContainer parent, String content) {
- CommentImpl comment = new CommentImpl((DocumentImpl)((ElementImpl)parent).getOwnerDocument(), content);
+ DocumentImpl doc = null;
+ if(parent instanceof DocumentImpl) {
+ doc = (DocumentImpl)parent;
+ } else {
+ doc = (DocumentImpl)((ParentNode)parent).getOwnerDocument();
+ }
+
+ CommentImpl comment = new CommentImpl(doc, content);
parent.addChild(comment);
return comment;
}
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java?rev=358243&r1=358242&r2=358243&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMDocumentImpl.java Wed Dec 21 01:34:34 2005
@@ -16,32 +16,32 @@
package org.apache.axis2.om.impl.llom;
+import java.io.OutputStream;
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+
import org.apache.axis2.om.OMDocument;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMException;
import org.apache.axis2.om.OMNode;
-import org.apache.axis2.om.OMXMLParserWrapper;
import org.apache.axis2.om.OMOutputFormat;
+import org.apache.axis2.om.OMXMLParserWrapper;
import org.apache.axis2.om.impl.OMContainerEx;
import org.apache.axis2.om.impl.OMNodeEx;
import org.apache.axis2.om.impl.OMOutputImpl;
import org.apache.axis2.om.impl.llom.traverse.OMChildrenIterator;
import org.apache.axis2.om.impl.llom.traverse.OMChildrenQNameIterator;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import java.util.Iterator;
-import java.io.OutputStream;
-import java.io.IOException;
-
/**
* Class OMDocumentImpl
*/
public class OMDocumentImpl implements OMDocument, OMContainerEx {
/**
- * Field rootElement
+ * Field documentElement
*/
- protected OMElement rootElement;
+ protected OMElement documentElement;
/**
* Field firstChild
@@ -85,11 +85,11 @@
}
/**
- * @param rootElement
+ * @param documentElement
* @param parserWrapper
*/
- public OMDocumentImpl(OMElement rootElement, OMXMLParserWrapper parserWrapper) {
- this.rootElement = rootElement;
+ public OMDocumentImpl(OMElement documentElement, OMXMLParserWrapper parserWrapper) {
+ this.documentElement = documentElement;
this.parserWrapper = parserWrapper;
}
@@ -101,24 +101,24 @@
}
/**
- * Method getRootElement
+ * Method getDocumentElement
*
* @return om element
*/
public OMElement getOMDocumentElement() {
- while (rootElement == null) {
+ while (documentElement == null) {
parserWrapper.next();
}
- return rootElement;
+ return documentElement;
}
/**
- * Method setRootElement
+ * Method setDocumentElement
*
- * @param rootElement
+ * @param documentElement
*/
- public void setOMDocumentElement(OMElement rootElement) {
- this.rootElement = rootElement;
+ public void setOMDocumentElement(OMElement documentElement) {
+ this.documentElement = documentElement;
}
/**
@@ -157,9 +157,9 @@
*/
public void addChild(OMNode child) {
if(child instanceof OMElement) {
- if(this.rootElement == null) {
+ if(this.documentElement == null) {
addChild((OMNodeImpl) child);
- this.rootElement = (OMElement)child;
+ this.documentElement = (OMElement)child;
} else {
throw new OMException("Document element already exists");
}
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/SOAPMessageImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/SOAPMessageImpl.java?rev=358243&r1=358242&r2=358243&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/SOAPMessageImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/soap/impl/llom/SOAPMessageImpl.java Wed Dec 21 01:34:34 2005
@@ -49,7 +49,7 @@
public void setSOAPEnvelope(SOAPEnvelope envelope) throws SOAPProcessingException {
super.addChild(envelope);
- this.rootElement = envelope;
+ this.documentElement = envelope;
}
public void setOMDocumentElement(OMElement rootElement) {
@@ -62,9 +62,9 @@
protected void serialize(OMOutputImpl omOutput, boolean cache, boolean includeXMLDeclaration) throws XMLStreamException {
if (cache) {
- ((OMNodeEx)this.rootElement).serialize(omOutput);
+ ((OMNodeEx)this.documentElement).serialize(omOutput);
} else {
- ((OMNodeEx)this.rootElement).serializeAndConsume(omOutput);
+ ((OMNodeEx)this.documentElement).serializeAndConsume(omOutput);
}
}
}