Author: damitha
Date: Wed Sep  3 04:15:52 2008
New Revision: 691574

URL: http://svn.apache.org/viewvc?rev=691574&view=rev
Log:
Now last msg number in rm 1-1 is calculated wihin sandesha2/C instead of 
passing from application client

Modified:
    webservices/sandesha/trunk/c/include/sandesha2_client.h
    webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
    webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c
    webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c
    webservices/sandesha/trunk/c/src/client/client.c

Modified: webservices/sandesha/trunk/c/include/sandesha2_client.h
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/include/sandesha2_client.h?rev=691574&r1=691573&r2=691574&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/include/sandesha2_client.h (original)
+++ webservices/sandesha/trunk/c/include/sandesha2_client.h Wed Sep  3 04:15:52 
2008
@@ -112,15 +112,13 @@
 sandesha2_client_terminate_seq_with_svc_client(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_callback_t *callback,
-    long last_msg_no);
+    axis2_callback_t *callback);
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 sandesha2_client_terminate_seq_with_svc_client_and_seq_key(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_char_t *seq_key,
-    long last_msg_no);
+    axis2_char_t *seq_key);
 
 /**
  * User can close the seq defined by the passed svc_client.
@@ -131,15 +129,13 @@
 sandesha2_client_close_seq_with_svc_client(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_callback_t *callback,
-    long last_msg_num);
+    axis2_callback_t *callback);
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 sandesha2_client_close_seq_with_svc_client_and_seq_key(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_char_t *seq_key,
-    long last_msg_num);
+    axis2_char_t *seq_key);
 
 /**
  * This blocks the system until the messages sent have been completed.

Modified: webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c?rev=691574&r1=691573&r2=691574&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_echo_1_1/rm_echo_1_1.c Wed Sep  3 
04:15:52 2008
@@ -202,7 +202,7 @@
     callback3 = axis2_callback_create(env);
     axis2_callback_set_on_complete(callback3, rm_echo_callback_on_complete);
     axis2_callback_set_on_error(callback3, rm_echo_callback_on_error);
-    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, callback3, 
2);
+    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, callback3);
 
     AXIS2_SLEEP(SANDESHA2_MAX_COUNT);
 

Modified: 
webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c?rev=691574&r1=691573&r2=691574&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c 
(original)
+++ 
webservices/sandesha/trunk/c/samples/rm_echo_single_1_1/rm_echo_single_1_1.c 
Wed Sep  3 04:15:52 2008
@@ -244,7 +244,7 @@
 
     AXIS2_SLEEP(SANDESHA2_SLEEP); 
 
-    sandesha2_client_terminate_seq_with_svc_client_and_seq_key(env, 
svc_client, seq_key, 3);
+    sandesha2_client_terminate_seq_with_svc_client_and_seq_key(env, 
svc_client, seq_key);
 
     AXIS2_SLEEP(6 * SANDESHA2_SLEEP);
 

Modified: webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c?rev=691574&r1=691573&r2=691574&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c (original)
+++ webservices/sandesha/trunk/c/samples/rm_ping_1_1/rm_ping_1_1.c Wed Sep  3 
04:15:52 2008
@@ -155,7 +155,7 @@
         printf("\nping client invoke SUCCESSFUL!\n");
     AXIS2_SLEEP(MAX_COUNT);
     
-    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, NULL, 3);
+    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, NULL);
      /** Wait till callback is complete. Simply keep the parent thread running
        until our on_complete or on_error is invoked */
 

