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 di...@apache.org on 2005/03/09 14:11:06 UTC
cvs commit: ws-axis/c/tests/auto_build/testcases/output ComplexLists.expected
dicka 2005/03/09 05:11:06
Modified: c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
BeanParamWriter.java
c/tests/auto_build/testcases/client/cpp
ComplexListsClient.cpp
c/tests/auto_build/testcases/output ComplexLists.expected
Log:
Removed recent memory leak fixes that cause problems. Made changes to Client code for handling the printing of nil response values, which had been causing problems on Windows.
PR: AXISCPP-515
Submitted by: Adrian Dick
Revision Changes Path
1.57 +34 -32 ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
Index: BeanParamWriter.java
===================================================================
RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- BeanParamWriter.java 8 Mar 2005 09:28:30 -0000 1.56
+++ BeanParamWriter.java 9 Mar 2005 13:11:05 -0000 1.57
@@ -400,7 +400,7 @@
writer.write("\t" + attribs[i].getTypeName() + " * " + attribs[i].getParamNameAsMember()+ " = NULL;\n");
writer.write("\tif ((" + attribs[i].getParamNameAsMember()+ " = pIWSDZ->"+CUtils.getParameterGetValueMethodName(attribs[i].getTypeName(), attribs[i].isAttribute())+"( \""+ soapTagName +"\",0)) != NULL)\n");
writer.write("\t\tparam->"+attribs[i].getParamNameAsMember()+" = *( " + attribs[i].getParamNameAsMember()+" );\n");
- writer.write("\t\tdelete " + attribs[i].getParamNameAsMember()+";\n");
+// writer.write("\t\tdelete " + attribs[i].getParamNameAsMember()+";\n");
}
}
else
@@ -501,37 +501,39 @@
writer.write("\n"+classname+"::~"+classname+"()\n{\n");
}
writer.write("\t/*delete any pointer and array members here*/\n");
- for(int i = 0; i< attribs.length;i++){
- if(attribs[i].isArray()){
- if ( attribs[i].isSimpleType())
- {
- writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
- }
- else
- {
- if( isNillable())
- {
- writer.write("\tdelete "+attribs[i].getParamNameAsMember()+".m_Array;\n");
- }
- else
- {
- writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
- }
- }
- }
- else if (attribs[i].isAnyType()){
- writer.write("\tif ("+attribs[i].getParamNameAsMember()+") \n\t{ \n");
- writer.write("\t\tfor (int i=0; i<"+attribs[i].getParamNameAsMember()+"->_size; i++)\n\t\t{\n");
- writer.write("\t\t\tif ("+attribs[i].getParamNameAsMember()+"->_array[i]) delete [] "+attribs[i].getParamNameAsMember()+"->_array[i];\n");
- writer.write("\t\t}\n");
- writer.write("\t\tdelete "+attribs[i].getParamNameAsMember()+";\n");
- writer.write("\t}\n");
-
- }
- else if (!attribs[i].isSimpleType()){
- writer.write("\tdelete "+attribs[i].getParamNameAsMember()+";\n");
- }
- }
+ // Adrian - seeing problems of losing data when clearing up,
+ // so temporarily remove this section, until such time as a better solution is found
+// for(int i = 0; i< attribs.length;i++){
+// if(attribs[i].isArray()){
+// if ( attribs[i].isSimpleType())
+// {
+// writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
+// }
+// else
+// {
+// if( isNillable())
+// {
+// writer.write("\tdelete "+attribs[i].getParamNameAsMember()+".m_Array;\n");
+// }
+// else
+// {
+// writer.write("\tdelete [] (("+attribs[i].getTypeName()+"*)"+attribs[i].getParamNameAsMember()+".m_Array);\n");
+// }
+// }
+// }
+// else if (attribs[i].isAnyType()){
+// writer.write("\tif ("+attribs[i].getParamNameAsMember()+") \n\t{ \n");
+// writer.write("\t\tfor (int i=0; i<"+attribs[i].getParamNameAsMember()+"->_size; i++)\n\t\t{\n");
+// writer.write("\t\t\tif ("+attribs[i].getParamNameAsMember()+"->_array[i]) delete [] "+attribs[i].getParamNameAsMember()+"->_array[i];\n");
+// writer.write("\t\t}\n");
+// writer.write("\t\tdelete "+attribs[i].getParamNameAsMember()+";\n");
+// writer.write("\t}\n");
+//
+// }
+// else if (!attribs[i].isSimpleType()){
+// writer.write("\tdelete "+attribs[i].getParamNameAsMember()+";\n");
+// }
+// }
writer.write("}\n");
}catch(IOException e){
throw new WrapperFault(e);
1.2 +61 -37 ws-axis/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp
Index: ComplexListsClient.cpp
===================================================================
RCS file: /home/cvs/ws-axis/c/tests/auto_build/testcases/client/cpp/ComplexListsClient.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ComplexListsClient.cpp 7 Mar 2005 14:11:23 -0000 1.1
+++ ComplexListsClient.cpp 9 Mar 2005 13:11:05 -0000 1.2
@@ -12,10 +12,66 @@
#include "ComplexLists.hpp"
#include <axis/AxisException.hpp>
-#include <iostream>
+#include <iostream.h>
#define ARRAYSIZE 2
+void printResponse(attrlisterr* ale)
+{
+ if(ale)
+ {
+ if (ale->errortext)
+ {
+ cout << ale->errortext << endl;
+ }
+ else
+ {
+ cout << "ale->errortext is NULL" << endl;
+ }
+
+ if (ale->errorcode)
+ {
+ cout << ale->errorcode << endl;
+ }
+ else
+ {
+ cout << "ale->errorcode is NULL" << endl;
+ }
+
+ if (ale->attrlist_Ref != NULL)
+ {
+ if (ale->attrlist_Ref->item.m_Array[0] != NULL)
+ {
+ if (ale->attrlist_Ref->item.m_Array[0]->name != NULL)
+ {
+ cout << ale->attrlist_Ref->item.m_Array[0]->name << endl;
+ }
+ else
+ {
+ cout << "ale->attrlist_Ref->item.m_Array[0]->name is NULL" << endl;
+ }
+
+ if (ale->attrlist_Ref->item.m_Array[0]->m_list_Ref != NULL)
+ {
+ if (ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0]
+ && *(ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0]))
+ {
+ cout << ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0] << endl;
+ }
+ else
+ {
+ cout << "ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0]" << endl;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ cout << "Deserialized response is NULL" << endl;
+ }
+}
+
int main(int argc, char* argv[])
{
char endpoint[256];
@@ -72,49 +128,17 @@
al.item = npArr;
attrlisterr* ale = ws->multilist(&ml, &al);
- if(ale) {
- // Should have an errortext string, an errorcode int and a m_list object returned
- cout << ale->errortext << endl; // should be 'request successful'
- cout << ale->errorcode << endl; // should be 7
- cout << ale->attrlist_Ref->item.m_Array[0]->name << endl; // 'namepair return'
- cout << ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0] << endl; // 'never odd or even'
- } else {
- cout << "Deserialized response is NULL" << endl;
- }
+ printResponse(ale);
ale = ws->multilist((m_list*)NULL, &al);
- if(ale) {
- // Should have an errortext string, an errorcode int and a m_list object returned
- cout << ale->errortext << endl; // 'request successful'
- cout << ale->errorcode << endl; // 007
- cout << ale->attrlist_Ref->item.m_Array[0]->name << endl; // 'namepair return'
- cout << ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0] << endl; // 'attrlist->m_list-item[0] was NULL'
- } else {
- cout << "Deserialized response is NULL" << endl;
- }
+ printResponse(ale);
// Have nil elements in response
ale = ws->multilistnil((m_list*)NULL, &al);
- if(ale) {
- // Should have an errortext string, an errorcode int and a m_list object returned
- cout << ale->errortext << endl; // empty
- cout << ale->errorcode << endl; // 0
- cout << ale->attrlist_Ref->item.m_Array[0]->name << endl; // empty
- cout << ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0] << endl; // empty
- } else {
- cout << "Deserialized response is NULL" << endl;
- }
+ printResponse(ale);
ale = ws->complexlist(&al, "hoohah!", &al);
- if(ale) {
- // Should have an errortext string, an errorcode int and a m_list object returned
- cout << ale->errortext << endl;
- cout << ale->errorcode << endl;
- cout << ale->attrlist_Ref->item.m_Array[0]->name << endl;
- cout << ale->attrlist_Ref->item.m_Array[0]->m_list_Ref->item.m_Array[0] << endl;
- } else {
- cout << "Deserialized response is NULL" << endl;
- }
+ printResponse(ale);
delete ws;
}
1.2 +2 -4 ws-axis/c/tests/auto_build/testcases/output/ComplexLists.expected
Index: ComplexLists.expected
===================================================================
RCS file: /home/cvs/ws-axis/c/tests/auto_build/testcases/output/ComplexLists.expected,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ComplexLists.expected 7 Mar 2005 14:11:23 -0000 1.1
+++ ComplexLists.expected 9 Mar 2005 13:11:06 -0000 1.2
@@ -6,10 +6,8 @@
7
namepair return
attrlist->m_list-item[0] was NULL
-
-0
-
-
+ale->errortext is NULL
+ale->errorcode is NULL
request successful
7
namepair return