axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dami...@apache.org
Subject svn commit: r416235 - in /webservices/axis2/trunk/c/woden: include/ src/builder/ src/builder/wsdl10/ src/wsdl10/ src/wsdl10/extensions/ src/wsdl20/
Date Thu, 22 Jun 2006 03:38:03 GMT
Author: damitha
Date: Wed Jun 21 20:38:02 2006
New Revision: 416235

URL: http://svn.apache.org/viewvc?rev=416235&view=rev
Log:
Woden wsdl1 support is now working

Modified:
    webservices/axis2/trunk/c/woden/include/woden_binding.h
    webservices/axis2/trunk/c/woden/src/builder/reader.c
    webservices/axis2/trunk/c/woden/src/builder/wsdl10/wsdl10_reader.c
    webservices/axis2/trunk/c/woden/src/wsdl10/binding.c
    webservices/axis2/trunk/c/woden/src/wsdl10/binding_msg_ref.c
    webservices/axis2/trunk/c/woden/src/wsdl10/component_model_builder.c
    webservices/axis2/trunk/c/woden/src/wsdl10/configurable.c
    webservices/axis2/trunk/c/woden/src/wsdl10/desc.c
    webservices/axis2/trunk/c/woden/src/wsdl10/extensions/attr_extensible.c
    webservices/axis2/trunk/c/woden/src/wsdl10/extensions/element_extensible.c
    webservices/axis2/trunk/c/woden/src/wsdl10/woden_constants.h
    webservices/axis2/trunk/c/woden/src/wsdl10/wsdl_element.c
    webservices/axis2/trunk/c/woden/src/wsdl20/component_model_builder.c

Modified: webservices/axis2/trunk/c/woden/include/woden_binding.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_binding.h?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_binding.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_binding.h Wed Jun 21 20:38:02 2006
@@ -196,17 +196,6 @@
         void *binding,
         const axis2_env_t *env);
 
-AXIS2_EXTERN woden_binding_t * AXIS2_CALL
-woden_binding_to_attr_extensible(
-        void *binding,
-        const axis2_env_t *env);
-
-AXIS2_EXTERN woden_binding_t * AXIS2_CALL
-woden_binding_to_element_extensible(
-        void *binding,
-        const axis2_env_t *env);
-
-
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 woden_binding_resolve_methods(
         woden_binding_t *binding,

Modified: webservices/axis2/trunk/c/woden/src/builder/reader.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/builder/reader.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/builder/reader.c (original)
+++ webservices/axis2/trunk/c/woden/src/builder/reader.c Wed Jun 21 20:38:02 2006
@@ -2207,6 +2207,9 @@
     axiom_element_t *temp_el;
     axiom_node_t *temp_el_node;
     axis2_qname_t *intface_qn = NULL;
+    void *configurable = NULL;
+    void *documentable = NULL;
+    void *wsdl_obj = NULL;
     axis2_status_t status = AXIS2_FAILURE;
 
     desc = woden_desc_to_desc_element(desc, env);
@@ -2276,7 +2279,10 @@
     
     /* TODO extends attribute */
   
-    binding = woden_binding_to_attr_extensible(binding, env);
+    configurable = WODEN_BINDING_GET_BASE_IMPL(binding, env);
+    documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+    wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+
     status = parse_ext_attributes(reader, env, binding_el_node, "binding_element", 
             binding, desc);
     if(AXIS2_SUCCESS != status)
@@ -2354,11 +2360,20 @@
         else
         {
             void *ext_element = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "binding_element", 
                     binding, temp_el_node, desc);
-            binding = woden_binding_to_element_extensible(binding, env);
-            WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(binding, env, ext_element);
+            configurable = WODEN_BINDING_GET_BASE_IMPL(binding, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
+            WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(wsdl_el, env, ext_element);
         }
 
         temp_el = axiom_util_get_next_sibling_element(temp_el, env, 

Modified: webservices/axis2/trunk/c/woden/src/builder/wsdl10/wsdl10_reader.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/builder/wsdl10/wsdl10_reader.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/builder/wsdl10/wsdl10_reader.c (original)
+++ webservices/axis2/trunk/c/woden/src/builder/wsdl10/wsdl10_reader.c Wed Jun 21 20:38:02
2006
@@ -379,6 +379,12 @@
         void *desc,
         void *parent);
 
+/**
+ * @param om_el_node element node
+ * @param wsdl_class
+ * @param wsdl_obj wsdl_obj_t type object
+ * @param desc desc object
+ */
 axis2_status_t AXIS2_CALL
 parse_ext_attributes(
         void *reader,
@@ -629,6 +635,8 @@
     axiom_element_t *schema_elem = NULL;
     axiom_node_t *schema_elem_node = NULL;
     axiom_namespace_t *schema_ns = NULL;
+    void *documentable = NULL;
+    void *wsdl_obj = NULL;
     axis2_status_t status = AXIS2_FAILURE;
 
     AXIS2_ENV_CHECK(env, NULL);
@@ -706,7 +714,10 @@
 
     }
     desc = woden_wsdl10_desc_to_attr_extensible(desc, env); 
-    status = parse_ext_attributes(reader, env, desc_el_node, "description_element", desc,
desc);
+    documentable = WODEN_WSDL10_DESC_GET_BASE_IMPL(desc, env);
+    wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+    status = parse_ext_attributes(reader, env, desc_el_node, 
+            "description_element", wsdl_obj, desc);
     if(AXIS2_SUCCESS != status)
         return NULL;
     
@@ -824,7 +835,14 @@
             ext_element = parse_ext_element(reader, env, "desc_element", desc, temp_el_node,
desc);
             if(ext_element)
             {
-                desc = woden_wsdl10_desc_to_element_extensible(desc, env);
+                void *documentable = NULL;
+                void *wsdl_obj = NULL;
+                void *wsdl_el = NULL;
+
+                documentable = WODEN_WSDL10_DESC_GET_BASE_IMPL(desc, env);
+                wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+                wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+                wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
                 WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(desc, env, ext_element);
             }
         }
