Author: dushshantha
Date: Wed Dec 21 02:51:59 2005
New Revision: 358261
URL: http://svn.apache.org/viewcvs?rev=358261&view=rev
Log:
fixed the code generation error for Unbounded Choice elements.
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/BeanParamWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java
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=358261&r1=358260&r2=358261&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
Wed Dec 21 02:51:59 2005
@@ -180,8 +180,13 @@
writer.write("\tif(" + parameterName + " == NULL)\n");
writer.write("\t{\n");
writer.write("\t\t" + parameterName + " = new " +
properParamName + "();\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+ writer.write("\t\t*" + parameterName + " = new " + type
+ "_Array();\n");
writer.write("\t}\n");
- writer.write("\t" + parameterName + "->clone(*pInValue);
\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+ writer.write("\t(*" + parameterName +
")->clone(*(*pInValue)); \n");
+ else
+ writer.write("\t" + parameterName +
"->clone(*pInValue); \n");
writer.write("}\n");
}
else
@@ -619,7 +624,19 @@
//if Array
if (attribs[i].isSimpleType())
{
- writer.write("\tpSZ->serializeBasicArray(param->"
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+
writer.write("\tpSZ->serializeBasicArray(*(param->"
+ + attribs[i].getParamName()
+ + "), "
+ + namespace
+ + ","
+ + CUtils.getXSDTypeForBasicType(attribs[i]
+ .getTypeName())
+ + ", \""
+ + attribs[i].getParamNameAsSOAPElement()
+ + "\");\n");
+ else
+
writer.write("\tpSZ->serializeBasicArray(param->"
+ attribs[i].getParamName()
+ ", "
+ namespace
@@ -929,9 +946,15 @@
+ "\",0);\n");
writer.write("\tif(param->" +
attribs[i].getParamNameAsMember() + " == NULL)\n");
writer.write("\t{\n");
- writer.write("\t\tparam->" +
attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName() +
"_Array();\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+ writer.write("\t\tparam->" +
attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName() +
"_Array*();\n");
+ else
+ writer.write("\t\tparam->" +
attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName() +
"_Array();\n");
writer.write("\t}\n");
- writer.write("\tparam->" +
attribs[i].getParamNameAsMember() + "->clone( *array" + arrayCount + ");\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+ writer.write("\t(*(param->" +
attribs[i].getParamNameAsMember() + "))->clone(*array" + arrayCount + ");\n");
+ else
+ writer.write("\tparam->" +
attribs[i].getParamNameAsMember() + "->clone( *array" + arrayCount + ");\n");
writer.write("\tAxis::AxisDelete((void*) array" +
arrayCount + ", XSD_ARRAY);\n\n");
}
else
@@ -1227,7 +1250,12 @@
{
if (attribs[i].isArray())
{
- writer.write("\t" + attribs[i].getParamNameAsMember() + "
= new " + attribs[i].getTypeName() +"_Array();\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement()){
+ writer.write("\t" +
attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName()
+"_Array*();\n");
+ writer.write("\t*" +
attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName()
+"_Array();\n");
+ }
+ else
+ writer.write("\t" +
attribs[i].getParamNameAsMember() + " = new " + attribs[i].getTypeName()
+"_Array();\n");
}
}
writer.write("\treset();\n");
@@ -1240,7 +1268,10 @@
{
if (attribs[i].isArray())
{
- writer.write("\t" + attribs[i].getParamName() + " = new "
+ attribs[i].getTypeName() + "_Array(*original." + attribs[i].getParamName() +
");\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+ writer.write("\t" + attribs[i].getParamName() +
" = new " + attribs[i].getTypeName() + "_Array*(*original." +
attribs[i].getParamName() + ");\n");
+ else
+ writer.write("\t" + attribs[i].getParamName() +
" = new " + attribs[i].getTypeName() + "_Array(*original." +
attribs[i].getParamName() + ");\n");
}
else if (attribs[i].isAnyType())
{
@@ -1319,7 +1350,10 @@
{
if (attribs[i].isArray())
{
- writer.write("\t" + attribs[i].getParamNameAsMember() +
"->clear();\n");
+ if
(attribs[i].getChoiceElement()||attribs[i].getAllElement())
+ writer.write("\t(*" +
attribs[i].getParamNameAsMember() + ")->clear();\n");
+ else
+ writer.write("\t" +
attribs[i].getParamNameAsMember() + "->clear();\n");
}
else if (!attribs[i].isSimpleType())
{
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java
URL:
http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java?rev=358261&r1=358260&r2=358261&view=diff
==============================================================================
---
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java
(original)
+++
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ParmHeaderFileWriter.java
Wed Dec 21 02:51:59 2005
@@ -439,18 +439,34 @@
{
if(attribs[i].getAllElement()
|| attribs[i].getChoiceElement())
{
- writer.write( "\n\t"
+ if
(attribs[i].isArray()){
+ writer.write(
"\n\t"
+ +
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+ + " * get"
+ + methodName
+ + "();\n");
+
+ writer.write(
"\t"
+ + "void set"
+ + methodName
+ + "("
+ +
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+ + " * pInValue");
+ }
+ else{
+ writer.write(
"\n\t"
+
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+ " get"
+ methodName
+ "();\n");
- writer.write( "\t"
+ writer.write(
"\t"
+ "void set"
+ methodName
+ "("
+
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+ " pInValue");
+ }
}
else
{