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 sa...@apache.org on 2003/12/16 11:36:19 UTC

cvs commit: ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c WrapWriter.java ParamWriter.java ClientStubWriter.java BeanParamWriter.java ArrayParamWriter.java

sanjaya     2003/12/16 02:36:19

  Modified:    c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c Tag:
                        CWrapperSupport WrapWriter.java ParamWriter.java
                        ClientStubWriter.java BeanParamWriter.java
                        ArrayParamWriter.java
  Log:
  modified to reflect the structural changes
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.9.4.5   +2 -2      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/WrapWriter.java
  
  Index: WrapWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/WrapWriter.java,v
  retrieving revision 1.9.4.4
  retrieving revision 1.9.4.5
  diff -u -r1.9.4.4 -r1.9.4.5
  --- WrapWriter.java	21 Nov 2003 12:48:12 -0000	1.9.4.4
  +++ WrapWriter.java	16 Dec 2003 10:36:19 -0000	1.9.4.5
  @@ -285,7 +285,7 @@
   				//for simple types	
   				writer.write("\tv"+i+" = pDZX->"+CUtils.getParameterGetValueMethodName(paraTypeName)+"(pDZ);\n");
   			}else if((type = this.wscontext.getTypemap().getType(((ParameterInfo)paramsB.get(i)).getSchemaName())) != null && type.isArray()){
  -				QName qname = type.getTypNameForAttribName("item");
  +				QName qname = WrapperUtils.getArrayType(type).getName();
   				String containedType = null;
   				if (CUtils.isSimpleType(qname)){
   					containedType = CUtils.getclass4qname(qname);
  @@ -322,7 +322,7 @@
   			if (returntypeissimple){
   				writer.write("\treturn pSZX->AddOutputParam(pSZ, \""+methodName+"Return\", (void*)&ret, "+CUtils.getXSDTypeForBasicType(outparamType)+");\n");
   			}else if(returntypeisarray){
  -				QName qname = retType.getTypNameForAttribName("item");
  +				QName qname = WrapperUtils.getArrayType(retType).getName();
   				String containedType = null;
   				if (CUtils.isSimpleType(qname)){
   					containedType = CUtils.getclass4qname(qname);
  
  
  
  1.2.4.3   +49 -14    ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParamWriter.java
  
  Index: ParamWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParamWriter.java,v
  retrieving revision 1.2.4.2
  retrieving revision 1.2.4.3
  diff -u -r1.2.4.2 -r1.2.4.3
  --- ParamWriter.java	15 Nov 2003 12:25:55 -0000	1.2.4.2
  +++ ParamWriter.java	16 Dec 2003 10:36:19 -0000	1.2.4.3
  @@ -112,31 +112,66 @@
    	/* genarate the arrtibs array */
       public String[][] getAttribList(String Qualifiedname) throws WrapperFault {
           String[][] attribs;
  -        ArrayList feilds = new ArrayList();
  +        ArrayList attribfeilds = new ArrayList();
  +		ArrayList elementfeilds = new ArrayList();
   
  -        Enumeration names = type.getAttribNames();
  +        Enumeration names = type.getAttributeNames();
           while (names.hasMoreElements()){
  -            feilds.add(names.nextElement());
  -
  +			attribfeilds.add(names.nextElement());
           }
  +        
  +		names = type.getElementnames();
  +				while (names.hasMoreElements()){
  +					elementfeilds.add(names.nextElement());
  +		}
  +        
  +        
           //get all the fields
     
  -        attribs = new String[feilds.size()][];
  -        for (int i = 0; i < feilds.size(); i++) {
  -            attribs[i] = new String[4];
  -            attribs[i][0] = ((String) feilds.get(i));
  +        attribs = new String[attribfeilds.size()+elementfeilds.size()][];
  +        for (int i = 0; i < attribfeilds.size(); i++) {
  +        	//[variablename,typename,typeQNameURI,typeQNamelocalpart,attributeTypeURI,attributeTypeLocalpart]
  +            attribs[i] = new String[6];
  +            attribs[i][0] = ((String) attribfeilds.get(i));
      
  -            QName name = type.getTypNameForAttribName(attribs[i][0]);
  +            Type attribType = type.getTypForAttribName(attribs[i][0]);
               
  -            if(CPPUtils.isSimpleType(name))
  -                attribs[i][1] = CPPUtils.getclass4qname(name);
  +            if(CPPUtils.isSimpleType(attribType.getName()))
  +                attribs[i][1] = CPPUtils.getclass4qname(attribType.getName());
               else
  -           		attribs[i][1] = this.wscontext.getTypemap().getType(name).getLanguageSpecificName();
  +           		attribs[i][1] = attribType.getLanguageSpecificName();
   
  -		   attribs[i][2] = name.getNamespaceURI();
  -		   attribs[i][3] = name.getLocalPart();
  +		    attribs[i][2] = attribType.getName().getNamespaceURI();
  +		    attribs[i][3] = attribType.getName().getLocalPart();
   
  +	        attribs[i][4] = null;
  +			attribs[i][5] = null;
           }
  +        
  +		for (int i = attribfeilds.size(); i < elementfeilds.size()+attribfeilds.size(); i++) {
  +			attribs[i] = new String[6];
  +			attribs[i][0] = ((String) elementfeilds.get(i));
  +   
  +			Type elementType = type.getElementForElementName(attribs[i][0]).getType();
  +            
  +			if(CPPUtils.isSimpleType(elementType.getName()))
  +				attribs[i][1] = CPPUtils.getclass4qname(elementType.getName());
  +			else
  +				attribs[i][1] = elementType.getLanguageSpecificName();
  +
  +		   attribs[i][2] = elementType.getName().getNamespaceURI();
  +		   attribs[i][3] = elementType.getName().getLocalPart();
  +		   if(elementType.isArray()){
  +				Type arrayType = WrapperUtils.getArrayType(elementType);
  +				attribs[i][4] = arrayType.getName().getNamespaceURI();
  +				attribs[i][5] = arrayType.getName().getLocalPart();
  +		   }else{
  +				attribs[i][4] = null;
  +				attribs[i][5] = null;
  +		   }
  +		}
  +
  +        
           return attribs;
       }
       
  
  
  
  1.2.2.3   +2 -2      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/Attic/ClientStubWriter.java
  
  Index: ClientStubWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/Attic/ClientStubWriter.java,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  --- ClientStubWriter.java	21 Nov 2003 12:48:12 -0000	1.2.2.2
  +++ ClientStubWriter.java	16 Dec 2003 10:36:19 -0000	1.2.2.3
  @@ -257,7 +257,7 @@
   			typeissimple = CUtils.isSimpleType(paraTypeName);
   			if(typeisarray){
   				//arrays
  -				QName qname = type.getTypNameForAttribName("item");
  +				QName qname = WrapperUtils.getArrayType(type).getName();
   				String containedType = null;
   				if (CUtils.isSimpleType(qname)){
   					containedType = CUtils.getclass4qname(qname);
  @@ -287,7 +287,7 @@
   			writer.write("\tpCall->UnInitialize("+globalobjectname+");\n");
   		}
   		else if (returntypeisarray){
  -			QName qname = retType.getTypNameForAttribName("item");
  +			QName qname = WrapperUtils.getArrayType(retType).getName();
   			String containedType = null;
   			if (CUtils.isSimpleType(qname)){
   				containedType = CUtils.getclass4qname(qname);
  
  
  
  1.4.2.4   +20 -13    ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/Attic/BeanParamWriter.java
  
  Index: BeanParamWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/Attic/BeanParamWriter.java,v
  retrieving revision 1.4.2.3
  retrieving revision 1.4.2.4
  diff -u -r1.4.2.3 -r1.4.2.4
  --- BeanParamWriter.java	21 Nov 2003 12:48:12 -0000	1.4.2.3
  +++ BeanParamWriter.java	16 Dec 2003 10:36:19 -0000	1.4.2.4
  @@ -67,6 +67,7 @@
   import javax.xml.namespace.QName;
   
   import org.apache.axis.wsdl.wsdl2ws.WrapperFault;
  +import org.apache.axis.wsdl.wsdl2ws.WrapperUtils;
   import org.apache.axis.wsdl.wsdl2ws.cpp.CPPUtils;
   import org.apache.axis.wsdl.wsdl2ws.info.Type;
   import org.apache.axis.wsdl.wsdl2ws.info.WebServiceContext;
  @@ -87,11 +88,13 @@
   		try{
   			HashSet typeSet = new HashSet();
   			String typeName;
  +			
   			for(int i = 0; i< attribs.length;i++){
   				if(!CPPUtils.isSimpleType(attribs[i][1])){
  -					Type memtype = wscontext.getTypemap().getType(type.getTypNameForAttribName(attribs[i][0]));
  -					if (memtype.isArray()){
  -						QName qname = memtype.getTypNameForAttribName("item");
  +					//to understand what happens here please refer to where the 
  +					//attribs[][] is created. (ParamWriter) 		
  +					if (attribs[i][5] != null){
  +						QName qname = new QName(attribs[i][4],attribs[i][5]);
   						if (CPPUtils.isSimpleType(qname)) continue; //no wrapper methods for basic types
   						typeName = qname.getLocalPart();
   					}else{
  @@ -100,6 +103,8 @@
   					typeSet.add(typeName);
   				}
   			}
  +			
  +			
   			Iterator itr = typeSet.iterator();
   			while(itr.hasNext())
   			{
  @@ -125,7 +130,7 @@
   		writer.write(" */\n");
   		writer.write("int Axis_GetSize_"+classname+"()\n{\n\treturn sizeof("+classname+");\n}\n");
   	}
  -	private void writeSerializeGlobalMethod()throws IOException{
  +	private void writeSerializeGlobalMethod()throws IOException,WrapperFault{
   		Type t;
   		writer.write("/**\n");
   		writer.write(" * This static method serialize a "+classname+" type of object\n");
  @@ -156,7 +161,7 @@
   				writer.write("\tpSZX->SerializeBasicType(pSZ, \""+attribs[i][0]+"\", (void*)&(param->"+attribs[i][0]+"), "+ CPPUtils.getXSDTypeForBasicType(attribs[i][1])+");\n");
   			}else if((t = wscontext.getTypemap().getType(new QName(attribs[i][2],attribs[i][3])))!= null && t.isArray()){
   				//if Array
  -				QName qname = t.getTypNameForAttribName("item");
  +				QName qname = WrapperUtils.getArrayType(t).getName(); 
   				String arrayType = null;
   				if (CPPUtils.isSimpleType(qname)){
   					arrayType = CPPUtils.getclass4qname(qname);
  @@ -178,7 +183,7 @@
   		writer.write("}\n\n");
   	
   	}
  -	private void writeDeSerializeGlobalMethod()throws IOException{	
  +	private void writeDeSerializeGlobalMethod()throws IOException,WrapperFault{	
   		Type t;
   		writer.write("/**\n");
   		writer.write(" * This static method deserialize a "+classname+" type of object\n");
  @@ -206,7 +211,7 @@
   				writer.write("\tparam->"+attribs[i][0]+" = pDZX->"+CPPUtils.getParameterGetValueMethodName(attribs[i][1])+"(pDZ);\n");
   			}else if((t = wscontext.getTypemap().getType(new QName(attribs[i][2],attribs[i][3])))!= null && t.isArray()){
   				//if Array
  -				QName qname = t.getTypNameForAttribName("item");
  +				QName qname = WrapperUtils.getArrayType(t).getName(); 
   				String containedType = null;
   				if (CPPUtils.isSimpleType(qname)){
   					containedType = CPPUtils.getclass4qname(qname);
  @@ -265,9 +270,10 @@
   			writer.write("\t\t{\n");
   			for(int i = 0; i< attribs.length;i++){
   				if(!CPPUtils.isSimpleType(attribs[i][1])){ //this can be either an array or complex type
  -					Type memtype = wscontext.getTypemap().getType(type.getTypNameForAttribName(attribs[i][0]));
  -					if (memtype.isArray()){
  -						QName qname = memtype.getTypNameForAttribName("item");
  +					//to understand what happens here please refer to where the 
  +							//attribs[][] is created. (ParamWriter) 		
  +					if (attribs[i][5] != null){
  +						QName qname = new QName(attribs[i][4],attribs[i][5]);
   						String containedType = null;
   						if (CPPUtils.isSimpleType(qname)){
   							containedType = CPPUtils.getclass4qname(qname);
  @@ -292,9 +298,10 @@
   		writer.write("\t\t/*delete any pointer members or array members of this struct here*/\n");
   		for(int i = 1; i< attribs.length;i++){
   			if(!CPPUtils.isSimpleType(attribs[i][1])){
  -				Type memtype = wscontext.getTypemap().getType(type.getTypNameForAttribName(attribs[i][0]));
  -				if (memtype.isArray()){
  -					QName qname = memtype.getTypNameForAttribName("item");
  +				//to understand what happens here please refer to where the 
  +				//attribs[][] is created. (ParamWriter) 		
  +				if (attribs[i][5] != null){
  +					QName qname = new QName(attribs[i][4],attribs[i][5]);
   					String containedType = null;
   					if (CPPUtils.isSimpleType(qname)){
   						containedType = CPPUtils.getclass4qname(qname);
  
  
  
  1.2.2.2   +2 -1      ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/Attic/ArrayParamWriter.java
  
  Index: ArrayParamWriter.java
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/Attic/ArrayParamWriter.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- ArrayParamWriter.java	15 Nov 2003 12:25:54 -0000	1.2.2.1
  +++ ArrayParamWriter.java	16 Dec 2003 10:36:19 -0000	1.2.2.2
  @@ -69,6 +69,7 @@
   import javax.xml.namespace.QName;
   
   import org.apache.axis.wsdl.wsdl2ws.WrapperFault;
  +import org.apache.axis.wsdl.wsdl2ws.WrapperUtils;
   import org.apache.axis.wsdl.wsdl2ws.cpp.CPPUtils;
   import org.apache.axis.wsdl.wsdl2ws.info.Type;
   import org.apache.axis.wsdl.wsdl2ws.info.WebServiceContext;
  @@ -89,7 +90,7 @@
   				throw new WrapperFault("Array type "+classname+" contain unexpected no of types");
   			}
   			//include header file for the contained type
  -			QName qname = type.getTypNameForAttribName("item");
  +			QName qname = WrapperUtils.getArrayType(type).getName(); 
   			if (!CPPUtils.isSimpleType(qname)){
   				writer.write("#include \""+attribs[0][1]+".h\"\n\n");
   			}