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 cd...@apache.org on 2005/06/07 07:56:31 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal WrapWriter.java

cdinapala    2005/06/06 22:56:31

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal
                        WrapWriter.java
  Log:
  Made some modifications to solve issue AXISCPP-662.
  
  Revision  Changes    Path
  1.38      +36 -8     ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java
  
  Index: WrapWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/WrapWriter.java,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- WrapWriter.java	3 Jun 2005 08:55:39 -0000	1.37
  +++ WrapWriter.java	7 Jun 2005 05:56:31 -0000	1.38
  @@ -440,17 +440,45 @@
               {
               	writer.write(" *");
               }
  -            writer.write(" ret = "
  -                    + "pWs->"
  -                    + methodName
  -                    + "(");
  -            if (0 < paramsB.size())
  +            //Chinthana:Add concept to handle nilable arrays.
  +            if(returntypeisarray && returntypeissimple && returntype.isNillable() && outparamType != "xsd__string_Array")
               {
  -                for (int i = 0; i < paramsB.size() - 1; i++)
  +            	
  +                writer.write(" ret = "
  +                        + "*(pWs->"
  +                        + methodName
  +                        + "(");
  +                if (0 < paramsB.size())
                   {
  -                    writer.write("v" + i + ",");
  +                    for (int i = 0; i < paramsB.size() - 1; i++)
  +                    {
  +                    	ParameterInfo param = (ParameterInfo) paramsB.get(i);
  +                        if(param.isNillable())
  +                        	writer.write("&");
  +                        writer.write("v" + i + ",");
  +                    }
  +                    ParameterInfo param = (ParameterInfo) paramsB.get(0);
  +                    if(param.isNillable())
  +                    	writer.write("&");
  +                    writer.write("v" + (paramsB.size() - 1));
                   }
  -                writer.write("v" + (paramsB.size() - 1));
  +                writer.write(")");
  +            }
  +            else
  +            {
  +            //06-06-2005...................................................................
  +	            writer.write(" ret = "
  +	                    + "pWs->"
  +	                    + methodName
  +	                    + "(");
  +	            if (0 < paramsB.size())
  +	            {
  +	                for (int i = 0; i < paramsB.size() - 1; i++)
  +	                {
  +	                    writer.write("v" + i + ",");
  +	                }
  +	                writer.write("v" + (paramsB.size() - 1));
  +	            }
               }
               writer.write(");\n");
               /* set the result */