You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by da...@apache.org on 2006/08/21 07:55:39 UTC
svn commit: r433159 [1/2] - in /webservices/sandesha/trunk/c: include/
include/sandesha2/ src/handlers/ src/msgprocessors/ src/storage/beans/
src/storage/inmemory/ src/util/ src/workers/ src/wsrm/
Author: damitha
Date: Sun Aug 20 22:55:38 2006
New Revision: 433159
URL: http://svn.apache.org/viewvc?rev=433159&view=rev
Log:
In process of making sandesha2 work
Modified:
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h
webservices/sandesha/trunk/c/include/sandesha2/sandesha2_seq.h
webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h
webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c
webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c
webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c
webservices/sandesha/trunk/c/src/util/ack_mgr.c
webservices/sandesha/trunk/c/src/util/error.c
webservices/sandesha/trunk/c/src/util/fault_mgr.c
webservices/sandesha/trunk/c/src/util/msg_creator.c
webservices/sandesha/trunk/c/src/util/msg_init.c
webservices/sandesha/trunk/c/src/util/seq_mgr.c
webservices/sandesha/trunk/c/src/util/terminate_mgr.c
webservices/sandesha/trunk/c/src/util/utils.c
webservices/sandesha/trunk/c/src/workers/in_order_invoker.c
webservices/sandesha/trunk/c/src/workers/sender.c
webservices/sandesha/trunk/c/src/wsrm/identifier.c
Modified: webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_error.h Sun Aug 20 22:55:38 2006
@@ -181,6 +181,8 @@
SANDESHA2_ERROR_CANNOT_INIT_MSG,
/* Error in processing the message */
SANDESHA2_ERROR_CANNOT_PROCESS_MSG,
+ /* String array is invalid */
+ SANDESHA2_ERROR_INVALID_STRING_ARRAY,
/** The following has to be the last error value all the time.
All other error codes should appear above this.
SANDESHA_ERROR_LAST is used to track the number of error codes present
Modified: webservices/sandesha/trunk/c/include/sandesha2/sandesha2_seq.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2/sandesha2_seq.h?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2/sandesha2_seq.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2/sandesha2_seq.h Sun Aug 20 22:55:38 2006
@@ -121,6 +121,10 @@
((seq)->ops->set_last_msg (seq, env, last_msg))
#define SANDESHA2_SEQ_GET_LAST_MSG(seq, env) \
((seq)->ops->get_last_msg (seq, env))
+#define SANDESHA2_SEQ_SET_MUST_UNDERSTAND(seq, env, mu) \
+ ((seq)->ops->set_must_understand (seq, env, mu))
+#define SANDESHA2_SEQ_IS_MUST_UNDERSTAND(seq, env) \
+ ((seq)->ops->is_must_understand (seq, env))
/************************** End of function macros ****************************/
/** @} */
#ifdef __cplusplus
Modified: webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_seq_mgr.h Sun Aug 20 22:55:38 2006
@@ -45,7 +45,7 @@
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-sandesha2_seq_mgr_set_up_new_seq(
+sandesha2_seq_mgr_setup_new_seq(
const axis2_env_t *env,
sandesha2_msg_ctx_t *create_seq_msg,
sandesha2_storage_mgr_t *storage_mgr);
Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_global_in_handler.c Sun Aug 20 22:55:38 2006
@@ -155,7 +155,7 @@
transaction = SANDESHA2_STORAGE_MGR_GET_TRANSACTION(storage_mgr, env);
prop = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(prop, env, AXIS2_SCOPE_APPLICATION);
- AXIS2_PROPERTY_SET_VALUE(prop, env, SANDESHA2_VALUE_TRUE);
+ AXIS2_PROPERTY_SET_VALUE(prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_TRUE, env));
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_WITHIN_TRANSACTION, prop,
AXIS2_FALSE);
}
@@ -269,13 +269,16 @@
{
axis2_char_t *rcvd_msgs_str = NULL;
axis2_array_list_t *msg_no_list = NULL;
- int i = 0;
+ int i = 0, size = 0;
rcvd_msgs_str = SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(
rcvd_msgs_bean, env);
msg_no_list = sandesha2_utils_get_array_list_from_string(env,
rcvd_msgs_str);
- for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(msg_no_list, env); i++)
+ if(msg_no_list)
+ size = AXIS2_ARRAY_LIST_SIZE(msg_no_list, env);
+ printf("global_in_handler, size:%d\n", size);
+ for(i = 0; i < size; i++)
{
axis2_char_t *temp = NULL;
Modified: webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c (original)
+++ webservices/sandesha/trunk/c/src/handlers/sandesha2_in_handler.c Sun Aug 20 22:55:38 2006
@@ -137,7 +137,7 @@
transaction = SANDESHA2_STORAGE_MGR_GET_TRANSACTION(storage_mgr, env);
prop = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(prop, env, AXIS2_SCOPE_APPLICATION);
- AXIS2_PROPERTY_SET_VALUE(prop, env, SANDESHA2_VALUE_TRUE);
+ AXIS2_PROPERTY_SET_VALUE(prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_TRUE, env));
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_WITHIN_TRANSACTION, prop,
AXIS2_FALSE);
}
@@ -160,7 +160,7 @@
SANDESHA2_TRANSACTION_ROLLBACK(transaction, env);
prop = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(prop, env, AXIS2_SCOPE_APPLICATION);
- AXIS2_PROPERTY_SET_VALUE(prop, env, SANDESHA2_VALUE_FALSE);
+ AXIS2_PROPERTY_SET_VALUE(prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_FALSE, env));
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_WITHIN_TRANSACTION,
prop, AXIS2_FALSE);
rolled_back = AXIS2_TRUE;
@@ -201,7 +201,7 @@
SANDESHA2_TRANSACTION_ROLLBACK(transaction, env);
prop = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(prop, env, AXIS2_SCOPE_APPLICATION);
- AXIS2_PROPERTY_SET_VALUE(prop, env, SANDESHA2_VALUE_FALSE);
+ AXIS2_PROPERTY_SET_VALUE(prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_FALSE, env));
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_WITHIN_TRANSACTION,
prop, AXIS2_FALSE);
rolled_back = AXIS2_TRUE;
@@ -213,7 +213,7 @@
SANDESHA2_TRANSACTION_COMMIT(transaction, env);
prop = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(prop, env, AXIS2_SCOPE_APPLICATION);
- AXIS2_PROPERTY_SET_VALUE(prop, env, SANDESHA2_VALUE_FALSE);
+ AXIS2_PROPERTY_SET_VALUE(prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_FALSE, env));
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_WITHIN_TRANSACTION,
prop, AXIS2_FALSE);
}
@@ -229,7 +229,7 @@
SANDESHA2_TRANSACTION_COMMIT(transaction, env);
prop = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(prop, env, AXIS2_SCOPE_APPLICATION);
- AXIS2_PROPERTY_SET_VALUE(prop, env, SANDESHA2_VALUE_FALSE);
+ AXIS2_PROPERTY_SET_VALUE(prop, env, AXIS2_STRDUP(SANDESHA2_VALUE_FALSE, env));
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_WITHIN_TRANSACTION,
prop, AXIS2_FALSE);
}
Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_msg_processor.c Sun Aug 20 22:55:38 2006
@@ -169,10 +169,10 @@
sandesha2_seq_property_bean_t *completed_bean = NULL;
axis2_char_t *str_list = NULL;
axis2_char_t *last_out_msg_no_str = NULL;
-
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, AXIS2_FAILURE);
-
+ printf("In ack_msg_processor\n");
seq_ack = (sandesha2_seq_ack_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(rm_msg_ctx,
env, SANDESHA2_MSG_PART_SEQ_ACKNOWLEDGEMENT);
if(NULL == seq_ack)
@@ -311,7 +311,7 @@
{
SANDESHA2_SEQ_PROPERTY_BEAN_SET_VALUE(no_of_msgs_acked_bean, env,
str_long);
- SANDESHA2_SEQ_PROPERY_MGR_UPDATE(seq_prop_mgr, env,
+ SANDESHA2_SEQ_PROPERTY_MGR_UPDATE(seq_prop_mgr, env,
no_of_msgs_acked_bean);
}
completed_bean = SANDESHA2_SEQ_PROPERTY_MGR_RETRIEVE(seq_prop_mgr,
@@ -328,7 +328,7 @@
str_list = sandesha2_utils_array_list_to_string(env, acked_list,
SANDESHA2_ARRAY_LIST_LONG);
SANDESHA2_SEQ_PROPERTY_BEAN_SET_VALUE(completed_bean, env, str_list);
- SANDESHA2_SEQ_PROPERY_MGR_UPDATE(seq_prop_mgr, env, completed_bean);
+ SANDESHA2_SEQ_PROPERTY_MGR_UPDATE(seq_prop_mgr, env, completed_bean);
last_out_msg_no_str = sandesha2_utils_get_seq_property(env, int_seq_id,
SANDESHA2_SEQ_PROP_LAST_OUT_MESSAGE_NO, storage_mgr);
Modified: webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/ack_req_msg_processor.c Sun Aug 20 22:55:38 2006
@@ -295,6 +295,7 @@
axis2_array_list_t *found_list = NULL;
axis2_msg_ctx_t *msg_ctx = NULL;
axis2_engine_t *engine = NULL;
+ axis2_transport_out_desc_t *transport_out = NULL;
retrans_mgr = SANDESHA2_STORAGE_MGR_GET_RETRANS_MGR(storage_mgr, env);
key = axis2_uuid_gen(env);
@@ -347,9 +348,9 @@
SANDESHA2_SENDER_MGR_INSERT(retrans_mgr, env, ack_bean);
property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
- AXIS2_PROPERTY_SET_VALUE(property, env,
- AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(ack_msg_ctx, env));
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
+ transport_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(ack_msg_ctx, env);
+ AXIS2_PROPERTY_SET_VALUE(property, env, transport_out);
AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env,
SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property,
AXIS2_FALSE);
Modified: webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/app_msg_processor.c Sun Aug 20 22:55:38 2006
@@ -60,73 +60,75 @@
/***************************** Function headers *******************************/
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_process_in_msg (
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx);
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_process_out_msg(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx);
axis2_bool_t AXIS2_CALL
sandesha2_app_msg_processor_msg_num_is_in_list(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_char_t *list,
- long num);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_char_t *list,
+ long num);
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_send_ack_if_reqd(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx,
- axis2_char_t *msg_str,
- sandesha2_storage_mgr_t *mgr);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx,
+ axis2_char_t *msg_str,
+ sandesha2_storage_mgr_t *mgr);
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_add_create_seq_msg(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx,
- axis2_char_t *internal_seq_id,
- axis2_char_t *acks_to,
- sandesha2_storage_mgr_t *mgr);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx,
+ axis2_char_t *internal_seq_id,
+ axis2_char_t *acks_to,
+ sandesha2_storage_mgr_t *mgr);
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_process_response_msg(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx,
- axis2_char_t *internal_seq_id,
- long msg_num,
- axis2_char_t *storage_key,
- sandesha2_storage_mgr_t *mgr);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx,
+ axis2_char_t *internal_seq_id,
+ long msg_num,
+ axis2_char_t *storage_key,
+ sandesha2_storage_mgr_t *mgr);
long AXIS2_CALL
sandesha2_app_msg_processor_get_prev_msg_no(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_char_t *internal_seq_id,
- sandesha2_storage_mgr_t *mgr);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_char_t *internal_seq_id,
+ sandesha2_storage_mgr_t *mgr);
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_set_next_msg_no(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_char_t *internal_seq_id,
- long msg_num,
- sandesha2_storage_mgr_t *mgr);
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_char_t *internal_seq_id,
+ long msg_num,
+ sandesha2_storage_mgr_t *mgr);
axis2_status_t AXIS2_CALL
-sandesha2_app_msg_processor_free (sandesha2_msg_processor_t *element,
- const axis2_env_t *env);
+sandesha2_app_msg_processor_free (
+ sandesha2_msg_processor_t *element,
+ const axis2_env_t *env);
/***************************** End of function headers ************************/
AXIS2_EXTERN sandesha2_msg_processor_t* AXIS2_CALL
-sandesha2_app_msg_processor_create(const axis2_env_t *env)
+sandesha2_app_msg_processor_create(
+ const axis2_env_t *env)
{
sandesha2_app_msg_processor_impl_t *msg_proc_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
@@ -162,8 +164,9 @@
axis2_status_t AXIS2_CALL
-sandesha2_app_msg_processor_free (sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env)
+sandesha2_app_msg_processor_free (
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env)
{
sandesha2_app_msg_processor_impl_t *msg_proc_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -179,9 +182,9 @@
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_process_in_msg (
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx)
{
sandesha2_seq_ack_t *seq_ack = NULL;
sandesha2_ack_requested_t *ack_requested = NULL;
@@ -210,10 +213,10 @@
sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
axis2_char_t *highest_in_msg_no_str = NULL;
axis2_char_t *highest_in_msg_key_str = NULL;
-
+
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
-
+
seq_ack = (sandesha2_seq_ack_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(msg_ctx,
env, SANDESHA2_MSG_PART_SEQ_ACKNOWLEDGEMENT);
if(NULL != seq_ack)
@@ -290,7 +293,7 @@
storage_man, env);
seq = (sandesha2_seq_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(msg_ctx, env,
SANDESHA2_MSG_PART_SEQ);
- SANDESHA2_SEQUNCE_SET_MUST_UNDERSTAND(seq, env, AXIS2_FALSE);
+ SANDESHA2_SEQ_SET_MUST_UNDERSTAND(seq, env, AXIS2_FALSE);
str_seq_id = SANDESHA2_IDENTIFIER_GET_IDENTIFIER(
SANDESHA2_SEQ_GET_IDENTIFIER(seq, env), env);
fault_ctx = SANDESHA2_FAULT_MGR_CHECK_FOR_UNKNOWN_SEQ(fault_man, env,
@@ -403,18 +406,18 @@
SANDESHA2_MSG_CTX_SET_PAUSED(msg_ctx, env, AXIS2_TRUE);
}
if(NULL != msgs_str && 0 < AXIS2_STRLEN(msgs_str))
- msgs_str = axis2_strcat(env, msgs_str, ",", msg_num_str);
+ msgs_str = axis2_strcat(env, msgs_str, ",", msg_num_str, NULL);
else
msgs_str = AXIS2_STRDUP(msg_num_str, env);
SANDESHA2_SEQ_PROPERTY_BEAN_SET_VALUE(msgs_bean, env, msgs_str);
- SANDESHA2_SEQ_PROPERY_MGR_UPDATE(seq_prop_mgr, env, msgs_bean);
+ SANDESHA2_SEQ_PROPERTY_MGR_UPDATE(seq_prop_mgr, env, msgs_bean);
next_mgr = SANDESHA2_STORAGE_MGR_GET_NEXT_MSG_MGR(storage_man,
env);
next_msg_bean = SANDESHA2_NEXT_MSG_MGR_RETRIEVE(next_mgr, env,
str_seq_id);
- if(NULL != next_msg_bean)
+ if(NULL == next_msg_bean)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SEQ_NOT_EXIST,
AXIS2_FAILURE);
@@ -425,10 +428,14 @@
in_order_invoke = SANDESHA2_PROPERTY_BEAN_IS_IN_ORDER(
sandesha2_utils_get_property_bean(env,
AXIS2_CONF_CTX_GET_CONF(conf_ctx, env)), env);
- if(AXIS2_TRUE == in_order_invoke)
+ /*if(AXIS2_TRUE == in_order_invoke)*/
+ /* test code */
+ if(AXIS2_TRUE != in_order_invoke)
+ /* end test code */
{
sandesha2_seq_property_bean_t *incoming_seq_list_bean = NULL;
axis2_array_list_t *incoming_seq_list = NULL;
+ axis2_char_t *str_value = NULL;
incoming_seq_list_bean = SANDESHA2_SEQ_PROPERTY_MGR_RETRIEVE(
seq_prop_mgr, env, SANDESHA2_SEQ_PROP_ALL_SEQS,
@@ -449,9 +456,16 @@
SANDESHA2_SEQ_PROPERTY_MGR_INSERT(seq_prop_mgr, env,
incoming_seq_list_bean);
}
- incoming_seq_list = sandesha2_utils_get_array_list_from_string(env,
- SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(
- incoming_seq_list_bean, env));
+ str_value = SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(
+ incoming_seq_list_bean, env);
+ incoming_seq_list = sandesha2_utils_get_array_list_from_string(env,
+ str_value);
+ if(NULL == incoming_seq_list)
+ {
+ axis2_status_t status = AXIS2_ERROR_GET_STATUS_CODE(env->error);
+ if(AXIS2_SUCCESS != status)
+ return status;
+ }
/* Adding current seq to the incoming seq List */
if(AXIS2_FALSE == sandesha2_utils_array_list_contains(env,
incoming_seq_list, str_seq_id))
@@ -472,7 +486,7 @@
msg_ctx1);
invoker_bean = sandesha2_invoker_bean_create_with_data(env, str_key,
msg_no, str_seq_id, AXIS2_FALSE);
- SANDESHA2_STORAGE_MAP_MGR_INSERT(storage_map_mgr, env, invoker_bean);
+ SANDESHA2_INVOKER_MGR_INSERT(storage_map_mgr, env, invoker_bean);
/* To avoid performing application processing more than once. */
SANDESHA2_MSG_CTX_SET_PROPERTY(msg_ctx, env,
SANDESHA2_APPLICATION_PROCESSING_DONE,
@@ -481,17 +495,18 @@
/* Start the invoker if stopped */
sandesha2_utils_start_invoker_for_seq(env, conf_ctx, str_seq_id);
}
- sandesha2_app_msg_processor_send_ack_if_reqd(msg_processor, env, msg_ctx,
- msgs_str, storage_man);
+ /* test code uncomment this when send_ack_if_reqd method function correctly */
+ /*sandesha2_app_msg_processor_send_ack_if_reqd(msg_processor, env, msg_ctx,
+ msgs_str, storage_man);*/
return AXIS2_SUCCESS;
}
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_process_out_msg(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx)
{
axis2_msg_ctx_t *msg_ctx1 = NULL;
axis2_conf_ctx_t *conf_ctx = NULL;
@@ -514,7 +529,7 @@
axiom_soap_envelope_t *soap_env = NULL;
axis2_endpoint_ref_t *to_epr = NULL;
sandesha2_seq_property_bean_t *out_seq_bean = NULL;
- axis2_char_t *msg_id1 = NULL;
+ axis2_char_t *msg_id = NULL;
axis2_char_t *op_name = NULL;
axis2_char_t *to_addr = NULL;
@@ -695,8 +710,10 @@
if(NULL != incoming_to_bean)
{
axis2_char_t *incoming_to = NULL;
- incoming_to = SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(incoming_to_bean,
- env);
+ axis2_char_t *value = NULL;
+
+ value = SANDESHA2_SEQ_PROPERTY_BEAN_GET_VALUE(incoming_to_bean, env);
+ incoming_to = AXIS2_STRDUP(value, env);
property = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
AXIS2_PROPERTY_SET_VALUE(property, env, incoming_to);
@@ -827,9 +844,9 @@
AXIOM_SOAP12);
SANDESHA2_MSG_CTX_SET_SOAP_ENVELOPE(msg_ctx, env, soap_env);
}
- msg_id1 = axis2_uuid_gen(env);
+ msg_id = axis2_uuid_gen(env);
if(NULL == SANDESHA2_MSG_CTX_GET_MSG_ID(msg_ctx, env))
- SANDESHA2_MSG_CTX_SET_MSG_ID(msg_ctx, env, msg_id1);
+ SANDESHA2_MSG_CTX_SET_MSG_ID(msg_ctx, env, msg_id);
if(AXIS2_TRUE == is_svr_side)
{
@@ -894,10 +911,10 @@
axis2_bool_t AXIS2_CALL
sandesha2_app_msg_processor_msg_num_is_in_list(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_char_t *list,
- long num)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_char_t *list,
+ long num)
{
axis2_char_t str_long[32];
@@ -914,11 +931,11 @@
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_send_ack_if_reqd(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx,
- axis2_char_t *msg_str,
- sandesha2_storage_mgr_t *mgr)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *rm_msg_ctx,
+ axis2_char_t *msg_str,
+ sandesha2_storage_mgr_t *mgr)
{
sandesha2_seq_t *seq = NULL;
axis2_char_t *seq_id = NULL;
@@ -926,17 +943,18 @@
sandesha2_ack_requested_t *ack_requested = NULL;
sandesha2_msg_ctx_t *ack_rm_msg = NULL;
axis2_engine_t *engine = NULL;
+ axis2_msg_ctx_t *msg_ctx = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
- AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, msg_str, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, mgr, AXIS2_FAILURE);
- seq = (sandesha2_seq_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(msg_ctx, env,
+ seq = (sandesha2_seq_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(rm_msg_ctx, env,
SANDESHA2_MSG_PART_SEQ);
seq_id = SANDESHA2_IDENTIFIER_GET_IDENTIFIER(
SANDESHA2_SEQ_GET_IDENTIFIER(seq, env), env);
- conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(SANDESHA2_MSG_CTX_GET_MSG_CTX(msg_ctx,
+ conf_ctx = AXIS2_MSG_CTX_GET_CONF_CTX(SANDESHA2_MSG_CTX_GET_MSG_CTX(rm_msg_ctx,
env), env);
if(NULL == conf_ctx)
{
@@ -944,18 +962,18 @@
return AXIS2_FAILURE;
}
ack_requested = (sandesha2_ack_requested_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(
- msg_ctx, env, SANDESHA2_MSG_PART_ACK_REQUEST);
+ rm_msg_ctx, env, SANDESHA2_MSG_PART_ACK_REQUEST);
if(NULL != ack_requested)
{
SANDESHA2_ACK_REQUESTED_SET_MUST_UNDERSTAND(ack_requested, env,
AXIS2_FALSE);
- SANDESHA2_MSG_CTX_ADD_SOAP_ENVELOPE(msg_ctx, env);
+ SANDESHA2_MSG_CTX_ADD_SOAP_ENVELOPE(rm_msg_ctx, env);
}
- ack_rm_msg = sandesha2_ack_mgr_generate_ack_msg(env, msg_ctx, seq_id,
+ ack_rm_msg = sandesha2_ack_mgr_generate_ack_msg(env, rm_msg_ctx, seq_id,
mgr);
engine = axis2_engine_create(env, conf_ctx);
- if(AXIS2_SUCCESS != AXIS2_ENGINE_SEND(engine, env,
- SANDESHA2_MSG_CTX_GET_MSG_CTX(ack_rm_msg, env)))
+ msg_ctx = SANDESHA2_MSG_CTX_GET_MSG_CTX(ack_rm_msg, env);
+ if(AXIS2_SUCCESS != AXIS2_ENGINE_SEND(engine, env, msg_ctx))
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_SENDING_ACK, AXIS2_FAILURE);
return AXIS2_FAILURE;
@@ -965,12 +983,12 @@
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_add_create_seq_msg(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx,
- axis2_char_t *internal_seq_id,
- axis2_char_t *acks_to,
- sandesha2_storage_mgr_t *mgr)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx,
+ axis2_char_t *internal_seq_id,
+ axis2_char_t *acks_to,
+ sandesha2_storage_mgr_t *mgr)
{
axis2_msg_ctx_t *msg_ctx1 = NULL;
sandesha2_create_seq_t *create_seq_part = NULL;
@@ -990,6 +1008,7 @@
axis2_transport_out_desc_t *trans_out = NULL;
axis2_engine_t *engine = NULL;
axis2_property_t *property = NULL;
+ axis2_char_t *msg_id = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -1055,8 +1074,8 @@
str_key);
millisecs = sandesha2_utils_get_current_time_in_millis(env);
SANDESHA2_SENDER_BEAN_SET_TIME_TO_SEND(create_seq_entry, env, millisecs);
- SANDESHA2_SENDER_BEAN_SET_MSG_ID(create_seq_entry, env,
- SANDESHA2_MSG_CTX_GET_MSG_ID(create_seq_rm_msg, env));
+ msg_id = SANDESHA2_MSG_CTX_GET_MSG_ID(create_seq_rm_msg, env);
+ SANDESHA2_SENDER_BEAN_SET_MSG_ID(create_seq_entry, env, msg_id);
SANDESHA2_SENDER_BEAN_SET_INTERNAL_SEQ_ID(create_seq_entry, env,
internal_seq_id);
SANDESHA2_SENDER_BEAN_SET_SEND(create_seq_entry, env, AXIS2_TRUE);
@@ -1079,8 +1098,12 @@
property, AXIS2_FALSE);
orig_trans_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(create_seq_msg, env);
property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
+ AXIS2_PROPERTY_SET_FREE_FUNC(property, env,
+ orig_trans_out->ops->free_void_arg);
AXIS2_PROPERTY_SET_VALUE(property, env, orig_trans_out);
+ AXIS2_PROPERTY_SET_FREE_FUNC(property, env,
+ orig_trans_out->ops->free_void_arg);
AXIS2_MSG_CTX_SET_PROPERTY(create_seq_msg, env,
SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property,
AXIS2_FALSE);
@@ -1102,13 +1125,13 @@
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_process_response_msg(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *msg_ctx,
- axis2_char_t *internal_seq_id,
- long msg_num,
- axis2_char_t *storage_key,
- sandesha2_storage_mgr_t *mgr)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *msg_ctx,
+ axis2_char_t *internal_seq_id,
+ long msg_num,
+ axis2_char_t *storage_key,
+ sandesha2_storage_mgr_t *mgr)
{
axis2_msg_ctx_t *msg = NULL;
sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
@@ -1133,6 +1156,7 @@
axis2_transport_sender_t *trs_sender = NULL;
axis2_engine_t *engine = NULL;
sandesha2_identifier_t *identifier = NULL;
+ axis2_char_t *msg_id = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, internal_seq_id, AXIS2_FAILURE);
@@ -1261,8 +1285,8 @@
storage_key);
millisecs = sandesha2_utils_get_current_time_in_millis(env);
SANDESHA2_SENDER_BEAN_SET_TIME_TO_SEND(app_msg_entry, env, millisecs);
- SANDESHA2_SENDER_BEAN_SET_MSG_ID(app_msg_entry, env,
- SANDESHA2_MSG_CTX_GET_MSG_ID(msg_ctx, env));
+ msg_id = SANDESHA2_MSG_CTX_GET_MSG_ID(msg_ctx, env);
+ SANDESHA2_SENDER_BEAN_SET_MSG_ID(app_msg_entry, env, msg_id);
SANDESHA2_SENDER_BEAN_SET_MSG_NO(app_msg_entry, env, msg_num);
SANDESHA2_SENDER_BEAN_SET_MSG_TYPE(app_msg_entry, env,
SANDESHA2_MSG_TYPE_APPLICATION);
@@ -1293,6 +1317,8 @@
AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg, env), env);
if(NULL != trs_sender)
{
+ axis2_transport_out_desc_t *trans_out = NULL;
+
property = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP(storage_key, env));
@@ -1300,9 +1326,11 @@
SANDESHA2_MESSAGE_STORE_KEY, property, AXIS2_FALSE);
property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
- AXIS2_PROPERTY_SET_VALUE(property, env,
- AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg, env));
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
+ trans_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg, env);
+ AXIS2_PROPERTY_SET_FREE_FUNC(property, env,
+ trans_out->ops->free_void_arg);
+ AXIS2_PROPERTY_SET_VALUE(property, env, trans_out);
AXIS2_MSG_CTX_SET_PROPERTY(msg, env,
SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property,
AXIS2_FALSE);
@@ -1318,10 +1346,10 @@
long AXIS2_CALL
sandesha2_app_msg_processor_get_prev_msg_no(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_char_t *internal_seq_id,
- sandesha2_storage_mgr_t *mgr)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_char_t *internal_seq_id,
+ sandesha2_storage_mgr_t *mgr)
{
sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
sandesha2_seq_property_bean_t *next_msg_no_bean = NULL;
@@ -1352,11 +1380,11 @@
axis2_status_t AXIS2_CALL
sandesha2_app_msg_processor_set_next_msg_no(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_char_t *internal_seq_id,
- long msg_num,
- sandesha2_storage_mgr_t *mgr)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_char_t *internal_seq_id,
+ long msg_num,
+ sandesha2_storage_mgr_t *mgr)
{
sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
sandesha2_seq_property_bean_t *next_msg_no_bean = NULL;
Modified: webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/create_seq_msg_processor.c Sun Aug 20 22:55:38 2006
@@ -202,7 +202,7 @@
out_msg_ctx = axis2_core_utils_create_out_msg_ctx(env, msg_ctx);
seq_prop_mgr = SANDESHA2_STORAGE_MGR_GET_SEQ_PROPERTY_MGR(storage_mgr,
env);
- new_seq_id = sandesha2_seq_mgr_set_up_new_seq(env, rm_msg_ctx,
+ new_seq_id = sandesha2_seq_mgr_setup_new_seq(env, rm_msg_ctx,
storage_mgr);
create_seq_res_msg = sandesha2_msg_creator_create_create_seq_res_msg(env,
rm_msg_ctx, out_msg_ctx, new_seq_id, storage_mgr);
@@ -319,9 +319,9 @@
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
if(0 == AXIS2_STRCMP(anon_uri, AXIS2_ENDPOINT_REF_GET_ADDRESS(to_epr,
env)))
- AXIS2_PROPERTY_SET_VALUE(property, env, "TRUE");
+ AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP("TRUE", env));
else
- AXIS2_PROPERTY_SET_VALUE(property, env, "FALSE");
+ AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP("FALSE", env));
AXIS2_CTX_SET_PROPERTY(ctx, env, AXIS2_RESPONSE_WRITTEN, property,
AXIS2_FALSE);
Modified: webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/create_seq_res_msg_processor.c Sun Aug 20 22:55:38 2006
@@ -171,7 +171,7 @@
sandesha2_accept_t *accept = NULL;
sandesha2_sender_bean_t *target_bean = NULL;
axis2_array_list_t *found_list = NULL;
- int i = 0;
+ int i = 0, size = 0;
axis2_ctx_t *ctx = NULL;
axis2_property_t *property = NULL;
@@ -245,6 +245,7 @@
}
SANDESHA2_CREATE_SEQ_BEAN_SET_SEQ_ID(create_seq_bean, env, new_out_seq_id);
SANDESHA2_CREATE_SEQ_MGR_UPDATE(create_seq_mgr, env, create_seq_bean);
+
create_seq_sender_bean = SANDESHA2_SENDER_MGR_RETRIEVE(retrans_mgr,
env, create_seq_msg_id);
if(NULL == create_seq_sender_bean)
@@ -343,8 +344,8 @@
found_list = SANDESHA2_SENDER_MGR_FIND_BY_SENDER_BEAN(retrans_mgr, env,
target_bean);
-
- for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(found_list, env); i++)
+ size = AXIS2_ARRAY_LIST_SIZE(found_list, env);
+ for(i = 0; i < size; i++)
{
sandesha2_sender_bean_t *tmp_bean = NULL;
axis2_char_t *key = NULL;
Modified: webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c (original)
+++ webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c Sun Aug 20 22:55:38 2006
@@ -376,7 +376,7 @@
out_msg_ctx = axis2_core_utils_create_out_msg_ctx(env, msg_ctx);
out_rm_msg = sandesha2_msg_creator_create_terminate_seq_res_msg(env,
rm_msg_ctx, out_msg_ctx, storage_man);
-
+
ack_rm_msg = sandesha2_ack_mgr_generate_ack_msg(env, rm_msg_ctx, seq_id,
storage_man);
seq_ack = (sandesha2_seq_ack_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(ack_rm_msg,
@@ -571,7 +571,7 @@
out_desc = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg_ctx, env);
property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, out_desc);
AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx, env,
SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property,
Modified: webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c Sun Aug 20 22:55:38 2006
@@ -28,10 +28,10 @@
axis2_char_t *msg_context_ref_key;
axis2_char_t *msg_id;
- axis2_bool_t send;
axis2_char_t *internal_seq_id;
int sent_count;
long msg_no;
+ axis2_bool_t send;
axis2_bool_t resend;
long time_to_send;
int msg_type;
@@ -154,13 +154,13 @@
/* init properties */
bean_impl->msg_context_ref_key = NULL;
bean_impl->msg_id = NULL;
- bean_impl->send = AXIS2_FALSE;
bean_impl->internal_seq_id = NULL;
bean_impl->sent_count = -1;
bean_impl->msg_no = -1;
- bean_impl->resend = AXIS2_FALSE;
+ bean_impl->send = AXIS2_FALSE;
+ bean_impl->resend = AXIS2_TRUE;
bean_impl->time_to_send = -1;
- bean_impl->msg_type = -1;
+ bean_impl->msg_type = 0;
bean_impl->seq_id = NULL;
bean_impl->o_bean.ops = NULL;
@@ -226,13 +226,13 @@
/* init properties */
bean_impl->msg_context_ref_key = (axis2_char_t *)AXIS2_STRDUP(key, env);
bean_impl->msg_id = (axis2_char_t *)AXIS2_STRDUP(msg_id, env);
- bean_impl->send = send;
bean_impl->internal_seq_id = (axis2_char_t *)AXIS2_STRDUP(int_seq_id, env);
bean_impl->sent_count = -1;
bean_impl->msg_no = msg_no;
- bean_impl->resend = AXIS2_FALSE;
+ bean_impl->send = send;
+ bean_impl->resend = AXIS2_TRUE;
bean_impl->time_to_send = time_to_send;
- bean_impl->msg_type = -1;
+ bean_impl->msg_type = 0;
bean_impl->seq_id = NULL;
bean_impl->o_bean.ops = NULL;
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c Sun Aug 20 22:55:38 2006
@@ -121,6 +121,7 @@
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, seq_mgr_impl->table);
AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_CREATE_SEQUECE,
@@ -191,10 +192,8 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- axis2_thread_mutex_lock(seq_mgr_impl->mutex);
msg_id = SANDESHA2_CREATE_SEQ_BEAN_GET_CREATE_SEQ_MSG_ID(bean, env);
axis2_hash_set(seq_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return AXIS2_TRUE;
@@ -212,9 +211,7 @@
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- axis2_thread_mutex_lock(seq_mgr_impl->mutex);
axis2_hash_set(seq_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, NULL);
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return AXIS2_TRUE;
@@ -233,10 +230,8 @@
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- axis2_thread_mutex_lock(seq_mgr_impl->mutex);
bean = (sandesha2_create_seq_bean_t *) axis2_hash_get(seq_mgr_impl->table,
msg_id, AXIS2_HASH_KEY_STRING);
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return bean;
}
@@ -254,15 +249,12 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- axis2_thread_mutex_lock(seq_mgr_impl->mutex);
msg_id = SANDESHA2_CREATE_SEQ_BEAN_GET_CREATE_SEQ_MSG_ID(bean, env);
if(!msg_id)
{
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return AXIS2_FALSE;
}
axis2_hash_set(seq_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return AXIS2_TRUE;
}
@@ -282,17 +274,14 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- axis2_thread_mutex_lock(seq_mgr_impl->mutex);
beans = axis2_array_list_create(env, 0);
if(!beans)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return NULL;
}
if(!bean)
{
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return beans;
}
for (i = axis2_hash_first (seq_mgr_impl->table, env); i;
@@ -335,7 +324,6 @@
}
}
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return beans;
}
@@ -355,7 +343,6 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- axis2_thread_mutex_lock(seq_mgr_impl->mutex);
beans = sandesha2_create_seq_mgr_find(seq_mgr, env, bean);
if(beans)
@@ -364,7 +351,6 @@
{
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] Non-Unique result");
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return NULL;
}
for(i = 0; i < size; i++)
@@ -373,7 +359,6 @@
break;
}
- axis2_thread_mutex_unlock(seq_mgr_impl->mutex);
return ret;
}
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c Sun Aug 20 22:55:38 2006
@@ -121,6 +121,7 @@
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, invoker_impl->table);
AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_STORAGE_MAP,
@@ -191,10 +192,8 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
invoker_impl = SANDESHA2_INTF_TO_IMPL(invoker);
- axis2_thread_mutex_lock(invoker_impl->mutex);
ref_key = SANDESHA2_INVOKER_BEAN_GET_MSG_CONTEXT_REF_KEY(bean, env);
axis2_hash_set(invoker_impl->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return AXIS2_TRUE;
@@ -212,9 +211,7 @@
AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
invoker_impl = SANDESHA2_INTF_TO_IMPL(invoker);
- axis2_thread_mutex_lock(invoker_impl->mutex);
axis2_hash_set(invoker_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return AXIS2_TRUE;
@@ -233,10 +230,8 @@
AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
invoker_impl = SANDESHA2_INTF_TO_IMPL(invoker);
- axis2_thread_mutex_lock(invoker_impl->mutex);
bean = (sandesha2_invoker_bean_t *) axis2_hash_get(invoker_impl->table,
key, AXIS2_HASH_KEY_STRING);
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return bean;
}
@@ -254,15 +249,12 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
invoker_impl = SANDESHA2_INTF_TO_IMPL(invoker);
- axis2_thread_mutex_lock(invoker_impl->mutex);
ref_key = SANDESHA2_INVOKER_BEAN_GET_MSG_CONTEXT_REF_KEY(bean, env);
if(!ref_key)
{
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return AXIS2_FALSE;
}
axis2_hash_set(invoker_impl->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return AXIS2_TRUE;
}
@@ -282,17 +274,14 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
invoker_impl = SANDESHA2_INTF_TO_IMPL(invoker);
- axis2_thread_mutex_lock(invoker_impl->mutex);
beans = axis2_array_list_create(env, 0);
if(!beans)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return NULL;
}
if(!bean)
{
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return beans;
}
for (i = axis2_hash_first (invoker_impl->table, env); i;
@@ -340,7 +329,6 @@
}
}
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return beans;
}
@@ -360,7 +348,6 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
invoker_impl = SANDESHA2_INTF_TO_IMPL(invoker);
- axis2_thread_mutex_lock(invoker_impl->mutex);
beans = sandesha2_invoker_mgr_find(invoker, env, bean);
if(beans)
@@ -369,7 +356,6 @@
{
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[sandesha2] Non-Unique result");
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return NULL;
}
for(i = 0; i < size; i++)
@@ -378,7 +364,6 @@
break;
}
- axis2_thread_mutex_unlock(invoker_impl->mutex);
return ret;
}
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c Sun Aug 20 22:55:38 2006
@@ -113,6 +113,12 @@
sandesha2_next_msg_mgr_free(&(next_msg_impl->next_msg), env);
return NULL;
}
+ next_msg_impl->values = axis2_array_list_create(env, 0);
+ if(!next_msg_impl->values)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
property = AXIS2_CTX_GET_PROPERTY(ctx, env,
SANDESHA2_BEAN_MAP_NEXT_MESSAGE, AXIS2_FALSE);
@@ -129,6 +135,7 @@
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, next_msg_impl->table);
AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_NEXT_MESSAGE,
@@ -207,17 +214,14 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
seq_id = SANDESHA2_NEXT_MSG_BEAN_GET_SEQ_ID(bean, env);
if(!seq_id)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_KEY_IS_NULL, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return AXIS2_FALSE;
}
axis2_hash_set(next_msg_impl->table, seq_id, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return AXIS2_TRUE;
@@ -235,9 +239,7 @@
AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
axis2_hash_set(next_msg_impl->table, seq_id, AXIS2_HASH_KEY_STRING, NULL);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return AXIS2_TRUE;
@@ -256,10 +258,8 @@
AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
bean = (sandesha2_next_msg_bean_t *) axis2_hash_get(next_msg_impl->table,
seq_id, AXIS2_HASH_KEY_STRING);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return bean;
}
@@ -277,15 +277,12 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
seq_id = SANDESHA2_NEXT_MSG_BEAN_GET_SEQ_ID(bean, env);
if(!seq_id)
{
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return AXIS2_FALSE;
}
axis2_hash_set(next_msg_impl->table, seq_id, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return AXIS2_TRUE;
}
@@ -302,12 +299,10 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
beans = axis2_array_list_create(env, 0);
if(!beans)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return NULL;
}
if(!bean)
@@ -343,7 +338,6 @@
}
}
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return beans;
}
@@ -363,7 +357,6 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
beans = sandesha2_next_msg_mgr_find(next_msg, env,
bean);
@@ -374,7 +367,6 @@
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Non-Unique result");
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT,
AXIS2_FAILURE);
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return NULL;
}
for(i = 0; i < size; i++)
@@ -383,7 +375,6 @@
break;
}
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return ret;
}
@@ -399,7 +390,6 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
next_msg_impl = SANDESHA2_INTF_TO_IMPL(next_msg);
- axis2_thread_mutex_lock(next_msg_impl->mutex);
for (i = axis2_hash_first (next_msg_impl->table, env); i;
i = axis2_hash_next (env, i))
{
@@ -410,8 +400,6 @@
bean = (sandesha2_next_msg_bean_t *) v;
AXIS2_ARRAY_LIST_ADD(next_msg_impl->values, env, bean);
}
-
- axis2_thread_mutex_unlock(next_msg_impl->mutex);
return next_msg_impl->values;
}
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c Sun Aug 20 22:55:38 2006
@@ -154,6 +154,7 @@
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, sender_impl->table);
AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_RETRANSMITTER,
@@ -230,17 +231,14 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
- msg_id = SANDESHA2_SENDER_BEAN_GET_MSG_CONTEXT_REF_KEY(bean, env);
+ msg_id = SANDESHA2_SENDER_BEAN_GET_MSG_ID(bean, env);
if(!msg_id)
{
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_KEY_IS_NULL, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return AXIS2_FALSE;
}
axis2_hash_set(sender_impl->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return AXIS2_TRUE;
@@ -258,9 +256,7 @@
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
axis2_hash_set(sender_impl->table, msg_id, AXIS2_HASH_KEY_STRING, NULL);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return AXIS2_TRUE;
@@ -274,15 +270,15 @@
{
sandesha2_sender_mgr_impl_t *sender_impl = NULL;
sandesha2_sender_bean_t *bean = NULL;
+ axis2_hash_index_t *ind = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
+
bean = (sandesha2_sender_bean_t *) axis2_hash_get(sender_impl->table,
msg_id, AXIS2_HASH_KEY_STRING);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return bean;
}
@@ -300,14 +296,11 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
msg_id = SANDESHA2_SENDER_BEAN_GET_MSG_CONTEXT_REF_KEY(bean, env);
if(!msg_id)
{
- axis2_thread_mutex_unlock(sender_impl->mutex);
return AXIS2_FALSE;
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
return AXIS2_TRUE; /* No need to update. Being a reference does the job */
}
@@ -325,13 +318,11 @@
AXIS2_ENV_CHECK(env, NULL);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
list = axis2_array_list_create(env, 0);
if(!list)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return NULL;
}
if(!internal_seq_id || 0 == AXIS2_STRCMP(internal_seq_id, ""))
@@ -354,7 +345,6 @@
}
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
return list;
}
@@ -373,17 +363,14 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
beans = axis2_array_list_create(env, 0);
if(!beans)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return NULL;
}
if(!bean)
{
- axis2_thread_mutex_unlock(sender_impl->mutex);
return beans;
}
for (i = axis2_hash_first (sender_impl->table, env); i;
@@ -413,13 +400,13 @@
temp = (sandesha2_sender_bean_t *) v;
ref_key = SANDESHA2_SENDER_BEAN_GET_MSG_CONTEXT_REF_KEY(bean, env);
temp_ref_key = SANDESHA2_SENDER_BEAN_GET_MSG_CONTEXT_REF_KEY(temp, env);
- if(time_to_send > 0 && (time_to_send != temp_time_to_send))
+ if(ref_key && temp_ref_key && 0 != AXIS2_STRCMP(ref_key, temp_ref_key))
{
add = AXIS2_FALSE;
}
- ref_key = SANDESHA2_SENDER_BEAN_GET_MSG_CONTEXT_REF_KEY(bean, env);
- temp_ref_key = SANDESHA2_SENDER_BEAN_GET_MSG_CONTEXT_REF_KEY(temp, env);
- if(ref_key && temp_ref_key && 0 != AXIS2_STRCMP(ref_key, temp_ref_key))
+ time_to_send = SANDESHA2_SENDER_BEAN_GET_TIME_TO_SEND(bean, env);
+ temp_time_to_send = SANDESHA2_SENDER_BEAN_GET_TIME_TO_SEND(temp, env);
+ if(time_to_send > 0 && (time_to_send != temp_time_to_send))
{
add = AXIS2_FALSE;
}
@@ -467,7 +454,6 @@
}
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
return beans;
}
@@ -487,7 +473,6 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
beans = sandesha2_sender_mgr_find_by_sender_bean(sender, env,
bean);
@@ -498,7 +483,6 @@
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Non-Unique result");
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT,
AXIS2_FAILURE);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return NULL;
}
for(i = 0; i < size; i++)
@@ -507,7 +491,6 @@
break;
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
return ret;
}
@@ -524,7 +507,6 @@
AXIS2_ENV_CHECK(env, NULL);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
for (i = axis2_hash_first (sender_impl->table, env); i;
i = axis2_hash_next (env, i))
@@ -565,7 +547,11 @@
axis2_hash_this (i, NULL, NULL, &v);
temp = (sandesha2_sender_bean_t *) v;
+ /* test code */
+ axis2_char_t *msg_id = SANDESHA2_SENDER_BEAN_GET_MSG_ID(temp, env);
+ /* end of test code */
is_send = SANDESHA2_SENDER_BEAN_IS_SEND(temp, env);
+ printf("is_send:%d\n", is_send);
if(AXIS2_TRUE == is_send)
{
long time_to_send = 0;
@@ -584,6 +570,7 @@
if(msg_no == lowest_app_msg_no)
valid = AXIS2_TRUE;
+ printf("valid:%d\n", valid);
}
else
valid = AXIS2_TRUE;
@@ -591,14 +578,12 @@
{
sandesha2_sender_mgr_update_next_sending_time(
sender, env, temp);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return temp;
}
}
}
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
-
+ printf("return NULL from sender_mgr\n");
return NULL;
}
@@ -627,13 +612,11 @@
AXIS2_PARAM_CHECK(env->error, list, NULL);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
beans = axis2_array_list_create(env, 0);
if(!beans)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(sender_impl->mutex);
return NULL;
}
size = AXIS2_ARRAY_LIST_SIZE(list, env);
@@ -651,7 +634,6 @@
}
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
return beans;
}
@@ -670,7 +652,6 @@
AXIS2_PARAM_CHECK(env->error, msg_ctx_ref_key, NULL);
sender_impl = SANDESHA2_INTF_TO_IMPL(sender);
- axis2_thread_mutex_lock(sender_impl->mutex);
for (i = axis2_hash_first (sender_impl->table, env); i;
i = axis2_hash_next (env, i))
@@ -685,11 +666,9 @@
if(msg_ctx_ref_key_l && 0 == AXIS2_STRCMP(msg_ctx_ref_key_l,
msg_ctx_ref_key))
{
- axis2_thread_mutex_unlock(sender_impl->mutex);
return bean;
}
}
- axis2_thread_mutex_unlock(sender_impl->mutex);
return NULL;
}
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c Sun Aug 20 22:55:38 2006
@@ -127,6 +127,13 @@
sandesha2_seq_property_mgr_free(&(seq_property_impl->seq_property), env);
return NULL;
}
+
+ seq_property_impl->values = axis2_array_list_create(env, 0);
+ if(!seq_property_impl->values)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
property = AXIS2_CTX_GET_PROPERTY(ctx, env,
SANDESHA2_BEAN_MAP_SEQ_PROPERTY, AXIS2_FALSE);
@@ -143,6 +150,7 @@
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
}
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, seq_property_impl->table);
AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_SEQ_PROPERTY,
@@ -225,23 +233,19 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
seq_id = SANDESHA2_SEQ_PROPERTY_BEAN_GET_SEQ_ID(bean, env);
if(!seq_id)
{
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_FALSE;
}
name = SANDESHA2_SEQ_PROPERTY_BEAN_GET_NAME(bean, env);
if(!name)
{
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_FALSE;
}
id = axis2_strcat(env, seq_id, ":", name, NULL);
axis2_hash_set(seq_property_impl->table, id, AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_TRUE;
@@ -263,14 +267,12 @@
AXIS2_PARAM_CHECK(env->error, name, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
bean = sandesha2_seq_property_mgr_retrieve(seq_property, env,
seq_id, name);
key = axis2_strcat(env, seq_id, ":", name, NULL);
axis2_hash_set(seq_property_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
AXIS2_FREE(env->allocator, key);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_TRUE;
@@ -291,13 +293,10 @@
AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, name, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
-
- axis2_thread_mutex_lock(seq_property_impl->mutex);
key = axis2_strcat(env, seq_id, ":", name, NULL);
bean = (sandesha2_seq_property_bean_t *) axis2_hash_get(seq_property_impl->table,
key, AXIS2_HASH_KEY_STRING);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return bean;
}
@@ -316,23 +315,19 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
id = sandesha2_seq_property_mgr_get_id(seq_property, env, bean);
if(!id)
{
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_FALSE;
}
bean_l = axis2_hash_get(seq_property_impl->table, id,
AXIS2_HASH_KEY_STRING);
if(!bean_l)
{
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_FALSE;
}
axis2_hash_set(seq_property_impl->table, id,
AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_TRUE;
}
@@ -350,17 +345,14 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
beans = axis2_array_list_create(env, 0);
if(!beans)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return NULL;
}
if(!bean)
{
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return beans;
}
for (i = axis2_hash_first (seq_property_impl->table, env); i;
@@ -403,7 +395,6 @@
}
}
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return beans;
}
@@ -423,7 +414,6 @@
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
beans = sandesha2_seq_property_mgr_find(seq_property, env,
bean);
@@ -434,7 +424,6 @@
AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Non-Unique result");
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT,
AXIS2_FAILURE);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return NULL;
}
for(i = 0; i < size; i++)
@@ -443,7 +432,6 @@
break;
}
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return ret;
}
@@ -459,7 +447,6 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
for (i = axis2_hash_first (seq_property_impl->table, env); i;
i = axis2_hash_next (env, i))
{
@@ -471,7 +458,6 @@
AXIS2_ARRAY_LIST_ADD(seq_property_impl->values, env, bean);
}
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return seq_property_impl->values;
}
@@ -489,11 +475,9 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
id = sandesha2_seq_property_mgr_get_id(seq_property, env, bean);
if(!id)
{
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_FALSE;
}
bean_l = axis2_hash_get(seq_property_impl->table, id,
@@ -505,7 +489,6 @@
}
axis2_hash_set(seq_property_impl->table, id,
AXIS2_HASH_KEY_STRING, bean);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return AXIS2_TRUE;
}
@@ -524,11 +507,9 @@
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
seq_property_impl = SANDESHA2_INTF_TO_IMPL(seq_property);
- axis2_thread_mutex_lock(seq_property_impl->mutex);
seq_id = SANDESHA2_SEQ_PROPERTY_BEAN_GET_SEQ_ID(bean, env);
name = SANDESHA2_SEQ_PROPERTY_BEAN_GET_NAME(bean, env);
id = axis2_strcat(env, seq_id, ":", name, NULL);
- axis2_thread_mutex_unlock(seq_property_impl->mutex);
return id;
}
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c Sun Aug 20 22:55:38 2006
@@ -478,6 +478,7 @@
if(!storage_map)
{
storage_map = axis2_hash_make(env);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, storage_map);
AXIS2_CTX_SET_PROPERTY(ctx, env, storage_impl->SANDESHA2_MSG_MAP_KEY,
property, AXIS2_FALSE);
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c Sun Aug 20 22:55:38 2006
@@ -58,8 +58,10 @@
sandesha2_transaction_impl_t *transaction_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
- transaction_impl = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_transaction_impl_t));
+
+ transaction_impl = (sandesha2_transaction_impl_t *)AXIS2_MALLOC
+ (env->allocator,
+ sizeof(sandesha2_transaction_impl_t));
transaction_impl->transaction.ops = AXIS2_MALLOC(env->allocator,
sizeof(sandesha2_transaction_ops_t));
Modified: webservices/sandesha/trunk/c/src/util/ack_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/ack_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/ack_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/ack_mgr.c Sun Aug 20 22:55:38 2006
@@ -30,10 +30,11 @@
#include <sandesha2/sandesha2_seq_ack.h>
AXIS2_EXTERN sandesha2_msg_ctx_t *AXIS2_CALL
-sandesha2_ack_mgr_generate_ack_msg(const axis2_env_t *env,
- sandesha2_msg_ctx_t *ref_rm_msg,
- axis2_char_t *seq_id,
- sandesha2_storage_mgr_t *storage_mgr)
+sandesha2_ack_mgr_generate_ack_msg(
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *ref_rm_msg,
+ axis2_char_t *seq_id,
+ sandesha2_storage_mgr_t *storage_mgr)
{
axis2_msg_ctx_t *ref_msg = NULL;
axis2_conf_ctx_t *conf_ctx = NULL;
@@ -89,7 +90,8 @@
ack_op);
property = AXIS2_MSG_CTX_GET_PROPERTY(ref_msg, env, AXIS2_WSA_VERSION,
AXIS2_FALSE);
- wsa_version = AXIS2_PROPERTY_GET_VALUE(property, env);
+ if(property)
+ wsa_version = AXIS2_PROPERTY_GET_VALUE(property, env);
property = axis2_property_create(env);
AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
AXIS2_PROPERTY_SET_VALUE(property, env, AXIS2_STRDUP(wsa_version, env));
@@ -210,7 +212,7 @@
orig_trans_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(ack_msg_ctx,
env);
property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, orig_trans_out);
AXIS2_MSG_CTX_SET_PROPERTY(ack_msg_ctx, env,
SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property,
Modified: webservices/sandesha/trunk/c/src/util/error.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/error.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/error.c (original)
+++ webservices/sandesha/trunk/c/src/util/error.c Sun Aug 20 22:55:38 2006
@@ -168,6 +168,8 @@
"Cannot initialize the message";
sandesha2_error_messages[SANDESHA2_ERROR_CANNOT_PROCESS_MSG]=
"Error in processing the message";
+ sandesha2_error_messages[SANDESHA2_ERROR_INVALID_STRING_ARRAY]=
+ "String array is invalid";
return AXIS2_SUCCESS;
}
Modified: webservices/sandesha/trunk/c/src/util/fault_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/fault_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/fault_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/fault_mgr.c Sun Aug 20 22:55:38 2006
@@ -233,7 +233,7 @@
sequence = (sandesha2_seq_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(
app_rm_msg, env, SANDESHA2_MSG_PART_SEQ);
- msg_num = SANDESHSA2_MSG_NUMBER_GET_MSG_NUM(SANDESHA2_SEQ_GET_MSG_NUM(
+ msg_num = SANDESHA2_MSG_NUMBER_GET_MSG_NUM(SANDESHA2_SEQ_GET_MSG_NUM(
sequence, env), env);
seq_id = SANDESHA2_IDENTIFIER_GET_IDENTIFIER(
SANDESHA2_SEQ_GET_IDENTIFIER(sequence, env), env);
Modified: webservices/sandesha/trunk/c/src/util/msg_creator.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/msg_creator.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_creator.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_creator.c Sun Aug 20 22:55:38 2006
@@ -673,7 +673,7 @@
axis2_ctx_t *ctx = NULL;
ctx = AXIS2_OP_CTX_GET_BASE(old_op_ctx, env);
- old_op_ctx_props = AXIS2_CTX_GET_PROPERTIES(ctx, env);
+ old_op_ctx_props = AXIS2_CTX_GET_ALL_PROPERTIES(ctx, env);
if(old_op_ctx_props)
{
axis2_op_ctx_t *new_op_ctx = NULL;
@@ -704,7 +704,7 @@
axis2_ctx_t *ctx = NULL;
ctx = AXIS2_MSG_CTX_GET_BASE(related_msg, env);
- old_msg_ctx_props = AXIS2_CTX_GET_PROPERTIES(ctx, env);
+ old_msg_ctx_props = AXIS2_CTX_GET_ALL_PROPERTIES(ctx, env);
if(old_msg_ctx_props)
{
axis2_hash_index_t *i = NULL;
@@ -729,9 +729,9 @@
/* Setting options with properties copied from the old one */
related_ctx = AXIS2_MSG_CTX_GET_BASE(related_msg, env);
- related_msg_props = AXIS2_CTX_GET_PROPERTIES(related_ctx, env);
+ related_msg_props = AXIS2_CTX_GET_ALL_PROPERTIES(related_ctx, env);
new_ctx = AXIS2_MSG_CTX_GET_BASE(new_msg, env);
- new_msg_props = AXIS2_CTX_GET_PROPERTIES(new_ctx, env);
+ new_msg_props = AXIS2_CTX_GET_ALL_PROPERTIES(new_ctx, env);
if(!new_msg_props)
{
new_msg_props = axis2_hash_make(env);
Modified: webservices/sandesha/trunk/c/src/util/msg_init.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/msg_init.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_init.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_init.c Sun Aug 20 22:55:38 2006
@@ -375,6 +375,7 @@
axis2_char_t *seq_rm_ns = NULL;
spec_version = sandesha2_utils_get_rm_version(env, prop_key, storage_mgr);
+ printf("spec_version:%s\n", spec_version);
if(spec_version)
{
seq_rm_ns = sandesha2_spec_specific_consts_get_rm_ns_val(env,
Modified: webservices/sandesha/trunk/c/src/util/seq_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/seq_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/seq_mgr.c Sun Aug 20 22:55:38 2006
@@ -49,7 +49,7 @@
/******************************************************************************/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
-sandesha2_seq_mgr_set_up_new_seq(
+sandesha2_seq_mgr_setup_new_seq(
const axis2_env_t *env,
sandesha2_msg_ctx_t *create_seq_msg,
sandesha2_storage_mgr_t *storage_mgr)
Modified: webservices/sandesha/trunk/c/src/util/terminate_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/terminate_mgr.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/terminate_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/terminate_mgr.c Sun Aug 20 22:55:38 2006
@@ -579,7 +579,7 @@
transport_out = AXIS2_MSG_CTX_GET_TRANSPORT_OUT_DESC(msg_ctx1, env);
property = axis2_property_create(env);
- AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_REQUEST);
+ AXIS2_PROPERTY_SET_SCOPE(property, env, AXIS2_SCOPE_APPLICATION);
AXIS2_PROPERTY_SET_VALUE(property, env, transport_out);
AXIS2_MSG_CTX_SET_PROPERTY(msg_ctx1, env,
SANDESHA2_ORIGINAL_TRANSPORT_OUT_DESC, property,
Modified: webservices/sandesha/trunk/c/src/util/utils.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/utils.c?rev=433159&r1=433158&r2=433159&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/util/utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/utils.c Sun Aug 20 22:55:38 2006
@@ -102,9 +102,10 @@
}
AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-sandesha2_utils_get_rm_version(const axis2_env_t *env,
- axis2_char_t *key,
- sandesha2_storage_mgr_t *storage_man)
+sandesha2_utils_get_rm_version(
+ const axis2_env_t *env,
+ axis2_char_t *key,
+ sandesha2_storage_mgr_t *storage_man)
{
sandesha2_seq_property_mgr_t *seq_prop_man = NULL;
sandesha2_seq_property_bean_t *rm_version_bean = NULL;
@@ -115,7 +116,8 @@
seq_prop_man = SANDESHA2_STORAGE_MGR_GET_SEQ_PROPERTY_MGR(
storage_man, env);
- rm_version_bean = SANDESHA2_SEQ_PROPERTY_MGR_RETRIEVE(seq_prop_man,
+ if(seq_prop_man)
+ rm_version_bean = SANDESHA2_SEQ_PROPERTY_MGR_RETRIEVE(seq_prop_man,
env, key, SANDESHA2_SEQ_PROP_RM_SPEC_VERSION);
if(NULL == rm_version_bean)
return NULL;
@@ -198,98 +200,135 @@
}
AXIS2_EXTERN axis2_array_list_t* AXIS2_CALL
-sandesha2_utils_get_array_list_from_string(const axis2_env_t *env,
- axis2_char_t *string)
+sandesha2_utils_get_array_list_from_string(
+ const axis2_env_t *env,
+ axis2_char_t *str)
{
- axis2_char_t *dup_string = NULL;
+ axis2_char_t *dup_str = NULL;
axis2_char_t *temp_str = NULL;
- axis2_bool_t added = AXIS2_FALSE;
- axis2_array_list_t *ret = axis2_array_list_create(env,
- AXIS2_ARRAY_LIST_DEFAULT_CAPACITY);
+ axis2_array_list_t *ret = NULL;
AXIS2_ENV_CHECK(env, NULL);
- AXIS2_PARAM_CHECK(env->error, string, NULL);
+ if(NULL == str || 0 == AXIS2_STRCMP("", str))
+ {
+ ret = axis2_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY);
+ return ret;
+ }
+ if(2 > AXIS2_STRLEN(str))
+ {
+ axis2_char_t *ret_str = NULL;
+
+ ret_str = axis2_strcat(env, "Invalid String Array", str, NULL);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, ret_str);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_INVALID_STRING_ARRAY,
+ AXIS2_FAILURE);
+ AXIS2_FREE(env->allocator, ret_str);
+ return NULL;
+ }
/* remove the array markers - [] if present */
- if('[' == *string)
- temp_str = string + sizeof(axis2_char_t);
+ if('[' == *str)
+ temp_str = str + sizeof(axis2_char_t);
+ else
+ {
+ axis2_char_t *ret_str = NULL;
+
+ ret_str = axis2_strcat(env, "Invalid String Array", str, NULL);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, ret_str);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_INVALID_STRING_ARRAY,
+ AXIS2_FAILURE);
+ AXIS2_FREE(env->allocator, ret_str);
+ return NULL;
+ }
+ dup_str = AXIS2_STRDUP(temp_str, env);
+ if(']' == dup_str[AXIS2_STRLEN(dup_str) - 1])
+ dup_str[AXIS2_STRLEN(dup_str) - 1] = '\0';
else
- temp_str = string;
- dup_string = AXIS2_STRDUP(temp_str, env);
- if(']' == dup_string[AXIS2_STRLEN(dup_string)])
- dup_string[AXIS2_STRLEN(dup_string)] = '\0';
+ {
+ axis2_char_t *ret_str = NULL;
+
+ ret_str = axis2_strcat(env, "Invalid String Array", str, NULL);
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, ret_str);
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_INVALID_STRING_ARRAY,
+ AXIS2_FAILURE);
+ AXIS2_FREE(env->allocator, ret_str);
+ return NULL;
+ }
+ ret = axis2_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY);
temp_str = NULL;
- temp_str = strtok(dup_string, ",");
+ temp_str = strtok(dup_str, ",");
while(NULL != temp_str)
{
axis2_char_t *temp_element = AXIS2_STRDUP(temp_str, env);
- added = AXIS2_TRUE;
AXIS2_ARRAY_LIST_ADD(ret, env, temp_element);
+ temp_str = strtok(dup_str, ",");
}
- AXIS2_FREE(env->allocator, dup_string);
- if(AXIS2_FALSE == added)
- {
- AXIS2_ARRAY_LIST_FREE(ret, env);
- return NULL;
- }
+ AXIS2_FREE(env->allocator, dup_str);
return ret;
}
AXIS2_EXTERN axis2_bool_t AXIS2_CALL
sandesha2_utils_array_list_contains(const axis2_env_t *env,
axis2_array_list_t *list,
- axis2_char_t *string)
+ axis2_char_t *str)
{
int i = 0;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, list, AXIS2_FALSE);
- AXIS2_PARAM_CHECK(env->error, string, AXIS2_FALSE);
+ AXIS2_PARAM_CHECK(env->error, str, AXIS2_FALSE);
for(i = 0; i < AXIS2_ARRAY_LIST_SIZE(list, env); i++)
{
axis2_char_t *element = AXIS2_ARRAY_LIST_GET(list, env, i);
- if(NULL != element && 0 == AXIS2_STRCMP(element, string))
+ if(NULL != element && 0 == AXIS2_STRCMP(element, str))
return AXIS2_TRUE;
}
return AXIS2_FAILURE;
}
AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-sandesha2_utils_array_list_to_string(const axis2_env_t *env,
- axis2_array_list_t *list, int type)
+sandesha2_utils_array_list_to_string(
+ const axis2_env_t *env,
+ axis2_array_list_t *list,
+ int type)
{
- axis2_char_t *list_string = NULL;
- int i = 0;
+ axis2_char_t *list_str = NULL;
+ int i = 0, size = 0;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, list, NULL);
- list_string = AXIS2_STRDUP("[", env);
- for(i = 0; i < AXIS2_ARRY_LIST_SIZE(list, env); i++)
+ list_str = AXIS2_STRDUP("[", env);
+ size = AXIS2_ARRAY_LIST_SIZE(list, env);
+ for(i = 0; i < size; i++)
{
-
if(SANDESHA2_ARRAY_LIST_STRING == type)
{
axis2_char_t *element = AXIS2_ARRAY_LIST_GET(list, env, i);
- list_string = axis2_strcat(env, list_string, ",", element, NULL);
+ if(0 == i)
+ list_str = axis2_strcat(env, list_str, element, NULL);
+ list_str = axis2_strcat(env, list_str, ",", element, NULL);
}
else if(SANDESHA2_ARRAY_LIST_LONG == type)
{
long *element = AXIS2_ARRAY_LIST_GET(list, env, i);
axis2_char_t value[32];
sprintf(value, "%ld", *element);
- list_string = axis2_strcat(env, list_string, ",", value, NULL);
+ if(0 == i)
+ list_str = axis2_strcat(env, list_str, value, NULL);
+ list_str = axis2_strcat(env, list_str, ",", value, NULL);
}
}
- list_string = axis2_strcat(env, list_string, "]", NULL);
+ list_str = axis2_strcat(env, list_str, "]", NULL);
- return list_string;
+ return list_str;
}
AXIS2_EXTERN axis2_status_t AXIS2_CALL
-sandesha2_utils_start_invoker_for_seq(const axis2_env_t *env,
- axis2_conf_ctx_t *conf_ctx,
- axis2_char_t *seq_id)
+sandesha2_utils_start_invoker_for_seq(
+ const axis2_env_t *env,
+ axis2_conf_ctx_t *conf_ctx,
+ axis2_char_t *seq_id)
{
sandesha2_in_order_invoker_t *invoker = NULL;
axis2_property_t *property = NULL;
@@ -300,9 +339,8 @@
property = AXIS2_CTX_GET_PROPERTY(AXIS2_CONF_CTX_GET_BASE(conf_ctx, env),
env, SANDESHA2_INVOKER, AXIS2_FALSE);
- if(NULL == property)
- return AXIS2_FAILURE;
- invoker = AXIS2_PROPERTY_GET_VALUE(property, env);
+ if(property)
+ invoker = AXIS2_PROPERTY_GET_VALUE(property, env);
if(NULL == invoker)
{
invoker = sandesha2_in_order_invoker_create(env);
@@ -682,7 +720,7 @@
AXIS2_EXTERN axis2_char_t* AXIS2_CALL
sandesha2_utils_trim_string(const axis2_env_t *env,
- axis2_char_t *orig_string)
+ axis2_char_t *orig_str)
{
axis2_char_t *tmp = NULL;
axis2_char_t *tmp2 = NULL;
@@ -690,14 +728,14 @@
int len = 0;
AXIS2_ENV_CHECK(env, NULL);
- AXIS2_PARAM_CHECK(env->error, orig_string, NULL);
+ AXIS2_PARAM_CHECK(env->error, orig_str, NULL);
- tmp = orig_string;
+ tmp = orig_str;
while(' ' == *tmp)
tmp++;
- tmp2 = orig_string + AXIS2_STRLEN(orig_string);
- while(' ' == *tmp2 && tmp2 != orig_string)
+ tmp2 = orig_str + AXIS2_STRLEN(orig_str);
+ while(' ' == *tmp2 && tmp2 != orig_str)
tmp2--;
len = tmp2 - tmp;
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org