@@ -908,11 +926,13 @@
     while (NULL != temp_el)
     {
         void *ext_el = NULL;
+        void *wsdl_el = NULL;
 
         ext_el = parse_ext_element(reader, env, "documentation_element", 
                 documentation, temp_el_node, desc);
-        documentation = woden_documentation_to_element_extensible(
-                documentation, env);
+
+        wsdl_el = WODEN_DOCUMENTATION_GET_BASE_IMPL(documentation, env);
+        wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
         WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(documentation, env, 
                 ext_el);
         temp_el = axiom_util_get_next_sibling_element(temp_el, env, 
@@ -1090,10 +1110,17 @@
         else
         {
             void *ext_element = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "types_element", 
                     types, temp_el_node, desc);
-            types = woden_types_to_element_extensible(types, env);
+
+            documentable = WODEN_TYPES_GET_BASE_IMPL(types, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(types, env, ext_element);
         }
 
@@ -1370,10 +1397,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "msg_element", 
                     msg, temp_el_node, desc);
-            msg = woden_wsdl10_msg_ref_to_element_extensible(msg, env);
+
+            nested_confble = WODEN_WSDL10_MSG_REF_GET_BASE_IMPL(msg, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(msg, env, ext_element);
         }
 
@@ -1479,10 +1517,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "interface_part_element", 
                     part, temp_el_node, desc);
-            part = woden_wsdl10_part_to_element_extensible(part, env);
+
+            nested_confble = WODEN_WSDL10_PART_GET_BASE_IMPL(part, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(part, env, ext_element);
         }
 
@@ -1622,10 +1671,19 @@
         else
         {
             void *ext_element = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "interface_element", 
                     intface, temp_el_node, desc);
-            intface = woden_interface_to_element_extensible(intface, env);
+
+            configurable = WODEN_INTERFACE_GET_BASE_IMPL(intface, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(intface, env, ext_element);
         }
 
@@ -1813,10 +1871,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "interface_op_element", 
                     op, temp_el_node, desc);
-            op = woden_interface_op_to_element_extensible(op, env);
+
+            nested_confble = WODEN_INTERFACE_OP_GET_BASE_IMPL(op, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(op, env, ext_element);
         }
 
@@ -1932,10 +2001,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "interface_fault_ref_element", 
                     fault_ref, temp_el_node, desc);
-            fault_ref = woden_wsdl10_interface_fault_ref_to_element_extensible(fault_ref,
env);
+
+            nested_confble = WODEN_WSDL10_INTERFACE_FAULT_REF_GET_BASE_IMPL(fault_ref, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(fault_ref, env, ext_element);
         }
 
@@ -2050,10 +2130,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "interface_msg_ref_element", 
                     msg_ref, temp_el_node, desc);
