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 2007/01/17 02:30:57 UTC
svn commit: r496908 - in
/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws:
c/BeanParamWriter.java c/ParmHeaderFileWriter.java cpp/BeanParamWriter.java
cpp/ParmHeaderFileWriter.java
Author: nadiramra
Date: Tue Jan 16 17:30:56 2007
New Revision: 496908
URL: http://svn.apache.org/viewvc?view=rev&rev=496908
Log:
Stage 1 for xsd:extension solution.
Modified:
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java
webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java
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/ParmHeaderFileWriter.java
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java?view=diff&rev=496908&r1=496907&r2=496908
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/BeanParamWriter.java Tue Jan 16 17:30:56 2007
@@ -85,13 +85,21 @@
if (extensionBaseAttrib != null)
{
String typeName = extensionBaseAttrib.getTypeName();
- writer.write("\taxiscSoapSerializerSerializeAsChardata(pSZ,(void*)");
- if (!CUtils.isPointerType(typeName))
- writer.write("&");
-
- writer.write("(param->" + extensionBaseAttrib.getParamNameAsMember()
- + "), " + CUtils.getXSDTypeForBasicType(typeName) + ");\n");
+ if (extensionBaseAttrib.isSimpleType())
+ {
+ writer.write("\taxiscSoapSerializerSerializeAsChardata(pSZ,(void*)");
+
+ if (!CUtils.isPointerType(typeName))
+ writer.write("&");
+
+ writer.write("(param->" + extensionBaseAttrib.getParamNameAsMember()
+ + "), " + CUtils.getXSDTypeForBasicType(typeName) + ");\n");
+ }
+ else
+ {
+ // TODO
+ }
}
else
{
@@ -196,7 +204,8 @@
if (extensionBaseAttrib != null)
{
String typeName = extensionBaseAttrib.getTypeName();
- if( typeName != null)
+
+ if (extensionBaseAttrib.isSimpleType())
{
writer.write("\taxiscSoapSerializerSerializeAsChardata(pSZ, (void*)");
if (!CUtils.isPointerType(typeName))
@@ -205,6 +214,10 @@
writer.write("(param->" + extensionBaseAttrib.getParamNameAsMember() + "), "
+ CUtils.getXSDTypeForBasicType(typeName) + ");\n");
}
+ else
+ {
+ // TODO
+ }
}
writer.write("\n\t/* then serialize elements if any*/\n");
@@ -471,19 +484,26 @@
{
if (extensionBaseAttrib != null)
{
- writer.write("\tvoid* pCharDataAs;\n\n");
- String typeName = extensionBaseAttrib.getTypeName();
- String xsdType = CUtils.getXSDTypeForBasicType(typeName);
- writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, &pCharDataAs, " + xsdType + ");\n");
- writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
-
- if (CUtils.isPointerType(typeName))
- writer.write("(" + typeName + ") pCharDataAs;\n");
+ if (extensionBaseAttrib.isSimpleType())
+ {
+ writer.write("\tvoid* pCharDataAs;\n\n");
+ String typeName = extensionBaseAttrib.getTypeName();
+ String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+ writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, &pCharDataAs, " + xsdType + ");\n");
+ writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+
+ if (CUtils.isPointerType(typeName))
+ writer.write("(" + typeName + ") pCharDataAs;\n");
+ else
+ {
+ writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+ writer.write("\taxiscAxisDelete(pCharDataAs, " + xsdType + ");\n");
+ }
+ }
else
{
- writer.write(" *(" + typeName + "*) pCharDataAs;\n");
- writer.write("\taxiscAxisDelete(pCharDataAs, " + xsdType + ");\n");
- }
+ // TODO
+ }
}
else
{
@@ -724,21 +744,28 @@
if (extensionBaseAttrib != null
&& extensionBaseAttrib.getTypeName() != null)
{
- writer.write("\t{\n"); // ==== begin scope
- writer.write("\tvoid* pCharDataAs;\n");
- String typeName = extensionBaseAttrib.getTypeName();
- String xsdType = CUtils.getXSDTypeForBasicType(typeName);
- writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, &pCharDataAs, " + xsdType + ");\n");
- writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
-
- if (CUtils.isPointerType(typeName))
- writer.write("(" + typeName + ") pCharDataAs;\n");
+ if (extensionBaseAttrib.isSimpleType())
+ {
+ writer.write("\t{\n"); // ==== begin scope
+ writer.write("\tvoid* pCharDataAs;\n");
+ String typeName = extensionBaseAttrib.getTypeName();
+ String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+ writer.write("\taxiscSoapDeSerializerGetChardataAs(pDZ, &pCharDataAs, " + xsdType + ");\n");
+ writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+
+ if (CUtils.isPointerType(typeName))
+ writer.write("(" + typeName + ") pCharDataAs;\n");
+ else
+ {
+ writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+ writer.write("\taxiscAxisDelete(pCharDataAs, " + xsdType + ");\n");
+ }
+ writer.write("\t}\n"); // ==== end scope
+ }
else
{
- writer.write(" *(" + typeName + "*) pCharDataAs;\n");
- writer.write("\taxiscAxisDelete(pCharDataAs, " + xsdType + ");\n");
- }
- writer.write("\t}\n"); // ==== end scope
+ // TODO
+ }
}
writer.write("\t/* Return deserialization status */\n");
Modified: webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java?view=diff&rev=496908&r1=496907&r2=496908
==============================================================================
--- webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java (original)
+++ webservices/axis/trunk/c/src/wsdl/org/apache/axis/wsdl/wsdl2ws/c/ParmHeaderFileWriter.java Tue Jan 16 17:30:56 2007
@@ -452,10 +452,16 @@
}
}
+ // TODO we really do not support xsd:extension correctly or completely!
if (extensionBaseAttrib != null
&& getCorrectParmNameConsideringArraysAndComplexTypes(extensionBaseAttrib) != null)
{
String extBaseType = getCorrectParmNameConsideringArraysAndComplexTypes(extensionBaseAttrib);
+
+ // TODO following is hack till we really support xsd:extension correctly
+ if (extBaseType.lastIndexOf("*") > -1)
+ extBaseType = extBaseType.substring(0, extBaseType.lastIndexOf("*"));
+
if (!CUtils.isSimpleType(extBaseType))
typeSet.add(extBaseType);
}
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=496908&r1=496907&r2=496908
==============================================================================
--- 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 Tue Jan 16 17:30:56 2007
@@ -340,13 +340,21 @@
if (extensionBaseAttrib != null)
{
String typeName = extensionBaseAttrib.getTypeName();
- writer.write("\tpSZ->serializeAsChardata((void*)");
-
- if (!CUtils.isPointerType(typeName))
- writer.write("&");
- writer.write("(param->" + extensionBaseAttrib.getParamNameAsMember()
- + "), " + CUtils.getXSDTypeForBasicType(typeName) + ");\n");
+ if (extensionBaseAttrib.isSimpleType())
+ {
+ writer.write("\tpSZ->serializeAsChardata((void*)");
+
+ if (!CUtils.isPointerType(typeName))
+ writer.write("&");
+
+ writer.write("(param->" + extensionBaseAttrib.getParamNameAsMember()
+ + "), " + CUtils.getXSDTypeForBasicType(typeName) + ");\n");
+ }
+ else
+ {
+ // TODO
+ }
}
else
{
@@ -440,18 +448,23 @@
if(wscontext.getWrapInfo().getWrapperStyle().equals("document"))
writer.write("\tpSZ->serialize( \">\", 0);\n");
+ // TODO: xsd:extension not fully or correctly supported.
if (extensionBaseAttrib != null)
{
String typeName = extensionBaseAttrib.getTypeName();
- if( typeName != null)
+
+ if (extensionBaseAttrib.isSimpleType())
{
writer.write("\tpSZ->serializeAsChardata((void*)");
if (!CUtils.isPointerType(typeName))
- writer.write("&");
-
+ writer.write("&");
writer.write("(param->" + extensionBaseAttrib.getParamNameAsMember() + "), "
+ CUtils.getXSDTypeForBasicType(typeName) + ");\n");
}
+ else
+ {
+ // TODO
+ }
}
writer.write("\n\t/* then serialize elements if any*/\n");
@@ -461,11 +474,9 @@
for (int i = attributeParamCount; i < attribs.length; i++)
{
- String namespace = "";
+ String namespace = "NULL";
if (attribs[i].getNsQualified())
namespace = "Axis_URI_" + classname;
- else
- namespace = "NULL";
// if the attribute is a choice following should do
if (attribs[i].getChoiceElement())
@@ -725,18 +736,25 @@
{
if (extensionBaseAttrib != null)
{
- writer.write("\tvoid* pCharDataAs;\n\n");
- String typeName = extensionBaseAttrib.getTypeName();
- String xsdType = CUtils.getXSDTypeForBasicType(typeName);
- writer.write("\tpIWSDZ->getChardataAs(&pCharDataAs, " + xsdType + ");\n");
- writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
-
- if (CUtils.isPointerType(typeName))
- writer.write("(" + typeName + ") pCharDataAs;\n");
+ if (extensionBaseAttrib.isSimpleType())
+ {
+ writer.write("\tvoid* pCharDataAs;\n\n");
+ String typeName = extensionBaseAttrib.getTypeName();
+ String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+ writer.write("\tpIWSDZ->getChardataAs(&pCharDataAs, " + xsdType + ");\n");
+ writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+
+ if (CUtils.isPointerType(typeName))
+ writer.write("(" + typeName + ") pCharDataAs;\n");
+ else
+ {
+ writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+ writer.write("\tAxis::AxisDelete( pCharDataAs, " + xsdType + ");\n");
+ }
+ }
else
{
- writer.write(" *(" + typeName + "*) pCharDataAs;\n");
- writer.write("\tAxis::AxisDelete( pCharDataAs, " + xsdType + ");\n");
+ // TODO
}
}
else
@@ -1000,19 +1018,26 @@
if (extensionBaseAttrib != null
&& extensionBaseAttrib.getTypeName() != null)
{
- writer.write("\tvoid* pCharDataAs;\n");
- String typeName = extensionBaseAttrib.getTypeName();
- String xsdType = CUtils.getXSDTypeForBasicType(typeName);
- writer.write("\tpIWSDZ->getChardataAs(&pCharDataAs, " + xsdType + ");\n");
- writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
-
- if (CUtils.isPointerType(typeName))
- writer.write("(" + typeName + ") pCharDataAs;\n");
+ if (extensionBaseAttrib.isSimpleType())
+ {
+ writer.write("\tvoid* pCharDataAs;\n");
+ String typeName = extensionBaseAttrib.getTypeName();
+ String xsdType = CUtils.getXSDTypeForBasicType(typeName);
+ writer.write("\tpIWSDZ->getChardataAs(&pCharDataAs, " + xsdType + ");\n");
+ writer.write("\tparam->" + extensionBaseAttrib.getParamNameAsMember() + " = ");
+
+ if (CUtils.isPointerType(typeName))
+ writer.write("(" + typeName + ") pCharDataAs;\n");
+ else
+ {
+ writer.write(" *(" + typeName + "*) pCharDataAs;\n");
+ writer.write("\tAxis::AxisDelete( pCharDataAs, " + xsdType + ");\n");
+ }
+ }
else
{
- writer.write(" *(" + typeName + "*) pCharDataAs;\n");
- writer.write("\tAxis::AxisDelete( pCharDataAs, " + xsdType + ");\n");
- }
+ // TODO
+ }
}
writer.write("\treturn pIWSDZ->getStatus();\n");
@@ -1122,7 +1147,12 @@
// AXISCPP-918 patch provided by Franz Fehringer
if (extensionBaseAttrib != null && extensionBaseAttrib.getTypeName() != null)
{
- writer.write("\t" + extensionBaseAttrib.getParamNameAsMember() + " = " + "original." + extensionBaseAttrib.getParamNameAsMember() + ";\n");
+ if (extensionBaseAttrib.isSimpleType())
+ writer.write("\t" + extensionBaseAttrib.getParamNameAsMember() + " = " + "original." + extensionBaseAttrib.getParamNameAsMember() + ";\n");
+ else
+ {
+ // TODO
+ }
}
// End of AXISCPP-918
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=496908&r1=496907&r2=496908
==============================================================================
--- 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 Tue Jan 16 17:30:56 2007
@@ -576,10 +576,16 @@
}
}
+ // TODO we really do not support xsd:extension correctly or completely!
if (extensionBaseAttrib != null
&& getCorrectParmNameConsideringArraysAndComplexTypes(extensionBaseAttrib) != null)
{
String extBaseType = getCorrectParmNameConsideringArraysAndComplexTypes(extensionBaseAttrib);
+
+ // TODO following is hack till we really support xsd:extension correctly
+ if (extBaseType.lastIndexOf("*") > -1)
+ extBaseType = extBaseType.substring(0, extBaseType.lastIndexOf("*"));
+
if (!CUtils.isSimpleType(extBaseType))
typeSet.add(extBaseType);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org