Author: dushshantha
Date: Thu Dec 22 02:22:04 2005
New Revision: 358549

URL: http://svn.apache.org/viewcvs?rev=358549&view=rev
Log:
fixed a problem in nillable choice element code generation. Can be tested using 
SimpleChoiceNillable test case.

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=358549&r1=358548&r2=358549&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
 Thu Dec 22 02:22:04 2005
@@ -203,8 +203,12 @@
                            }
                            if(attribs[i].getAllElement() || 
attribs[i].getChoiceElement() )
                            {
-                               writer.write("\n" + properParamName + " " + 
classname
+                               if (isElementNillable(i))
+                                       writer.write("\n" + properParamName + " 
* " + classname
                                            + "::get" + methodName + "()\n{\n");
+                               else 
+                                       writer.write("\n" + properParamName + " 
" + classname
+                                                   + "::get" + methodName + 
"()\n{\n");
                            }
                            
                            else
@@ -217,7 +221,12 @@
        
                            if(attribs[i].getAllElement() || 
attribs[i].getChoiceElement())
                            {
-                               writer.write("\n" + "void " + classname + 
"::set"
+                               if (isElementNillable(i))
+                                       writer.write("\n" + "void " + classname 
+ "::set"
+                                                   + methodName + "(" + 
properParamName
+                                                   + " * pInValue, bool 
deep)\n{\n");
+                               else
+                                       writer.write("\n" + "void " + classname 
+ "::set"
                                            + methodName + "(" + properParamName
                                            + " pInValue, bool deep)\n{\n");
                            }
@@ -243,7 +252,10 @@
                         writer.write("\t\t{\n");
                         if(attribs[i].getAllElement() || 
attribs[i].getChoiceElement())
                         {
-                               writer.write("\t\t\t" + parameterName + " = new 
" + type + "();\n");
+                               if (isElementNillable(i))
+                                       writer.write("\t\t\t" + parameterName + 
" = new " + type + "*();\n");
+                               else
+                                       writer.write("\t\t\t" + parameterName + 
" = new " + type + "();\n");
                         }
                         else
                         {

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=358549&r1=358548&r2=358549&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
 Thu Dec 22 02:22:04 2005
@@ -454,18 +454,34 @@
                                                  + " * pInValue");
                                                        }
                                                        else{
-                                                               writer.write( 
"\n\t"
+                                                               if 
(isElementNillable(i)){
+                                                                       
writer.write( "\n\t"
                                          + 
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
-                                         + " get"
+                                         + " * get"
                                          + methodName
                                          + "();\n");
 
-                                                               writer.write( 
"\t"
+                                                                       
writer.write( "\t"
                                          + "void set"
                                          + methodName
                                          + "("
                                          + 
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
-                                         + " pInValue");
+                                         + " * pInValue");
+                                                               }
+                                                               else{
+                                                                       
writer.write( "\n\t"
+                                                         + 
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+                                                         + " get"
+                                                         + methodName
+                                                         + "();\n");
+
+                                                                               
writer.write( "\t"
+                                                         + "void set"
+                                                         + methodName
+                                                         + "("
+                                                         + 
getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+                                                         + " pInValue");
+                                                               }
                                                        }
                                                }
                                                else


Reply via email to