whitlock 2005/06/13 06:48:56
Modified: c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
ClientStubHeaderWriter.java ClientStubWriter.java
c/tests/auto_build/testcases/client/cpp MultiOutClient.cpp
c/tests/auto_build/testcases/wsdls MultiOut.wsdl
Log:
AXISCPP-679 Don't generate extra leading comma in generated parameter list when there are
multiple output parameters but no input parameters. Test this case in the MultiOut unit test.
Revision Changes Path
1.35 +6 -2 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java
Index: ClientStubHeaderWriter.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubHeaderWriter.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- ClientStubHeaderWriter.java 3 Jun 2005 08:55:39 -0000 1.34
+++ ClientStubHeaderWriter.java 13 Jun 2005 13:48:56 -0000 1.35
@@ -107,9 +107,11 @@
writer.write(minfo.getMethodname() + "(");
//write parameter names
+ boolean hasInputParms = false;
Iterator params = minfo.getInputParameterTypes().iterator();
if (params.hasNext())
{
+ hasInputParms = true;
ParameterInfo fparam = (ParameterInfo) params.next();
String paramTypeName = WrapperUtils.getClassNameFromParamInfoConsideringArrays(fparam,
wscontext);
if (CUtils.isSimpleType(paramTypeName)
@@ -158,8 +160,10 @@
for (int j = 0; params.hasNext(); j++)
{
ParameterInfo nparam = (ParameterInfo) params.next();
- writer.write(
- ", AXIS_OUT_PARAM "
+ String comma = ", ";
+ if (!hasInputParms && 0==j) comma = "";
+ writer.write(comma
+ + "AXIS_OUT_PARAM "
+ WrapperUtils
.getClassNameFromParamInfoConsideringArrays(
nparam,
1.90 +3 -1 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
Index: ClientStubWriter.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -r1.89 -r1.90
--- ClientStubWriter.java 11 Jun 2005 21:44:59 -0000 1.89
+++ ClientStubWriter.java 13 Jun 2005 13:48:56 -0000 1.90
@@ -394,7 +394,9 @@
wscontext.getTypemap ().getType (((ParameterInfo) paramsC.
get (i)).
getSchemaName ());
- writer.write (", AXIS_OUT_PARAM " +
+ String comma = ", ";
+ if (paramsB.size()==0 && 0==i) comma = "";
+ writer.write (comma + "AXIS_OUT_PARAM " +
WrapperUtils.
getClassNameFromParamInfoConsideringArrays ((ParameterInfo) paramsC.get (i), wscontext)
+ "* OutValue" + i);
}
1.3 +1 -3 ws-axis/c/tests/auto_build/testcases/client/cpp/MultiOutClient.cpp
Index: MultiOutClient.cpp
===================================================================
RCS file: /home/cvs/ws-axis/c/tests/auto_build/testcases/client/cpp/MultiOutClient.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- MultiOutClient.cpp 11 Jun 2005 21:44:59 -0000 1.2
+++ MultiOutClient.cpp 13 Jun 2005 13:48:56 -0000 1.3
@@ -28,7 +28,6 @@
{
MultiOut ws(argv[1]);
- xsd__int Value0 = 12;
xsd__string OutValue0 = NULL;
xsd__integer OutValue1 = 0;
xsd__int OutValue2 = 0;
@@ -40,8 +39,7 @@
xsd__boolean OutValue8 = false_;
xsd__byte OutValue9 = 0;
- ws.get(Value0,
- &OutValue0,
+ ws.get(&OutValue0,
&OutValue1,
&OutValue2,
&OutValue3,
1.2 +0 -1 ws-axis/c/tests/auto_build/testcases/wsdls/MultiOut.wsdl
Index: MultiOut.wsdl
===================================================================
RCS file: /home/cvs/ws-axis/c/tests/auto_build/testcases/wsdls/MultiOut.wsdl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MultiOut.wsdl 10 Jun 2005 15:33:39 -0000 1.1
+++ MultiOut.wsdl 13 Jun 2005 13:48:56 -0000 1.2
@@ -33,7 +33,6 @@
<element name="get0">
<complexType>
<sequence>
- <element name="in" type="xsd:int"/>
</sequence>
</complexType>
</element>
|