Author: damitha
Date: Tue Sep 5 22:53:37 2006
New Revision: 440623
URL: http://svn.apache.org/viewvc?view=rev&rev=440623
Log:
More bug fixes
Modified:
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.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/sandesha2_utils.c
webservices/sandesha/trunk/c/src/util/spec_specific_consts.c
webservices/sandesha/trunk/c/src/util/terminate_mgr.c
webservices/sandesha/trunk/c/src/workers/sender.c
webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c
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?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
---
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
(original)
+++
webservices/sandesha/trunk/c/src/msgprocessors/terminate_seq_msg_processor.c
Tue Sep 5 22:53:37 2006
@@ -153,9 +153,9 @@
axis2_status_t AXIS2_CALL
sandesha2_terminate_seq_msg_processor_process_in_msg (
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *rm_msg_ctx)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *rm_msg_ctx)
{
axis2_msg_ctx_t *msg_ctx = NULL;
sandesha2_seq_ack_t *seq_ack = NULL;
@@ -168,6 +168,7 @@
sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
sandesha2_seq_property_bean_t *term_rcvd_bean = NULL;
sandesha2_seq_property_bean_t *transmit_bean = NULL;
+ axis2_char_t *spec_version = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
AXIS2_PARAM_CHECK(env->error, rm_msg_ctx, AXIS2_FAILURE);
@@ -225,14 +226,15 @@
SANDESHA2_SEQ_PROPERTY_BEAN_SET_VALUE(term_rcvd_bean, env,
SANDESHA2_VALUE_TRUE);
SANDESHA2_SEQ_PROPERTY_MGR_INSERT(seq_prop_mgr, env, term_rcvd_bean);
-
+
+ spec_version = SANDESHA2_MSG_CTX_GET_RM_SPEC_VER(rm_msg_ctx, env);
if(AXIS2_TRUE == sandesha2_spec_specific_consts_is_term_seq_res_reqd(env,
- SANDESHA2_MSG_CTX_GET_RM_SPEC_VER(rm_msg_ctx, env)))
+ spec_version))
sandesha2_terminate_seq_msg_processor_add_terminate_seq_res(
msg_processor, env, rm_msg_ctx, seq_id, storage_man);
sandesha2_terminate_seq_msg_processor_setup_highest_msg_nums(msg_processor,
env, conf_ctx, storage_man, seq_id, rm_msg_ctx);
- sandesha2_terminate_mgr_clean_recv_side_on_terminate_msg(env, conf_ctx,
+ sandesha2_terminate_mgr_clean_recv_side_after_terminate_msg(env, conf_ctx,
seq_id, storage_man);
transmit_bean = sandesha2_seq_property_bean_create_with_data(env, seq_id,
SANDESHA2_SEQ_PROP_SEQ_TERMINATED,
SANDESHA2_VALUE_TRUE);
@@ -247,12 +249,12 @@
axis2_status_t AXIS2_CALL
sandesha2_terminate_seq_msg_processor_setup_highest_msg_nums(
- sandesha2_msg_processor_t *msg_processor,
- const axis2_env_t *env,
- axis2_conf_ctx_t *conf_ctx,
- sandesha2_storage_mgr_t *storage_man,
- axis2_char_t *seq_id,
- sandesha2_msg_ctx_t *rm_msg_ctx)
+ sandesha2_msg_processor_t *msg_processor,
+ const axis2_env_t *env,
+ axis2_conf_ctx_t *conf_ctx,
+ sandesha2_storage_mgr_t *storage_man,
+ axis2_char_t *seq_id,
+ sandesha2_msg_ctx_t *rm_msg_ctx)
{
sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
axis2_char_t *highest_msg_num_str = NULL;
@@ -596,3 +598,4 @@
AXIS2_ENGINE_SEND(engine, env, msg_ctx);
return AXIS2_SUCCESS;
}
+
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?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_creator.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_creator.c Tue Sep 5 22:53:37 2006
@@ -526,7 +526,7 @@
if(AXIS2_TRUE != is_seq_res_reqd)
{
- AXIS2_CTX_SET_PROPERTY(ctx, env, AXIS2_TRANSPORT_IN, NULL,
AXIS2_FALSE);
+ AXIS2_CTX_SET_PROPERTY(terminate_seq_msg_ctx, env, AXIS2_TRANSPORT_IN,
NULL, AXIS2_FALSE);
}
terminate_rm_msg = sandesha2_msg_init_init_msg(env, terminate_seq_msg_ctx);
if(terminate_rm_msg == NULL)
@@ -570,10 +570,10 @@
sandesha2_msg_ctx_t *AXIS2_CALL
sandesha2_msg_creator_create_terminate_seq_res_msg(
- const axis2_env_t *env,
- sandesha2_msg_ctx_t *ref_rm_msg,
- axis2_msg_ctx_t *out_msg,
- sandesha2_storage_mgr_t *storage_mgr)
+ const axis2_env_t *env,
+ sandesha2_msg_ctx_t *ref_rm_msg,
+ axis2_msg_ctx_t *out_msg,
+ sandesha2_storage_mgr_t *storage_mgr)
{
sandesha2_msg_ctx_t *res_rm_msg = NULL;
sandesha2_terminate_seq_t *terminate_seq = NULL;
@@ -586,7 +586,7 @@
res_rm_msg = sandesha2_msg_ctx_create(env, out_msg);
terminate_seq = (sandesha2_terminate_seq_t*)SANDESHA2_MSG_CTX_GET_MSG_PART(
- res_rm_msg, env, SANDESHA2_MSG_PART_TERMINATE_SEQ);
+ ref_rm_msg, env, SANDESHA2_MSG_PART_TERMINATE_SEQ);
seq_id = SANDESHA2_IDENTIFIER_GET_IDENTIFIER(
SANDESHA2_TERMINATE_SEQ_GET_IDENTIFIER(terminate_seq,
env), env);
@@ -625,9 +625,9 @@
static axis2_status_t
sandesha2_msg_creator_finalize_creation(
- const axis2_env_t *env,
- axis2_msg_ctx_t *related_msg,
- axis2_msg_ctx_t *new_msg)
+ const axis2_env_t *env,
+ axis2_msg_ctx_t *related_msg,
+ axis2_msg_ctx_t *new_msg)
{
axis2_op_t *old_op = NULL;
axis2_op_ctx_t *old_op_ctx = NULL;
@@ -764,9 +764,9 @@
static axis2_status_t
sandesha2_msg_creator_init_creation(
- const axis2_env_t *env,
- axis2_msg_ctx_t *related_msg,
- axis2_msg_ctx_t *new_msg)
+ const axis2_env_t *env,
+ axis2_msg_ctx_t *related_msg,
+ axis2_msg_ctx_t *new_msg)
{
axis2_svc_t *related_svc = NULL;
axis2_svc_t *new_svc = NULL;
@@ -777,7 +777,8 @@
{
axis2_param_t *ref_policy_param = NULL;
- ref_policy_param = AXIS2_SVC_GET_PARAM(related_svc, env,
SANDESHA2_SANDESHA_PROPERTY_BEAN);
+ ref_policy_param = AXIS2_SVC_GET_PARAM(related_svc, env,
+ SANDESHA2_SANDESHA_PROPERTY_BEAN);
if(ref_policy_param)
{
void *value = NULL;
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?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/util/msg_init.c (original)
+++ webservices/sandesha/trunk/c/src/util/msg_init.c Tue Sep 5 22:53:37 2006
@@ -185,11 +185,13 @@
terminate_seq = SANDESHA2_RM_ELEMENTS_GET_TERMINATE_SEQ(elements, env);
if(terminate_seq)
{
+ printf("terminate_seq\n");
SANDESHA2_MSG_CTX_SET_MSG_PART(rm_msg_ctx, env,
SANDESHA2_MSG_PART_TERMINATE_SEQ,
(sandesha2_iom_rm_part_t *) terminate_seq);
rm_ns = SANDESHA2_IOM_RM_ELEMENT_GET_NAMESPACE_VALUE(
(sandesha2_iom_rm_element_t *) terminate_seq, env);
+ add_op_if_null(env, msg_ctx);
}
terminate_seq_res = SANDESHA2_RM_ELEMENTS_GET_TERMINATE_SEQ_RES(elements,
env);
if(terminate_seq_res)
Modified: webservices/sandesha/trunk/c/src/util/sandesha2_utils.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/sandesha2_utils.c?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/util/sandesha2_utils.c (original)
+++ webservices/sandesha/trunk/c/src/util/sandesha2_utils.c Tue Sep 5 22:53:37
2006
@@ -559,6 +559,7 @@
axis2_char_t *addr_ver = NULL;
axis2_char_t *paused_phase_name = NULL;
axis2_svc_grp_t *svc_grp = NULL;
+ axis2_endpoint_ref_t *to = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, ref_rm_msg, NULL);
@@ -572,7 +573,7 @@
in_desc = AXIS2_MSG_CTX_GET_TRANSPORT_IN_DESC(ref_msg, env);
new_msg = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc);
-
+
options = axis2_options_create(env);
AXIS2_MSG_CTX_SET_OPTIONS(new_msg, env, options);
svc_grp = AXIS2_MSG_CTX_GET_SVC_GRP(ref_msg, env);
@@ -1076,5 +1077,38 @@
}
}
return sorted_list;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_utils_is_all_msgs_acked_upto(
+ const axis2_env_t *env,
+ long highest_in_msg_no,
+ axis2_char_t *internal_seq_id,
+ sandesha2_storage_mgr_t *storage_mgr)
+{
+ axis2_char_t *client_completed_msgs = NULL;
+ axis2_array_list_t *acked_msgs_list = NULL;
+ long smallest_msg_no = 1;
+ long temp_msg_no = 0;
+
+ client_completed_msgs = sandesha2_utils_get_seq_property(env,
+ internal_seq_id, SANDESHA2_SEQ_PROP_CLIENT_COMPLETED_MESSAGES,
+ storage_mgr);
+ acked_msgs_list = sandesha2_utils_get_array_list_from_string(env,
+ client_completed_msgs);
+ for(temp_msg_no = smallest_msg_no; temp_msg_no <= highest_in_msg_no;
+ temp_msg_no++)
+ {
+ axis2_char_t *str_msg_no = NULL;
+
+ str_msg_no = AXIS2_MALLOC(env->allocator, 32*sizeof(axis2_char_t));
+ sprintf(str_msg_no, "%ld", temp_msg_no);
+ if(AXIS2_TRUE != AXIS2_ARRAY_LIST_CONTAINS(acked_msgs_list, env,
+ str_msg_no))
+ {
+ return AXIS2_FALSE;
+ }
+ }
+ return AXIS2_TRUE; /* All messages upto the highest have been acked */
}
Modified: webservices/sandesha/trunk/c/src/util/spec_specific_consts.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/util/spec_specific_consts.c?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/util/spec_specific_consts.c (original)
+++ webservices/sandesha/trunk/c/src/util/spec_specific_consts.c Tue Sep 5
22:53:37 2006
@@ -306,9 +306,9 @@
AXIS2_PARAM_CHECK(env->error, spec_version, AXIS2_FALSE);
if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_0, spec_version))
- return AXIS2_TRUE;
- else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
return AXIS2_FALSE;
+ else if (0 == AXIS2_STRCMP(SANDESHA2_SPEC_VERSION_1_1, spec_version))
+ return AXIS2_TRUE;
else
AXIS2_ERROR_SET(env->error,
SANDESHA2_ERROR_UNKNOWN_SPEC_ERROR_MESSAGE,
AXIS2_FAILURE);
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?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/util/terminate_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/util/terminate_mgr.c Tue Sep 5 22:53:37
2006
@@ -514,6 +514,7 @@
return AXIS2_FAILURE;
}
SANDESHA2_MSG_CTX_SET_TO(rm_msg_ctx, env, to_epr);
+ SANDESHA2_MSG_CTX_SET_TO(terminate_rm_msg, env, to_epr);
rm_ver = sandesha2_utils_get_rm_version(env, int_seq_id, storage_man);
if(NULL == rm_ver)
{
@@ -602,6 +603,7 @@
sandesha2_utils_get_transport_out(env));
engine = axis2_engine_create(env, conf_ctx);
-
+
+ printf("came100********************************************\n");
return AXIS2_ENGINE_SEND(engine, env, msg_ctx1);
}
Modified: webservices/sandesha/trunk/c/src/workers/sender.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/workers/sender.c?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/workers/sender.c (original)
+++ webservices/sandesha/trunk/c/src/workers/sender.c Tue Sep 5 22:53:37 2006
@@ -305,9 +305,9 @@
axis2_status_t AXIS2_CALL
sandesha2_sender_check_for_sync_res(
- sandesha2_sender_t *sender,
- const axis2_env_t *env,
- axis2_msg_ctx_t *msg_ctx)
+ sandesha2_sender_t *sender,
+ const axis2_env_t *env,
+ axis2_msg_ctx_t *msg_ctx)
{
axis2_property_t *property = NULL;
axis2_msg_ctx_t *res_msg_ctx = NULL;
@@ -338,6 +338,8 @@
if(NULL != req_op_ctx)
{
axis2_ctx_t *ctx = NULL;
+ axis2_endpoint_ref_t *to = NULL;
+
ctx = AXIS2_OP_CTX_GET_BASE(req_op_ctx, env);
if(NULL != AXIS2_CTX_GET_PROPERTY(ctx, env, MTOM_RECIVED_CONTENT_TYPE,
AXIS2_FALSE))
Modified: webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c
URL:
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c?view=diff&rev=440623&r1=440622&r2=440623
==============================================================================
--- webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c (original)
+++ webservices/sandesha/trunk/c/src/wsrm/terminate_seq_res.c Tue Sep 5
22:53:37 2006
@@ -81,7 +81,9 @@
/***************************** End of function headers
************************/
AXIS2_EXTERN sandesha2_terminate_seq_res_t* AXIS2_CALL
-sandesha2_terminate_seq_res_create(const axis2_env_t *env, axis2_char_t
*ns_val)
+sandesha2_terminate_seq_res_create(
+ const axis2_env_t *env,
+ axis2_char_t *ns_val)
{
sandesha2_terminate_seq_res_impl_t *terminate_seq_res_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
@@ -304,8 +306,9 @@
axis2_bool_t AXIS2_CALL
sandesha2_terminate_seq_res_is_namespace_supported(
- sandesha2_iom_rm_element_t
*terminate_seq_res,
- const axis2_env_t *env, axis2_char_t *namespace)
+ sandesha2_iom_rm_element_t *terminate_seq_res,
+ const axis2_env_t *env,
+ axis2_char_t *namespace)
{
sandesha2_terminate_seq_res_impl_t *terminate_seq_res_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]