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/22 11:22:11 UTC

svn commit: r358549 - in /webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal: BeanParamWriter.java ParmHeaderFileWriter.java

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