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 du...@apache.org on 2005/12/21 11:52:05 UTC
svn commit: r358261 - in
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal:
BeanParamWriter.java ParmHeaderFileWriter.java
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
{