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 2006/12/05 06:40:20 UTC
svn commit: r482501 - in
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp:
BeanParamWriter.java ClientStubWriter.java ParmHeaderFileWriter.java
literal/ClientStubWriter.java
Author: nadiramra
Date: Mon Dec 4 21:40:19 2006
New Revision: 482501
URL: http://svn.apache.org/viewvc?view=rev&rev=482501
Log:
AXISCPP-1009 - put the function prototypes for Axis_Deserializer_xxx, etc in the
header files and do not generate them in the cpp files.
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/ClientStubWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.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?view=diff&rev=482501&r1=482500&r2=482501
==============================================================================
--- 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 Mon Dec 4 21:40:19 2006
@@ -70,50 +70,6 @@
{
try
{
- HashSet typeSet = new HashSet();
- String typeName;
-
- for (int i = 0; i < attribs.length; i++)
- {
- if (!(attribs[i].isSimpleType() || attribs[i].isAnyType()))
- typeSet.add(attribs[i].getTypeName());
- }
-
- Iterator itr = typeSet.iterator();
- while (itr.hasNext())
- {
- /*
- * Needed for self referenced array. <xsd:complexType
- * name="Type1"> <xsd:sequence> <xsd:element name="followings"
- * maxOccurs="unbounded" minOccurs="0" type="tns:Type1" />
- * <xsd:element name="kind" type="xsd:string" /> <xsd:element
- * name="index" type="xsd:int" /> </xsd:sequence> <xsd:attribute
- * name="att_kind" type="tns:Kind" /> </xsd:complexType>
- */
- typeName = itr.next().toString();
- if (!typeName.equals(type.getName().getLocalPart()))
- {
- writer.write("extern int Axis_DeSerialize_" + typeName
- + "(" + typeName + "* param, IWrapperSoapDeSerializer* pDZ);\n");
- writer.write("extern void* Axis_Create_" + typeName + "(int nSize);\n");
- writer.write("extern void Axis_Delete_" + typeName + "("
- + typeName + "* param, int nSize=0);\n");
- writer.write("extern int Axis_Serialize_" + typeName + "("
- + typeName + "* param, IWrapperSoapSerializer* pSZ, bool bArray = false);\n\n");
- }
- else
- {
- writer.write("int Axis_DeSerialize_" + typeName + "("
- + typeName + "* param, IWrapperSoapDeSerializer* pDZ);\n");
- writer.write("void* Axis_Create_" + typeName + "(int nSize);\n");
- writer.write("void Axis_Delete_" + typeName + "("
- + typeName + "* param, int nSize);\n");
- writer.write("int Axis_Serialize_" + typeName
- + "(" + typeName
- + "* param, IWrapperSoapSerializer* pSZ, bool bArray);\n\n");
- }
- }
-
writeGetSetMethods();
writeSerializeGlobalMethod();
writeDeSerializeGlobalMethod();
@@ -140,7 +96,7 @@
if (type.isArray())
return;
-
+
try
{
for (int i = 0; i < attribs.length; i++)
@@ -165,7 +121,7 @@
String parameterTypeName = properParamName;
if (!parameterTypeName.endsWith("*"))
parameterTypeName += " *";
-
+
writer.write("\n" + parameterTypeName + " " + classname
+ "::get" + methodName + "()\n{\n");
@@ -207,15 +163,11 @@
if(attribs[i].getAllElement() || attribs[i].getChoiceElement() )
{
if (isElementNillable(i))
- {
writer.write("\n" + properParamName + " * " + classname
+ "::get" + methodName + "()\n{\n");
- }
else
- {
writer.write("\n" + properParamName + " " + classname
+ "::get" + methodName + "()\n{\n");
- }
}
else
{
@@ -228,17 +180,13 @@
if(attribs[i].getAllElement() || attribs[i].getChoiceElement())
{
if (isElementNillable(i))
- {
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");
- }
}
else
{
@@ -351,7 +299,7 @@
isPointerType = CUtils.isPointerType(CUtils.getclass4qname(attributeType.getBaseType()));
else
isPointerType = CUtils.isPointerType(getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]));
-
+
if((attribs[i].isSimpleType() || attributeType.isSimpleType()) &&
(isPointerType || attribs[i].getAllElement() || attribs[i].getChoiceElement()))
writer.write(", bool deep");
@@ -451,7 +399,7 @@
writer.write( " * This static method serialize a " + classname + " type of object\n");
writer.write( " */\n");
writer.write( "int Axis_Serialize_" + classname
- + "( " + classname + "* param, IWrapperSoapSerializer* pSZ, bool bArray = false)\n");
+ + "( " + classname + "* param, IWrapperSoapSerializer* pSZ, bool bArray)\n");
writer.write( "{\n");
if (attribs.length == 0)
@@ -529,7 +477,7 @@
for( int j = 0; j < vre.size(); j++)
writer.write("\t//\t\t " + vre.get( j) + "\n");
- }
+ }
if( vrp != null)
{
@@ -563,8 +511,8 @@
}
}
}
- else
- {
+ else
+ {
baseType = baseType.substring( baseType.lastIndexOf( "_") + 1);
type.setBaseType( new QName( WrapperConstants.SCHEMA_NAMESPACE, baseType));
@@ -582,64 +530,64 @@
// ^^^ FJP - 17667
//Samisa
- //remove _Ref sufix and _ prefix in SOAP tag name
+ //remove _Ref sufix and _ prefix in SOAP tag name
String soapTagName = ai.getParamName();
- if (soapTagName.lastIndexOf("_Ref") > -1)
- soapTagName = soapTagName.substring(0, soapTagName.lastIndexOf("_Ref"));
-
- if (soapTagName.charAt(0) == '_')
- soapTagName = soapTagName.substring(1, soapTagName.length());
+ if (soapTagName.lastIndexOf("_Ref") > -1)
+ soapTagName = soapTagName.substring(0, soapTagName.lastIndexOf("_Ref"));
+
+ if (soapTagName.charAt(0) == '_')
+ soapTagName = soapTagName.substring(1, soapTagName.length());
//end remove _Ref sufix and _ prefix in SOAP tag name
boolean isPointerType = false;
- String basicType = null;
-
+ String basicType = null;
+
if (!ai.isSimpleType() && type.isSimpleType())
{
- basicType = CUtils.getclass4qname( type.getBaseType());
+ basicType = CUtils.getclass4qname(type.getBaseType());
String class4QName = CUtils.getclass4qname(type.getBaseType());
isPointerType = CUtils.isPointerType( class4QName);
}
- else
- {
+ else
+ {
basicType = ai.getTypeName();
isPointerType = CUtils.isPointerType(ai.getTypeName());
- }
-
+ }
+
if (isPointerType)
- {
+ {
writer.write("\tif (0 != param->"
+ ai.getParamNameAsMember() + ")\n");
- writer.write("\t\tpSZ->serializeAsAttribute(\""
+ writer.write("\t\tpSZ->serializeAsAttribute(\""
+ soapTagName
+ "\", 0, (void*)(param->"
+ ai.getParamNameAsMember()
+ "), "
- + CUtils.getXSDTypeForBasicType(basicType) + ");\n");
- }
- else
- {
- writer.write("\t\tpSZ->serializeAsAttribute(\""
- + soapTagName
- + "\", 0, (void*)&(param->"
- + attribs[i].getParamNameAsMember()
- + "), "
- + CUtils.getXSDTypeForBasicType(attribs[i].getTypeName()) + ");\n");
- }
-
- if (!attribs[i].isOptional())
- {
- /* This avoid segmentation fault at runtime */
- /*
- * writer.write("\telse\n");
- * writer.write("\t\tAXISTRACE1(\"The mandatory attribute
- * "+attribs[i].getParamName()+" is not set\",
- * CRITICAL);\n");
- */
+ + CUtils.getXSDTypeForBasicType(basicType) + ");\n");
+ }
+ else
+ {
+ writer.write("\tpSZ->serializeAsAttribute(\""
+ + soapTagName
+ + "\", 0, (void*)&(param->"
+ + attribs[i].getParamNameAsMember()
+ + "), "
+ + CUtils.getXSDTypeForBasicType(attribs[i].getTypeName()) + ");\n");
+ }
+
+ if (!attribs[i].isOptional())
+ {
+ /* This avoid segmentation fault at runtime */
+ /*
+ * writer.write("\telse\n");
+ * writer.write("\t\tAXISTRACE1(\"The mandatory attribute
+ * "+attribs[i].getParamName()+" is not set\",
+ * CRITICAL);\n");
+ */
+ }
}
- }
if (type.isFault())
{
@@ -1245,7 +1193,7 @@
writer.write("/*\n");
writer.write(" * This static method delete a " + classname + " type of object\n");
writer.write(" */\n");
- writer.write("void Axis_Delete_" + classname + "(" + classname + "* param, int nSize=0)\n");
+ writer.write("void Axis_Delete_" + classname + "(" + classname + "* param, int nSize)\n");
writer.write("{\n");
writer.write("\t/* If null just return */\n");
@@ -1569,7 +1517,7 @@
protected void writeRestrictionCheckerFunction() throws WrapperFault
{
try
- {
+ {
writer.write("int Check_Restrictions_" + classname + "(" + classname + " value)\n");
//TODO write code to check the restrictions. FJP - Begun, but untested.
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java?view=diff&rev=482501&r1=482500&r2=482501
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ClientStubWriter.java Mon Dec 4 21:40:19 2006
@@ -859,39 +859,6 @@
*/
protected void writeGlobalCodes() throws WrapperFault
{
- Iterator types = wscontext.getTypemap().getTypes().iterator();
- HashSet typeSet = new HashSet();
- String typeName;
- Type type;
- try
- {
- while (types.hasNext())
- {
- type = (Type) types.next();
- if (type.isArray())
- continue;
- if (type.isAnonymous() && !type.isExternalized())
- continue;
- typeSet.add(type.getLanguageSpecificName());
- }
- Iterator itr = typeSet.iterator();
- while (itr.hasNext())
- {
- typeName = itr.next().toString();
- writer.write("extern int Axis_DeSerialize_" + typeName + "("
- + typeName + "* param, IWrapperSoapDeSerializer* pDZ);\n");
- writer.write("extern void* Axis_Create_" + typeName + "(int nSize);\n");
- writer.write("extern void Axis_Delete_" + typeName + "("
- + typeName + "* param, int nSize=0);\n");
- writer.write("extern int Axis_Serialize_" + typeName
- + "(" + typeName
- + "* param, IWrapperSoapSerializer* pSZ, bool bArray = false);\n\n");
- }
- }
- catch (IOException e)
- {
- throw new WrapperFault(e);
- }
}
}
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java?view=diff&rev=482501&r1=482500&r2=482501
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/ParmHeaderFileWriter.java Mon Dec 4 21:40:19 2006
@@ -66,7 +66,7 @@
writeSimpleTypeWithEnumerations();
}
else
- {
+ {
classname = CUtils.sanitiseClassName( classname);
// vvv FJP - 17667
@@ -76,7 +76,6 @@
String baseType = type.getRestrictionBase();
baseType = baseType.substring( baseType.indexOf( ":") + 1);
-
writer.write( "#include \"" + baseType + ".hpp\"\n\n");
writer.write( "// " + classname + " is a restricted type (base=" + baseType + ").\n// The following restrictions need to be applied:-\n");
@@ -103,49 +102,35 @@
}
}
- writer.write( "\ntypedef " + baseType + " " + classname + ";\n\n");
+ writer.write( "\ntypedef " + baseType + " " + classname + ";\n\n");
}
// ^^^ FJP - 17667
else
- {
- writePreprocessorStatements();
-
- this.writer.write("class STORAGE_CLASS_INFO " + classname);
-
- if (this.type.isFault())
- {
- this.writer.write(" : public SoapFaultException");
- }
-
- this.writer.write("\n{\n");
-
- writeAttributes();
-
- /**
- * Dushshantha: Call writeGetSetMethods() method.
- */
-
- writeGetSetMethods();
- //..................................
- writeConstructors();
- writeDestructors();
- writeDeepCopyFlags();
-
- this.writer.write("};\n\n");
- }
+ {
+ writePreprocessorStatements();
+
+ this.writer.write("class STORAGE_CLASS_INFO " + classname);
+ if (this.type.isFault())
+ this.writer.write(" : public SoapFaultException");
+ this.writer.write("\n{\n");
+ writeAttributes();
+ writeGetSetMethods();
+ writeConstructors();
+ writeDestructors();
+ writeDeepCopyFlags();
+ this.writer.write("};\n\n");
+
+ writeFunctionPrototypes();
+ }
}
this.writer.write("#endif /* !defined(__" + classname.toUpperCase()
+ "_" + getFileType().toUpperCase() + "_H__INCLUDED_)*/\n");
writer.flush();
writer.close();
-
if (WSDL2Ws.verbose)
- {
- System.out.println(getFilePath().getAbsolutePath()
- + " created.....");
- }
- }
+ System.out.println(getFilePath().getAbsolutePath() + " created.....");
+ }
catch (IOException e)
{
e.printStackTrace();
@@ -185,11 +170,9 @@
else if( restBaseClass != null)
isPointerType = CUtils.isPointerType( restBaseClass);
} // ^^^ FJP - 17667
- else
- {
- isPointerType = CUtils.isPointerType(getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]));
- }
-
+ else
+ isPointerType = CUtils.isPointerType(getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]));
+
if ((attribs[i].isSimpleType() || type.isSimpleType())
&& !attribs[i].isArray()
&& (isElementNillable(i)
@@ -434,7 +417,7 @@
String typeName = getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]);
Type baseType = CUtils.findBaseTypeOfRestriction( attribs[i].getType(), wscontext);
boolean isPointer = CUtils.isPointerType( CUtils.getBaseTypeOfRestrictionAsString( baseType));
-
+
if( isPointer)
{
int pointerPos = typeName.indexOf( "*");
@@ -448,13 +431,14 @@
writer.write( "\t" + typeName + " " + attribs[i].getParamNameWithoutSymbols() + ";\n");
}
// ^^^ FJP - 17667
- else
- {
- writer.write( "\t" +
- getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]) +
- " " + attribs[i].getParamNameWithoutSymbols() + ";\n");
- }
- }
+ else
+ {
+ writer.write("\t"
+ + getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i])
+ + " " + attribs[i].getParamNameWithoutSymbols()
+ + ";\n");
+ }
+ }
}
if (extensionBaseAttrib != null &&
@@ -599,7 +583,7 @@
isPointerType = CUtils.isPointerType(CUtils.getclass4qname(type.getBaseType()));
else
isPointerType = CUtils.isPointerType(getCorrectParmNameConsideringArraysAndComplexTypes(attribs[i]));
-
+
if( type.isRestriction() && isPointerType)
{
int pointerLocation = typeName.indexOf( "*");
@@ -705,6 +689,38 @@
return new File(fileName);
}
+
+ protected void writeFunctionPrototypes() throws WrapperFault
+ {
+ try
+ {
+ if (type.isSimpleType() || type.isArray() || type.getName().equals(CUtils.anyTypeQname)
+ || (type.isAnonymous() && !type.isExternalized()))
+ return;
+
+ String typeName = classname;
+
+ writer.write("\n");
+ writer.write("/* ********************************************************************* */\n");
+ writer.write("/* --- Functions to create/delete, serialize/deserialize custom type --- */\n");
+ writer.write("/* ********************************************************************* */\n");
+ writer.write("\n");
+
+ writer.write("extern int Axis_DeSerialize_" + typeName
+ + "(" + typeName + "* param, IWrapperSoapDeSerializer* pDZ);\n");
+ writer.write("extern void* Axis_Create_" + typeName + "(int nSize);\n");
+ writer.write("extern void Axis_Delete_" + typeName + "("
+ + typeName + "* param, int nSize=0);\n");
+ writer.write("extern int Axis_Serialize_" + typeName + "("
+ + typeName + "* param, IWrapperSoapSerializer* pSZ, bool bArray = false);\n\n");
+
+ }
+ catch (IOException e)
+ {
+ throw new WrapperFault(e);
+ }
+ }
+
/*
* (non-Javadoc)
*
@@ -716,6 +732,9 @@
{
writer.write("#include <axis/AxisUserAPI.hpp>\n");
writer.write("#include <axis/AxisUserAPIArrays.hpp>\n");
+ writer.write("#include <axis/IWrapperSoapDeSerializer.hpp>\n");
+ writer.write("#include <axis/IWrapperSoapSerializer.hpp>\n");
+
if (this.type.isFault())
{
@@ -757,13 +776,13 @@
typeSet = new HashSet();
for (int i = 0; i < attribs.length; i++)
{
- if (!attribs[i].isArray() &&
+ if (!attribs[i].isArray() &&
!(attribs[i].isSimpleType() || attribs[i].getType().isSimpleType()) &&
!attribs[i].isAnyType() &&
!attribs[i].getType().isRestriction())
{
typeSet.add(attribs[i].getTypeName());
- }
+ }
}
itr = typeSet.iterator();
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java?view=diff&rev=482501&r1=482500&r2=482501
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/cpp/literal/ClientStubWriter.java Mon Dec 4 21:40:19 2006
@@ -119,11 +119,8 @@
+ getServiceName () + "_" + classname + CUtils.CPP_HEADER_SUFFIX + "\"\n\n");
}
else
- {
- writer.write ("#include \""
- + classname
- + CUtils.CPP_HEADER_SUFFIX + "\"\n\n");
- }
+ writer.write ("#include \"" + classname + CUtils.CPP_HEADER_SUFFIX + "\"\n\n");
+
writer.write ("#include <axis/AxisWrapperAPI.hpp>\n");
writer.write ("#include <axis/Axis.hpp>\n\n");
}
@@ -157,22 +154,12 @@
int noOfOutParams = minfo.getOutputParameterTypes().size();
if (0 == noOfOutParams)
- {
returntype = null;
- }
- else
- {
- if (1 == noOfOutParams)
- {
- returntype =
- (ParameterInfo) minfo.getOutputParameterTypes ().
- iterator ().next ();
- }
+ else if (1 == noOfOutParams)
+ returntype = (ParameterInfo) minfo.getOutputParameterTypes().iterator().next();
else
- {
isAllTreatedAsOutParams = true;
- }
- }
+
Collection params = minfo.getInputParameterTypes ();
String methodName = minfo.getMethodname ();
Type retType = null;
@@ -181,15 +168,12 @@
String outparamType = null;
if (returntype != null)
- {
retType = wscontext.getTypemap ().getType (returntype.getSchemaName ());
- }
+
if (retType != null)
{
if (retType.isSimpleType ())
- {
outparamType = CUtils.getclass4qname (retType.getBaseType ());
- }
else
{
outparamType = WrapperUtils.getClassNameFromParamInfoConsideringArrays (returntype, wscontext);
@@ -198,17 +182,12 @@
returntypeisarray |= retType.isArray ();
}
- else
- {
- if (returntype != null)
- {
+ else if (returntype != null)
outparamType = returntype.getLangName ();
- }
- }
+
if (returntype != null)
- {
returntypeissimple = CUtils.isSimpleType (outparamType);
- }
+
writer.write ("\n/*\n");
writer.write (" * This method wrap the service method" + methodName + "\n");
writer.write (" */\n");
@@ -220,26 +199,16 @@
Type type;
if (returntype == null)
- {
writer.write ("void");
- }
- else
- {
- if (returntypeissimple
+ else if (returntypeissimple
&& (!(returntype.isNillable() || returntype.isOptional())
|| CUtils.isPointerType(outparamType)))
- {
writer.write (outparamType);
- }
else if (outparamType.lastIndexOf ("*") > 0)
- {
writer.write (outparamType);
- }
- else
- { //for AnyType too
+ else //for AnyType too
writer.write (outparamType + "*");
- }
- }
+
writer.write (" " + classname + "::" + methodName + "(");
ArrayList paramsB = (ArrayList) params;
ParameterInfo paramtype = null;
@@ -251,7 +220,7 @@
if (type != null)
{
if (type.isSimpleType ())
- { //schema defined simpleType
+ {
baseTypeName = CUtils.getclass4qname (type.getBaseType ());
paraTypeName = WrapperUtils.getClassNameFromParamInfoConsideringArrays(paramtype, wscontext);
}
@@ -259,17 +228,12 @@
{
paraTypeName = type.getLanguageSpecificName ();
if (CUtils.isSimpleType (paraTypeName))
- {
- paraTypeName =
- WrapperUtils.
- getClassNameFromParamInfoConsideringArrays
- (paramtype, wscontext);
- }
+ paraTypeName = WrapperUtils.getClassNameFromParamInfoConsideringArrays(paramtype, wscontext);
+
typeisarray = (paraTypeName.lastIndexOf ("_Array") > 0);
if (!typeisarray)
- {
paraTypeName = type.getLanguageSpecificName ();
- }
+
typeissimple = CUtils.isSimpleType (paraTypeName);
}
typeisarray |= type.isArray ();
@@ -282,14 +246,11 @@
}
if (baseTypeName == null)
- {
baseTypeName = paraTypeName;
- }
+
typeissimple = CUtils.isSimpleType (baseTypeName);
if (paramtype.getType().isAttachment())
- {
writer.write("ISoapAttachment *Value0");
- }
else if (typeissimple
&& (!(((ParameterInfo) paramsB.get (0)).isNillable () || ((ParameterInfo) paramsB.get (0)).isOptional())
|| CUtils.isPointerType(baseTypeName)))
@@ -297,13 +258,10 @@
writer.write (paraTypeName + " Value0");
}
else if (paraTypeName.lastIndexOf ("*") > 0)
- {
writer.write (paraTypeName + " Value0");
- }
- else
- { //for AnyType too
+ else //for AnyType too
writer.write (paraTypeName + "* Value0");
- }
+
for (int i = 1; i < paramsB.size (); i++)
{
baseTypeName = null;
@@ -320,20 +278,13 @@
{
paraTypeName = type.getLanguageSpecificName ();
if (CUtils.isSimpleType (paraTypeName))
- {
- paraTypeName =
- WrapperUtils.
- getClassNameFromParamInfoConsideringArrays
- (paramtype, wscontext);
- }
- typeisarray =
- (paraTypeName.lastIndexOf ("_Array") > 0);
+ paraTypeName = WrapperUtils.getClassNameFromParamInfoConsideringArrays(paramtype, wscontext);
+
+ typeisarray = (paraTypeName.lastIndexOf ("_Array") > 0);
if (!typeisarray)
- {
paraTypeName = type.getLanguageSpecificName ();
- }
+ }
- }
typeisarray |= type.isArray ();
typeissimple = CUtils.isSimpleType (paraTypeName);
}
@@ -345,36 +296,26 @@
}
if (baseTypeName == null)
- {
baseTypeName = paraTypeName;
- }
+
typeissimple = CUtils.isSimpleType (baseTypeName);
if (paramtype.getType().isAttachment())
- {
writer.write(", ISoapAttachment *Value" + i);
- }
else if (typeissimple
&& (!(((ParameterInfo) paramsB.get (i)).isNillable ()
|| ((ParameterInfo) paramsB.get (i)).isOptional())
|| CUtils.isPointerType(baseTypeName)))
- {
writer.write (", " + paraTypeName + " Value" + i);
- }
else if (paraTypeName.lastIndexOf ("*") > 0)
- {
writer.write (", " + paraTypeName + " Value" + i);
- }
- else
- { //for AnyType too
+ else //for AnyType too
writer.write (", " + paraTypeName + "* Value" + i);
} // end for loop
} // end if (0 < paramsB.size ())
- }
// Multiples parameters so fill the methods prototype
ArrayList paramsC = (ArrayList) minfo.getOutputParameterTypes ();
if (isAllTreatedAsOutParams)
- {
for (int i = 0; i < paramsC.size (); i++)
{
String baseTypeName = null;
@@ -383,20 +324,14 @@
ParameterInfo param = (ParameterInfo) paramsC.get (i);
String paramType = WrapperUtils.getClassNameFromParamInfoConsideringArrays (param, wscontext);
if (type.isSimpleType())
- {
baseTypeName = CUtils.getclass4qname(type.getBaseType());
- }
else
- {
baseTypeName = paramType;
- }
boolean bTypeHasStar = paramType.endsWith("*");
if (paramsB.size()!=0 || 0!=i)
- {
writer.write(", ");
- }
writer.write("AXIS_OUT_PARAM " + paramType);
if (CUtils.isSimpleType(baseTypeName))
@@ -404,31 +339,20 @@
if ((param.isOptional() || param.isNillable()) && !CUtils.isPointerType(baseTypeName))
{
if (bTypeHasStar)
- {
writer.write(" *");
- }
else
- {
writer.write(" **");
}
- }
else if (CUtils.isPointerType(baseTypeName) || !bTypeHasStar)
- {
writer.write(" *");
}
- // Else we don't need to anymore '*'
- }
else if(bTypeHasStar)
- {
writer.write(" *");
- }
else
- {
writer.write(" **");
- }
+
writer.write(" OutValue" + i);
} // end for-loop
- }
writer.write (")\n{\n");
@@ -437,40 +361,24 @@
writer.write ("\t");
if (returntypeisarray)
- {
- //for arrays
writer.write (outparamType + " * RetArray = new " + outparamType + "();\n");
- }
- else
- {
- if (!returntypeissimple)
- { //for AnyType too
+ else if (!returntypeissimple)
+ {
+ //for AnyType too
if (outparamType.lastIndexOf ("*") > 0)
- {
writer.write (outparamType + " pReturn = NULL;\n");
- }
else
writer.write (outparamType + "* pReturn = NULL;\n");
- //for complex types
}
- else
- {
- //for simple types
- if ((returntype.isNillable () || returntype.isOptional())
+ else if ((returntype.isNillable () || returntype.isOptional())
&& !(CUtils.isPointerType(outparamType)))
- {
writer.write (outparamType + "* Ret = NULL;\n");
- }
else
{
String initValue = CUtils.getInitValue (outparamType);
if (initValue != null)
- {
writer.write (outparamType + " Ret = " + initValue + ";\n");
- }
- else
- {
- if (outparamType.equals ("xsd__dateTime")
+ else if (outparamType.equals ("xsd__dateTime")
|| outparamType.equals ("xsd__date")
|| outparamType.equals ("xsd__time"))
{
@@ -478,30 +386,19 @@
writer.write ("\tmemset(&Ret,0,sizeof(" + outparamType + "));\n");
}
else
- {
writer.write (outparamType + " Ret;\n");
- }
- }
- }
- }
+ }
//TODO initialize return parameter appropriately.
}
- }
+
writer.write ("\tconst char* pcCmplxFaultName = NULL;\n");
writer.write ("\ttry\n\t{\n");
writer.write("\tif (AXIS_SUCCESS != m_pCall->initialize(CPP_DOC_PROVIDER" + ")) return ");
if (returntype != null)
- {
- writer.write ((returntypeisarray
- ? "RetArray"
- : returntypeissimple
- ? "Ret" : "pReturn") + ";\n\t");
- }
+ writer.write ((returntypeisarray ? "RetArray" : returntypeissimple ? "Ret" : "pReturn") + ";\n");
else
- {
writer.write (";\n");
- }
writer.write ("\n");
writer.write ("\tif (NULL==m_pCall->getTransportProperty(\"SOAPAction\",false))\n");
@@ -746,9 +643,8 @@
}
if (baseTypeName == null)
- {
baseTypeName = currentParaType;
- }
+
typeissimple = CUtils.isSimpleType (baseTypeName);
currentParamName = "*OutValue" + i;
@@ -757,13 +653,10 @@
{
QName qname = null;
if (WrapperUtils.getArrayType (type) != null)
- {
qname = WrapperUtils.getArrayType (type).getName ();
- }
else
- {
qname = type.getName ();
- }
+
String containedType = null;
if (CUtils.isSimpleType (qname))
@@ -822,9 +715,7 @@
else if (typeissimple)
{
if( i > 0)
- {
writer.write( "\n");
- }
if (CUtils.isPointerType(baseTypeName))
{
@@ -833,9 +724,8 @@
if( !CUtils.isPointerType(baseTypeName))
{
if (!baseTypeName.equals(currentParaType))
- {
xsdType = currentParaType;
- }
+
xsdType += " *";
}
@@ -899,9 +789,8 @@
{
int lastIndexOfStar = currentParaType.lastIndexOf("*");
if (lastIndexOfStar > 0)
- {
currentParaType = currentParaType.substring(0, lastIndexOfStar);
- }
+
writer.write ("\n\t\t\t"
+ currentParamName + " = (" + currentParaType
+ "*)m_pCall->getCmplxObject((void*) Axis_DeSerialize_" + currentParaType
@@ -918,9 +807,8 @@
else if (returntype == null)
{
if (minfo.getOutputMessage () != null)
- {
writer.write ("\t\t\t/*not successful*/\n\t\t}\n");
- }
+
writer.write ("\t}\n");
writer.write ("\tm_pCall->unInitialize();\n");
}
@@ -1243,46 +1131,5 @@
*/
protected void writeGlobalCodes () throws WrapperFault
{
- Iterator types = wscontext.getTypemap().getTypes().iterator();
- HashSet typeSet = new HashSet();
- String typeName;
- Type type;
- try
- {
- while (types.hasNext())
- {
- type = (Type) types.next();
- if (type.isSimpleType())
- {
- continue;
- }
- if (type.isArray())
- {
- continue;
- }
- if (type.isAnonymous() && !type.isExternalized())
- {
- continue;
- }
- typeSet.add(type.getLanguageSpecificName());
- }
-
- Iterator itr = typeSet.iterator();
- while (itr.hasNext())
- {
- typeName = itr.next ().toString ();
- writer.write ("extern int Axis_DeSerialize_" + typeName
- + "(" + typeName + "* param, IWrapperSoapDeSerializer* pDZ);\n");
- writer.write ("extern void* Axis_Create_" + typeName + "(int nSize);\n");
- writer.write ("extern void Axis_Delete_" + typeName + "(" +
- typeName + "* param, int nSize=0);\n");
- writer.write ("extern int Axis_Serialize_" + typeName + "(" +
- typeName + "* param, IWrapperSoapSerializer* pSZ, bool bArray = false);\n\n");
- }
- }
- catch (IOException e)
- {
- throw new WrapperFault (e);
- }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org