-            msg_ref = woden_wsdl10_interface_msg_ref_to_element_extensible(msg_ref, env);
+
+            nested_confble = WODEN_WSDL10_INTERFACE_MSG_REF_GET_BASE_IMPL(msg_ref, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(msg_ref, env, ext_element);
         }
 
@@ -2079,6 +2170,9 @@
     axiom_element_t *temp_el;
     axiom_node_t *temp_el_node;
     axis2_qname_t *intface_qn = NULL;
+    void *configurable = NULL;
+    void *documentable = NULL;
+    void *wsdl_obj = NULL;
     axis2_status_t status = AXIS2_FAILURE;
 
     desc = woden_wsdl10_desc_to_desc_element(desc, env);
@@ -2147,10 +2241,12 @@
     }
     
     /* TODO extends attribute */
-  
-    binding = woden_binding_to_attr_extensible(binding, env);
+    
+    configurable = WODEN_BINDING_GET_BASE_IMPL(binding, env);
+    documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+    wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
     status = parse_ext_attributes(reader, env, binding_el_node, "binding_element", 
-            binding, desc);
+            wsdl_obj, desc);
     if(AXIS2_SUCCESS != status)
         return NULL;
     
@@ -2215,11 +2311,20 @@
         else
         {
             void *ext_element = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "binding_element", 
                     binding, temp_el_node, desc);
-            binding = woden_binding_to_element_extensible(binding, env);
-            WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(binding, env, ext_element);
+
+            configurable = WODEN_BINDING_GET_BASE_IMPL(binding, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
+            WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(wsdl_el, env, ext_element);
         }
 
         temp_el = axiom_util_get_next_sibling_element(temp_el, env, 
@@ -2244,7 +2349,6 @@
     axiom_node_t *temp_el_node;
     axis2_qname_t *ref_qn = NULL;
     void *nested_configurable = NULL;
-    axis2_qname_t *qname = NULL;
     axis2_status_t status = AXIS2_FAILURE;
 
     desc = woden_wsdl10_desc_to_desc_element(desc, env);
@@ -2264,12 +2368,12 @@
 
         namespc = WODEN_WSDL10_DESC_ELEMENT_GET_TARGET_NAMESPACE(desc, env);
         namespc_str = AXIS2_URI_TO_STRING(namespc, env, AXIS2_URI_UNP_OMITUSERINFO);
-        qname = axis2_qname_create(env, name, namespc_str, NULL);
+        ref_qn = axis2_qname_create(env, name, namespc_str, NULL);
         op = woden_wsdl10_binding_op_to_binding_op_element(op, env);
-        WODEN_WSDL10_BINDING_OP_ELEMENT_SET_QNAME(op, env, qname);
+        WODEN_WSDL10_BINDING_OP_ELEMENT_SET_QNAME(op, env, ref_qn);
     }
     /* Dereference the 'ref' qname to an interface_op_element */
-    if(NULL != qname)
+    if(NULL != ref_qn)
     {
         void *intface = NULL;
         axis2_array_list_t *int_ops = NULL;
@@ -2404,10 +2508,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "binding_op_element", 
                     op, temp_el_node, desc);
-            op = woden_wsdl10_binding_op_to_element_extensible(op, env);
+
+            nested_confble = WODEN_WSDL10_BINDING_OP_GET_BASE_IMPL(op, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(op, env, ext_element);
         }
 
@@ -2621,10 +2736,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "binding_fault_ref_element", 
                     fault_ref, temp_el_node, desc);
-            fault_ref = woden_binding_fault_ref_to_element_extensible(fault_ref, env);
+
+            nested_confble = WODEN_BINDING_FAULT_REF_GET_BASE_IMPL(fault_ref, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(fault_ref, env, ext_element);
         }
 
@@ -2796,10 +2922,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "binding_msg_ref_element", 
                     msg_ref, temp_el_node, desc);
-            msg_ref = woden_wsdl10_binding_msg_ref_to_element_extensible(msg_ref, env);
+
+            nested_confble = WODEN_WSDL10_BINDING_MSG_REF_GET_BASE_IMPL(msg_ref, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(msg_ref, env, ext_element);
         }
 
@@ -2951,10 +3088,19 @@
         else
         {
             void *ext_element = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "svc_element", 
                     svc, temp_el_node, desc);
-            svc = woden_svc_to_element_extensible(svc, env);
+
+            configurable = WODEN_SVC_GET_BASE_IMPL(svc, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(svc, env, ext_element);
         }
 
