You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by cd...@apache.org on 2005/06/07 07:56:31 UTC
cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal WrapWriter.java
cdinapala 2005/06/06 22:56:31
Modified: c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
WrapWriter.java
Log:
Made some modifications to solve issue AXISCPP-662.
Revision Changes Path
1.38 +36 -8 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java
Index: WrapWriter.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- WrapWriter.java 3 Jun 2005 08:55:39 -0000 1.37
+++ WrapWriter.java 7 Jun 2005 05:56:31 -0000 1.38
@@ -440,17 +440,45 @@
{
writer.write(" *");
}
- writer.write(" ret = "
- + "pWs->"
- + methodName
- + "(");
- if (0 < paramsB.size())
+ //Chinthana:Add concept to handle nilable arrays.
+ if(returntypeisarray && returntypeissimple && returntype.isNillable() && outparamType != "xsd__string_Array")
{
- for (int i = 0; i < paramsB.size() - 1; i++)
+
+ writer.write(" ret = "
+ + "*(pWs->"
+ + methodName
+ + "(");
+ if (0 < paramsB.size())
{
- writer.write("v" + i + ",");
+ for (int i = 0; i < paramsB.size() - 1; i++)
+ {
+ ParameterInfo param = (ParameterInfo) paramsB.get(i);
+ if(param.isNillable())
+ writer.write("&");
+ writer.write("v" + i + ",");
+ }
+ ParameterInfo param = (ParameterInfo) paramsB.get(0);
+ if(param.isNillable())
+ writer.write("&");
+ writer.write("v" + (paramsB.size() - 1));
}
- writer.write("v" + (paramsB.size() - 1));
+ writer.write(")");
+ }
+ else
+ {
+ //06-06-2005...................................................................
+ writer.write(" ret = "
+ + "pWs->"
+ + methodName
+ + "(");
+ if (0 < paramsB.size())
+ {
+ for (int i = 0; i < paramsB.size() - 1; i++)
+ {
+ writer.write("v" + i + ",");
+ }
+ writer.write("v" + (paramsB.size() - 1));
+ }
}
writer.write(");\n");
/* set the result */