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>