@@ -3109,10 +3255,21 @@
         else
         {
             void *ext_element = NULL;
+            void *nested_confble = NULL;
+            void *configurable = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "endpoint_element", 
                     endpoint, temp_el_node, desc);
-            endpoint = woden_endpoint_to_element_extensible(endpoint, env);
+
+            nested_confble = WODEN_ENDPOINT_GET_BASE_IMPL(endpoint, env);
+            configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+            documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(endpoint, env, ext_element);
         }
 
@@ -3206,10 +3363,17 @@
         else
         {
             void *ext_element = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "feature_element", 
                     feature, temp_el_node, desc);
-            feature = woden_feature_to_element_extensible(feature, env);
+
+            documentable = WODEN_FEATURE_GET_BASE_IMPL(feature, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(feature, env, ext_element);
         }
 
@@ -3372,10 +3536,17 @@
         else
         {
             void *ext_element = NULL;
+            void *documentable = NULL;
+            void *wsdl_obj = NULL;
+            void *wsdl_el = NULL;
 
             ext_element = parse_ext_element(reader, env, "property_element", 
                     property, temp_el_node, desc);
-            property = woden_property_to_element_extensible(property, env);
+
+            documentable = WODEN_PROPERTY_GET_BASE_IMPL(property, env);
+            wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+            wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+            wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
             WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(property, env, ext_element);
         }
 
@@ -3448,11 +3619,13 @@
                     if(NULL != xml_attr)
                     {
                         axis2_char_t *attr_value = NULL;
+                        void *wsdl_el = NULL;
 
                         attr_value = AXIOM_ATTRIBUTE_GET_VALUE((axiom_attribute_t *) om_attr,
env);
                         WODEN_XML_ATTR_INIT(xml_attr, env, om_el, 
                                 om_el_node, attr_type, attr_value);
-                        WODEN_ATTR_EXTENSIBLE_SET_EXT_ATTR(wsdl_obj, env, 
+                        wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+                        WODEN_ATTR_EXTENSIBLE_SET_EXT_ATTR(wsdl_el, env, 
                                 attr_type, xml_attr);
                     }
                 }

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/binding.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/binding.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/binding.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/binding.c Wed Jun 21 20:38:02 2006
@@ -23,7 +23,6 @@
 #include <woden_binding_fault_element.h>
 #include <woden_interface.h>
 #include <woden_binding_op_element.h>
-#include <woden_element_extensible.h>
 
 typedef struct woden_binding_impl woden_binding_impl_t;
 
@@ -374,59 +373,6 @@
     return binding;
 }
 
-AXIS2_EXTERN woden_binding_t * AXIS2_CALL
-woden_binding_to_attr_extensible(
-        void *binding,
-        const axis2_env_t *env)
-{
-    woden_binding_impl_t *binding_impl = NULL;
-   
-    AXIS2_ENV_CHECK(env, NULL);
-    if(!binding)
-    {
-        binding_impl = (woden_binding_impl_t *) create(env);
-    }
-    else
-        binding_impl = (woden_binding_impl_t *) binding;
-    woden_binding_free_ops(binding, env);
-
-    binding_impl->binding.base.binding_element.
-        base.documentable_element.wsdl_element.base.attr_extensible.ops = 
-        AXIS2_MALLOC(env->allocator, 
-                sizeof(woden_attr_extensible_ops_t));
-    woden_attr_extensible_resolve_methods(&(binding_impl->binding.base.
-            binding_element.base.documentable_element.
-            wsdl_element.base.attr_extensible), env, NULL, binding_impl->methods);
-    return binding;
-}
-
-AXIS2_EXTERN woden_binding_t * AXIS2_CALL
-woden_binding_to_element_extensible(
-        void *binding,
-        const axis2_env_t *env)
-{
-    woden_binding_impl_t *binding_impl = NULL;
-   
-    AXIS2_ENV_CHECK(env, NULL);
-    if(!binding)
-    {
-        binding_impl = (woden_binding_impl_t *) create(env);
-    }
-    else
-        binding_impl = (woden_binding_impl_t *) binding;
-    woden_binding_free_ops(binding, env);
-
-    binding_impl->binding.base.binding_element.
-        base.documentable_element.wsdl_element.base.element_extensible.ops = 
-        AXIS2_MALLOC(env->allocator, 
-                sizeof(woden_element_extensible_ops_t));
-    woden_element_extensible_resolve_methods(&(binding_impl->binding.base.
-            binding_element.base.documentable_element.
-            wsdl_element.base.element_extensible), env, NULL, binding_impl->methods);
-    return binding;
-}
-
-
 /************************End of Woden C Internal Methods***********************/
 static woden_binding_t *
 create(const axis2_env_t *env)
