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