You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by da...@apache.org on 2007/03/01 12:29:39 UTC
svn commit: r513282 - in /webservices/axis2/trunk/c: include/axis2_svc.h
modules/core/description/svc.c
Author: damitha
Date: Thu Mar 1 03:29:32 2007
New Revision: 513282
URL: http://svn.apache.org/viewvc?view=rev&rev=513282
Log:
Fixed AXIS2C-535
Modified:
webservices/axis2/trunk/c/include/axis2_svc.h
webservices/axis2/trunk/c/modules/core/description/svc.c
Modified: webservices/axis2/trunk/c/include/axis2_svc.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_svc.h?view=diff&rev=513282&r1=513281&r2=513282
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_svc.h Thu Mar 1 03:29:32 2007
@@ -260,6 +260,14 @@
struct axis2_conf *conf);
/**
+ */
+ axis2_bool_t (AXIS2_CALL *
+ is_module_engaged) (
+ axis2_svc_t *svc,
+ const axis2_env_t *env,
+ axis2_qname_t *module_qname);
+
+ /**
* Adds operations defined in a module to this service. It is possible
* to define operations that are associated to a module in a module.xml
* file. These operations in turn could be invoked in relation to a
@@ -289,11 +297,11 @@
* assume the ownership of module description
* @return AXIS2_SUCCESS on success, else AXIS2_FAILURE
*/
- /*axis2_status_t (AXIS2_CALL *
+ axis2_status_t (AXIS2_CALL *
add_to_engaged_module_list)(
axis2_svc_t *svc,
const axis2_env_t *env,
- struct axis2_module_desc *module_desc);*/
+ struct axis2_module_desc *module_desc);
/**
* Gets all engaged modules.
@@ -301,10 +309,10 @@
* @param env pointer to environment struct
* @return pointer to array list containing all engaged modules
*/
-/* axis2_array_list_t *(AXIS2_CALL *
+ axis2_array_list_t *(AXIS2_CALL *
get_all_engaged_modules)(
const axis2_svc_t *svc,
- const axis2_env_t *env);*/
+ const axis2_env_t *env);
/**
* Sets style. Style can be either RPC or document literal.
@@ -1094,6 +1102,11 @@
#define AXIS2_SVC_ENGAGE_MODULE(svc, env, module_desc, axis2_config) \
((svc)->ops->engage_module(svc, env, module_desc, axis2_config))
+/** Check whether given module is engaged to the service.
+ @sa axis2_svc_ops#is_module_engaged */
+#define AXIS2_SVC_IS_MODULE_ENGAGED(svc, env, module_qname) \
+ ((svc)->ops->is_module_engaged(svc, env, module_qname))
+
/** Adds operations defined in module configuration to service.
@sa axis2_svc_ops#add_module_ops */
#define AXIS2_SVC_ADD_MODULE_OPS(svc, env, module_desc, axis2_config) \
@@ -1101,14 +1114,14 @@
/** Adds the named module to engaged module list.
@sa axis2_svc_ops#add_to_engaged_module_list */
-/*#define AXIS2_SVC_ADD_TO_ENGAGED_MODULE_LIST(svc, env, module_name) \
+#define AXIS2_SVC_ADD_TO_ENGAGED_MODULE_LIST(svc, env, module_name) \
((svc)->ops->add_to_engaged_module_list(svc, env, module_name))
-*/
+
/** Gets all engaged modules.
@sa axis2_svc_ops#get_all_engaged_modules */
-/*#define AXIS2_SVC_GET_ALL_ENGAGED_MODULES(svc, env) \
+#define AXIS2_SVC_GET_ALL_ENGAGED_MODULES(svc, env) \
((svc)->ops->get_all_engaged_modules(svc, env))
-*/
+
/** Sets service style.
@sa axis2_svc_ops#set_style */
#define AXIS2_SVC_SET_STYLE(svc, env, style) \
Modified: webservices/axis2/trunk/c/modules/core/description/svc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/svc.c?view=diff&rev=513282&r1=513281&r2=513282
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc.c Thu Mar 1 03:29:32 2007
@@ -173,6 +173,12 @@
axis2_module_desc_t *module_desc,
axis2_conf_t *conf);
+axis2_bool_t AXIS2_CALL
+axis2_svc_is_module_engaged(
+ axis2_svc_t *svc,
+ const axis2_env_t *env,
+ axis2_qname_t *module_qname);
+
axis2_status_t AXIS2_CALL
axis2_svc_add_module_ops(
axis2_svc_t *svc,
@@ -180,7 +186,7 @@
axis2_module_desc_t *module,
axis2_conf_t *conf);
-/*axis2_status_t AXIS2_CALL
+axis2_status_t AXIS2_CALL
axis2_svc_add_to_engaged_module_list(
axis2_svc_t *svc,
const axis2_env_t *env,
@@ -190,7 +196,7 @@
axis2_svc_get_all_engaged_modules(
const axis2_svc_t *svc,
const axis2_env_t *env);
-*/
+
axis2_status_t AXIS2_CALL
axis2_svc_set_style(
@@ -657,10 +663,11 @@
svc_impl->svc.ops->get_all_params = axis2_svc_get_all_params;
svc_impl->svc.ops->is_param_locked = axis2_svc_is_param_locked;
svc_impl->svc.ops->engage_module = axis2_svc_engage_module;
+ svc_impl->svc.ops->is_module_engaged = axis2_svc_is_module_engaged;
svc_impl->svc.ops->add_module_ops = axis2_svc_add_module_ops;
- /*svc_impl->svc.ops->add_to_engaged_module_list =
+ svc_impl->svc.ops->add_to_engaged_module_list =
axis2_svc_add_to_engaged_module_list;
- svc_impl->svc.ops->get_all_engaged_modules = axis2_svc_get_all_engaged_modules;*/
+ svc_impl->svc.ops->get_all_engaged_modules = axis2_svc_get_all_engaged_modules;
svc_impl->svc.ops->set_style = axis2_svc_set_style;
svc_impl->svc.ops->get_style = axis2_svc_get_style;
/*svc_impl->svc.ops->get_in_flow = axis2_svc_get_in_flow;
@@ -800,11 +807,11 @@
int i = 0;
int size = 0;
- size = AXIS2_ARRAY_LIST_SIZE(svc_impl->module_list, env);
+ size = axis2_array_list_size(svc_impl->module_list, env);
for (i = 0; i < size; i++)
{
axis2_qname_t *qname = NULL;
- qname = AXIS2_ARRAY_LIST_GET(svc_impl->module_list, env, i);
+ qname = axis2_array_list_get(svc_impl->module_list, env, i);
if (qname)
{
AXIS2_QNAME_FREE(qname, env);
@@ -943,7 +950,7 @@
}
/*modules = axis2_svc_get_all_engaged_modules(svc, env);
if (modules)
- size = AXIS2_ARRAY_LIST_SIZE(modules, env);
+ size = axis2_array_list_size(modules, env);
for (i = 0; i < size; i++)
{
axis2_module_desc_t *module_desc = NULL;
@@ -951,7 +958,7 @@
axis2_svc_grp_t *parent = NULL;
axis2_conf_t *conf = NULL;
- module_desc = (axis2_module_desc_t *) AXIS2_ARRAY_LIST_GET(modules, env, i);
+ module_desc = (axis2_module_desc_t *) axis2_array_list_get(modules, env, i);
parent = (axis2_svc_grp_t *) axis2_svc_get_parent(svc, env);
if (parent)
{
@@ -1216,16 +1223,16 @@
{
return AXIS2_FAILURE;
}
- size = AXIS2_ARRAY_LIST_SIZE(collection_module, env);
+ size = axis2_array_list_size(collection_module, env);
if (AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
return AXIS2_ERROR_GET_STATUS_CODE(env->error);
}
for (i = 0; i < size; i++)
{
- modu = (axis2_module_desc_t *) AXIS2_ARRAY_LIST_GET(collection_module,
+ modu = (axis2_module_desc_t *) axis2_array_list_get(collection_module,
env, i);
- if (AXIS2_QNAME_EQUALS(AXIS2_MODULE_DESC_GET_QNAME(modu, env), env,
+ if (axis2_qname_equals(AXIS2_MODULE_DESC_GET_QNAME(modu, env), env,
AXIS2_MODULE_DESC_GET_QNAME(module_desc, env)))
{
AXIS2_ERROR_SET(env->error,
@@ -1241,11 +1248,11 @@
return AXIS2_FAILURE;
}
status = AXIS2_PHASE_RESOLVER_ENGAGE_MODULE_TO_SVC(phase_resolver, env, svc,
- module_desc);
+ module_desc);
if (status)
{
const axis2_qname_t *qname = NULL;
- status = AXIS2_ARRAY_LIST_ADD(svc_impl->engaged_modules, env, module_desc);
+ status = axis2_svc_add_to_engaged_module_list(svc, env, module_desc);
qname = AXIS2_MODULE_DESC_GET_QNAME(module_desc, env);
axis2_svc_add_module_qname(svc, env, qname);
}
@@ -1258,6 +1265,33 @@
return status;
}
+axis2_bool_t AXIS2_CALL
+axis2_svc_is_module_engaged(
+ axis2_svc_t *svc,
+ const axis2_env_t *env,
+ axis2_qname_t *module_qname)
+{
+ int i = 0, size = 0;
+ axis2_svc_impl_t *svc_impl = NULL;
+ svc_impl = AXIS2_INTF_TO_IMPL(svc);
+ size = axis2_array_list_size(svc_impl->engaged_modules, env);
+ for (i = 0; i < size; i++)
+ {
+ const axis2_qname_t *module_qname_l = NULL;
+ axis2_module_desc_t *module_desc_l = NULL;
+
+ module_desc_l = (axis2_module_desc_t *) axis2_array_list_get(
+ svc_impl->engaged_modules, env, i);
+ module_qname_l = AXIS2_MODULE_DESC_GET_QNAME(module_desc_l, env);
+
+ if (axis2_qname_equals(module_qname, env, module_qname_l))
+ {
+ return AXIS2_TRUE;
+ }
+ }
+ return AXIS2_FALSE;
+}
+
axis2_status_t AXIS2_CALL
axis2_svc_add_module_ops(
axis2_svc_t *svc,
@@ -1294,7 +1328,7 @@
op_desc = (axis2_op_t *) v;
mappings_list = AXIS2_OP_GET_WSAMAPPING_LIST(op_desc, env);
/* adding WSA mapping into service */
- size = AXIS2_ARRAY_LIST_SIZE(mappings_list, env);
+ size = axis2_array_list_size(mappings_list, env);
if (AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
{
@@ -1309,7 +1343,7 @@
{
axis2_char_t *mapping = NULL;
- mapping = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(mappings_list, env, j);
+ mapping = (axis2_char_t *) axis2_array_list_get(mappings_list, env, j);
status = axis2_svc_add_mapping(svc, env, mapping, op_desc);
if (AXIS2_SUCCESS != status)
{
@@ -1355,74 +1389,54 @@
return AXIS2_SUCCESS;
}
-/*axis2_status_t AXIS2_CALL
+axis2_status_t AXIS2_CALL
axis2_svc_add_to_engaged_module_list(
axis2_svc_t *svc,
const axis2_env_t *env,
- axis2_module_desc_t *module_name)
+ axis2_module_desc_t *module_desc)
{
- axis2_array_list_t *collection_module = NULL;
- axis2_module_desc_t *module_desc = NULL;
+ axis2_svc_impl_t *svc_impl = NULL;
+ const axis2_qname_t *module_qname = NULL;
int i = 0;
int size = 0;
- axis2_property_t *property = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE);
-
- property = (axis2_property_t *)
- AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTY(svc->wsdl_svc->
- wsdl_component, env, AXIS2_MODULEREF_KEY);
- if (property)
- collection_module = (axis2_array_list_t *) AXIS2_PROPERTY_GET_VALUE(
- property, env);
- if (!collection_module)
+ AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE);
+ svc_impl = AXIS2_INTF_TO_IMPL(svc);
+ if (!svc_impl->engaged_modules)
{
return AXIS2_FAILURE;
}
-
- size = AXIS2_ARRAY_LIST_SIZE(collection_module, env);
-
- if (AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error))
- {
- return AXIS2_ERROR_GET_STATUS_CODE(env->error);
- }
-
+ module_qname = AXIS2_MODULE_DESC_GET_QNAME(module_desc, env);
+ size = axis2_array_list_size(svc_impl->engaged_modules, env);
for (i = 0; i < size; i++)
{
- const axis2_qname_t *module_d_name = NULL;
- const axis2_qname_t *module_d_name_l = NULL;
+ const axis2_qname_t *module_qname_l = NULL;
+ axis2_module_desc_t *module_desc_l = NULL;
- module_desc = (axis2_module_desc_t *) AXIS2_ARRAY_LIST_GET(
- collection_module, env, i);
- module_d_name = AXIS2_MODULE_DESC_GET_QNAME(module_desc, env);
- module_d_name_l = AXIS2_MODULE_DESC_GET_QNAME(module_name, env);
+ module_desc_l = (axis2_module_desc_t *) axis2_array_list_get(
+ svc_impl->engaged_modules, env, i);
+ module_qname_l = AXIS2_MODULE_DESC_GET_QNAME(module_desc_l, env);
- if (AXIS2_QNAME_EQUALS(module_d_name, env, module_d_name_l))
+ if (axis2_qname_equals(module_qname, env, module_qname_l))
{
return AXIS2_SUCCESS;
}
}
- return AXIS2_ARRAY_LIST_ADD(collection_module, env, module_name);
+ return axis2_array_list_add(svc_impl->engaged_modules, env, module_desc);
}
-*/
-/*axis2_array_list_t *AXIS2_CALL
+axis2_array_list_t *AXIS2_CALL
axis2_svc_get_all_engaged_modules(
const axis2_svc_t *svc,
const axis2_env_t *env)
{
- axis2_property_t *property = NULL;
-
+ axis2_svc_impl_t *svc_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
+ svc_impl = AXIS2_INTF_TO_IMPL(svc);
- property = (axis2_property_t *)
- AXIS2_WSDL_COMPONENT_GET_COMPONENT_PROPERTY(
- svc->wsdl_svc->wsdl_component, env, AXIS2_MODULEREF_KEY);
- if (property)
- return (axis2_array_list_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
- return NULL;
-}*/
+ return svc_impl->engaged_modules;
+}
axis2_status_t AXIS2_CALL
axis2_svc_set_style(
@@ -1693,7 +1707,7 @@
type_2 = AXIS2_WSDL_EXTENSIBLE_ELEMENT_GET_TYPE(element->
extensible_element, env);
- if (AXIS2_QNAME_EQUALS(type_2, env, type_1))
+ if (axis2_qname_equals(type_2, env, type_1))
{
if (0 == AXIS2_STRCMP(AXIS2_WSDL_SOAP_OP_GET_SOAP_ACTION(
element, env), soap_action))
@@ -1927,7 +1941,7 @@
svc_impl = AXIS2_INTF_TO_IMPL(svc);
qmodule_qname_l = AXIS2_QNAME_CLONE((axis2_qname_t *)module_qname, env);
- return AXIS2_ARRAY_LIST_ADD(AXIS2_INTF_TO_IMPL(svc)->module_list, env,
+ return axis2_array_list_add(AXIS2_INTF_TO_IMPL(svc)->module_list, env,
qmodule_qname_l);
}
@@ -2075,12 +2089,12 @@
return AXIS2_FAILURE;
}
- size = AXIS2_ARRAY_LIST_SIZE(svc_impl->schema_list, env);
+ size = axis2_array_list_size(svc_impl->schema_list, env);
for (i = 0; i < size; i++)
{
xml_schema_t *schema = NULL;
axis2_char_t *buffer = NULL;
- schema = AXIS2_ARRAY_LIST_GET(svc_impl->schema_list, env, i);
+ schema = axis2_array_list_get(svc_impl->schema_list, env, i);
buffer = XML_SCHEMA_SERIALIZE(schema, env);
if (buffer)
{
@@ -2121,7 +2135,7 @@
AXIS2_FAILURE);
return NULL;
}
- schema = (xml_schema_t *)AXIS2_ARRAY_LIST_GET(svc_impl->schema_list, env, index);
+ schema = (xml_schema_t *)axis2_array_list_get(svc_impl->schema_list, env, index);
prefix_map = XML_SCHEMA_GET_PREFIX_TO_NAMESPACE_MAP(schema, env);
if (NULL == prefix_map)
{
@@ -2168,7 +2182,7 @@
AXIS2_FAILURE);
return AXIS2_FAILURE;
}
- AXIS2_ARRAY_LIST_ADD(svc_impl->schema_list, env, schema);
+ axis2_array_list_add(svc_impl->schema_list, env, schema);
return axis2_svc_add_schema_ns(svc, env, XML_SCHEMA_GET_TARGET_NAMESPACE(
schema, env));
}
@@ -2183,9 +2197,9 @@
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, schemas, AXIS2_FAILURE);
- for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(schemas, env); i++)
+ for (i = 0; i < axis2_array_list_size(schemas, env); i++)
{
- xml_schema_t *schema = AXIS2_ARRAY_LIST_GET(schemas, env, i);
+ xml_schema_t *schema = axis2_array_list_get(schemas, env, i);
axis2_svc_add_schema(svc, env, schema);
}
return AXIS2_SUCCESS;
@@ -2324,11 +2338,11 @@
AXIS2_ENV_CHECK(env, NULL);
svc_impl = AXIS2_INTF_TO_IMPL(svc);
- for (i = 0; i < AXIS2_ARRAY_LIST_SIZE(svc_impl->schema_list, env); i++)
+ for (i = 0; i < axis2_array_list_size(svc_impl->schema_list, env); i++)
{
xml_schema_t *schema = NULL;
xml_schema_element_t *schema_element = NULL;
- schema = AXIS2_ARRAY_LIST_GET(svc_impl->schema_list, env, i);
+ schema = axis2_array_list_get(svc_impl->schema_list, env, i);
if (schema)
{
schema_element = XML_SCHEMA_GET_ELEMENT_BY_QNAME(schema, env,
@@ -2464,15 +2478,15 @@
axis2_hash_t *name_table = axis2_hash_make(env);
axis2_hash_t *schema_table = NULL;
- count = AXIS2_ARRAY_LIST_SIZE(schemas, env);
+ count = axis2_array_list_size(schemas, env);
for (i = 0; i < count; i++)
{
- xml_schema_t *schema = AXIS2_ARRAY_LIST_GET(schemas, env, i);
+ xml_schema_t *schema = axis2_array_list_get(schemas, env, i);
axis2_svc_calculate_schema_names(svc, env, schema, name_table);
}
for (i = 0; i < count; i++)
{
- xml_schema_t *schema = AXIS2_ARRAY_LIST_GET(schemas, env, i);
+ xml_schema_t *schema = axis2_array_list_get(schemas, env, i);
axis2_svc_adjust_schema_names(svc, env, schema, name_table);
}
schema_table = axis2_svc_swap_mapping_table(svc, env, name_table);
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org