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 di...@apache.org on 2005/11/18 12:39:17 UTC
svn commit: r345481 - in /webservices/axis/trunk/c:
src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/
tests/auto_build/testcases/client/cpp/ tests/auto_build/testcases/output/
Author: dicka
Date: Fri Nov 18 03:39:04 2005
New Revision: 345481
URL: http://svn.apache.org/viewcvs?rev=345481&view=rev
Log:
Further updates to resolve Jira issue AXISCPP-149.
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp
webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/RecurseTypesClient.cpp
webservices/axis/trunk/c/tests/auto_build/testcases/output/SameComplexTypeAndElementName_Request.expected
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java?rev=345481&r1=345480&r2=345481&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java Fri Nov 18 03:39:04 2005
@@ -484,24 +484,6 @@
else
{
arrayType = attribs[i].getTypeName();
- if (isNillable())
- {
- writer.write("\tif(param->" + attribs[i].getParamNameAsMember() + " == NULL)\n");
- writer.write("\t{\n");
- writer.write("\t\tpSZ->serializeAsAttribute( \"<"
- + attribs[i].getParamName()
- + " xsi:nil\", 0, (void*)&(xsd_boolean_true), XSD_BOOLEAN);\n");
- writer.write("\t\tpSZ->serialize( \"/>\", NULL);\n");
- writer.write("\t}\n");
- writer.write("\telse\n\t");
- }
- else
- {
- if (attribs[i].isOptional())
- {
- writer.write("\tif(param->" + attribs[i].getParamNameAsMember() + " != NULL)\n\t");
- }
- }
writer.write("\tpSZ->serializeCmplxArray(param->"
+ attribs[i].getParamNameAsMember()
+ ",\n");
@@ -1026,7 +1008,7 @@
{
if (attribs[i].isArray())
{
- writer.write("\t" + attribs[i].getParamNameAsMember() + " = NULL;\n");
+ writer.write("\t" + attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName() +"_Array();\n");
}
}
writer.write("\treset();\n");
@@ -1036,21 +1018,28 @@
writer.write("\n" + classname + "::" + classname + "(" + classname + " & original)\n{\n");
for (int i = 0 ; i < attribs.length ; i++)
{
- if (attribs[i].isSimpleType() && CUtils.isPointerType(attribs[i].getTypeName()))
+ if (attribs[i].isArray())
{
- writer.write("\tif(original." + attribs[i].getParamName() + " != NULL)\n");
- writer.write("\t{\n");
- writer.write("\t\t" + attribs[i].getParamName() + " = new char[strlen(original." + attribs[i].getParamName() + ") + 1];\n");
- writer.write("\t\tstrcpy(" + attribs[i].getParamName() + ", original." + attribs[i].getParamName() + ");\n");
- writer.write("\t}\n");
- writer.write("\telse\n");
- writer.write("\t{\n");
- writer.write("\t\t" + attribs[i].getParamName() + " = NULL;\n");
- writer.write("\t}\n");
+ writer.write("\t" + attribs[i].getParamName() + " = new " + attribs[i].getTypeName() + "_Array(*original." + attribs[i].getParamName() + ");\n");
}
else
{
- writer.write("\t" + attribs[i].getParamName() + " = original." + attribs[i].getParamName() + ";\n");
+ if (attribs[i].isSimpleType() && CUtils.isPointerType(attribs[i].getTypeName()))
+ {
+ writer.write("\tif(original." + attribs[i].getParamName() + " != NULL)\n");
+ writer.write("\t{\n");
+ writer.write("\t\t" + attribs[i].getParamName() + " = new char[strlen(original." + attribs[i].getParamName() + ") + 1];\n");
+ writer.write("\t\tstrcpy(" + attribs[i].getParamName() + ", original." + attribs[i].getParamName() + ");\n");
+ writer.write("\t}\n");
+ writer.write("\telse\n");
+ writer.write("\t{\n");
+ writer.write("\t\t" + attribs[i].getParamName() + " = NULL;\n");
+ writer.write("\t}\n");
+ }
+ else
+ {
+ writer.write("\t" + attribs[i].getParamName() + " = original." + attribs[i].getParamName() + ";\n");
+ }
}
}
writer.write("}\n");
@@ -1080,10 +1069,7 @@
{
if (attribs[i].isArray())
{
- writer.write("\tif ( " + attribs[i].getParamNameAsMember() + " != NULL)\n");
- writer.write("\t{\n");
- writer.write("\t\t" + attribs[i].getParamNameAsMember() + "->clear();\n");
- writer.write("\t}\n");
+ writer.write("\t" + attribs[i].getParamNameAsMember() + "->clear();\n");
}
else if (!attribs[i].isSimpleType())
{
@@ -1108,7 +1094,7 @@
{
if(CUtils.isPointerType(attribs[i].getTypeName()))
{
- writer.write("\t"+ attribs[i].getParamNameAsMember() + "=0;\n");
+ writer.write("\t"+ attribs[i].getParamNameAsMember() + " = NULL;\n");
}
}
}
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp?rev=345481&r1=345480&r2=345481&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/NestedComplexClient.cpp Fri Nov 18 03:39:04 2005
@@ -126,7 +126,7 @@
}
catch(exception& e)
{
- cout << "Unknown exception has occured" << endl;
+ cout << "Unknown exception has occured : " << e.what() << endl;
}
catch(...)
{
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/RecurseTypesClient.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/RecurseTypesClient.cpp?rev=345481&r1=345480&r2=345481&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/RecurseTypesClient.cpp (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/client/cpp/RecurseTypesClient.cpp Fri Nov 18 03:39:04 2005
@@ -53,23 +53,24 @@
} else
ws = new RecurseTypesWS();
- Kind inputAtt,*outputAtt;
- Type1 *input,*output,*pTemp;
+ Type1 *input,*output;
int i;
input = new Type1 ();
- input->att_kind = Kind_CHEQUE;
- input->kind = "Check In";
+ input->att_kind = new char[strlen(Kind_CHEQUE) + 1];
+ strcpy(input->att_kind, Kind_CHEQUE);
+ input->kind = new char[strlen("Check In") + 1];
+ strcpy(input->kind, "Check In");
Type1_Array arrayIn;
Type1 ** array = new Type1*[10];
- //input->followings.m_Array = new Type1[10];
- //input->followings.m_Size = 10;
- //pTemp = input->followings.m_Array;
- for ( i = 0; i < 10; i++ ) {
+ for ( i = 0; i < 10; i++ )
+ {
array[i]=new Type1();
- array[i]->kind = "Sample";
+ array[i]->kind = new char[strlen("Sample") + 1];
+ strcpy(array[i]->kind, "Sample");
+ array[i]->index = 0;
}
arrayIn.set(array,10);
input->setfollowings(&arrayIn);
@@ -81,7 +82,6 @@
else {
cout << "\tAtt_kind = " << output->att_kind << endl;
cout << "\tKind = " << output->kind << endl;
- array=NULL;
int outputSize = 0;
Type1 ** outArray = output->followings->get(outputSize);;
for ( i = 0; i < outputSize; i++ ) {
@@ -90,8 +90,11 @@
// Clear up input array
for (int deleteIndex = 0 ; deleteIndex < 10 ; deleteIndex++ )
{
- delete [] array[deleteIndex];
+ delete array[deleteIndex];
}
+ delete [] array;
+ delete input;
+ delete output;
returnValue = 0; // Success
bSuccess = true;
Modified: webservices/axis/trunk/c/tests/auto_build/testcases/output/SameComplexTypeAndElementName_Request.expected
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/tests/auto_build/testcases/output/SameComplexTypeAndElementName_Request.expected?rev=345481&r1=345480&r2=345481&view=diff
==============================================================================
--- webservices/axis/trunk/c/tests/auto_build/testcases/output/SameComplexTypeAndElementName_Request.expected (original)
+++ webservices/axis/trunk/c/tests/auto_build/testcases/output/SameComplexTypeAndElementName_Request.expected Fri Nov 18 03:39:04 2005
@@ -8,7 +8,7 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:anElementBase xmlns:ns1="SameComplexTypeAndElementName">
-<Element><ns2:SampleBeanBoolean_ xmlns:ns2="SameComplexTypeAsElement">false</ns2:SampleBeanBoolean_>
+<Element><ns3:SampleBeanBoolean_ xmlns:ns3="SameComplexTypeAsElement">false</ns3:SampleBeanBoolean_>
</Element>
</ns1:anElementBase>
</SOAP-ENV:Body>
@@ -24,7 +24,7 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:anElementComplex xmlns:ns1="SameComplexTypeAndElementName">
-<Element><ns2:Boolean xmlns:ns2="SameComplexTypeAsElement">false</ns2:Boolean>
+<Element><ns3:Boolean xmlns:ns3="SameComplexTypeAsElement">false</ns3:Boolean>
</Element>
</ns1:anElementComplex>
</SOAP-ENV:Body>