Author: scheu
Date: Wed Oct 24 13:58:25 2007
New Revision: 588018
URL: http://svn.apache.org/viewvc?rev=588018&view=rev
Log:
WSCOMMONS-268
Contributor:Rich Scheuerle
Minor refactoring of the internalSerialize method on the llom SOAPFault*
classes.
The refactoring do a better job of delegating to the super classes to serialize
the data.
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPElement.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultDetailImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultNodeImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultRoleImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPElement.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPElement.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPElement.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPElement.java
Wed Oct 24 13:58:25 2007
@@ -24,9 +24,12 @@
import org.apache.axiom.om.OMNamespace;
import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.llom.OMElementImpl;
+import
org.apache.axiom.om.impl.serialize.StreamWriterToContentHandlerConverter;
import org.apache.axiom.soap.SOAPFactory;
import org.apache.axiom.soap.SOAPProcessingException;
+import javax.xml.stream.XMLStreamWriter;
+
public abstract class SOAPElement extends OMElementImpl {
/**
@@ -79,5 +82,24 @@
}
}
+ /**
+ * Utility method to register a content handler for
+ * push type builders.
+ * @param writer
+ * @return PULL_TYPE_BUILDER or PUSH_TYPE_BUILDER
+ */
+ protected short registerContentHandler(XMLStreamWriter writer) {
+ // 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));
+ }
+ return builderType;
+ }
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultDetailImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultDetailImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultDetailImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultDetailImpl.java
Wed Oct 24 13:58:25 2007
@@ -66,30 +66,9 @@
protected 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,
- this.localName,
- writer);
-
- OMNode child = firstChild;
- while (child != null && ((!(child instanceof OMElement)) ||
child.isComplete())) {
- ((OMNodeImpl) child).internalSerializeAndConsume(writer);
- child = child.getNextOMSibling();
- }
-
- writer.writeEndElement();
-
+ this.registerContentHandler(writer);
+ super.internalSerialize(writer, cache);
}
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultImpl.java
Wed Oct 24 13:58:25 2007
@@ -155,17 +155,8 @@
protected 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));
- }
-
+ this.registerContentHandler(writer);
+
// this is a special case. This fault element may contain its children
in any order. But spec mandates a specific order
// the overriding of the method will facilitate that. Not sure this is
the best method to do this :(
build();
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultNodeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultNodeImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultNodeImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultNodeImpl.java
Wed Oct 24 13:58:25 2007
@@ -55,50 +55,4 @@
public String getNodeValue() {
return this.getText();
}
-
- protected 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));
- }
-
-
- if (!cache) {
- //No caching
- if (this.firstChild != null) {
- OMSerializerUtil.serializeStartpart(this, writer);
- ((OMNodeEx) firstChild).internalSerializeAndConsume(writer);
- 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
- }
-
-
- }
-
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultRoleImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultRoleImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultRoleImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/SOAPFaultRoleImpl.java
Wed Oct 24 13:58:25 2007
@@ -62,49 +62,4 @@
public String getRoleValue() {
return this.getText();
}
-
- protected 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));
- }
-
- if (!cache) {
- //No caching
- if (this.firstChild != null) {
- OMSerializerUtil.serializeStartpart(this, writer);
- ((OMNodeEx) firstChild).internalSerializeAndConsume(writer);
- 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
- }
-
-
- }
-
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultCodeImpl.java
Wed Oct 24 13:58:25 2007
@@ -77,17 +77,7 @@
protected 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));
- }
+ this.registerContentHandler(writer);
OMSerializerUtil.serializeStartpart(this,
SOAP11Constants.SOAP_FAULT_CODE_LOCAL_NAME,
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultReasonImpl.java
Wed Oct 24 13:58:25 2007
@@ -71,18 +71,9 @@
protected void internalSerialize(XMLStreamWriter writer, boolean cache)
throws XMLStreamException {
+ this.registerContentHandler(writer);
- // 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));
- }
-
+ // Special syntax
OMSerializerUtil.serializeStartpart(this,
SOAP11Constants.SOAP_FAULT_STRING_LOCAL_NAME,
writer);
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap11/SOAP11FaultRoleImpl.java
Wed Oct 24 13:58:25 2007
@@ -58,16 +58,7 @@
protected 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));
- }
+ this.registerContentHandler(writer);
OMSerializerUtil.serializeStartpart(this,
SOAP11Constants.SOAP_FAULT_ACTOR_LOCAL_NAME,
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultImpl.java
Wed Oct 24 13:58:25 2007
@@ -127,7 +127,7 @@
SOAPFaultNode faultNode = getNode();
if (faultNode != null && faultNode.getText() != null
&& !"".equals(faultNode.getText())) {
- faultNode.serialize(writer);
+ ((SOAP12FaultNodeImpl) faultNode).internalSerialize(writer);
}
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultNodeImpl.java
Wed Oct 24 13:58:25 2007
@@ -26,6 +26,9 @@
import org.apache.axiom.soap.SOAPProcessingException;
import org.apache.axiom.soap.impl.llom.SOAPFaultNodeImpl;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
public class SOAP12FaultNodeImpl extends SOAPFaultNodeImpl {
@@ -47,5 +50,11 @@
throw new SOAPProcessingException(
"Expecting SOAP12FaultImpl, got " + parent.getClass());
}
+ }
+
+ protected void internalSerialize(XMLStreamWriter writer, boolean cache)
+ throws XMLStreamException {
+ this.registerContentHandler(writer);
+ super.internalSerialize(writer, cache);
}
}
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
URL:
http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java?rev=588018&r1=588017&r2=588018&view=diff
==============================================================================
---
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
(original)
+++
webservices/commons/trunk/modules/axiom/modules/axiom-impl/src/main/java/org/apache/axiom/soap/impl/llom/soap12/SOAP12FaultRoleImpl.java
Wed Oct 24 13:58:25 2007
@@ -21,11 +21,16 @@
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMXMLParserWrapper;
+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.llom.SOAPFaultRoleImpl;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
public class SOAP12FaultRoleImpl extends SOAPFaultRoleImpl {
public SOAP12FaultRoleImpl(SOAPFault parent, SOAPFactory factory)
@@ -47,5 +52,12 @@
throw new SOAPProcessingException(
"Expecting SOAP12FaultImpl, got " + parent.getClass());
}
+ }
+
+ protected void internalSerialize(XMLStreamWriter writer, boolean cache)
+ throws XMLStreamException {
+
+ this.registerContentHandler(writer);
+ super.internalSerialize(writer, cache);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]