@@ -637,28 +583,6 @@
             configurable_component.wsdl_component.ops = NULL;
     }
     
-    if(binding_impl->binding.base.binding_element.
-            base.documentable_element.wsdl_element.base.attr_extensible.ops)
-    {
-        AXIS2_FREE(env->allocator, binding_impl->binding.
-                base.binding_element.base.documentable_element.
-                wsdl_element.base.attr_extensible.ops );
-        binding_impl->binding.
-                base.binding_element.base.documentable_element.
-                wsdl_element.base.attr_extensible.ops = NULL;
-    }
-    
-    if(binding_impl->binding.base.binding_element.
-            base.documentable_element.wsdl_element.base.element_extensible.ops)
-    {
-        AXIS2_FREE(env->allocator, binding_impl->binding.
-                base.binding_element.base.documentable_element.
-                wsdl_element.base.element_extensible.ops );
-        binding_impl->binding.
-                base.binding_element.base.documentable_element.
-                wsdl_element.base.element_extensible.ops = NULL;
-    }
-   
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/binding_msg_ref.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/binding_msg_ref.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/binding_msg_ref.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/binding_msg_ref.c Wed Jun 21 20:38:02 2006
@@ -890,7 +890,7 @@
     binding_msg_ref_impl = INTF_TO_IMPL(axis2_hash_get(super, 
                 "WODEN_WSDL10_BINDING_MSG_REF", AXIS2_HASH_KEY_STRING));
 
-    if(!binding_msg_ref_impl->f_qname)
+    if(binding_msg_ref_impl->f_qname)
     {
         AXIS2_QNAME_FREE(binding_msg_ref_impl->f_qname, env);
         binding_msg_ref_impl->f_qname = NULL;

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/component_model_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/component_model_builder.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/component_model_builder.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/component_model_builder.c Wed Jun 21 20:38:02
2006
@@ -731,11 +731,15 @@
     {
         void *op = NULL;
         axis2_array_list_t *property_elements = NULL;
+        void *nested_confble = NULL;
+        void *confble = NULL;
         
         op = AXIS2_ARRAY_LIST_GET(ops, env, i);
-        op = woden_interface_op_to_configurable_element(op, env);
+        nested_confble = WODEN_INTERFACE_OP_GET_BASE_IMPL(op, env);
+        confble = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(nested_confble, env);
+        confble = woden_configurable_to_configurable_element(confble, env);
         property_elements = WODEN_CONFIGURABLE_ELEMENT_GET_PROPERTY_ELEMENTS(
-                op, env);
+                confble, env);
         build_properties(builder, env, property_elements, op);
         build_interface_fault_refs(builder, env, op);
         build_interface_msg_refs(builder, env, op);
@@ -1013,16 +1017,23 @@
         axis2_uri_t *ext_ns = NULL;
         axis2_bool_t temp1 = AXIS2_FALSE;
         axis2_bool_t temp2 = AXIS2_FALSE;
+        void *wsdl_obj = NULL;
+        void *wsdl_el = NULL;
+        void *docble = NULL;
+        void *confble = NULL;
         
         ext_ns = AXIS2_ARRAY_LIST_GET(ext_namespcs, env, i);
-        binding = woden_binding_to_attr_extensible(
-                binding, env);
+
+        confble = WODEN_BINDING_GET_BASE_IMPL(binding, env);
+        docble = WODEN_CONFIGURABLE_GET_BASE_IMPL(confble, env);
+        wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(docble, env);
+        wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+        wsdl_el = woden_wsdl_element_to_attr_extensible(wsdl_el, env);
         temp1 = WODEN_ATTR_EXTENSIBLE_HAS_EXT_ATTRS_FOR_NAMESPACE(
-                binding, env, ext_ns);
-        binding = woden_binding_to_element_extensible(
-                binding, env);
+                wsdl_el, env, ext_ns);
+        wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
         temp2 = WODEN_ELEMENT_EXTENSIBLE_HAS_EXT_ELEMENTS_FOR_NAMESPACE(
-                binding, env, ext_ns);
+                wsdl_el, env, ext_ns);
         if(AXIS2_TRUE == temp1 || AXIS2_TRUE == temp2)
         {
             void *comp_ext = NULL;

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/configurable.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/configurable.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/configurable.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/configurable.c Wed Jun 21 20:38:02 2006
@@ -141,6 +141,14 @@
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
     }
