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 ds...@apache.org on 2006/12/20 12:15:50 UTC
svn commit: r489046 -
/webservices/axis2/branches/java/1_1/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl
Author: dsosnoski
Date: Wed Dec 20 03:15:49 2006
New Revision: 489046
URL: http://svn.apache.org/viewvc?view=rev&rev=489046
Log:
Work around Axiom changes
Modified:
webservices/axis2/branches/java/1_1/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl
Modified: webservices/axis2/branches/java/1_1/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl?view=diff&rev=489046&r1=489045&r2=489046
==============================================================================
--- webservices/axis2/branches/java/1_1/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl (original)
+++ webservices/axis2/branches/java/1_1/modules/jibx/src/org/apache/axis2/jibx/template/JibXDatabindingTemplate.xsl Wed Dec 20 03:15:49 2006
@@ -134,10 +134,15 @@
<!-- returning an array of values -->
<xsl:when test="out-wrapper/@empty='false' and out-wrapper/return-element/@array='true'">
+ <xsl:variable name="wrapper-uri" select="out-wrapper/@ns"/>
+ <xsl:variable name="wrapper-prefix" select="out-wrapper/@prefix"/>
envelope = factory.getDefaultEnvelope();
- org.apache.axiom.om.OMElement wrapper = factory.createOMElement("<xsl:value-of select='out-wrapper/@name'/>", "<xsl:value-of select='out-wrapper/@ns'/>", "<xsl:value-of select='out-wrapper/@prefix'/>");
+ org.apache.axiom.om.OMElement wrapper = factory.createOMElement("<xsl:value-of select='out-wrapper/@name'/>", "<xsl:value-of select='$wrapper-uri'/>", "<xsl:value-of select='$wrapper-prefix'/>");
+ <xsl:if test="string-length(normalize-space($wrapper-prefix)) = 0">
+ wrapper.declareDefaultNamespace("<xsl:value-of select='$wrapper-uri'/>");
+ </xsl:if>
<xsl:if test="out-wrapper/@need-namespaces='true'">
- addMappingNamespaces(factory, wrapper);
+ addMappingNamespaces(factory, wrapper, "<xsl:value-of select='$wrapper-uri'/>", "<xsl:value-of select='$wrapper-prefix'/>");
</xsl:if>
<xsl:if test="count(out-wrapper/extra-namespace) > 0">
wrapper.declareNamespace(factory.createOMNamespace("<xsl:value-of select='out-wrapper/extra-namespace/@ns'/>", "<xsl:value-of select='out-wrapper/extra-namespace/@prefix'/>"));
@@ -201,10 +206,15 @@
<!-- returning a single value -->
<xsl:when test="out-wrapper/@empty='false'">
+ <xsl:variable name="wrapper-uri" select="out-wrapper/@ns"/>
+ <xsl:variable name="wrapper-prefix" select="out-wrapper/@prefix"/>
envelope = factory.getDefaultEnvelope();
- org.apache.axiom.om.OMElement wrapper = factory.createOMElement("<xsl:value-of select='out-wrapper/@name'/>", "<xsl:value-of select='out-wrapper/@ns'/>", "<xsl:value-of select='out-wrapper/@prefix'/>");
+ org.apache.axiom.om.OMElement wrapper = factory.createOMElement("<xsl:value-of select='out-wrapper/@name'/>", "<xsl:value-of select='$wrapper-uri'/>", "<xsl:value-of select='$wrapper-prefix'/>");
+ <xsl:if test="string-length(normalize-space($wrapper-prefix)) = 0">
+ wrapper.declareDefaultNamespace("<xsl:value-of select='$wrapper-uri'/>");
+ </xsl:if>
<xsl:if test="out-wrapper/@need-namespaces='true'">
- addMappingNamespaces(factory, wrapper);
+ addMappingNamespaces(factory, wrapper, "<xsl:value-of select='$wrapper-uri'/>", "<xsl:value-of select='$wrapper-prefix'/>");
</xsl:if>
<xsl:if test="count(out-wrapper/extra-namespace) > 0">
wrapper.declareNamespace(factory.createOMNamespace("<xsl:value-of select='out-wrapper/extra-namespace/@ns'/>", "<xsl:value-of select='out-wrapper/extra-namespace/@prefix'/>"));
@@ -371,8 +381,11 @@
org.apache.axiom.soap.SOAPEnvelope env = createEnvelope(_operationClient.getOptions());
org.apache.axiom.soap.SOAPFactory factory = getFactory(_operationClient.getOptions().getSoapVersionURI());
org.apache.axiom.om.OMElement wrapper = factory.createOMElement("<xsl:value-of select='in-wrapper/@name'/>", "<xsl:value-of select='in-wrapper/@ns'/>", "<xsl:value-of select='in-wrapper/@prefix'/>");
+ <xsl:if test="string-length(normalize-space(in-wrapper/@prefix)) = 0">
+ wrapper.declareDefaultNamespace("<xsl:value-of select='in-wrapper/@ns'/>");
+ </xsl:if>
<xsl:if test="in-wrapper/@need-namespaces='true'">
- addMappingNamespaces(factory, wrapper);
+ addMappingNamespaces(factory, wrapper, "<xsl:value-of select='in-wrapper/@ns'/>", "<xsl:value-of select='in-wrapper/@prefix'/>");
</xsl:if>
<xsl:if test="count(in-wrapper/extra-namespace) > 0">
wrapper.declareNamespace(factory.createOMNamespace("<xsl:value-of select='in-wrapper/extra-namespace/@ns'/>", "<xsl:value-of select='in-wrapper/extra-namespace/@prefix'/>"));
@@ -560,7 +573,7 @@
<!-- Convert the current value to an element. -->
<xsl:template name="serialize-value-to-child">
<xsl:choose>
- <xsl:when test="@java-type='String' and @serializer=''">
+ <xsl:when test="@java-type='java.lang.String' and @serializer=''">
child = factory.createOMElement("<xsl:value-of select='@name'/>", "<xsl:value-of select='@ns'/>", "<xsl:value-of select='@prefix'/>");
child.setText(<xsl:call-template name="parameter-or-array-item"/>);
</xsl:when>
@@ -745,13 +758,15 @@
throw new IllegalArgumentException("Namespace " + uri + " not found in binding directory information");
}
- private static void addMappingNamespaces(org.apache.axiom.soap.SOAPFactory factory, org.apache.axiom.om.OMElement wrapper) {
+ private static void addMappingNamespaces(org.apache.axiom.soap.SOAPFactory factory, org.apache.axiom.om.OMElement wrapper, String nsuri, String nspref) {
String[] nss = bindingFactory.getNamespaces();
for (int i = 0; i < bindingNamespaceIndexes.length; i++) {
int index = bindingNamespaceIndexes[i];
String uri = nss[index];
String prefix = bindingNamespacePrefixes[i];
- wrapper.declareNamespace(factory.createOMNamespace(uri, prefix));
+ if (!nsuri.equals(uri) || !nspref.equals(prefix)) {
+ wrapper.declareNamespace(factory.createOMNamespace(uri, prefix));
+ }
}
}
@@ -856,7 +871,7 @@
<!-- Convert the current element into a value. -->
<xsl:template name="deserialize-element-value">
<xsl:choose>
- <xsl:when test="@java-type='String' and @deserializer=''">
+ <xsl:when test="@java-type='java.lang.String' and @deserializer=''">
uctx.parseElementText("<xsl:value-of select="@ns"/>", "<xsl:value-of select="@name"/>")
</xsl:when>
<xsl:when test="@form='simple' and @deserializer=''">
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org