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 cd...@apache.org on 2005/12/14 08:26:21 UTC

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

Author: cdinapala
Date: Tue Dec 13 23:26:14 2005
New Revision: 356742

URL: http://svn.apache.org/viewcvs?rev=356742&view=rev
Log:
Correct the code generation problem of "All" constructs.

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=356742&r1=356741&r2=356742&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 Tue Dec 13 23:26:14 2005
@@ -154,6 +154,7 @@
             	String methodName = attribs[i].getParamNameWithoutSymbols();
                 String parameterName = methodName;
                 String properParamName = getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]);
+                String type = attribs[i].getTypeName();
 
                 if( methodName.endsWith( "_"))
                 {
@@ -195,15 +196,32 @@
 	                    	anyCounter += 1;
 	                    	parameterName = parameterName + Integer.toString(anyCounter);
 	                    }
+	                    if(attribs[i].getAllElement())
+	                    {
+	                    	writer.write("\n" + properParamName + " " + classname
+		                            + "::get" + methodName + "()\n{\n");
+	                    }
+	                    else
+	                    {
+		                    writer.write("\n" + properParamName + " * " + classname
+		                            + "::get" + methodName + "()\n{\n");
+	                    }
 	                    
-	                    writer.write("\n" + properParamName + " * " + classname
-	                            + "::get" + methodName + "()\n{\n");
-	
 	                    writer.write("\t" + "return " + parameterName + " ; \n}\n");
 	
-	                    writer.write("\n" + "void " + classname + "::set"
-	                            + methodName + "(" + properParamName
-	                            + " * pInValue, bool deep)\n{\n");
+	                    if(attribs[i].getAllElement())
+	                    {
+	                    	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");
+	                    }
+	                    
 	
 	                    writer.write("\tif (" + parameterName + " != NULL)\n");
                         writer.write("\t{\n");
@@ -217,7 +235,14 @@
                         writer.write("\t{\n");
                         writer.write("\t\tif (deep)\n");
                         writer.write("\t\t{\n");
-                        writer.write("\t\t\t" + parameterName + " = new " + properParamName + "();\n");
+                        if(attribs[i].getAllElement())
+                        {
+                        	writer.write("\t\t\t" + parameterName + " = new " + type + "();\n");
+                        }
+                        else
+                        {
+                        	writer.write("\t\t\t" + parameterName + " = new " + properParamName + "();\n");
+                        }
                         writer.write("\t\t\t*" + parameterName + " = *pInValue;\n");
                         writer.write("\t\t}\n");
                         writer.write("\t\telse\n");

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=356742&r1=356741&r2=356742&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 Tue Dec 13 23:26:14 2005
@@ -301,7 +301,7 @@
                 attribs[i].setParamName( CUtils.sanitiseAttributeName( classname, attribs[i].getParamName()));
                 
 				// FJP Nillable vv
-				if (isElementNillable(i) || attribs[i].isArray() || isElementOptional(i))
+				if (isElementNillable(i) || attribs[i].isArray() || isElementOptional(i) && !attribs[i].getAllElement())
 				{
 					if(attribs[i].isAnyType()){
 						anyCounter += 1;
@@ -331,26 +331,37 @@
 					        
 					    }
 					}
-				} else {
-					// FJP Nillable ^^
-					if(attribs[i].isAnyType()){
-						anyCounter += 1;
-						writer
-						.write("\t"
-								+ getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
-								+ " " + attribs[i].getParamName()
-								+ Integer.toString(anyCounter)
-								+ ";\n");
-						
-					}
-						
-					else{
-				    writer.write("\t"
-                                + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
-                                + " " + attribs[i].getParamNameWithoutSymbols()
-                                + ";\n");
+				} else 
+					{
+						if(attribs[i].getAllElement())
+						{
+							writer.write("\t"
+									 + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+									 + " " + attribs[i].getParamName()
+									 + ";\n");
+						}
+						else 
+						{
+							// FJP Nillable ^^
+							if(attribs[i].isAnyType()){
+								anyCounter += 1;
+								writer
+								.write("\t"
+										+ getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+										+ " " + attribs[i].getParamName()
+										+ Integer.toString(anyCounter)
+										+ ";\n");
+								
+							}
+								
+							else{
+						    writer.write("\t"
+		                                + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+		                                + " " + attribs[i].getParamNameWithoutSymbols()
+		                                + ";\n");
+							}
+						}
 					}
-				}
             }
             
             if (extensionBaseAttrib != null &&
@@ -417,21 +428,38 @@
 									+ getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
 									+ " * pInValue);\n\n");
 					}
-					else {
-                	
-                	
-						writer.write( "\n\t"
-                                  + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
-                                  + " * get"
-                                  + methodName
-                                  + "();\n");
+					else 
+					{
+						if(attribs[i].getAllElement())
+						{
+							writer.write( "\n\t"
+	                                  + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+	                                  + " get"
+	                                  + methodName
+	                                  + "();\n");
 
-						writer.write( "\t"
-                                  + "void set"
-                                  + methodName
-                                  + "("
-                                  + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
-                                  + " * pInValue");
+							writer.write( "\t"
+	                                  + "void set"
+	                                  + methodName
+	                                  + "("
+	                                  + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+	                                  + " pInValue");
+						}
+						else
+						{
+							writer.write( "\n\t"
+	                                  + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+	                                  + " * get"
+	                                  + methodName
+	                                  + "();\n");
+	
+							writer.write( "\t"
+	                                  + "void set"
+	                                  + methodName
+	                                  + "("
+	                                  + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+	                                  + " * pInValue");
+						}
 						if (isElementNillable(i) || isElementOptional(i))
 						{
 						    writer.write(", bool deep = true");