Modified: webservices/sandesha/trunk/c/src/client/client.c
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/client/client.c?rev=691574&r1=691573&r2=691574&view=diff
==============================================================================
--- webservices/sandesha/trunk/c/src/client/client.c (original)
+++ webservices/sandesha/trunk/c/src/client/client.c Wed Sep  3 04:15:52 2008
@@ -82,8 +82,7 @@
 sandesha2_client_configure_close_seq(
         const axutil_env_t *env,
         axis2_options_t *options, 
-        axis2_conf_ctx_t *conf_ctx,
-        long last_msg_num);
+        axis2_conf_ctx_t *conf_ctx);
 
 static axis2_bool_t
 sandesha2_client_is_seq_terminated(
@@ -135,8 +134,7 @@
     const axutil_env_t *env,
     axis2_options_t *options, 
     axis2_conf_ctx_t *conf_ctx,
-    sandesha2_seq_property_mgr_t *seq_prop_mgr,
-    long last_msg_num);
+    sandesha2_seq_property_mgr_t *seq_prop_mgr);
 
 static axis2_bool_t
 fill_soap_envelope(
@@ -611,8 +609,7 @@
 sandesha2_client_terminate_seq_with_svc_client(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_callback_t *callback,
-    long last_msg_num)
+    axis2_callback_t *callback)
 {
     axis2_svc_ctx_t *svc_ctx = NULL;
     axis2_options_t *options = NULL;
@@ -675,7 +672,7 @@
     }
 
     terminate_envelope = sandesha2_client_configure_terminate_seq(env, 
options, conf_ctx, 
-            seq_prop_mgr, last_msg_num);
+            seq_prop_mgr);
 
     if (!terminate_envelope)
     {
@@ -770,8 +767,7 @@
 sandesha2_client_terminate_seq_with_svc_client_and_seq_key(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_char_t *seq_key,
-    long last_msg_num)
+    axis2_char_t *seq_key)
 {
     axis2_options_t *options = NULL;
     axutil_property_t *property = NULL;
@@ -789,7 +785,7 @@
 
     property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
     axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
property);
-    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, NULL, 
last_msg_num);
+    sandesha2_client_terminate_seq_with_svc_client(env, svc_client, NULL);
     axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
old_property);
     return AXIS2_SUCCESS;
 }
@@ -803,8 +799,7 @@
 sandesha2_client_close_seq_with_svc_client(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_callback_t *callback,
-    long last_msg_num)
+    axis2_callback_t *callback)
 {
     axis2_svc_ctx_t *svc_ctx = NULL;
     axis2_options_t *options = NULL;
@@ -854,7 +849,7 @@
 
     rm_namespc_value = sandesha2_spec_specific_consts_get_rm_ns_val(env, 
rm_spec_version);
     conf_ctx =  axis2_svc_ctx_get_conf_ctx(svc_ctx, env);
-    close_envelope = sandesha2_client_configure_close_seq(env, options, 
conf_ctx, last_msg_num);
+    close_envelope = sandesha2_client_configure_close_seq(env, options, 
conf_ctx);
     body = axiom_soap_envelope_get_body(close_envelope, env);
     node = axiom_soap_body_get_base_node(body, env);
     element = axiom_node_get_data_element(node, env);
@@ -894,8 +889,7 @@
 sandesha2_client_close_seq_with_svc_client_and_seq_key(
     const axutil_env_t *env,
     axis2_svc_client_t *svc_client,
-    axis2_char_t *seq_key,
-    long last_msg_num)
+    axis2_char_t *seq_key)
 {
     axis2_options_t *options = NULL;
     axutil_property_t *property = NULL;
@@ -918,7 +912,7 @@
 
     property = axutil_property_create_with_args(env, 0, 0, 0, seq_key);
     axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
property);
-    sandesha2_client_close_seq_with_svc_client(env, svc_client, NULL, 
last_msg_num);
+    sandesha2_client_close_seq_with_svc_client(env, svc_client, NULL);
     axis2_options_set_property(options, env, SANDESHA2_CLIENT_SEQ_KEY, 
old_property);
 
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, 
@@ -1303,8 +1297,7 @@
 sandesha2_client_configure_close_seq(
     const axutil_env_t *env,
     axis2_options_t *options, 
-    axis2_conf_ctx_t *conf_ctx,
-    long last_msg_num)
+    axis2_conf_ctx_t *conf_ctx)
 {
     axis2_endpoint_ref_t *to_epr = NULL;
     axis2_char_t *to = NULL;
@@ -1321,11 +1314,11 @@
     axis2_char_t *rm_spec_version = NULL;
     axiom_soap_envelope_t *dummy_envelope = NULL;
     sandesha2_identifier_t *identifier = NULL;
-    sandesha2_last_msg_number_t *last_msg_number = NULL;
     sandesha2_seq_report_t *seq_report = NULL;
     axis2_conf_t *conf = NULL;
     axutil_property_t *property = NULL;
     axis2_char_t *dbname = NULL;
+    sandesha2_seq_property_bean_t *last_out_msg_no_bean = NULL;
 
     if(!options)
     {
@@ -1450,9 +1443,32 @@
     identifier = sandesha2_identifier_create(env, rm_ns_value);
     sandesha2_identifier_set_identifier(identifier, env, seq_id);
     sandesha2_close_seq_set_identifier(close_seq, env, identifier);
-    last_msg_number = sandesha2_last_msg_number_create(env, rm_ns_value);
-    sandesha2_last_msg_number_set_last_msg_number(last_msg_number, env, 
last_msg_num);
-    sandesha2_close_seq_set_last_msg_number(close_seq, env, last_msg_number);
+
+    last_out_msg_no_bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, 
env, 
+        internal_seq_id, SANDESHA2_SEQ_PROP_LAST_OUT_MESSAGE_NUMBER);
+    if(last_out_msg_no_bean)
+    {
+        axis2_char_t *last_msg_num_str = NULL;
+
+        last_msg_num_str = 
sandesha2_seq_property_bean_get_value(last_out_msg_no_bean, env);
+        if(last_msg_num_str)
+        {
+            sandesha2_last_msg_number_t *last_msg_number = NULL;
+            
+            last_msg_number = sandesha2_last_msg_number_create(env, 
rm_ns_value);
+            if(last_msg_number)
+            {
+                long last_msg_num = -1;
+
+                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "last msg no:%s", 
last_msg_num_str);
+                last_msg_num = axutil_atol(last_msg_num_str);
+                
+                sandesha2_last_msg_number_set_last_msg_number(last_msg_number, 
env, last_msg_num);
+                sandesha2_close_seq_set_last_msg_number(close_seq, env, 
last_msg_number);
+            }
+        }
+    }
+
     sandesha2_close_seq_to_soap_envelope(close_seq, env, dummy_envelope);
 
     if(seq_prop_mgr)