+    axis2_hash_set(configurable_impl->methods, "add_property_element", 
+            AXIS2_HASH_KEY_STRING, woden_configurable_add_property_element);
+    axis2_hash_set(configurable_impl->methods, "get_property_elements", 
+            AXIS2_HASH_KEY_STRING, woden_configurable_get_property_elements);
+    axis2_hash_set(configurable_impl->methods, "add_feature_element", 
+            AXIS2_HASH_KEY_STRING, woden_configurable_add_feature_element);
+    axis2_hash_set(configurable_impl->methods, "get_feature_elements", 
+            AXIS2_HASH_KEY_STRING, woden_configurable_get_feature_elements);
 
     configurable_impl->configurable.ops = AXIS2_MALLOC(env->allocator, 
                     sizeof(woden_configurable_ops_t));

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/desc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/desc.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/desc.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/desc.c Wed Jun 21 20:38:02 2006
@@ -693,6 +693,18 @@
     desc_impl->desc.ops->get_type_defs = woden_wsdl10_desc_get_type_defs;
     desc_impl->desc.ops->get_type_def = woden_wsdl10_desc_get_type_def;
     desc_impl->desc.ops->to_element = woden_wsdl10_desc_to_element;
+    desc_impl->desc.ops->add_to_all_interfaces = 
+        woden_wsdl10_desc_add_to_all_interfaces;
+    desc_impl->desc.ops->add_to_all_bindings = 
+        woden_wsdl10_desc_add_to_all_bindings;
+    desc_impl->desc.ops->add_to_all_svcs = 
+        woden_wsdl10_desc_add_to_all_svcs;
+    desc_impl->desc.ops->add_to_all_element_decls = 
+        woden_wsdl10_desc_add_to_all_element_decls;
+    desc_impl->desc.ops->add_to_all_type_defs = 
+        woden_wsdl10_desc_add_to_all_type_defs;
+    desc_impl->desc.ops->add_to_all_msgs = 
+        woden_wsdl10_desc_add_to_all_msgs;
 
     desc_impl->f_namespcs = axis2_hash_make(env);
     if(!desc_impl->f_namespcs) 
@@ -705,10 +717,23 @@
     desc_impl->f_msg_elements = axis2_array_list_create(env, 0);
     desc_impl->f_interface_elements = axis2_array_list_create(env, 0);
     desc_impl->f_svc_elements = axis2_array_list_create(env, 0);
+    desc_impl->f_all_svcs = axis2_array_list_create(env, 0);
+    desc_impl->f_all_bindings = axis2_array_list_create(env, 0);
+    desc_impl->f_all_msgs = axis2_array_list_create(env, 0);
+    desc_impl->f_all_interfaces = axis2_array_list_create(env, 0);
+    desc_impl->f_all_type_defs = axis2_array_list_create(env, 0);
+    desc_impl->f_all_element_decls = axis2_array_list_create(env, 0);
     if(!desc_impl->f_interface_elements ||
             !desc_impl->f_msg_elements || 
             !desc_impl->f_svc_elements || 
-            !desc_impl->f_binding_elements) 
+            !desc_impl->f_binding_elements ||
+            !desc_impl->f_all_interfaces || 
+            !desc_impl->f_all_bindings || 
+            !desc_impl->f_all_svcs || 
+            !desc_impl->f_all_msgs || 
+            !desc_impl->f_all_element_decls || 
+            !desc_impl->f_all_type_defs
+            ) 
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/extensions/attr_extensible.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/extensions/attr_extensible.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/extensions/attr_extensible.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/extensions/attr_extensible.c Wed Jun 21 20:38:02
2006
@@ -274,13 +274,10 @@
 {
     woden_attr_extensible_impl_t *extensible_impl = NULL;
     axis2_char_t *str_attr_type = NULL;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, attr_type, AXIS2_FAILURE);
-    super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
     
     str_attr_type = AXIS2_QNAME_TO_STRING(attr_type, env);
     if(attr)
@@ -300,13 +297,10 @@
 {
     woden_attr_extensible_impl_t *extensible_impl = NULL;
     axis2_char_t *str_attr_type = NULL;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, attr_type, NULL);
