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 da...@apache.org on 2006/07/05 05:25:48 UTC
svn commit: r419147 [1/2] - in /webservices/axis2/trunk/c/woden: include/
samples/wsdl10/ src/builder/ src/builder/wsdl10/ src/schema/ src/wsdl10/
src/wsdl10/extensions/ src/wsdl10/xml/
Author: damitha
Date: Tue Jul 4 20:25:47 2006
New Revision: 419147
URL: http://svn.apache.org/viewvc?rev=419147&view=rev
Log:
In the process of organizing code
Added:
webservices/axis2/trunk/c/woden/src/wsdl10/woden_types.c
- copied, changed from r416247, webservices/axis2/trunk/c/woden/src/wsdl10/types.c
Removed:
webservices/axis2/trunk/c/woden/include/woden_desc.h
webservices/axis2/trunk/c/woden/include/woden_desc_element.h
webservices/axis2/trunk/c/woden/src/wsdl10/types.c
Modified:
webservices/axis2/trunk/c/woden/include/woden_endpoint.h
webservices/axis2/trunk/c/woden/include/woden_imported_schema.h
webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h
webservices/axis2/trunk/c/woden/include/woden_interface_op.h
webservices/axis2/trunk/c/woden/include/woden_reader.h
webservices/axis2/trunk/c/woden/include/woden_schema.h
webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h
webservices/axis2/trunk/c/woden/include/woden_types_element.h
webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h
webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h
webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref_element.h
webservices/axis2/trunk/c/woden/include/woden_wsdl10_msg_ref_element.h
webservices/axis2/trunk/c/woden/include/woden_wsdl_element.h
webservices/axis2/trunk/c/woden/samples/wsdl10/test_wsdl1.c
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/schema/imported_schema.c
webservices/axis2/trunk/c/woden/src/schema/inlined_schema.c
webservices/axis2/trunk/c/woden/src/schema/schema.c
webservices/axis2/trunk/c/woden/src/wsdl10/Makefile.am
webservices/axis2/trunk/c/woden/src/wsdl10/binding_op.c
webservices/axis2/trunk/c/woden/src/wsdl10/component_model_builder.c
webservices/axis2/trunk/c/woden/src/wsdl10/desc.c
webservices/axis2/trunk/c/woden/src/wsdl10/element_decl.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/interface_msg_ref.c
webservices/axis2/trunk/c/woden/src/wsdl10/wsdl_element.c
webservices/axis2/trunk/c/woden/src/wsdl10/xml/interface_msg_ref_element.c
Modified: webservices/axis2/trunk/c/woden/include/woden_endpoint.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_endpoint.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_endpoint.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_endpoint.h Tue Jul 4 20:25:47 2006
@@ -202,11 +202,11 @@
(((woden_endpoint_t *) endpoint)->ops->get_base_impl(endpoint, env))
#define WODEN_ENDPOINT_GET_NAME(endpoint, env) \
- (((woden_endpoint_t *) endpoint)->\
+ (((woden_endpoint_t *) endpoint)->ops->\
get_name(endpoint, env))
#define WODEN_ENDPOINT_GET_BINDING(endpoint, env) \
- (((woden_endpoint_t *) endpoint)->\
+ (((woden_endpoint_t *) endpoint)->ops->\
get_binding(endpoint, env))
#define WODEN_ENDPOINT_GET_ADDRESS(endpoint, env) \
Modified: webservices/axis2/trunk/c/woden/include/woden_imported_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_imported_schema.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_imported_schema.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_imported_schema.h Tue Jul 4 20:25:47 2006
@@ -51,6 +51,11 @@
void *schema,
const axis2_env_t *env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *schema,
+ const axis2_env_t *env);
+
woden_obj_types_t (AXIS2_CALL *
type) (
void *schema,
@@ -103,6 +108,9 @@
#define WODEN_IMPORTED_SCHEMA_FREE(schema, env) \
(((woden_imported_schema_t *) schema)->ops->free(schema, env))
+
+#define WODEN_IMPORTED_SCHEMA_SUPER_OBJS(schema, env) \
+ (((woden_imported_schema_t *) schema)->ops->super_objs(schema, env))
#define WODEN_IMPORTED_SCHEMA_TYPE(schema, env) \
(((woden_imported_schema_t *) schema)->ops->type(schema, env))
Modified: webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_inlined_schema.h Tue Jul 4 20:25:47 2006
@@ -51,6 +51,11 @@
void *schema,
const axis2_env_t *env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *schema,
+ const axis2_env_t *env);
+
woden_obj_types_t (AXIS2_CALL *
type) (
void *schema,
@@ -103,6 +108,9 @@
#define WODEN_INLINED_SCHEMA_FREE(schema, env) \
(((woden_inlined_schema_t *) schema)->ops->free(schema, env))
+
+#define WODEN_INLINED_SCHEMA_SUPER_OBJS(schema, env) \
+ (((woden_inlined_schema_t *) schema)->ops->super_objs(schema, env))
#define WODEN_INLINED_SCHEMA_TYPE(schema, env) \
(((woden_inlined_schema_t *) schema)->ops->type(schema, env))
Modified: webservices/axis2/trunk/c/woden/include/woden_interface_op.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_interface_op.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_interface_op.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_interface_op.h Tue Jul 4 20:25:47 2006
@@ -190,23 +190,23 @@
(((woden_interface_op_t *) interface_op)->ops->get_base_impl(interface_op, env))
#define WODEN_INTERFACE_OP_GET_QNAME(interface_op, env) \
- (((woden_interface_op_t *) interface_op)->\
+ (((woden_interface_op_t *) interface_op)->ops->\
get_qname(interface_op, env))
#define WODEN_INTERFACE_OP_GET_MSG_EXCHANGE_PATTERN(interface_op, env) \
- (((woden_interface_op_t *) interface_op)->\
+ (((woden_interface_op_t *) interface_op)->ops->\
get_msg_exchange_pattern(interface_op, env))
#define WODEN_INTERFACE_OP_GET_INTERFACE_MSG_REFS(interface_op, env) \
- (((woden_interface_op_t *) interface_op)->\
+ (((woden_interface_op_t *) interface_op)->ops->\
get_interface_msg_refs(interface_op, env))
#define WODEN_INTERFACE_OP_GET_INTERFACE_FAULT_REFS(interface_op, env) \
- (((woden_interface_op_t *) interface_op)->\
+ (((woden_interface_op_t *) interface_op)->ops->\
get_interface_fault_refs(interface_op, env))
#define WODEN_INTERFACE_OP_GET_STYLE(interface_op, env) \
- (((woden_interface_op_t *) interface_op)->\
+ (((woden_interface_op_t *) interface_op)->ops->\
get_style(interface_op, env))
#define WODEN_INTERFACE_OP_TO_ELEMENT(interface_op, env) \
Modified: webservices/axis2/trunk/c/woden/include/woden_reader.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_reader.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_reader.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_reader.h Tue Jul 4 20:25:47 2006
@@ -58,7 +58,7 @@
void *reader,
const axis2_env_t *env,
axiom_document_t *om_doc,
- axis2_char_t *uri);
+ const axis2_char_t *uri);
axis2_status_t (AXIS2_CALL *
set_ext_registry) (
Modified: webservices/axis2/trunk/c/woden/include/woden_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_schema.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_schema.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_schema.h Tue Jul 4 20:25:47 2006
@@ -62,6 +62,11 @@
void *schema,
const axis2_env_t *env);
+ axis2_hash_t *(AXIS2_CALL *
+ super_objs) (
+ void *schema,
+ const axis2_env_t *env);
+
axis2_status_t (AXIS2_CALL *
set_namespace) (
void *schema,
@@ -139,6 +144,9 @@
#define WODEN_SCHEMA_FREE(schema, env) \
(((woden_schema_t *) schema)->ops->free (schema, env))
+
+#define WODEN_SCHEMA_SUPER_OBJS(schema, env) \
+ (((woden_schema_t *) schema)->ops->super_objs (schema, env))
#define WODEN_SCHEMA_TYPE(schema, env) \
(((woden_schema_t *) schema)->ops->type (schema, env))
Modified: webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_soap_binding_op_exts.h Tue Jul 4 20:25:47 2006
@@ -131,7 +131,7 @@
#define WODEN_SOAP_BINDING_OP_EXTS_GET_BASE_IMPL(soap_binding_op_exts, env) \
(((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->get_base_impl(soap_binding_op_exts, env))
-#define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_MEMP(soap_binding_op_exts, env) \
+#define WODEN_SOAP_BINDING_OP_EXTS_GET_SOAP_MEP(soap_binding_op_exts, env) \
(((woden_soap_binding_op_exts_t *) soap_binding_op_exts)->ops->\
get_soap_mep (soap_binding_op_exts, env))
Modified: webservices/axis2/trunk/c/woden/include/woden_types_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_types_element.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_types_element.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_types_element.h Tue Jul 4 20:25:47 2006
@@ -103,7 +103,7 @@
axis2_status_t (AXIS2_CALL *
add_schema) (void *types_el,
const axis2_env_t *env,
- struct xml_schema *schema);
+ void *schema);
/**
* Delete the specified Schema object.
Modified: webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_binding_op.h Tue Jul 4 20:25:47 2006
@@ -199,16 +199,16 @@
#define WODEN_WSDL10_BINDING_OP_GET_BASE_IMPL(binding_op, env) \
(((woden_wsdl10_binding_op_t *) binding_op)->ops->get_base_impl(binding_op, env))
-#define WODEN_WSDL10_BINDING_OP_GET_GET_INTERFACE_OP(binding_op, env) \
- (((woden_wsdl10_binding_op_t *) binding_op)->\
+#define WODEN_WSDL10_BINDING_OP_GET_INTERFACE_OP(binding_op, env) \
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
get_interface_op(binding_op, env))
#define WODEN_WSDL10_BINDING_OP_GET_BINDING_MSG_REFS(binding_op, env) \
- (((woden_wsdl10_binding_op_t *) binding_op)->\
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
get_binding_msg_refs(binding_op, env))
#define WODEN_WSDL10_BINDING_OP_GET_BINDING_FAULT_REFS(binding_op, env) \
- (((woden_wsdl10_binding_op_t *) binding_op)->\
+ (((woden_wsdl10_binding_op_t *) binding_op)->ops->\
get_binding_fault_refs(binding_op, env))
#define WODEN_WSDL10_BINDING_OP_TO_ELEMENT(binding_op, env) \
Modified: webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_desc.h Tue Jul 4 20:25:47 2006
@@ -114,7 +114,7 @@
void *desc,
const axis2_env_t *env);
- axis2_array_list_t *(AXIS2_CALL *
+ void *(AXIS2_CALL *
get_element_decl) (
void *desc,
const axis2_env_t *env,
Modified: webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref_element.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref_element.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_interface_msg_ref_element.h Tue Jul 4 20:25:47 2006
@@ -78,7 +78,18 @@
get_qname) (
void *iface_fault_ele,
const axis2_env_t *env);
-
+
+ axis2_status_t (AXIS2_CALL *
+ set_msg) (
+ void *iface_fault_ele,
+ const axis2_env_t *env,
+ void *msg);
+
+ void *(AXIS2_CALL *
+ get_msg) (
+ void *iface_fault_ele,
+ const axis2_env_t *env);
+
axis2_status_t (AXIS2_CALL *
set_msg_qname) (
void *iface_fault_ele,
@@ -144,6 +155,14 @@
#define WODEN_WSDL10_INTERFACE_MSG_REF_ELEMENT_GET_QNAME(interface_msg_ref_element, env) \
(((woden_wsdl10_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
get_qname (interface_msg_ref_element, env))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_ELEMENT_SET_MSG(interface_msg_ref_element, env, msg) \
+ (((woden_wsdl10_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ set_msg (interface_msg_ref_element, env, msg))
+
+#define WODEN_WSDL10_INTERFACE_MSG_REF_ELEMENT_GET_MSG(interface_msg_ref_element, env) \
+ (((woden_wsdl10_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
+ get_msg (interface_msg_ref_element, env))
#define WODEN_WSDL10_INTERFACE_MSG_REF_ELEMENT_SET_MSG_QNAME(interface_msg_ref_element, env, element) \
(((woden_wsdl10_interface_msg_ref_element_t *) interface_msg_ref_element)->ops->\
Modified: webservices/axis2/trunk/c/woden/include/woden_wsdl10_msg_ref_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl10_msg_ref_element.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl10_msg_ref_element.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl10_msg_ref_element.h Tue Jul 4 20:25:47 2006
@@ -138,6 +138,10 @@
(((woden_wsdl10_msg_ref_element_t *) msg_ref_element)->ops->\
get_part (msg_ref_element, env))
+#define WODEN_WSDL10_MSG_REF_ELEMENT_GET_MSG_CONTENT_MODEL(msg_ref_element, env) \
+ (((woden_wsdl10_msg_ref_element_t *) msg_ref_element)->ops->\
+ get_msg_content_model (msg_ref_element, env))
+
#define WODEN_WSDL10_MSG_REF_ELEMENT_SET_QNAME(msg_ref_element, env, element) \
(((woden_wsdl10_msg_ref_element_t *) msg_ref_element)->ops->\
set_qname (msg_ref_element, env, element))
Modified: webservices/axis2/trunk/c/woden/include/woden_wsdl_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/include/woden_wsdl_element.h?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/include/woden_wsdl_element.h (original)
+++ webservices/axis2/trunk/c/woden/include/woden_wsdl_element.h Tue Jul 4 20:25:47 2006
@@ -75,7 +75,18 @@
type) (
void *wsdl_element,
const axis2_env_t *env);
-
+
+ void *(AXIS2_CALL *
+ get_element_extensible) (
+ void *wsdl_element,
+ const axis2_env_t *env);
+
+ void *(AXIS2_CALL *
+ get_attr_extensible) (
+ void *wsdl_element,
+ const axis2_env_t *env);
+
+
};
union woden_wsdl_element_base
@@ -124,6 +135,14 @@
#define WODEN_WSDL_ELEMENT_TYPE(wsdl_element, env) \
(((woden_wsdl_element_t *) wsdl_element)->ops->\
type (wsdl_element, env))
+
+#define WODEN_WSDL_ELEMENT_GET_ELEMENT_EXTENSIBLE(wsdl_element, env) \
+ (((woden_wsdl_element_t *) wsdl_element)->ops->\
+ get_element_extensible (wsdl_element, env))
+
+#define WODEN_WSDL_ELEMENT_GET_ATTR_EXTENSIBLE(wsdl_element, env) \
+ (((woden_wsdl_element_t *) wsdl_element)->ops->\
+ get_attr_extensible (wsdl_element, env))
/** @} */
#ifdef __cplusplus
Modified: webservices/axis2/trunk/c/woden/samples/wsdl10/test_wsdl1.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/samples/wsdl10/test_wsdl1.c?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/samples/wsdl10/test_wsdl1.c (original)
+++ webservices/axis2/trunk/c/woden/samples/wsdl10/test_wsdl1.c Tue Jul 4 20:25:47 2006
@@ -24,6 +24,7 @@
#include <woden_wsdl10_desc.h>
#include <woden_interface.h>
#include <woden_binding.h>
+#include <woden_element_decl.h>
#include <woden_svc.h>
#include <axiom.h>
@@ -47,6 +48,9 @@
axis2_char_t *filename = NULL;
axis2_array_list_t *svc_list = NULL;
axis2_array_list_t *binding_list = NULL;
+ axis2_array_list_t *ed_list = NULL;
+ void *ed = NULL;
+ axis2_qname_t *ed_qname = NULL;
if(argc > 1)
{
@@ -101,6 +105,40 @@
{
printf("First binding qname is %s\n", AXIS2_QNAME_TO_STRING(binding_qname, env));
}
+ }
+ }
+
+ ed_list = WODEN_WSDL10_DESC_GET_ELEMENT_DECLS(desc, env);
+ if (ed_list)
+ {
+
+ ed = AXIS2_ARRAY_LIST_GET(ed_list, env, 0);
+ if (ed)
+ ed_qname = WODEN_ELEMENT_DECL_GET_QNAME(ed, env);
+ }
+ ed = WODEN_WSDL10_DESC_GET_ELEMENT_DECL(desc, env, ed_qname);
+ if (ed)
+ {
+ axis2_char_t *content_model = NULL;
+ axis2_generic_obj_t *obj = NULL;
+
+ axis2_qname_t *ed_qname = WODEN_ELEMENT_DECL_GET_QNAME(ed, env);
+ if (ed_qname)
+ {
+ printf("Element declaration qname is %s\n", AXIS2_QNAME_TO_STRING(ed_qname, env));
+ }
+ content_model = WODEN_ELEMENT_DECL_GET_CONTENT_MODEL(ed, env);
+ if (content_model)
+ {
+ printf("Content model is %s\n", content_model);
+ }
+ obj = WODEN_ELEMENT_DECL_GET_CONTENT(ed, env);
+ if (obj)
+ {
+ void *value = NULL;
+
+ value = AXIS2_GENERIC_OBJ_GET_VALUE(obj, env);
+ printf("Content is:\n");
}
}
return 0;
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=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/builder/reader.c (original)
+++ webservices/axis2/trunk/c/woden/src/builder/reader.c Tue Jul 4 20:25:47 2006
@@ -150,7 +150,7 @@
void *reader,
const axis2_env_t *env,
axiom_document_t *om_doc,
- axis2_char_t *uri);
+ const axis2_char_t *uri);
axis2_status_t AXIS2_CALL
woden_reader_set_ext_registry(
@@ -176,7 +176,7 @@
parse_desc(
void *reader,
const axis2_env_t *env,
- axis2_char_t *document_base_uri,
+ const axis2_char_t *document_base_uri,
axiom_node_t *desc_el_node,
axis2_hash_t *wsdl_modules);
@@ -441,7 +441,7 @@
get_uri(
void *reader,
const axis2_env_t *env,
- axis2_char_t *uri_str);
+ const axis2_char_t *uri_str);
static woden_reader_t *
create(
@@ -571,7 +571,7 @@
void *reader,
const axis2_env_t *env,
axiom_document_t *om_doc,
- axis2_char_t *uri)
+ const axis2_char_t *uri)
{
woden_reader_impl_t *reader_impl = NULL;
void *desc = NULL;
@@ -610,7 +610,7 @@
parse_desc(
void *reader,
const axis2_env_t *env,
- axis2_char_t *document_base_uri,
+ const axis2_char_t *document_base_uri,
axiom_node_t *desc_el_node,
axis2_hash_t *wsdl_modules)
{
@@ -1136,7 +1136,7 @@
*/
schema_def = XML_SCHEMA_COLLECTION_READ_ELEMENT_WITH_URI(xsc,
env, schema_el_node, base_uri_str);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
return NULL;
}
@@ -1231,7 +1231,7 @@
uri = WODEN_IMPORTED_SCHEMA_GET_LOCATION(schema, env);
schema_loc = AXIS2_URI_TO_STRING(uri, env, AXIS2_URI_UNP_OMITUSERINFO);
uri = axis2_uri_parse_relative(env, context_uri, schema_loc);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
/* can't continue schema retrieval with a bad URL.*/
WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
@@ -1260,7 +1260,7 @@
imported_schema_doc = axiom_document_create(env, NULL, xml_builder);
schema_def = XML_SCHEMA_COLLECTION_READ_DOCUMENT(schema_col,
env, imported_schema_doc);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
return schema;
@@ -3776,7 +3776,7 @@
{
/* If no error condition occured then this will return
*/
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
return AXIS2_FAILURE;
else
return AXIS2_SUCCESS;
@@ -3942,7 +3942,7 @@
desc = woden_desc_to_desc_element(desc, env);
context_uri = WODEN_DESC_ELEMENT_GET_DOCUMENT_BASE_URI(desc, env);
location_uri = axis2_uri_parse_relative(env, context_uri, location_uri_str);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
/* Can't continue import with a bad URL.*/
return NULL;
@@ -3966,7 +3966,7 @@
builder = axiom_stax_builder_create(env, xml_reader);
doc = AXIOM_STAX_BUILDER_GET_DOCUMENT(builder, env);
doc_el_node = AXIOM_DOCUMENT_GET_ROOT_ELEMENT(doc, env);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
/* Cannot contine without the referenced document */
return NULL;
@@ -4003,7 +4003,7 @@
get_uri(
void *reader,
const axis2_env_t *env,
- axis2_char_t *uri_str)
+ const axis2_char_t *uri_str)
{
woden_reader_impl_t *reader_impl = NULL;
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=419147&r1=419146&r2=419147&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 Tue Jul 4 20:25:47 2006
@@ -154,7 +154,7 @@
void *reader,
const axis2_env_t *env,
axiom_document_t *om_doc,
- axis2_char_t *uri);
+ const axis2_char_t *uri);
axis2_status_t AXIS2_CALL
woden_reader_set_ext_registry(
@@ -180,7 +180,7 @@
parse_desc(
void *reader,
const axis2_env_t *env,
- axis2_char_t *document_base_uri,
+ const axis2_char_t *document_base_uri,
axiom_node_t *desc_el_node,
axis2_hash_t *wsdl_modules);
@@ -443,7 +443,7 @@
get_uri(
void *reader,
const axis2_env_t *env,
- axis2_char_t *uri_str);
+ const axis2_char_t *uri_str);
static woden_reader_t *
create(
@@ -573,7 +573,7 @@
void *reader,
const axis2_env_t *env,
axiom_document_t *om_doc,
- axis2_char_t *uri)
+ const axis2_char_t *uri)
{
woden_reader_impl_t *reader_impl = NULL;
void *desc = NULL;
@@ -612,7 +612,7 @@
parse_desc(
void *reader,
const axis2_env_t *env,
- axis2_char_t *document_base_uri,
+ const axis2_char_t *document_base_uri,
axiom_node_t *desc_el_node,
axis2_hash_t *wsdl_modules)
{
@@ -883,9 +883,12 @@
AXIOM_ELEMENT_ADD_ATTRIBUTE(schema_elem, env, attr_loc, schema_elem_node);
schema = parse_schema_import(reader, env, schema_elem_node, desc);
- types = woden_types_to_types_element(types, env);
- WODEN_TYPES_ELEMENT_ADD_SCHEMA(types, env, (xml_schema_t *) schema);
-
+ if(schema)
+ {
+ types = woden_types_to_types_element(types, env);
+ schema = woden_imported_schema_to_schema(schema, env);
+ WODEN_TYPES_ELEMENT_ADD_SCHEMA(types, env, schema);
+ }
return desc;
}
@@ -1092,20 +1095,27 @@
}
if(AXIS2_TRUE == woden_schema_constants_compare_import(q_temp_el_type, env))
{
- woden_schema_t *schema = NULL;
+ void *schema = NULL;
schema = parse_schema_import(reader, env, temp_el_node, desc);
- types = woden_types_to_types_element(types, env);
- WODEN_TYPES_ELEMENT_ADD_SCHEMA(types, env, (xml_schema_t *) schema);
+ if(schema)
+ {
+ types = woden_types_to_types_element(types, env);
+ schema = woden_imported_schema_to_schema(schema, env);
+ WODEN_TYPES_ELEMENT_ADD_SCHEMA(types, env, schema);
+ }
}
if(AXIS2_TRUE == woden_schema_constants_compare_schema(q_temp_el_type, env))
{
- woden_schema_t *schema = NULL;
+ void *schema = NULL;
schema = parse_schema_inline(reader, env, temp_el_node, desc);
- types = woden_types_to_types_element(types, env);
- WODEN_TYPES_ELEMENT_ADD_SCHEMA(types, env,
- (xml_schema_t *) schema);
+ if(schema)
+ {
+ types = woden_types_to_types_element(types, env);
+ schema = woden_inlined_schema_to_schema(schema, env);
+ WODEN_TYPES_ELEMENT_ADD_SCHEMA(types, env, schema);
+ }
}
else
{
@@ -1138,7 +1148,7 @@
axiom_node_t *schema_el_node,
void *desc)
{
- void *schema = woden_inlined_schema_create(env);
+ void *schema = NULL;
axis2_char_t *attr_id = NULL;
axis2_char_t *tns = NULL;
axis2_uri_t *base_uri = NULL;
@@ -1147,6 +1157,7 @@
xml_schema_collection_t *xsc = NULL;
axiom_element_t *schema_el = NULL;
+ schema = woden_inlined_schema_create(env);
schema_el = AXIOM_NODE_GET_DATA_ELEMENT(schema_el_node, env);
attr_id = AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME(schema_el, env,
WODEN_ATTR_ID);
@@ -1172,16 +1183,25 @@
*/
schema_def = XML_SCHEMA_COLLECTION_READ_ELEMENT_WITH_URI(xsc,
env, schema_el_node, base_uri_str);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
return NULL;
}
if(schema_def)
{
- WODEN_SCHEMA_SET_SCHEMA_DEF(schema, env, schema_def);
+ void *base_schema = NULL;
+
+ base_schema = WODEN_INLINED_SCHEMA_GET_BASE_IMPL(schema, env);
+ WODEN_SCHEMA_SET_REFERENCEABLE(base_schema, env, AXIS2_TRUE);
+ WODEN_SCHEMA_SET_SCHEMA_DEF(base_schema, env, schema_def);
}
else
- WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
+ {
+ void *base_schema = NULL;
+
+ base_schema = WODEN_INLINED_SCHEMA_GET_BASE_IMPL(schema, env);
+ WODEN_SCHEMA_SET_REFERENCEABLE(base_schema, env, AXIS2_FALSE);
+ }
return schema;
}
@@ -1216,12 +1236,14 @@
axis2_uri_t *context_uri = NULL;
axis2_char_t *schema_loc = NULL;
axiom_element_t *import_el = NULL;
+ void *base_schema = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, desc, NULL);
reader_impl = INTF_TO_IMPL(reader);
schema = woden_imported_schema_create(env);
+ base_schema = WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env);
if(!schema)
return NULL;
import_el = AXIOM_NODE_GET_DATA_ELEMENT(import_el_node, env);
@@ -1230,21 +1252,21 @@
if(NULL != ns)
{
uri = get_uri(reader, env, ns);
- schema = woden_imported_schema_to_schema(schema, env);
- WODEN_SCHEMA_SET_NAMESPACE(schema, env, uri);
+ WODEN_SCHEMA_SET_NAMESPACE(base_schema, env, uri);
}
sloc = AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME(import_el, env,
WODEN_ATTR_SCHEMA_LOCATION);
if(NULL != sloc)
{
- uri = get_uri(reader, env, sloc);
- WODEN_IMPORTED_SCHEMA_SET_LOCATION(schema, env, uri);
+ uri = get_uri(reader, env, sloc);
+ WODEN_IMPORTED_SCHEMA_SET_LOCATION(schema, env, uri);
}
- if(NULL == WODEN_SCHEMA_GET_NAMESPACE(schema, env))
+ if(NULL == WODEN_SCHEMA_GET_NAMESPACE(base_schema, env))
{
+
/* The namespace attribute is REQUIRED on xs:import, so don't continue. */
- WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
+ WODEN_SCHEMA_SET_REFERENCEABLE(base_schema, env, AXIS2_FALSE);
return schema;
}
@@ -1267,10 +1289,13 @@
uri = WODEN_IMPORTED_SCHEMA_GET_LOCATION(schema, env);
schema_loc = AXIS2_URI_TO_STRING(uri, env, AXIS2_URI_UNP_OMITUSERINFO);
uri = axis2_uri_parse_relative(env, context_uri, schema_loc);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
+ void *base_schema = NULL;
+
+ base_schema = WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env);
/* can't continue schema retrieval with a bad URL.*/
- WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
+ WODEN_SCHEMA_SET_REFERENCEABLE(base_schema, env, AXIS2_FALSE);
return schema;
}
@@ -1296,9 +1321,12 @@
imported_schema_doc = axiom_document_create(env, NULL, xml_builder);
schema_def = XML_SCHEMA_COLLECTION_READ_DOCUMENT(schema_col,
env, imported_schema_doc);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
- WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
+ void *base_schema = NULL;
+
+ base_schema = WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env);
+ WODEN_SCHEMA_SET_REFERENCEABLE(base_schema, env, AXIS2_FALSE);
return schema;
}
axis2_hash_set(reader_impl->f_imported_schemas, schema_uri,
@@ -1308,10 +1336,16 @@
if(NULL != schema_def)
{
- WODEN_SCHEMA_SET_SCHEMA_DEF(schema, env, schema_def);
+ void *base_schema = NULL;
+
+ base_schema = WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env);
+ WODEN_SCHEMA_SET_SCHEMA_DEF(base_schema, env, schema_def);
} else
{
- WODEN_SCHEMA_SET_REFERENCEABLE(schema, env, AXIS2_FALSE);
+ void *base_schema = NULL;
+
+ base_schema = WODEN_IMPORTED_SCHEMA_GET_BASE_IMPL(schema, env);
+ WODEN_SCHEMA_SET_REFERENCEABLE(base_schema, env, AXIS2_FALSE);
}
return schema;
@@ -2094,12 +2128,30 @@
axis2_qname_t *qname = NULL;
axis2_uri_t *namespc = NULL;
axis2_char_t *namespc_str = NULL;
+ axis2_array_list_t *msgs = NULL;
+ int i = 0, size = 0;
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, msg, namespc_str, NULL);
msg_ref = woden_wsdl10_interface_msg_ref_to_interface_msg_ref_element(
msg_ref, env);
+ desc = woden_wsdl10_desc_to_desc_element(desc, env);
+ msgs = WODEN_WSDL10_DESC_ELEMENT_GET_MSG_ELEMENTS(desc, env);
+ if(msgs)
+ size = AXIS2_ARRAY_LIST_SIZE(msgs, env);
+ for(i = 0; i < size; i++)
+ {
+ void *msg = NULL;
+ axis2_qname_t *msg_qname = NULL;
+
+ msg = AXIS2_ARRAY_LIST_GET(msgs, env, i);
+ msg_qname = WODEN_WSDL10_MSG_REF_GET_QNAME(msg, env);
+ if(AXIS2_TRUE == AXIS2_QNAME_EQUALS(msg_qname, env, qname))
+ {
+ WODEN_WSDL10_INTERFACE_MSG_REF_ELEMENT_SET_MSG(msg_ref, env, msg);
+ }
+ }
WODEN_WSDL10_INTERFACE_MSG_REF_ELEMENT_SET_MSG_QNAME(msg_ref, env, qname);
}
msg_ref = woden_wsdl10_interface_msg_ref_to_attr_extensible(msg_ref, env);
@@ -2508,21 +2560,11 @@
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);
- 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);
+ op = woden_wsdl10_binding_op_to_element_extensible(op, env);
WODEN_ELEMENT_EXTENSIBLE_ADD_EXT_ELEMENT(op, env, ext_element);
}
@@ -3576,7 +3618,7 @@
{
/* If no error condition occured then this will return
*/
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
return AXIS2_FAILURE;
else
return AXIS2_SUCCESS;
@@ -3747,7 +3789,7 @@
desc = woden_wsdl10_desc_to_desc_element(desc, env);
context_uri = WODEN_WSDL10_DESC_ELEMENT_GET_DOCUMENT_BASE_URI(desc, env);
location_uri = axis2_uri_parse_relative(env, context_uri, location_uri_str);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
/* Can't continue import with a bad URL.*/
return NULL;
@@ -3771,7 +3813,7 @@
builder = axiom_stax_builder_create(env, xml_reader);
doc = AXIOM_STAX_BUILDER_GET_DOCUMENT(builder, env);
doc_el_node = AXIOM_DOCUMENT_GET_ROOT_ELEMENT(doc, env);
- if(AXIS2_ERROR_NONE != AXIS2_ERROR_GET_STATUS_CODE(env->error))
+ if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
/* Cannot contine without the referenced document */
return NULL;
@@ -3808,7 +3850,7 @@
get_uri(
void *reader,
const axis2_env_t *env,
- axis2_char_t *uri_str)
+ const axis2_char_t *uri_str)
{
woden_reader_impl_t *reader_impl = NULL;
Modified: webservices/axis2/trunk/c/woden/src/schema/imported_schema.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/schema/imported_schema.c?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/schema/imported_schema.c (original)
+++ webservices/axis2/trunk/c/woden/src/schema/imported_schema.c Tue Jul 4 20:25:47 2006
@@ -30,6 +30,7 @@
woden_schema_t *schema;
woden_obj_types_t obj_type;
axis2_hash_t *methods;
+ axis2_hash_t *super;
axis2_uri_t *f_schema_location;
};
@@ -41,6 +42,11 @@
void *schema,
const axis2_env_t *env);
+axis2_hash_t *AXIS2_CALL
+woden_imported_schema_super_objs(
+ void *schema,
+ const axis2_env_t *env);
+
woden_obj_types_t AXIS2_CALL
woden_imported_schema_type(
void *schema,
@@ -62,45 +68,6 @@
void *schema,
const axis2_env_t *env);
-axis2_status_t AXIS2_CALL
-woden_imported_schema_set_namespace(
- void *schema,
- const axis2_env_t *env,
- axis2_uri_t *namespc);
-
-axis2_uri_t *AXIS2_CALL
-woden_imported_schema_get_namespace(
- void *schema,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-woden_imported_schema_set_schema_def(
- void *schema,
- const axis2_env_t *env,
- xml_schema_t *schema_def);
-
-xml_schema_t *AXIS2_CALL
-woden_imported_schema_get_schema_def(
- void *schema,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-woden_imported_schema_set_referenceable(
- void *schema,
- const axis2_env_t *env,
- axis2_bool_t referenceable);
-
-axis2_bool_t AXIS2_CALL
-woden_imported_schema_is_referenceable(
- void *schema,
- const axis2_env_t *env);
-
-axis2_char_t *AXIS2_CALL
-woden_imported_schema_get_namespace_as_string(
- void *schema,
- const axis2_env_t *env);
-
-
static woden_imported_schema_t *
create(const axis2_env_t *env);
@@ -151,6 +118,7 @@
schema_impl->schema = NULL;
schema_impl->obj_type = WODEN_IMPORTED_SCHEMA;
schema_impl->methods = NULL;
+ schema_impl->super = NULL;
schema_impl->f_schema_location = NULL;
schema_impl->imported_schema.schema.ops = NULL;
@@ -161,16 +129,25 @@
schema_impl->imported_schema.ops->free =
woden_imported_schema_free;
+ schema_impl->imported_schema.ops->super_objs =
+ woden_imported_schema_super_objs;
schema_impl->imported_schema.ops->type =
woden_imported_schema_type;
schema_impl->imported_schema.ops->get_base_impl =
woden_imported_schema_get_base_impl;
+
schema_impl->imported_schema.ops->set_location =
woden_imported_schema_set_location;
schema_impl->imported_schema.ops->get_location =
woden_imported_schema_get_location;
+ schema_impl->super = axis2_hash_make(env);
+ if(!schema_impl->super)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
schema_impl->methods = axis2_hash_make(env);
if(!schema_impl->methods)
{
@@ -179,26 +156,15 @@
}
axis2_hash_set(schema_impl->methods, "free",
AXIS2_HASH_KEY_STRING, woden_imported_schema_free);
+ axis2_hash_set(schema_impl->methods, "super_objs",
+ AXIS2_HASH_KEY_STRING, woden_imported_schema_super_objs);
axis2_hash_set(schema_impl->methods, "type",
AXIS2_HASH_KEY_STRING, woden_imported_schema_type);
+
axis2_hash_set(schema_impl->methods, "set_location",
AXIS2_HASH_KEY_STRING, woden_imported_schema_set_location);
axis2_hash_set(schema_impl->methods, "get_location",
AXIS2_HASH_KEY_STRING, woden_imported_schema_get_location);
- axis2_hash_set(schema_impl->methods, "set_namespace",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_set_namespace);
- axis2_hash_set(schema_impl->methods, "get_namespace",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_get_namespace);
- axis2_hash_set(schema_impl->methods, "set_schema_def",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_set_schema_def);
- axis2_hash_set(schema_impl->methods, "get_schema_def",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_get_schema_def);
- axis2_hash_set(schema_impl->methods, "set_referenceable",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_set_referenceable);
- axis2_hash_set(schema_impl->methods, "is_referencealbe",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_is_referenceable);
- axis2_hash_set(schema_impl->methods, "get_namespace_as_string",
- AXIS2_HASH_KEY_STRING, woden_imported_schema_get_namespace_as_string);
return &(schema_impl->imported_schema);
}
@@ -212,6 +178,10 @@
schema_impl = (woden_imported_schema_impl_t *) create(env);
schema_impl->schema = woden_schema_create(env);
+ axis2_hash_set(schema_impl->super, "WODEN_IMPORTED_SCHEMA", AXIS2_HASH_KEY_STRING,
+ &(schema_impl->schema));
+ axis2_hash_set(schema_impl->super, "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING,
+ schema_impl->schema);
return &(schema_impl->imported_schema);
}
@@ -292,6 +262,19 @@
return AXIS2_SUCCESS;
}
+axis2_hash_t *AXIS2_CALL
+woden_imported_schema_super_objs(
+ void *schema,
+ const axis2_env_t *env)
+{
+ woden_imported_schema_impl_t *schema_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ schema_impl = INTF_TO_IMPL(schema);
+
+ return schema_impl->super;
+}
+
woden_schema_t *AXIS2_CALL
woden_imported_schema_get_base_impl(
void *schema,
@@ -354,7 +337,7 @@
AXIS2_URI_FREE(schema_impl->f_schema_location, env);
schema_impl->f_schema_location = NULL;
}
- schema_impl->f_schema_location = location;
+ schema_impl->f_schema_location = AXIS2_URI_CLONE(location, env);
return AXIS2_SUCCESS;
}
@@ -369,103 +352,5 @@
schema_impl = INTF_TO_IMPL(schema);
return schema_impl->f_schema_location;
-}
-
-axis2_status_t AXIS2_CALL
-woden_imported_schema_set_namespace(
- void *schema,
- const axis2_env_t *env,
- axis2_uri_t *namespc)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, namespc, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_SET_NAMESPACE(schema_impl->schema, env, namespc);
-}
-
-axis2_uri_t *AXIS2_CALL
-woden_imported_schema_get_namespace(
- void *schema,
- const axis2_env_t *env)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_GET_NAMESPACE(schema_impl->schema, env);
-}
-
-axis2_status_t AXIS2_CALL
-woden_imported_schema_set_schema_def(
- void *schema,
- const axis2_env_t *env,
- xml_schema_t *schema_def)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, schema_def, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_SET_SCHEMA_DEF(schema_impl->schema, env,
- schema_def);
-}
-
-xml_schema_t *AXIS2_CALL
-woden_imported_schema_get_schema_def(
- void *schema,
- const axis2_env_t *env)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_GET_SCHEMA_DEF(schema_impl->schema, env);
-}
-
-axis2_status_t AXIS2_CALL
-woden_imported_schema_set_referenceable(
- void *schema,
- const axis2_env_t *env,
- axis2_bool_t referenceable)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_SET_REFERENCEABLE(schema_impl->schema, env,
- referenceable);
-}
-
-axis2_bool_t AXIS2_CALL
-woden_imported_schema_is_referenceable(
- void *schema,
- const axis2_env_t *env)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_IS_REFERENCEABLE(schema_impl->schema, env);
-}
-
-axis2_char_t *AXIS2_CALL
-woden_imported_schema_get_namespace_as_string(
- void *schema,
- const axis2_env_t *env)
-{
- woden_imported_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_GET_NAMESPACE_AS_STRING(schema_impl->schema, env);
}
Modified: webservices/axis2/trunk/c/woden/src/schema/inlined_schema.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/schema/inlined_schema.c?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/schema/inlined_schema.c (original)
+++ webservices/axis2/trunk/c/woden/src/schema/inlined_schema.c Tue Jul 4 20:25:47 2006
@@ -30,6 +30,7 @@
woden_schema_t *schema;
woden_obj_types_t obj_type;
axis2_hash_t *methods;
+ axis2_hash_t *super;
axis2_char_t *f_schema_id;
};
@@ -41,6 +42,11 @@
void *schema,
const axis2_env_t *env);
+axis2_hash_t *AXIS2_CALL
+woden_inlined_schema_super_objs(
+ void *schema,
+ const axis2_env_t *env);
+
woden_obj_types_t AXIS2_CALL
woden_inlined_schema_type(
void *schema,
@@ -62,45 +68,6 @@
void *schema,
const axis2_env_t *env);
-axis2_status_t AXIS2_CALL
-woden_inlined_schema_set_namespace(
- void *schema,
- const axis2_env_t *env,
- axis2_uri_t *namespc);
-
-axis2_uri_t *AXIS2_CALL
-woden_inlined_schema_get_namespace(
- void *schema,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-woden_inlined_schema_set_schema_def(
- void *schema,
- const axis2_env_t *env,
- xml_schema_t *schema_def);
-
-xml_schema_t *AXIS2_CALL
-woden_inlined_schema_get_schema_def(
- void *schema,
- const axis2_env_t *env);
-
-axis2_status_t AXIS2_CALL
-woden_inlined_schema_set_referenceable(
- void *schema,
- const axis2_env_t *env,
- axis2_bool_t referenceable);
-
-axis2_bool_t AXIS2_CALL
-woden_inlined_schema_is_referenceable(
- void *schema,
- const axis2_env_t *env);
-
-axis2_char_t *AXIS2_CALL
-woden_inlined_schema_get_namespace_as_string(
- void *schema,
- const axis2_env_t *env);
-
-
static woden_inlined_schema_t *
create(const axis2_env_t *env);
@@ -116,6 +83,7 @@
const axis2_env_t *env)
{
woden_inlined_schema_impl_t *schema_impl = NULL;
+ void *base_schema = NULL;
AXIS2_ENV_CHECK(env, NULL);
@@ -131,8 +99,9 @@
schema_impl->inlined_schema.schema.ops =
AXIS2_MALLOC(env->allocator,
sizeof(woden_schema_ops_t));
+ base_schema = WODEN_INLINED_SCHEMA_GET_BASE_IMPL(schema, env);
woden_schema_resolve_methods(&(schema_impl->inlined_schema.schema),
- env, schema_impl->schema, schema_impl->methods);
+ env, base_schema, schema_impl->methods);
return schema;
}
@@ -152,6 +121,7 @@
schema_impl->schema = NULL;
schema_impl->obj_type = WODEN_INLINED_SCHEMA;
schema_impl->methods = NULL;
+ schema_impl->super = NULL;
schema_impl->f_schema_id = NULL;
schema_impl->inlined_schema.schema.ops = NULL;
@@ -162,6 +132,8 @@
schema_impl->inlined_schema.ops->free =
woden_inlined_schema_free;
+ schema_impl->inlined_schema.ops->super_objs =
+ woden_inlined_schema_super_objs;
schema_impl->inlined_schema.ops->type =
woden_inlined_schema_type;
schema_impl->inlined_schema.ops->get_base_impl =
@@ -180,6 +152,8 @@
}
axis2_hash_set(schema_impl->methods, "free",
AXIS2_HASH_KEY_STRING, woden_inlined_schema_free);
+ axis2_hash_set(schema_impl->methods, "super_objs",
+ AXIS2_HASH_KEY_STRING, woden_inlined_schema_super_objs);
axis2_hash_set(schema_impl->methods, "type",
AXIS2_HASH_KEY_STRING, woden_inlined_schema_type);
@@ -187,20 +161,6 @@
AXIS2_HASH_KEY_STRING, woden_inlined_schema_set_id);
axis2_hash_set(schema_impl->methods, "get_id",
AXIS2_HASH_KEY_STRING, woden_inlined_schema_get_id);
- axis2_hash_set(schema_impl->methods, "set_namespace",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_set_namespace);
- axis2_hash_set(schema_impl->methods, "get_namespace",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_get_namespace);
- axis2_hash_set(schema_impl->methods, "set_schema_def",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_set_schema_def);
- axis2_hash_set(schema_impl->methods, "get_schema_def",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_get_schema_def);
- axis2_hash_set(schema_impl->methods, "set_referenceable",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_set_referenceable);
- axis2_hash_set(schema_impl->methods, "is_referencealbe",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_is_referenceable);
- axis2_hash_set(schema_impl->methods, "get_namespace_as_string",
- AXIS2_HASH_KEY_STRING, woden_inlined_schema_get_namespace_as_string);
return &(schema_impl->inlined_schema);
}
@@ -214,6 +174,17 @@
schema_impl = (woden_inlined_schema_impl_t *) create(env);
schema_impl->schema = woden_schema_create(env);
+ schema_impl->super = axis2_hash_make(env);
+ if(!schema_impl->super)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+ axis2_hash_set(schema_impl->super, "WODEN_INLINED_SCHEMA", AXIS2_HASH_KEY_STRING,
+ &(schema_impl->schema));
+ axis2_hash_set(schema_impl->super, "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING,
+ schema_impl->schema);
+
return &(schema_impl->inlined_schema);
}
@@ -307,6 +278,19 @@
return schema_impl->schema;
}
+axis2_hash_t *AXIS2_CALL
+woden_inlined_schema_super_objs(
+ void *schema,
+ const axis2_env_t *env)
+{
+ woden_inlined_schema_impl_t *schema_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ schema_impl = INTF_TO_IMPL(schema);
+
+ return schema_impl->super;
+}
+
axis2_status_t AXIS2_CALL
woden_inlined_schema_resolve_methods(
woden_inlined_schema_t *schema,
@@ -322,14 +306,11 @@
schema->ops->free =
axis2_hash_get(methods, "free", AXIS2_HASH_KEY_STRING);
+ schema->ops->super_objs = axis2_hash_get(methods, "super_objs",
+ AXIS2_HASH_KEY_STRING);
schema->ops->type =
axis2_hash_get(methods, "type", AXIS2_HASH_KEY_STRING);
- schema->ops->set_id = axis2_hash_get(methods, "set_id",
- AXIS2_HASH_KEY_STRING);
- schema->ops->get_id = axis2_hash_get(methods, "get_id",
- AXIS2_HASH_KEY_STRING);;
-
schema->ops->set_id = axis2_hash_get(methods,
"set_id", AXIS2_HASH_KEY_STRING);
if(!schema->ops->set_id && schema_impl_l)
@@ -373,105 +354,8 @@
AXIS2_ENV_CHECK(env, NULL);
schema_impl = INTF_TO_IMPL(schema);
-
- return schema_impl->f_schema_id;
-}
-
-axis2_status_t AXIS2_CALL
-woden_inlined_schema_set_namespace(
- void *schema,
- const axis2_env_t *env,
- axis2_uri_t *namespc)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, namespc, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_SET_NAMESPACE(schema_impl->schema, env, namespc);
-}
-
-axis2_uri_t *AXIS2_CALL
-woden_inlined_schema_get_namespace(
- void *schema,
- const axis2_env_t *env)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_GET_NAMESPACE(schema_impl->schema, env);
-}
-
-axis2_status_t AXIS2_CALL
-woden_inlined_schema_set_schema_def(
- void *schema,
- const axis2_env_t *env,
- xml_schema_t *schema_def)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, schema_def, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
- return WODEN_SCHEMA_SET_SCHEMA_DEF(schema_impl->schema, env,
- schema_def);
-}
-
-xml_schema_t *AXIS2_CALL
-woden_inlined_schema_get_schema_def(
- void *schema,
- const axis2_env_t *env)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_GET_SCHEMA_DEF(schema_impl->schema, env);
-}
-
-axis2_status_t AXIS2_CALL
-woden_inlined_schema_set_referenceable(
- void *schema,
- const axis2_env_t *env,
- axis2_bool_t referenceable)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_SET_REFERENCEABLE(schema_impl->schema, env,
- referenceable);
-}
-
-axis2_bool_t AXIS2_CALL
-woden_inlined_schema_is_referenceable(
- void *schema,
- const axis2_env_t *env)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_IS_REFERENCEABLE(schema_impl->schema, env);
+ return schema_impl->f_schema_id;
}
-axis2_char_t *AXIS2_CALL
-woden_inlined_schema_get_namespace_as_string(
- void *schema,
- const axis2_env_t *env)
-{
- woden_inlined_schema_impl_t *schema_impl = NULL;
-
- AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
-
- return WODEN_SCHEMA_GET_NAMESPACE_AS_STRING(schema_impl->schema, env);
-}
Modified: webservices/axis2/trunk/c/woden/src/schema/schema.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/schema/schema.c?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/schema/schema.c (original)
+++ webservices/axis2/trunk/c/woden/src/schema/schema.c Tue Jul 4 20:25:47 2006
@@ -26,6 +26,9 @@
struct woden_schema_impl
{
woden_schema_t schema;
+ axis2_hash_t *super;
+ woden_obj_types_t obj_type;
+
axis2_uri_t *f_namespc;
xml_schema_t *f_schema_def;
axis2_bool_t f_is_referenceable;
@@ -38,6 +41,16 @@
void *schema,
const axis2_env_t *envv);
+axis2_hash_t *AXIS2_CALL
+woden_schema_super_objs(
+ void *schema,
+ const axis2_env_t *env);
+
+woden_obj_types_t AXIS2_CALL
+woden_schema_type(
+ void *schema,
+ const axis2_env_t *env);
+
axis2_status_t AXIS2_CALL
woden_schema_set_namespace(
void *schema,
@@ -86,6 +99,8 @@
schema_impl = AXIS2_MALLOC(env->allocator,
sizeof(woden_schema_impl_t));
+ schema_impl->super = NULL;
+ schema_impl->obj_type = WODEN_SCHEMA;
schema_impl->f_namespc = NULL;
schema_impl->f_schema_def = NULL;
schema_impl->f_is_referenceable = AXIS2_TRUE;
@@ -93,7 +108,15 @@
schema_impl->schema.ops = AXIS2_MALLOC(env->allocator,
sizeof(woden_schema_ops_t));
+ schema_impl->super = axis2_hash_make(env);
+ if(!schema_impl->super)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
schema_impl->schema.ops->free = woden_schema_free;
+ schema_impl->schema.ops->type = woden_schema_type;
+ schema_impl->schema.ops->super_objs = woden_schema_super_objs;
schema_impl->schema.ops->set_namespace = woden_schema_set_namespace;
schema_impl->schema.ops->get_namespace = woden_schema_get_namespace;
schema_impl->schema.ops->set_schema_def = woden_schema_set_schema_def;
@@ -105,6 +128,9 @@
schema_impl->schema.ops->get_namespace_as_string =
woden_schema_get_namespace_as_string;
+ axis2_hash_set(schema_impl->super, "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING,
+ &(schema_impl->schema));
+
return &(schema_impl->schema);
}
@@ -144,6 +170,33 @@
return AXIS2_SUCCESS;
}
+axis2_hash_t *AXIS2_CALL
+woden_schema_super_objs(
+ void *schema,
+ const axis2_env_t *env)
+{
+ woden_schema_impl_t *schema_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ schema_impl = INTF_TO_IMPL(schema);
+
+ return schema_impl->super;
+}
+
+woden_obj_types_t AXIS2_CALL
+woden_schema_type(
+ void *schema,
+ const axis2_env_t *env)
+{
+ woden_schema_impl_t *schema_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ schema_impl = INTF_TO_IMPL(schema);
+
+ return schema_impl->obj_type;
+}
+
+
axis2_status_t AXIS2_CALL
woden_schema_resolve_methods(
woden_schema_t *schema,
@@ -158,6 +211,9 @@
schema_impl_l = INTF_TO_IMPL(schema_impl);
schema->ops->free = axis2_hash_get(methods, "free", AXIS2_HASH_KEY_STRING);
+ schema->ops->super_objs = axis2_hash_get(methods, "super_objs",
+ AXIS2_HASH_KEY_STRING);
+ schema->ops->type = axis2_hash_get(methods, "type", AXIS2_HASH_KEY_STRING);
schema->ops->set_namespace = axis2_hash_get(methods,
"set_namespace", AXIS2_HASH_KEY_STRING);
@@ -211,10 +267,13 @@
axis2_uri_t *namespc)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, namespc, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
if(schema_impl->f_namespc)
{
@@ -232,9 +291,12 @@
const axis2_env_t *env)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
return schema_impl->f_namespc;
}
@@ -246,10 +308,13 @@
xml_schema_t *schema_def)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, schema_def, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
if(schema_impl->f_schema_def)
{
@@ -267,9 +332,12 @@
const axis2_env_t *env)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
return schema_impl->f_schema_def;
}
@@ -281,9 +349,12 @@
axis2_bool_t referenceable)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
schema_impl->f_is_referenceable = referenceable;
@@ -296,9 +367,12 @@
const axis2_env_t *env)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
return schema_impl->f_is_referenceable;
}
@@ -309,9 +383,12 @@
const axis2_env_t *env)
{
woden_schema_impl_t *schema_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, NULL);
- schema_impl = INTF_TO_IMPL(schema);
+ super = WODEN_SCHEMA_SUPER_OBJS(schema, env);
+ schema_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_SCHEMA", AXIS2_HASH_KEY_STRING));
return schema_impl->f_namespc != NULL ?
AXIS2_URI_TO_STRING(schema_impl->f_namespc, env, AXIS2_URI_UNP_OMITUSERINFO) : NULL;
Modified: webservices/axis2/trunk/c/woden/src/wsdl10/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/Makefile.am?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/Makefile.am (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/Makefile.am Tue Jul 4 20:25:47 2006
@@ -11,7 +11,7 @@
configurable_component.c \
feature.c \
property.c \
- types.c \
+ woden_types.c \
type_def.c \
msg_ref.c \
part.c \
Modified: webservices/axis2/trunk/c/woden/src/wsdl10/binding_op.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/binding_op.c?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/binding_op.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/binding_op.c Tue Jul 4 20:25:47 2006
@@ -407,6 +407,11 @@
const axis2_env_t *env)
{
woden_wsdl10_binding_op_impl_t *binding_op_impl = NULL;
+ void *configurable = NULL;
+ void *documentable = NULL;
+ void *wsdl_obj = NULL;
+ void *wsdl_el = NULL;
+ void *attr_extensible = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
if(!binding_op)
@@ -421,9 +426,17 @@
base.documentable_element.wsdl_element.base.attr_extensible.ops =
AXIS2_MALLOC(env->allocator,
sizeof(woden_attr_extensible_ops_t));
+
+ configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(binding_op_impl->
+ nested_configurable, 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);
+ attr_extensible = WODEN_WSDL_ELEMENT_GET_ATTR_EXTENSIBLE(wsdl_el, env);
woden_attr_extensible_resolve_methods(&(binding_op_impl->binding_op.base.
binding_op_element.base.documentable_element.
- wsdl_element.base.attr_extensible), env, NULL, binding_op_impl->methods);
+ wsdl_element.base.attr_extensible), env, attr_extensible,
+ binding_op_impl->methods);
return binding_op;
}
@@ -433,7 +446,12 @@
const axis2_env_t *env)
{
woden_wsdl10_binding_op_impl_t *binding_op_impl = NULL;
-
+ void *configurable = NULL;
+ void *documentable = NULL;
+ void *wsdl_obj = NULL;
+ void *wsdl_el = NULL;
+ void *element_extensible = NULL;
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
if(!binding_op)
{
@@ -447,9 +465,16 @@
base.documentable_element.wsdl_element.base.element_extensible.ops =
AXIS2_MALLOC(env->allocator,
sizeof(woden_element_extensible_ops_t));
+ configurable = WODEN_NESTED_CONFIGURABLE_GET_BASE_IMPL(binding_op_impl->
+ nested_configurable, 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);
+ element_extensible = WODEN_WSDL_ELEMENT_GET_ELEMENT_EXTENSIBLE(wsdl_el, env);
woden_element_extensible_resolve_methods(&(binding_op_impl->binding_op.base.
binding_op_element.base.documentable_element.
- wsdl_element.base.element_extensible), env, NULL, binding_op_impl->methods);
+ wsdl_element.base.element_extensible), env, element_extensible,
+ binding_op_impl->methods);
return binding_op;
}
@@ -570,6 +595,11 @@
{
woden_wsdl10_binding_op_impl_t *binding_op_impl = NULL;
void *configurable = NULL;
+ void *documentable = NULL;
+ void *wsdl_obj = NULL;
+ void *wsdl_el = NULL;
+ void *element_extensible = NULL;
+ void *attr_extensible = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
binding_op_impl = (woden_wsdl10_binding_op_impl_t *) create(env);
@@ -592,6 +622,22 @@
binding_op_impl->nested_configurable, env);
axis2_hash_set(binding_op_impl->super, "WODEN_CONFIGURABLE",
AXIS2_HASH_KEY_STRING, configurable);
+
+ 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);
+ element_extensible = WODEN_WSDL_ELEMENT_GET_ELEMENT_EXTENSIBLE(wsdl_el, env);
+ attr_extensible = WODEN_WSDL_ELEMENT_GET_ATTR_EXTENSIBLE(wsdl_el, env);
+ axis2_hash_set(binding_op_impl->super, "WODEN_DOCUMENTABLE",
+ AXIS2_HASH_KEY_STRING, documentable);
+ axis2_hash_set(binding_op_impl->super, "WODEN_WSDL_OBJ",
+ AXIS2_HASH_KEY_STRING, wsdl_obj);
+ axis2_hash_set(binding_op_impl->super, "WODEN_WSDL_ELEMENT",
+ AXIS2_HASH_KEY_STRING, wsdl_el);
+ axis2_hash_set(binding_op_impl->super, "WODEN_ELEMENT_EXTENSIBLE",
+ AXIS2_HASH_KEY_STRING, element_extensible);
+ axis2_hash_set(binding_op_impl->super, "WODEN_ATTR_EXTENSIBLE",
+ AXIS2_HASH_KEY_STRING, attr_extensible);
return &(binding_op_impl->binding_op);
}
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=419147&r1=419146&r2=419147&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 Tue Jul 4 20:25:47 2006
@@ -492,7 +492,7 @@
qname = (axis2_qname_t *) AXIS2_ARRAY_LIST_GET(qnames, env, i);
if(qname)
namespc = AXIS2_QNAME_GET_URI(qname, env);
- if(0 == AXIS2_STRCMP(namespc, schema_tns))
+ if(namespc && 0 == AXIS2_STRCMP(namespc, schema_tns))
{
void *ed = NULL;
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=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/desc.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/desc.c Tue Jul 4 20:25:47 2006
@@ -138,7 +138,7 @@
void *desc,
const axis2_env_t *env);
-axis2_array_list_t *AXIS2_CALL
+void *AXIS2_CALL
woden_wsdl10_desc_get_element_decl(
void *desc,
const axis2_env_t *env,
@@ -722,7 +722,6 @@
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 ||
@@ -731,7 +730,6 @@
!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
)
{
@@ -1317,7 +1315,7 @@
return desc_impl->f_all_element_decls;
}
-axis2_array_list_t *AXIS2_CALL
+void *AXIS2_CALL
woden_wsdl10_desc_get_element_decl(
void *desc,
const axis2_env_t *env,
@@ -1336,7 +1334,8 @@
if(AXIS2_TRUE != desc_impl->f_component_initialized)
woden_wsdl10_desc_init_components(desc, env);
- size = AXIS2_ARRAY_LIST_SIZE(desc_impl->f_all_element_decls, env);
+ if(desc_impl->f_all_element_decls)
+ size = AXIS2_ARRAY_LIST_SIZE(desc_impl->f_all_element_decls, env);
for(i = 0; i < size; i++)
{
axis2_qname_t *qname_l = NULL;
@@ -2128,7 +2127,16 @@
super = WODEN_WSDL10_DESC_SUPER_OBJS(desc, env);
desc_impl = INTF_TO_IMPL(axis2_hash_get(super,
"WODEN_WSDL10_DESC", AXIS2_HASH_KEY_STRING));
-
+
+ if(!desc_impl->f_all_element_decls)
+ {
+ desc_impl->f_all_element_decls = axis2_array_list_create(env, 0);
+ if(!desc_impl->f_all_element_decls)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+ }
return AXIS2_ARRAY_LIST_ADD(desc_impl->f_all_element_decls, env, element_decl);
}
Modified: webservices/axis2/trunk/c/woden/src/wsdl10/element_decl.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/woden/src/wsdl10/element_decl.c?rev=419147&r1=419146&r2=419147&view=diff
==============================================================================
--- webservices/axis2/trunk/c/woden/src/wsdl10/element_decl.c (original)
+++ webservices/axis2/trunk/c/woden/src/wsdl10/element_decl.c Tue Jul 4 20:25:47 2006
@@ -29,6 +29,7 @@
woden_element_decl_t decl;
woden_obj_types_t obj_type;
axis2_hash_t *super;
+
axis2_qname_t *f_qname;
axis2_uri_t *f_system;
axis2_char_t *f_content_model;
@@ -128,6 +129,8 @@
decl_impl->decl.ops->free =
woden_element_decl_free;
+ decl_impl->decl.ops->super_objs =
+ woden_element_decl_super_objs;
decl_impl->decl.ops->type =
woden_element_decl_type;
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=419147&r1=419146&r2=419147&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 Tue Jul 4 20:25:47 2006
@@ -109,6 +109,7 @@
woden_attr_extensible_super_objs;
extensible_impl->extensible.ops->type =
woden_attr_extensible_type;
+
extensible_impl->extensible.ops->set_ext_attr =
woden_attr_extensible_set_ext_attr;
extensible_impl->extensible.ops->get_ext_attr =
@@ -274,10 +275,13 @@
{
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
str_attr_type = AXIS2_QNAME_TO_STRING(attr_type, env);
if(attr)
@@ -297,10 +301,13 @@
{
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
str_attr_type = AXIS2_QNAME_TO_STRING(attr_type, env);
return (woden_xml_attr_t *)axis2_hash_get(extensible_impl->f_ext_attrs,
@@ -314,9 +321,12 @@
{
woden_attr_extensible_impl_t *extensible_impl = NULL;
axis2_hash_index_t *index = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, NULL);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
if(extensible_impl->temp_attrs)
{
@@ -352,10 +362,13 @@
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
str_namespc = AXIS2_URI_TO_STRING(namespc, env, AXIS2_URI_UNP_OMITUSERINFO);
if(extensible_impl->temp_attrs)
@@ -395,10 +408,13 @@
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ATTR_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ATTR_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
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=419147&r1=419146&r2=419147&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 Tue Jul 4 20:25:47 2006
@@ -107,6 +107,9 @@
woden_element_extensible_free;
extensible_impl->extensible.ops->type =
woden_element_extensible_type;
+ extensible_impl->extensible.ops->super_objs =
+ woden_element_extensible_super_objs;
+
extensible_impl->extensible.ops->add_ext_element =
woden_element_extensible_add_ext_element;
extensible_impl->extensible.ops->remove_ext_element =
@@ -262,15 +265,18 @@
axis2_status_t AXIS2_CALL
woden_element_extensible_add_ext_element(
- void *extensible,
- const axis2_env_t *env,
- woden_ext_element_t *ext_el)
+ void *extensible,
+ const axis2_env_t *env,
+ 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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
return AXIS2_ARRAY_LIST_ADD(extensible_impl->f_ext_elements, env, ext_el);
@@ -284,10 +290,13 @@
{
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
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);
@@ -299,9 +308,12 @@
const axis2_env_t *env)
{
woden_element_extensible_impl_t *extensible_impl = NULL;
+ axis2_hash_t *super = NULL;
AXIS2_ENV_CHECK(env, NULL);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
return extensible_impl->f_ext_elements;
}
@@ -314,10 +326,13 @@
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
if(extensible_impl->temp_elems)
{
@@ -353,19 +368,23 @@
}
axis2_bool_t AXIS2_CALL
-woden_element_extensible_has_ext_elements_for_namespace(void *extensible,
- const axis2_env_t *env,
- axis2_uri_t *namespc)
+woden_element_extensible_has_ext_elements_for_namespace(
+ void *extensible,
+ const axis2_env_t *env,
+ axis2_uri_t *namespc)
{
woden_element_extensible_impl_t *extensible_impl = NULL;
axis2_bool_t result = AXIS2_FALSE;
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);
- extensible_impl = INTF_TO_IMPL(extensible);
+ super = WODEN_ELEMENT_EXTENSIBLE_SUPER_OBJS(extensible, env);
+ extensible_impl = INTF_TO_IMPL(axis2_hash_get(super,
+ "WODEN_ELEMENT_EXTENSIBLE", AXIS2_HASH_KEY_STRING));
ext_ns = AXIS2_URI_TO_STRING(namespc, env, AXIS2_URI_UNP_OMITUSERINFO);
size = AXIS2_ARRAY_LIST_SIZE(extensible_impl->f_ext_elements, env);
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org