@@ -1731,8 +1747,7 @@
     const axutil_env_t *env,
     axis2_options_t *options, 
     axis2_conf_ctx_t *conf_ctx,
-    sandesha2_seq_property_mgr_t *seq_prop_mgr,
-    long last_msg_num)
+    sandesha2_seq_property_mgr_t *seq_prop_mgr)
 {
     axis2_endpoint_ref_t *to_epr = NULL;
     axis2_char_t *to = NULL;
@@ -1793,8 +1808,8 @@
         sandesha2_terminate_seq_t *terminate_seq = NULL;
         sandesha2_identifier_t *identifier = NULL;
         sandesha2_seq_property_bean_t *seq_id_bean = NULL;
-        sandesha2_last_msg_number_t *last_msg_number = NULL;
         axis2_char_t *seq_id = NULL;
+        sandesha2_seq_property_bean_t *last_out_msg_no_bean = NULL;
 
         conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     
@@ -1856,11 +1871,30 @@
             sandesha2_terminate_seq_set_identifier(terminate_seq, env, 
identifier);
         }
 
-        last_msg_number = sandesha2_last_msg_number_create(env, rm_ns_value);
-        if(last_msg_number)
-        {
-            sandesha2_last_msg_number_set_last_msg_number(last_msg_number, 
env, last_msg_num);
-            sandesha2_terminate_seq_set_last_msg_number(terminate_seq, env, 
last_msg_number);
+        last_out_msg_no_bean = 
sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env, 
+            internal_seq_id, SANDESHA2_SEQ_PROP_LAST_OUT_MESSAGE_NUMBER);
+
+        if(last_out_msg_no_bean)
+        { 
+            axis2_char_t *last_msg_num_str = NULL;
+
+            last_msg_num_str = 
sandesha2_seq_property_bean_get_value(last_out_msg_no_bean, env);
+            if(last_msg_num_str)
+            {
+                sandesha2_last_msg_number_t *last_msg_number = NULL;
+
+                last_msg_number = sandesha2_last_msg_number_create(env, 
rm_ns_value);
+                if(last_msg_number)
+                {
+                    long last_msg_num = -1;
+
+                    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "last msg no:%s", 
last_msg_num_str);
+                    last_msg_num = axutil_atol(last_msg_num_str);
+
+                    
sandesha2_last_msg_number_set_last_msg_number(last_msg_number, env, 
last_msg_num);
+                    sandesha2_terminate_seq_set_last_msg_number(terminate_seq, 
env, last_msg_number);
+                }
+            }
         }
 
         sandesha2_terminate_seq_to_soap_envelope(terminate_seq, env, 
dummy_envelope);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to