-    super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
 
     str_attr_type = AXIS2_QNAME_TO_STRING(attr_type, env);
     return (woden_xml_attr_t *)axis2_hash_get(extensible_impl->f_ext_attrs, 
@@ -320,12 +314,9 @@
 {
     woden_attr_extensible_impl_t *extensible_impl = NULL;
     axis2_hash_index_t *index = NULL;
-    axis2_hash_t *super = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
-    super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
  
     if(extensible_impl->temp_attrs)
     {
@@ -361,13 +352,10 @@
     woden_attr_extensible_impl_t *extensible_impl = NULL;
     axis2_char_t *str_namespc = NULL;
     axis2_hash_index_t *index = NULL;
-    axis2_hash_t *super = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, namespc, NULL);
-    super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
 
     str_namespc = AXIS2_URI_TO_STRING(namespc, env, AXIS2_URI_UNP_OMITUSERINFO);
     if(extensible_impl->temp_attrs)
@@ -407,13 +395,10 @@
     axis2_bool_t result = AXIS2_FALSE;
     axis2_char_t *str_namespc = NULL;
     axis2_hash_index_t *index = NULL;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, namespc, AXIS2_FAILURE);
-    super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
 
     str_namespc = AXIS2_URI_TO_STRING(namespc, env, AXIS2_URI_UNP_OMITUSERINFO);
     for (index = axis2_hash_first (extensible_impl->f_ext_attrs, env); index; 

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/extensions/element_extensible.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/extensions/element_extensible.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/extensions/element_extensible.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/extensions/element_extensible.c Wed Jun 21
20:38:02 2006
@@ -117,14 +117,15 @@
         woden_element_extensible_get_ext_elements_of_type;
     extensible_impl->extensible.ops->has_ext_elements_for_namespace = 
         woden_element_extensible_has_ext_elements_for_namespace;
-        
+
+    extensible_impl->f_ext_elements = axis2_array_list_create(env, 0);
     extensible_impl->super = axis2_hash_make(env);
     if(!extensible_impl->super) 
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
     }
-    axis2_hash_set(extensible_impl->super, "WODEN_ELEMENT_EXTENSLBE", 
+    axis2_hash_set(extensible_impl->super, "WODEN_ELEMENT_EXTENSIBLE", 
             AXIS2_HASH_KEY_STRING, &(extensible_impl->extensible));
  
     return &(extensible_impl->extensible);
@@ -266,13 +267,11 @@
                                     woden_ext_element_t *ext_el) 
 {
     woden_element_extensible_impl_t *extensible_impl = NULL;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, ext_el, AXIS2_FAILURE);
-    super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
+    
     
     return AXIS2_ARRAY_LIST_ADD(extensible_impl->f_ext_elements, env, ext_el);
 }
@@ -285,13 +284,10 @@
 {
     woden_element_extensible_impl_t *extensible_impl = NULL;
     int index = -1;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, ext_el, AXIS2_FAILURE);
-    super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
 
     index = AXIS2_ARRAY_LIST_INDEX_OF(extensible_impl->f_ext_elements, env, ext_el);
     AXIS2_ARRAY_LIST_REMOVE(extensible_impl->f_ext_elements, env, index);
@@ -303,12 +299,9 @@
                                                 const axis2_env_t *env) 
 {
     woden_element_extensible_impl_t *extensible_impl = NULL;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
-    super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
     
     return extensible_impl->f_ext_elements;
 }
@@ -321,13 +314,10 @@
     woden_element_extensible_impl_t *extensible_impl = NULL;
     int i = 0;
     int size = 0;
-    axis2_hash_t *super = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, ext_type, NULL);
-    super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
 
     if(extensible_impl->temp_elems)
     {
@@ -372,13 +362,10 @@
     axis2_char_t *ext_ns = NULL;
     int i = 0;
     int size = 0;
-    axis2_hash_t *super = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, namespc, AXIS2_FAILURE);
-    super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
-    extensible_impl = INTF_TO_IMPL(axis2_hash_get(super, 
-                "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING)); 
+    extensible_impl = INTF_TO_IMPL(extensible);
 
     ext_ns = AXIS2_URI_TO_STRING(namespc, env, AXIS2_URI_UNP_OMITUSERINFO);
     size = AXIS2_ARRAY_LIST_SIZE(extensible_impl->f_ext_elements, env);

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/woden_constants.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/woden_constants.h?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/woden_constants.h (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/woden_constants.h Wed Jun 21 20:38:02 2006
@@ -103,7 +103,7 @@
 #define WODEN_ATTR_MESSAGE_LABEL "messageLabel"
 #define WODEN_ATTR_REF "ref"
 #define WODEN_ATTR_REQUIRED "required"
-#define WODEN_ATTR_INTERFACE "portType"
+#define WODEN_ATTR_INTERFACE "type"
 #define WODEN_ATTR_TYPE "type"
 #define WODEN_ATTR_BINDING "binding"
 #define WODEN_ATTR_ADDRESS "address"

Modified: webservices/axis2/trunk/c/woden/src/wsdl10/wsdl_element.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/wsdl_element.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/wsdl_element.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/wsdl_element.c Wed Jun 21 20:38:02 2006
@@ -176,7 +176,8 @@
             AXIS2_MALLOC(env->allocator, 
             sizeof(woden_attr_extensible_ops_t));
     woden_attr_extensible_resolve_methods(&(wsdl_element_impl->
-            wsdl_element.base.attr_extensible), env, NULL, wsdl_element_impl->methods);
+            wsdl_element.base.attr_extensible), env, wsdl_element_impl->
+            f_attr_ext, wsdl_element_impl->methods);
     return wsdl_element;
 
 }
