You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by na...@apache.org on 2008/05/21 21:51:46 UTC

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

Author: nadiramra
Date: Wed May 21 12:51:45 2008
New Revision: 658829

URL: http://svn.apache.org/viewvc?rev=658829&view=rev
Log:
AXISCPP-966 WSDL2WS generate wrong code: redundant value reference * in Wrapper

Modified:
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
    webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java?rev=658829&r1=658828&r2=658829&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/BeanParamWriter.java Wed May 21 12:51:45 2008
@@ -1330,7 +1330,7 @@
                 
                 if (iIndex != 0)
                 {
-                    writer.write( "//)\n//\t{\n");
+                    writer.write( "//)\n\t{\n");
                     writer.write( "//\t\treturn 1;\n");
                     writer.write( "//\t}\n");
                 }

Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java?rev=658829&r1=658828&r2=658829&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java Wed May 21 12:51:45 2008
@@ -157,19 +157,20 @@
             elementName = param.getElementNameAsSOAPString();
             if (type != null && type.isSimpleType())
             {
-                if (param.isNillable() && 
-                        !(CUtils.isPointerType(type.getLanguageSpecificName())))
-                {
-                    writer.write("\t" + paraTypeName + "* v" + i
-                            + " = pIWSDZ->" + CUtils.getParameterGetValueMethodName(paraTypeName,false)
-                            + "(\"" + elementName + "\",0);\n");
-                }
-                else
+                String splatPtr = " ";
+                String splatDeref = " ";
+                
+                if (!CUtils.isPointerType(type.getLanguageSpecificName()))
                 {
-                    writer.write("\t" + paraTypeName + " v" + i
-                            + " = *(pIWSDZ->" + CUtils.getParameterGetValueMethodName(paraTypeName,false)
-                            + "(\"" + elementName + "\",0));\n");
+                    if (param.isNillable() || param.isOptional())
+                        splatPtr   = " * ";
+                    else 
+                        splatDeref = " * ";
                 }
+                
+                writer.write("\t" + paraTypeName + splatPtr + "v" + i + " =" + splatDeref
+                        + "(pIWSDZ->" + CUtils.getParameterGetValueMethodName(paraTypeName,false)
+                        + "(\"" + elementName + "\",0));\n");
             }
             else if ((CUtils.isSimpleType(param.getLangName())))
             {