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 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");
}