@@ -235,6 +236,15 @@
     wsdl_element_impl->wsdl_element.ops->super_objs = 
         woden_wsdl_element_super_objs;
     wsdl_element_impl->wsdl_element.ops->type = woden_wsdl_element_type;
+        
+    wsdl_element_impl->super = axis2_hash_make(env);
+    if(!wsdl_element_impl->super) 
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+    axis2_hash_set(wsdl_element_impl->super, "WODEN_WSDL_ELEMENT", 
+            AXIS2_HASH_KEY_STRING, &(wsdl_element_impl->wsdl_element));
     
     wsdl_element_impl->methods = axis2_hash_make(env);
     if(!wsdl_element_impl->methods) 
@@ -302,6 +312,10 @@
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
     }
+    axis2_hash_set(wsdl_element_impl->super, "WODEN_ELEMENT_EXTENSIBLE", 
+            AXIS2_HASH_KEY_STRING, &(wsdl_element_impl->wsdl_element));
+    axis2_hash_set(wsdl_element_impl->super, "WODEN_ATTR_EXTENSIBLE", 
+            AXIS2_HASH_KEY_STRING, &(wsdl_element_impl->wsdl_element));
     axis2_hash_set(wsdl_element_impl->super, "WODEN_WSDL_ELEMENT", 
             AXIS2_HASH_KEY_STRING, &(wsdl_element_impl->wsdl_element));
  

Modified: webservices/axis2/trunk/c/woden/src/wsdl20/component_model_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl20/component_model_builder.c?rev=416235&r1=416234&r2=416235&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl20/component_model_builder.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl20/component_model_builder.c Wed Jun 21 20:38:02
2006
@@ -1034,16 +1034,22 @@
         axis2_uri_t *ext_ns = NULL;
         axis2_bool_t temp1 = AXIS2_FALSE;
         axis2_bool_t temp2 = AXIS2_FALSE;
+        void *configurable = NULL;
+        void *documentable = NULL;
+        void *wsdl_obj = NULL;
+        void *wsdl_el = NULL;
         
         ext_ns = AXIS2_ARRAY_LIST_GET(ext_namespcs, env, i);
-        binding = woden_binding_to_attr_extensible(
-                binding, env);
+        configurable = WODEN_BINDING_GET_BASE_IMPL(binding, env);
+        documentable = WODEN_CONFIGURABLE_GET_BASE_IMPL(configurable, env);
+        wsdl_obj = WODEN_DOCUMENTABLE_GET_BASE_IMPL(documentable, env);
+        wsdl_el = WODEN_WSDL_OBJ_GET_BASE_IMPL(wsdl_obj, env);
+        wsdl_el = woden_wsdl_element_to_attr_extensible(wsdl_el, env);
         temp1 = WODEN_ATTR_EXTENSIBLE_HAS_EXT_ATTRS_FOR_NAMESPACE(
-                binding, env, ext_ns);
-        binding = woden_binding_to_element_extensible(
-                binding, env);
+                wsdl_el, env, ext_ns);
+        wsdl_el = woden_wsdl_element_to_element_extensible(wsdl_el, env);
         temp2 = WODEN_ELEMENT_EXTENSIBLE_HAS_EXT_ELEMENTS_FOR_NAMESPACE(
-                binding, env, ext_ns);
+                wsdl_el, env, ext_ns);
         if(AXIS2_TRUE == temp1 || AXIS2_TRUE == temp2)
         {
             void *comp_ext = NULL;



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org


Mime
View raw message