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 ch...@apache.org on 2005/12/29 10:36:27 UTC
svn commit: r359761 - in /webservices/axis2/trunk/java/modules:
adb/src/org/apache/axis2/databinding/
adb/src/org/apache/axis2/databinding/utils/
xml/src/org/apache/axis2/om/impl/llom/
xml/src/org/apache/axis2/om/impl/llom/serialize/
Author: chinthaka
Date: Thu Dec 29 01:36:08 2005
New Revision: 359761
URL: http://svn.apache.org/viewcvs?rev=359761&view=rev
Log:
Applying Dims' changes with minor fixes.
Modified:
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/ADBSOAPModelBuilder.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ADBPullParser.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java
webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/serialize/StreamingOMSerializer.java
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/ADBSOAPModelBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/ADBSOAPModelBuilder.java?rev=359761&r1=359760&r2=359761&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/ADBSOAPModelBuilder.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/ADBSOAPModelBuilder.java Thu Dec 29 01:36:08 2005
@@ -1,14 +1,14 @@
package org.apache.axis2.databinding;
-import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder;
-import org.apache.axis2.om.impl.OMNodeEx;
import org.apache.axis2.om.OMException;
-import org.apache.axis2.soap.SOAPFactory;
-import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.om.impl.OMNodeEx;
+import org.apache.axis2.om.impl.llom.builder.StAXOMBuilder;
import org.apache.axis2.soap.SOAPBody;
+import org.apache.axis2.soap.SOAPEnvelope;
+import org.apache.axis2.soap.SOAPFactory;
-import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
/**
* Builds a SOAPEnvelope around an ADB pull parser
@@ -33,7 +33,12 @@
((OMNodeEx)body).setComplete(false);
}
+ long count = -1;
public int next() throws OMException {
+ count++;
+ if(count == 0)
+ return 0;
+
int ret = super.next();
try {
// Peek to see if the parser has any more and set the done flag.
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ADBPullParser.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ADBPullParser.java?rev=359761&r1=359760&r2=359761&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ADBPullParser.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/ADBPullParser.java Thu Dec 29 01:36:08 2005
@@ -619,7 +619,11 @@
}
public int getEventType() {
- throw new UnsupportedOperationException("Yet to be implemented !!");
+ try {
+ return next();
+ } catch (XMLStreamException e) {
+ throw new RuntimeException("FIXME");
+ }
}
public char[] getTextCharacters() {
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java?rev=359761&r1=359760&r2=359761&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMElementImpl.java Thu Dec 29 01:36:08 2005
@@ -53,7 +53,7 @@
public class OMElementImpl extends OMNodeImpl
implements OMElement, OMConstants, OMContainerEx {
- private Log logger = LogFactory.getLog(getClass());
+ private Log logger;
/**
* Field ns
*/
@@ -96,6 +96,7 @@
}
this.builder = builder;
firstChild = null;
+ getLogger();
}
@@ -124,6 +125,7 @@
if (ns != null) {
setNamespace(ns);
}
+ getLogger();
}
/**
@@ -199,7 +201,7 @@
* the OMNodes.
* This QName can contain any combination of prefix, localname and URI
*
- * @throws org.apache.axis2.om.OMException
+ * @throws OMException
*
* @throws OMException
*/
@@ -254,14 +256,14 @@
/**
* This will give the next sibling. This can be an OMAttribute for OMAttribute or OMText or OMELement for others.
*
- * @throws org.apache.axis2.om.OMException
+ * @throws OMException
*
* @throws OMException
*/
public OMNode getNextOMSibling() throws OMException {
while (!done) {
int token = builder.next();
- if(token == XMLStreamConstants.END_DOCUMENT) {
+ if (token == XMLStreamConstants.END_DOCUMENT) {
throw new OMException();
}
}
@@ -349,21 +351,21 @@
* This can also be used to retrieve the prefix of a known namespace URI
*/
private OMNamespace findDeclaredNamespace(String uri, String prefix) {
-
-
- if(uri == null) {
- return null;
- }
-
- //If the prefix is available and uri is available and its the xml namespace
- if(prefix != null && prefix.equals(OMConstants.XMLNS_PREFIX) && uri.equals(OMConstants.XMLNS_URI)) {
- return new OMNamespaceImpl(uri, prefix);
- }
-
- if (namespaces == null) {
+
+
+ if (uri == null) {
return null;
}
-
+
+ //If the prefix is available and uri is available and its the xml namespace
+ if (prefix != null && prefix.equals(OMConstants.XMLNS_PREFIX) && uri.equals(OMConstants.XMLNS_URI)) {
+ return new OMNamespaceImpl(uri, prefix);
+ }
+
+ if (namespaces == null) {
+ return null;
+ }
+
if (prefix == null || "".equals(prefix)) {
Iterator namespaceListIterator = namespaces.values().iterator();
while (namespaceListIterator.hasNext()) {
@@ -380,11 +382,11 @@
if (namespace != null && uri.equalsIgnoreCase(namespace.getName())) {
return namespace;
} else {
- return null;
+ return null;
}
}
- }
-
+ }
+
/**
* Method getAllDeclaredNamespaces
@@ -397,9 +399,11 @@
public void remove() {
throw new UnsupportedOperationException();
}
+
public boolean hasNext() {
return false;
}
+
public Object next() {
return null;
}
@@ -539,7 +543,7 @@
/**
* This will remove this information item and its children, from the model completely
*
- * @throws org.apache.axis2.om.OMException
+ * @throws OMException
*
* @throws OMException
*/
@@ -571,7 +575,7 @@
/**
* getXMLStreamReader
*
- * @see org.apache.axis2.om.OMElement#getXMLStreamReader()
+ * @see OMElement#getXMLStreamReader()
*/
public XMLStreamReader getXMLStreamReader() {
return getXMLStreamReader(true);
@@ -580,7 +584,7 @@
/**
* getXMLStreamReaderWithoutCaching
*
- * @see org.apache.axis2.om.OMElement#getXMLStreamReaderWithoutCaching()
+ * @see OMElement#getXMLStreamReaderWithoutCaching()
*/
public XMLStreamReader getXMLStreamReaderWithoutCaching() {
return getXMLStreamReader(false);
@@ -699,16 +703,18 @@
//has nothing to do if the element is already built!
if (this.done) {
OMSerializerUtil.serializeStartpart(this, omOutput);
- //serializeAndConsume children
- Iterator children = this.getChildren();
- while (children.hasNext()) {
- //A call to the Serialize or the serializeAndConsume wont make a difference here
- ((OMNodeEx) children.next()).serializeAndConsume(omOutput);
+ OMNodeImpl child = (OMNodeImpl) firstChild;
+ while(child != null && ((!(child instanceof OMElement)) || child.isComplete())) {
+ child.serializeAndConsume(omOutput);
+ child = child.nextSibling;
+ }
+ if(child != null) {
+ OMElement element = (OMElement) child;
+ element.getBuilder().setCache(false);
+ OMSerializerUtil.serializeByPullStream(element, omOutput, cache);
}
OMSerializerUtil.serializeEndpart(omOutput);
} else {
- //take the XMLStream reader and feed it to the stream serilizer.
- //todo is this right ?????
OMSerializerUtil.serializeByPullStream(this, omOutput, cache);
}
@@ -732,15 +738,6 @@
}
/**
- * Method getNextNamespacePrefix
- *
- * @return prefix
- */
- private String getNextNamespacePrefix() {
- return "ns" + ++noPrefixNamespaceCounter;
- }
-
- /**
* Get first element
*
* @return element
@@ -860,5 +857,16 @@
OMElement clonedElement = new StAXOMBuilder(this.getXMLStreamReader(true)).getDocumentElement();
clonedElement.build();
return clonedElement;
+ }
+
+ public Log getLogger() {
+ if (logger == null) {
+ if (parent != null && parent instanceof OMElementImpl) {
+ logger = ((OMElementImpl) parent).getLogger();
+ }else {
+ logger = LogFactory.getLog(getClass());
+ }
+ }
+ return logger;
}
}
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java?rev=359761&r1=359760&r2=359761&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMStAXWrapper.java Thu Dec 29 01:36:08 2005
@@ -875,7 +875,9 @@
updateLastNode();
break;
case SWITCHED:
- currentEvent = parser.next();
+ if(parser.hasNext()) {
+ currentEvent = parser.next();
+ }
updateCompleteStatus();
break;
default :
Modified: webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/serialize/StreamingOMSerializer.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/serialize/StreamingOMSerializer.java?rev=359761&r1=359760&r2=359761&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/serialize/StreamingOMSerializer.java (original)
+++ webservices/axis2/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/serialize/StreamingOMSerializer.java Thu Dec 29 01:36:08 2005
@@ -143,8 +143,13 @@
// add the namespaces
int count = reader.getNamespaceCount();
+ String namespacePrefix;
for (int i = 0; i < count; i++) {
- serializeNamespace(reader.getNamespacePrefix(i),
+ namespacePrefix = reader.getNamespacePrefix(i);
+ if(namespacePrefix != null && namespacePrefix.length()==0)
+ continue;
+
+ serializeNamespace(namespacePrefix,
reader.getNamespaceURI(i), writer);
}
}