You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ve...@apache.org on 2010/04/25 16:09:34 UTC
svn commit: r937803 - in /webservices/commons/trunk/modules/axiom/modules:
axiom-api/src/test/java/org/apache/axiom/soap/
axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/
axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/
Author: veithen
Date: Sun Apr 25 14:09:33 2010
New Revision: 937803
URL: http://svn.apache.org/viewvc?rev=937803&view=rev
Log:
WSCOMMONS-530: Realigned the DOOM SOAPFaultDetail implementation with LLOM so that all detail entries are serialized. Thanks to Dave Bryant for reporting this issue.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultDetailTestBase.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultDetailTestBase.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultDetailTestBase.java?rev=937803&r1=937802&r2=937803&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultDetailTestBase.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/soap/SOAPFaultDetailTestBase.java Sun Apr 25 14:09:33 2010
@@ -19,6 +19,7 @@
package org.apache.axiom.soap;
+import java.io.StringWriter;
import java.util.Iterator;
import org.apache.axiom.om.OMElement;
@@ -123,4 +124,18 @@ public class SOAPFaultDetailTestBase ext
"SOAP Fault Detail Test With Parser : - getAllDetailEntries method returns an itrator with more than two detail entries",
!iterator.hasNext());
}
+
+ // Regression test for WSCOMMONS-530
+ public void testSerialization() throws Exception {
+ soapFaultDetail.addDetailEntry(
+ omFactory.createOMElement("DetailEntry1", omNamespace));
+ soapFaultDetail.addDetailEntry(
+ omFactory.createOMElement("DetailEntry2", omNamespace));
+ StringWriter out = new StringWriter();
+ soapFaultDetail.serialize(out);
+ String msg = out.toString();
+ System.out.println(msg);
+ assertTrue(msg.indexOf("DetailEntry1") != -1);
+ assertTrue(msg.indexOf("DetailEntry2") != -1);
+ }
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java?rev=937803&r1=937802&r2=937803&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/SOAPFaultDetailImpl.java Sun Apr 25 14:09:33 2010
@@ -22,7 +22,6 @@ package org.apache.axiom.soap.impl.dom;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
-import org.apache.axiom.om.impl.util.OMSerializerUtil;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPFaultDetail;
@@ -75,34 +74,6 @@ public abstract class SOAPFaultDetailImp
new StreamWriterToContentHandlerConverter(writer));
}
- if (!cache) {
- //No caching
- if (this.firstChild != null) {
- OMSerializerUtil.serializeStartpart(this, writer);
- firstChild.internalSerialize(writer, false);
- OMSerializerUtil.serializeEndpart(writer);
- } else if (!this.done) {
- if (builderType == PULL_TYPE_BUILDER) {
- OMSerializerUtil.serializeByPullStream(this, writer);
- } else {
- OMSerializerUtil.serializeStartpart(this, writer);
- builder.setCache(cache);
- builder.next();
- OMSerializerUtil.serializeEndpart(writer);
- }
- } else {
- OMSerializerUtil.serializeNormal(this, writer, cache);
- }
- // do not serialise the siblings
-
-
- } else {
- //Cached
- OMSerializerUtil.serializeNormal(this, writer, cache);
-
- // do not serialise the siblings
- }
-
-
+ super.internalSerialize(writer, cache);
}
}
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java?rev=937803&r1=937802&r2=937803&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-dom/src/main/java/org/apache/axiom/soap/impl/dom/soap11/SOAP11FaultDetailImpl.java Sun Apr 25 14:09:33 2010
@@ -21,17 +21,11 @@ package org.apache.axiom.soap.impl.dom.s
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMXMLParserWrapper;
-import org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
-import org.apache.axiom.om.impl.util.OMSerializerUtil;
-import org.apache.axiom.soap.SOAP11Constants;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPFault;
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.dom.SOAPFaultDetailImpl;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-
public class SOAP11FaultDetailImpl extends SOAPFaultDetailImpl {
public SOAP11FaultDetailImpl(SOAPFault parent, SOAPFactory factory)
@@ -55,33 +49,4 @@ public class SOAP11FaultDetailImpl exten
"the parent. But received some other implementation");
}
}
-
- public void internalSerialize(XMLStreamWriter writer, boolean cache)
- throws XMLStreamException {
-
- // select the builder
- short builderType = PULL_TYPE_BUILDER; // default is pull type
- if (builder != null) {
- builderType = this.builder.getBuilderType();
- }
- if ((builderType == PUSH_TYPE_BUILDER)
- && (builder.getRegisteredContentHandler() == null)) {
- builder.registerExternalContentHandler(
- new StreamWriterToContentHandlerConverter(writer));
- }
-
- OMSerializerUtil.serializeStartpart(this,
- SOAP11Constants.SOAP_FAULT_DETAIL_LOCAL_NAME,
- writer);
-
- writer.writeCharacters(this.getText());
-
-
- if (firstChild != null) {
- firstChild.internalSerialize(writer, false);
- }
- writer.writeEndElement();
- }
-
-
}