You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by sa...@apache.org on 2006/07/21 07:11:59 UTC
svn commit: r424182 - in /webservices/sandesha/trunk/c:
include/sandesha2/sandesha2_utils.h src/util/property_mgr.c src/util/utils.c
Author: sahan
Date: Thu Jul 20 22:11:58 2006
New Revision: 424182
URL: http://svn.apache.org/viewvc?rev=424182&view=rev
Log:
1. Completing property_mgr
2. Adding a str_trim to utils
Modified:
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h
webservices/sandesha/trunk/c/src/util/property_mgr.c
webservices/sandesha/trunk/c/src/util/utils.c
Modified: webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h?rev=424182&r1=424181&r2=424182&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_utils.h Thu Jul 20 22:11:58 2006
@@ -144,6 +144,10 @@
sandesha2_utils_get_soap_version(const axis2_env_t *env,
axiom_soap_envelope_t *envelope);
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+sandesha2_utils_trim_string(const axis2_env_t *env,
+ axis2_char_t *orig_string);
+
/** @} */
#ifdef __cplusplus
Modified: webservices/sandesha/trunk/c/src/util/property_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/property_mgr.c?rev=424182&r1=424181&r2=424182&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/property_mgr.c Thu Jul 20 22:11:58 2006
@@ -29,9 +29,52 @@
#include <axis2_transport_out_desc.h>
#include <axis2_transport_in_desc.h>
#include <axis2_qname.h>
+#include <sandesha2/sandesha2_utils.h>
#include <axis2_param.h>
+/******************************************************************************/
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_exp_backoff(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_retrans_int(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_ack_int(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_inactive_timeout(const axis2_env_t *env,
+ axis2_char_t *value,
+ axis2_char_t *measure,
+ sandesha2_property_bean_t *property_bean);
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_in_mem_storage_mgr(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_perm_storage_mgr(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_in_order_invocation(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_msg_types_to_drop(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean);
+
+/******************************************************************************/
AXIS2_EXTERN sandesha2_property_bean_t* AXIS2_CALL
sandesha2_property_mgr_load_properties_from_def_values(const axis2_env_t *env)
{
@@ -69,23 +112,269 @@
axis2_module_desc_t *module_desc)
{
sandesha2_property_bean_t *property_bean = NULL;
- axis2_param_t *exp_backoff_param = NULL;
+ axis2_param_t *param = NULL;
axis2_char_t *exp_backoff_str = NULL;
+ axis2_char_t *retrans_int_str = NULL;
+ axis2_char_t *ack_int_str = NULL;
+ axis2_char_t *inactive_timeout_str = NULL;
+ axis2_char_t *in_mem_mgr_str = NULL;
+ axis2_char_t *perm_mgr_str = NULL;
+ axis2_char_t *in_order_invoker_str = NULL;
+ axis2_char_t *msg_types_str = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, module_desc, NULL);
property_bean = sandesha2_property_bean_create(env);
- exp_backoff_param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
SANDESHA2_PROPERTIES_EXP_BACKOFF);
- if(NULL != exp_backoff_param)
+ if(NULL != param)
{
- exp_backoff_str = AXIS2_PARAM_GET_VALUE(exp_backoff_param, env);
+ exp_backoff_str = AXIS2_PARAM_GET_VALUE(param, env);
sandesha2_property_mgr_load_exp_backoff(env, exp_backoff_str,
property_bean);
}
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_RETRANSMISSION_INTERVAL);
+ if(NULL != param)
+ {
+ retrans_int_str = AXIS2_PARAM_GET_VALUE(param, env);
+ sandesha2_property_mgr_load_retrans_int(env, retrans_int_str,
+ property_bean);
+ }
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_ACK_INTERVAL);
+ if(NULL != param)
+ {
+ ack_int_str = AXIS2_PARAM_GET_VALUE(param, env);
+ sandesha2_property_mgr_load_ack_int(env, ack_int_str,
+ property_bean);
+ }
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_INACTIVETIMEOUT);
+ if(NULL != param)
+ {
+ axis2_char_t *inactive_to_measure_str = NULL;
+
+ inactive_timeout_str = AXIS2_PARAM_GET_VALUE(param, env);
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_INACTIVETIMEOUT_MEASURE);
+ if(NULL != param)
+ inactive_to_measure_str = AXIS2_PARAM_GET_VALUE(param, env);
+ if(NULL == inactive_to_measure_str)
+ inactive_to_measure_str = SANDESHA2_DEF_VAL_INACTIVETIMEOUT_MEASURE;
+
+ sandesha2_property_mgr_load_inactive_timeout(env, inactive_timeout_str,
+ inactive_to_measure_str, property_bean);
+ }
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_IN_MEMORY_STORAGE_MGR);
+ if(NULL != param)
+ {
+ in_mem_mgr_str = AXIS2_PARAM_GET_VALUE(param, env);
+ sandesha2_property_mgr_load_in_mem_storage_mgr(env, in_mem_mgr_str,
+ property_bean);
+ }
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_PERM_STORAGE_MGR);
+ if(NULL != param)
+ {
+ perm_mgr_str = AXIS2_PARAM_GET_VALUE(param, env);
+ sandesha2_property_mgr_load_perm_storage_mgr(env, perm_mgr_str,
+ property_bean);
+ }
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_INORDER_INVOCATION);
+ if(NULL != param)
+ {
+ in_order_invoker_str = AXIS2_PARAM_GET_VALUE(param, env);
+ sandesha2_property_mgr_load_in_order_invocation(env,
+ in_order_invoker_str, property_bean);
+ }
+ param = AXIS2_MODULE_DESC_GET_PARAM(module_desc, env,
+ SANDESHA2_PROPERTIES_MSG_TYPES_TO_DROP);
+ if(NULL != param)
+ {
+ msg_types_str = AXIS2_PARAM_GET_VALUE(param, env);
+ sandesha2_property_mgr_load_msg_types_to_drop(env, msg_types_str,
+ property_bean);
+ }
+ return property_bean;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_exp_backoff(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+ axis2_char_t *str = NULL;
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ str = sandesha2_utils_trim_string(env, value);
+ if(0 == AXIS2_STRCMP(str, SANDESHA2_VALUE_TRUE))
+ SANDESHA2_PROPERTY_BEAN_SET_EXP_BACKOFF(property_bean, env, AXIS2_TRUE);
+ else
+ SANDESHA2_PROPERTY_BEAN_SET_EXP_BACKOFF(property_bean, env, AXIS2_FALSE);
+ return AXIS2_SUCCESS;
+}
- return property_bean;
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_retrans_int(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+ axis2_char_t *str = NULL;
+ int retrans_int = -1;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ str = sandesha2_utils_trim_string(env, value);
+ if(NULL != str)
+ retrans_int = atoi(str);
+ if(0 < retrans_int)
+ SANDESHA2_PROPERTY_BEAN_SET_RETRANS_INTERVAL(property_bean, env,
+ retrans_int);
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_ack_int(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+ axis2_char_t *str = NULL;
+ int ack_int = -1;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ str = sandesha2_utils_trim_string(env, value);
+ if(NULL != str)
+ ack_int = atoi(str);
+ if(0 < ack_int)
+ SANDESHA2_PROPERTY_BEAN_SET_ACK_INTERVAL(property_bean, env, ack_int);
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_inactive_timeout(const axis2_env_t *env,
+ axis2_char_t *value,
+ axis2_char_t *measure,
+ sandesha2_property_bean_t *property_bean)
+{
+ axis2_char_t *str = NULL;
+ axis2_char_t *str2 = NULL;
+ int timeout = -1;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, measure, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ str = sandesha2_utils_trim_string(env, value);
+ str2 = sandesha2_utils_trim_string(env, measure);
+
+ if(NULL != str)
+ timeout = atoi(str);
+ if(0 < timeout)
+ {
+ if(NULL != str2)
+ SANDESHA2_PROPERTY_BEAN_SET_INACTIVE_TIMEOUT_INTERVAL_WITH_UNITS(
+ property_bean, env, timeout, str2);
+ else
+ SANDESHA2_PROPERTY_BEAN_SET_INACTIVE_TIMEOUT_INTERVAL(property_bean,
+ env, timeout);
+ }
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_in_mem_storage_mgr(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ SANDESHA2_PROPERTY_BEAN_SET_IN_MEM_STORAGE_MGR(property_bean, env, value);
+
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_perm_storage_mgr(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ SANDESHA2_PROPERTY_BEAN_SET_PERMENENT_STORAGE_MGR(property_bean, env, value);
+
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_in_order_invocation(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+ axis2_char_t *str = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ str = sandesha2_utils_trim_string(env, value);
+ if(0 == AXIS2_STRCMP(str, SANDESHA2_VALUE_TRUE))
+ SANDESHA2_PROPERTY_BEAN_SET_IN_ORDER(property_bean, env, AXIS2_TRUE);
+ else
+ SANDESHA2_PROPERTY_BEAN_SET_IN_ORDER(property_bean, env, AXIS2_FALSE);
+
+ return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+sandesha2_property_mgr_load_msg_types_to_drop(const axis2_env_t *env,
+ axis2_char_t *value,
+ sandesha2_property_bean_t *property_bean)
+{
+ axis2_char_t *str = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, property_bean, AXIS2_FAILURE);
+
+ str = sandesha2_utils_trim_string(env, value);
+ if(NULL != str && 0 != AXIS2_STRCMP(str, SANDESHA2_VALUE_NONE))
+ {
+ axis2_char_t *str2 = NULL;
+ axis2_array_list_t *list = NULL;
+
+ str2 = axis2_strcat(env, "[", str, "]", NULL);
+ list = sandesha2_utils_get_array_list_from_string(env, str2);
+ if(NULL != list)
+ {
+ int i = 0;
+ for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(list, env); i++)
+ {
+ axis2_char_t *val = NULL;
+ val = AXIS2_ARRAY_LIST_GET(list, env, i);
+ SANDESHA2_PROPERTY_BEAN_ADD_MSG_TYPE_TO_DROP(property_bean, env,
+ atoi(val));
+ }
+ }
+ }
+
+ return AXIS2_SUCCESS;
}
Modified: webservices/sandesha/trunk/c/src/util/utils.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/utils.c?rev=424182&r1=424181&r2=424182&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/utils.c Thu Jul 20 22:11:58 2006
@@ -654,3 +654,30 @@
return AXIOM_SOAP_ENVELOPE_GET_SOAP_VERSION(envelope, env);
}
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+sandesha2_utils_trim_string(const axis2_env_t *env,
+ axis2_char_t *orig_string)
+{
+ axis2_char_t *tmp = NULL;
+ axis2_char_t *tmp2 = NULL;
+ axis2_char_t *ret = NULL;
+ int len = 0;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ AXIS2_PARAM_CHECK(env->error, orig_string, NULL);
+
+ tmp = orig_string;
+ while(' ' == *tmp)
+ tmp++;
+
+ tmp2 = orig_string[AXIS2_STRLEN(orig_string)];
+ while(' ' == *tmp2 && tmp2 != orig_string)
+ tmp2--;
+
+ len = tmp2 - tmp;
+ if(len > 0)
+ ret = AXIS2_MALLOC(env->allocator, len);
+
+ memcpy(ret, tmp, len);
+ return ret;
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org