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/12/06 13:27:55 UTC
svn commit: r483051 [1/2] - in /webservices/sandesha/trunk/c/src/storage: ./
beans/ inmemory/
Author: damitha
Date: Wed Dec 6 04:27:54 2006
New Revision: 483051
URL: http://svn.apache.org/viewvc?view=rev&rev=483051
Log:
added new files so that storage mechanism can be abstracted
Added:
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c
- copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c
- copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c
- copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c
- copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_storage_mgr.c
- copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/storage_mgr.c
webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_transaction.c
- copied, changed from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/transaction.c
webservices/sandesha/trunk/c/src/storage/inmemory/invoker_next_msg_mgr.c
- copied unchanged from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/next_msg_mgr.c
webservices/sandesha/trunk/c/src/storage/storage_mgr.c
webservices/sandesha/trunk/c/src/storage/transaction.c
Removed:
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
Modified:
webservices/sandesha/trunk/c/src/storage/Makefile.am
webservices/sandesha/trunk/c/src/storage/beans/Makefile.am
webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c
webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c
webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c
webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c
webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c
webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am
Modified: webservices/sandesha/trunk/c/src/storage/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/Makefile.am?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/Makefile.am Wed Dec 6 04:27:54 2006
@@ -1,2 +1,15 @@
SUBDIRS = beans inmemory
+noinst_LTLIBRARIES = libsandesha2_storage.la
+libsandesha2_storage_la_SOURCES = \
+ storage_mgr.c \
+ transaction.c \
+ create_seq_mgr.c \
+ invoker_mgr.c \
+ sender_mgr.c \
+ next_msg_mgr.c \
+ seq_property_mgr.c
+
+INCLUDES = -I$(top_builddir)/include \
+ -I$(top_builddir)/include/sandesha2 \
+ @AXIS2INC@
Modified: webservices/sandesha/trunk/c/src/storage/beans/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/Makefile.am?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/Makefile.am Wed Dec 6 04:27:54 2006
@@ -5,7 +5,8 @@
create_seq_bean.c \
next_msg_bean.c \
sender_bean.c \
- seq_property_bean.c
+ seq_property_bean.c \
+ rm_bean.c
INCLUDES = -I$(top_builddir)/include \
@AXIS2INC@
Modified: webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/create_seq_bean.c Wed Dec 6 04:27:54 2006
@@ -15,6 +15,7 @@
*/
#include <sandesha2_create_seq_bean.h>
+#include <sandesha2_rm_bean.h>
#include <axis2_env.h>
#include <axis2_utils.h>
#include <axis2_utils_defines.h>
@@ -26,6 +27,7 @@
struct sandesha2_create_seq_bean_t
{
+ sandesha2_rm_bean_t *rm_bean;
/* a unique identifier that can be used to identify the messages of a certain seq */
axis2_char_t *internal_seq_id;
@@ -74,12 +76,13 @@
bean->internal_seq_id = NULL;
bean->create_seq_msg_id = NULL;
bean->seq_id = NULL;
+ bean->create_seq_msg_store_key = NULL;
+ bean->ref_msg_store_key = NULL;
+ bean->rm_bean = NULL;
return bean;
}
-
-
AXIS2_EXTERN sandesha2_create_seq_bean_t* AXIS2_CALL
sandesha2_create_seq_bean_create_with_data(
const axis2_env_t *env,
@@ -104,6 +107,7 @@
bean->internal_seq_id = internal_seq_id;
bean->create_seq_msg_id = create_seq_msg_id;
bean->seq_id = seq_id;
+ bean->rm_bean = NULL;
return bean;
}
@@ -114,6 +118,11 @@
sandesha2_create_seq_bean_t *create_seq,
const axis2_env_t *env)
{
+ if(create_seq->rm_bean)
+ {
+ sandesha2_rm_bean_free(create_seq->rm_bean, env);
+ create_seq->rm_bean= NULL;
+ }
if(create_seq->internal_seq_id)
{
AXIS2_FREE(env->allocator, create_seq->internal_seq_id);
@@ -134,6 +143,26 @@
return AXIS2_SUCCESS;
}
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_create_seq_bean_get_base(
+ sandesha2_create_seq_bean_t* create_seq,
+ const axis2_env_t *env)
+{
+ return create_seq->rm_bean;
+
+}
+
+void AXIS2_CALL
+sandesha2_create_seq_bean_set_base (
+ sandesha2_create_seq_bean_t *create_seq,
+ const axis2_env_t *env,
+ sandesha2_rm_bean_t* rm_bean)
+
+{
+ create_seq->rm_bean = rm_bean;
+}
+
+
axis2_char_t * AXIS2_CALL
sandesha2_create_seq_bean_get_create_seq_msg_id(
sandesha2_create_seq_bean_t* create_seq,
@@ -141,8 +170,7 @@
{
return create_seq->create_seq_msg_id;
-}
-
+}
void AXIS2_CALL
sandesha2_create_seq_bean_set_create_seq_msg_id (
Modified: webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/invoker_bean.c Wed Dec 6 04:27:54 2006
@@ -15,12 +15,14 @@
*/
#include <sandesha2_invoker_bean.h>
+#include <sandesha2_rm_bean.h>
#include <string.h>
#include <axis2_string.h>
#include <axis2_utils.h>
struct sandesha2_invoker_bean_t
{
+ sandesha2_rm_bean_t *rm_bean;
/* This is the messageContextRefKey that is obtained after saving a message context in a storage. */
axis2_char_t *msg_context_ref_key;
@@ -56,6 +58,7 @@
bean->msg_no = -1;
bean->seq_id = NULL;
bean->invoked = AXIS2_FALSE;
+ bean->rm_bean = NULL;
return bean;
}
@@ -93,16 +96,21 @@
bean->msg_no = msg_no;
bean->invoked = invoked;
+ bean->rm_bean = NULL;
return bean;
}
-
axis2_status_t AXIS2_CALL
sandesha2_invoker_bean_free(
sandesha2_invoker_bean_t *invoker,
const axis2_env_t *env)
{
+ if(invoker->rm_bean)
+ {
+ sandesha2_rm_bean_free(invoker->rm_bean, env);
+ invoker->rm_bean= NULL;
+ }
if(invoker->msg_context_ref_key)
{
AXIS2_FREE(env->allocator, invoker->msg_context_ref_key);
@@ -117,6 +125,23 @@
return AXIS2_SUCCESS;
}
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_invoker_bean_get_base(
+ sandesha2_invoker_bean_t* invoker,
+ const axis2_env_t *env)
+{
+ return invoker->rm_bean;
+
+}
+
+void AXIS2_CALL
+sandesha2_invoker_bean_set_base (
+ sandesha2_invoker_bean_t *invoker,
+ const axis2_env_t *env,
+ sandesha2_rm_bean_t* rm_bean)
+{
+ invoker->rm_bean = rm_bean;
+}
axis2_char_t* AXIS2_CALL
sandesha2_invoker_bean_get_msg_ctx_ref_key(
Modified: webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/next_msg_bean.c Wed Dec 6 04:27:54 2006
@@ -15,13 +15,15 @@
*/
#include <sandesha2_next_msg_bean.h>
+#include <sandesha2_rm_bean.h>
#include <string.h>
#include <axis2_string.h>
#include <axis2_utils.h>
-/* invoker_bean struct */
+/* next_msg_bean struct */
struct sandesha2_next_msg_bean_t
{
+ sandesha2_rm_bean_t *rm_bean;
axis2_char_t *seq_id;
axis2_char_t *ref_msg_key;
axis2_bool_t polling_mode;
@@ -48,6 +50,7 @@
bean->ref_msg_key = NULL;
bean->msg_no = -1;
bean->polling_mode = AXIS2_FALSE;
+ bean->rm_bean = NULL;
return bean;
}
@@ -75,6 +78,7 @@
bean->ref_msg_key = NULL;
bean->msg_no = msg_no;
bean->polling_mode = AXIS2_FALSE;
+ bean->rm_bean = NULL;
return bean;
}
@@ -84,6 +88,11 @@
sandesha2_next_msg_bean_t *next_msg_bean,
const axis2_env_t *env)
{
+ if(next_msg_bean->rm_bean)
+ {
+ sandesha2_rm_bean_free(next_msg_bean->rm_bean, env);
+ next_msg_bean->rm_bean= NULL;
+ }
if(next_msg_bean->seq_id)
{
AXIS2_FREE(env->allocator, next_msg_bean->seq_id);
@@ -97,6 +106,24 @@
return AXIS2_SUCCESS;
}
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_next_msg_bean_get_base(
+ sandesha2_next_msg_bean_t* next_msg,
+ const axis2_env_t *env)
+{
+ return next_msg->rm_bean;
+
+}
+
+void AXIS2_CALL
+sandesha2_next_msg_bean_set_base (
+ sandesha2_next_msg_bean_t *next_msg,
+ const axis2_env_t *env,
+ sandesha2_rm_bean_t* rm_bean)
+
+{
+ next_msg->rm_bean = rm_bean;
+}
axis2_char_t* AXIS2_CALL
sandesha2_next_msg_bean_get_seq_id(
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?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/sender_bean.c Wed Dec 6 04:27:54 2006
@@ -15,6 +15,7 @@
*/
#include <sandesha2_sender_bean.h>
+#include <sandesha2_rm_bean.h>
#include <string.h>
#include <axis2_string.h>
#include <axis2_utils.h>
@@ -23,6 +24,7 @@
/*sender_bean struct */
struct sandesha2_sender_bean_t
{
+ sandesha2_rm_bean_t *rm_bean;
axis2_char_t *msg_context_ref_key;
axis2_char_t *msg_id;
axis2_char_t *internal_seq_id;
@@ -34,6 +36,7 @@
int msg_type;
axis2_char_t *seq_id;
axis2_char_t *wsrm_anon_uri;
+ axis2_char_t *to_address;
};
@@ -64,6 +67,8 @@
sender->msg_type = 0;
sender->seq_id = NULL;
sender->wsrm_anon_uri = NULL;
+ sender->to_address = NULL;
+ sender->rm_bean = NULL;
return sender;
}
@@ -104,6 +109,7 @@
sender->msg_type = 0;
sender->seq_id = NULL;
sender->wsrm_anon_uri = NULL;
+ sender->rm_bean = NULL;
return sender;
}
@@ -113,6 +119,11 @@
sandesha2_sender_bean_t *sender,
const axis2_env_t *env)
{
+ if(sender->rm_bean)
+ {
+ sandesha2_rm_bean_free(sender->rm_bean, env);
+ sender->rm_bean= NULL;
+ }
if(sender->msg_context_ref_key)
{
AXIS2_FREE(env->allocator, sender->msg_context_ref_key);
@@ -142,6 +153,23 @@
}
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_sender_bean_get_base(
+ sandesha2_sender_bean_t* sender,
+ const axis2_env_t *env)
+{
+ return sender->rm_bean;
+}
+
+void AXIS2_CALL
+sandesha2_sender_bean_set_base (
+ sandesha2_sender_bean_t *sender,
+ const axis2_env_t *env,
+ sandesha2_rm_bean_t* rm_bean)
+{
+ sender->rm_bean = rm_bean;
+}
+
axis2_char_t* AXIS2_CALL
sandesha2_sender_bean_get_msg_ctx_ref_key (
sandesha2_sender_bean_t *sender,
@@ -370,4 +398,28 @@
sender->wsrm_anon_uri = (axis2_char_t *)AXIS2_STRDUP(anon_uri, env);
}
+
+void AXIS2_CALL
+sandesha2_sender_bean_set_to_address (
+ sandesha2_sender_bean_t *sender,
+ const axis2_env_t *env,
+ axis2_char_t *to_address)
+{
+ if(sender->to_address)
+ {
+ AXIS2_FREE(env->allocator, sender->to_address);
+ sender->to_address = NULL;
+ }
+
+ sender->to_address = (axis2_char_t *)AXIS2_STRDUP(to_address, env);
+}
+
+axis2_char_t* AXIS2_CALL
+sandesha2_sender_bean_get_to_address(
+ sandesha2_sender_bean_t *sender,
+ const axis2_env_t *env)
+{
+ return sender->to_address;
+}
+
Modified: webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c (original)
+++ webservices/sandesha/trunk/c/src/storage/beans/seq_property_bean.c Wed Dec 6 04:27:54 2006
@@ -15,6 +15,7 @@
*/
#include <sandesha2_seq_property_bean.h>
+#include <sandesha2_rm_bean.h>
#include <string.h>
#include <axis2_string.h>
#include <axis2_utils.h>
@@ -23,6 +24,7 @@
/*seq_property_bean struct */
struct sandesha2_seq_property_bean_t
{
+ sandesha2_rm_bean_t *rm_bean;
axis2_char_t *seq_id;
axis2_char_t *name;
axis2_char_t *value;
@@ -48,6 +50,7 @@
seq_property->seq_id = NULL;
seq_property->name = NULL;
seq_property->value = NULL;
+ seq_property->rm_bean = NULL;
return seq_property;
}
@@ -76,6 +79,7 @@
seq_property->seq_id = (axis2_char_t *)AXIS2_STRDUP(seq_id, env);
seq_property->name = (axis2_char_t *)AXIS2_STRDUP(prop_name, env);
seq_property->value = (axis2_char_t *)AXIS2_STRDUP(value, env);
+ seq_property->rm_bean = NULL;
return seq_property;
}
@@ -86,6 +90,11 @@
sandesha2_seq_property_bean_t *seq_property,
const axis2_env_t *env)
{
+ if(seq_property->rm_bean)
+ {
+ sandesha2_rm_bean_free(seq_property->rm_bean, env);
+ seq_property->rm_bean= NULL;
+ }
if(seq_property->seq_id)
{
AXIS2_FREE(env->allocator, seq_property->seq_id);
@@ -104,6 +113,23 @@
seq_property->value = NULL;
}
return AXIS2_SUCCESS;
+}
+
+sandesha2_rm_bean_t * AXIS2_CALL
+sandesha2_seq_property_bean_get_base(
+ sandesha2_seq_property_bean_t* seq_property,
+ const axis2_env_t *env)
+{
+ return seq_property->rm_bean;
+}
+
+void AXIS2_CALL
+sandesha2_seq_property_bean_set_base (
+ sandesha2_seq_property_bean_t *seq_property,
+ const axis2_env_t *env,
+ sandesha2_rm_bean_t* rm_bean)
+{
+ seq_property->rm_bean = rm_bean;
}
axis2_char_t *AXIS2_CALL
Modified: webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am?view=diff&rev=483051&r1=483050&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/Makefile.am Wed Dec 6 04:27:54 2006
@@ -1,13 +1,13 @@
noinst_LTLIBRARIES = libsandesha2_inmemory.la
libsandesha2_inmemory_la_SOURCES = \
- create_seq_mgr.c \
- invoker_mgr.c \
- sender_mgr.c \
- next_msg_mgr.c \
- seq_property_mgr.c \
- transaction.c \
- storage_mgr.c
+ inmemory_create_seq_mgr.c \
+ inmemory_invoker_mgr.c \
+ inmemory_sender_mgr.c \
+ inmemory_next_msg_mgr.c \
+ inmemory_seq_property_mgr.c \
+ inmemory_transaction.c \
+ inmemory_storage_mgr.c
INCLUDES = -I$(top_builddir)/include \
-I$(top_builddir)/include/sandesha2 \
Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/create_seq_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_create_seq_mgr.c Wed Dec 6 04:27:54 2006
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include <sandesha2_create_seq_mgr.h>
+#include <sandesha2_inmemory_create_seq_mgr.h>
#include <sandesha2_constants.h>
#include <sandesha2_error.h>
#include <axis2_log.h>
@@ -22,87 +22,97 @@
#include <axis2_thread.h>
#include <axis2_property.h>
-typedef struct sandesha2_create_seq_mgr_impl sandesha2_create_seq_mgr_impl_t;
-
/**
* @brief Sandesha Sequence Report Struct Impl
* Sandesha Sequence Report
*/
-struct sandesha2_create_seq_mgr_impl
+struct sandesha2_inmemory_create_seq_mgr
{
sandesha2_create_seq_mgr_t seq_mgr;
axis2_hash_t *table;
axis2_thread_mutex_t *mutex;
-};
+}sandesha2_inmemory_create_seq_mgr_t;
+
+#define SANDESHA2_INTF_TO_IMPL(seq_mgr) ((sandesha2_inmemory_create_seq_mgr_t *) seq_mgr)
-#define SANDESHA2_INTF_TO_IMPL(seq_mgr) ((sandesha2_create_seq_mgr_impl_t *) seq_mgr)
+static axis2_status_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_free(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *envv);
+
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_insert(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean);
+
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_remove(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ axis2_char_t *msg_id);
+
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_retrieve(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ const axis2_char_t *msg_id);
+
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_update(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean);
+
+static axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean);
+
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find_unique(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean);
-axis2_status_t AXIS2_CALL
-sandesha2_create_seq_mgr_free(
- void *seq_mgr,
- const axis2_env_t *envv);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_insert(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_remove(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- axis2_char_t *msg_id);
-
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_retrieve(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- const axis2_char_t *msg_id);
-
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_update(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean);
-
-axis2_array_list_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean);
-
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find_unique(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean);
+
+static const sandesha2_create_seq_mgr_ops_t create_seq_mgr_ops =
+{
+ sandesha2_inmemory_create_seq_mgr_free,
+ sandesha2_inmemory_create_seq_mgr_insert,
+ sandesha2_inmemory_create_seq_mgr_remove,
+ sandesha2_inmemory_create_seq_mgr_retrieve,
+ sandesha2_inmemory_create_seq_mgr_update,
+ sandesha2_inmemory_create_seq_mgr_find,
+ sandesha2_inmemory_create_seq_mgr_find_unique
+};
AXIS2_EXTERN sandesha2_create_seq_mgr_t * AXIS2_CALL
-sandesha2_create_seq_mgr_create(
- const axis2_env_t *env,
- axis2_ctx_t *ctx)
+sandesha2_inmemory_create_seq_mgr_create(
+ const axis2_env_t *env,
+ axis2_ctx_t *ctx)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
axis2_property_t *property = NULL;
AXIS2_ENV_CHECK(env, NULL);
seq_mgr_impl = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_create_seq_mgr_impl_t));
+ sizeof(sandesha2_inmemory_create_seq_mgr_t));
seq_mgr_impl->table = NULL;
seq_mgr_impl->mutex = NULL;
seq_mgr_impl->seq_mgr.ops = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_create_seq_mgr_ops_t));
+ sizeof(sandesha2_inmemory_create_seq_mgr_ops_t));
seq_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator,
AXIS2_THREAD_MUTEX_DEFAULT);
if(!seq_mgr_impl->mutex)
{
- sandesha2_create_seq_mgr_free(&(seq_mgr_impl->seq_mgr), env);
+ sandesha2_inmemory_create_seq_mgr_free(&(seq_mgr_impl->seq_mgr), env);
return NULL;
}
@@ -127,29 +137,16 @@
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_CREATE_SEQUECE,
property, AXIS2_FALSE);
}
- seq_mgr_impl->seq_mgr.ops->free = sandesha2_create_seq_mgr_free;
- seq_mgr_impl->seq_mgr.ops->insert =
- sandesha2_create_seq_mgr_insert;
- seq_mgr_impl->seq_mgr.ops->remove =
- sandesha2_create_seq_mgr_remove;
- seq_mgr_impl->seq_mgr.ops->retrieve =
- sandesha2_create_seq_mgr_retrieve;
- seq_mgr_impl->seq_mgr.ops->update =
- sandesha2_create_seq_mgr_update;
- seq_mgr_impl->seq_mgr.ops->find =
- sandesha2_create_seq_mgr_find;
- seq_mgr_impl->seq_mgr.ops->find_unique =
- sandesha2_create_seq_mgr_find_unique;
-
+ seq_mgr_impl->seq_mgr.ops = &create_seq_mgr_ops;
return &(seq_mgr_impl->seq_mgr);
}
-axis2_status_t AXIS2_CALL
-sandesha2_create_seq_mgr_free(
- void *seq_mgr,
- const axis2_env_t *env)
+static axis2_status_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_free(
+ void *seq_mgr,
+ const axis2_env_t *env)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
@@ -179,13 +176,13 @@
return AXIS2_SUCCESS;
}
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_insert(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean)
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_insert(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
axis2_char_t *msg_id = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -199,13 +196,13 @@
}
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_remove(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- axis2_char_t *msg_id)
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_remove(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ axis2_char_t *msg_id)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
@@ -217,13 +214,13 @@
}
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_retrieve(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- const axis2_char_t *msg_id)
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_retrieve(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ const axis2_char_t *msg_id)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
sandesha2_create_seq_bean_t *bean = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -236,13 +233,13 @@
return bean;
}
-axis2_bool_t AXIS2_CALL
-sandesha2_create_seq_mgr_update(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean)
+static axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_update(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
axis2_char_t *msg_id = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
@@ -259,13 +256,13 @@
return AXIS2_TRUE;
}
-axis2_array_list_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean)
+static axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
axis2_array_list_t *beans = NULL;
axis2_hash_index_t *i = NULL;
sandesha2_create_seq_bean_t *temp = NULL;
@@ -328,13 +325,13 @@
return beans;
}
-sandesha2_create_seq_bean_t *AXIS2_CALL
-sandesha2_create_seq_mgr_find_unique(
- sandesha2_create_seq_mgr_t *seq_mgr,
- const axis2_env_t *env,
- sandesha2_create_seq_bean_t *bean)
+static sandesha2_create_seq_bean_t *AXIS2_CALL
+sandesha2_inmemory_create_seq_mgr_find_unique(
+ sandesha2_create_seq_mgr_t *seq_mgr,
+ const axis2_env_t *env,
+ sandesha2_create_seq_bean_t *bean)
{
- sandesha2_create_seq_mgr_impl_t *seq_mgr_impl = NULL;
+ sandesha2_inmemory_create_seq_mgr_t *seq_mgr_impl = NULL;
axis2_array_list_t *beans = NULL;
int i = 0, size = 0;
sandesha2_create_seq_bean_t *ret = NULL;
@@ -344,7 +341,7 @@
seq_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_mgr);
- beans = sandesha2_create_seq_mgr_find(seq_mgr, env, bean);
+ beans = sandesha2_inmemory_create_seq_mgr_find(seq_mgr, env, bean);
if(beans)
size = AXIS2_ARRAY_LIST_SIZE(beans, env);
if( size > 1)
@@ -358,8 +355,6 @@
ret = AXIS2_ARRAY_LIST_GET(beans, env, i);
break;
}
-
-
return ret;
}
Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/invoker_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_invoker_mgr.c Wed Dec 6 04:27:54 2006
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include <sandesha2_invoker_mgr.h>
+#include <sandesha2_inmemory_invoker_mgr.h>
#include <sandesha2_constants.h>
#include <sandesha2_error.h>
#include <axis2_log.h>
@@ -23,167 +23,191 @@
#include <axis2_property.h>
/**
- * @brief Sandesha Sequence Report Struct Impl
- * Sandesha Sequence Report
+ * @brief Sandesha2 Inmemory Invoker Manager Struct Impl
+ * Sandesha2 Inmemory Invoker Manager
*/
-struct sandesha2_invoker_mgr_t
+struct sandesha2_inmemory_invoker_mgr
{
+ sandesha2_invoker_mgr_t invoker_mgr;
axis2_hash_t *table;
axis2_thread_mutex_t *mutex;
+}sandesha2_inmemory_invoker_mgr_t;
-};
+#define SANDESHA2_INTF_TO_IMPL(invoker_mgr) \
+ ((sandesha2_inmemory_invoker_mgr_t *) invoker_mgr)
-#define SANDESHA2_INTF_TO_IMPL(invoker) ((sandesha2_invoker_mgr_impl_t *) invoker)
+static const sandesha2_invoker_mgr_ops_t invoker_mgr_ops =
+{
+ sandesha2_inmemory_invoker_mgr_free,
+ sandesha2_inmemory_invoker_mgr_insert,
+ sandesha2_inmemory_invoker_mgr_remove,
+ sandesha2_inmemory_invoker_mgr_retrieve,
+ sandesha2_inmemory_invoker_mgr_update,
+ sandesha2_inmemory_invoker_mgr_find,
+ sandesha2_inmemory_invoker_mgr_find_unique
+};
AXIS2_EXTERN sandesha2_invoker_mgr_t * AXIS2_CALL
-sandesha2_invoker_mgr_create(
+sandesha2_inmemory_invoker_mgr_create(
const axis2_env_t *env,
axis2_ctx_t *ctx)
{
- sandesha2_invoker_mgr_t *invoker = NULL;
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
axis2_property_t *property = NULL;
AXIS2_ENV_CHECK(env, NULL);
- invoker = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_invoker_mgr_t));
+ invoker_mgr_impl = AXIS2_MALLOC(env->allocator,
+ sizeof(sandesha2_inmemory_invoker_mgr_t));
- invoker->table = NULL;
- invoker->mutex = NULL;
+ invoker_mgr_impl->table = NULL;
+ invoker_mgr_impl->mutex = NULL;
- invoker->mutex = axis2_thread_mutex_create(env->allocator,
+ invoker_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator,
AXIS2_THREAD_MUTEX_DEFAULT);
- if(!invoker->mutex)
+ if(!invoker_mgr_impl->mutex)
{
- sandesha2_invoker_mgr_free(invoker, env);
+ sandesha2_inmemory_invoker_mgr_free(invoker, env);
return NULL;
}
property = AXIS2_CTX_GET_PROPERTY(ctx, env,
SANDESHA2_BEAN_MAP_STORAGE_MAP, AXIS2_FALSE);
- if(NULL != property)
- invoker->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
- if(!invoker->table)
+ if(property)
+ invoker_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+ property, env);
+ if(!invoker_mgr_impl->table)
{
axis2_property_t *property = NULL;
property = axis2_property_create(env);
- invoker->table = axis2_hash_make(env);
- if(!property || !invoker->table)
+ invoker_mgr_impl->table = axis2_hash_make(env);
+ if(!property || !invoker_mgr_impl->table)
{
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->table);
+ AXIS2_PROPERTY_SET_VALUE(property, env, invoker_mgr_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,
property, AXIS2_FALSE);
}
+ invoker_mgr_impl->invoker_mgr->ops = &invoker_mgr_ops;
- return invoker;
+ return &(invoker_mgr_impl->invoker_mgr);
}
axis2_status_t AXIS2_CALL
-sandesha2_invoker_mgr_free(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_free(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env)
{
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
- if(invoker->mutex)
+ if(invoker_mgr_impl->mutex)
{
- axis2_thread_mutex_destroy(invoker->mutex);
- invoker->mutex = NULL;
+ axis2_thread_mutex_destroy(invoker_mgr_impl->mutex);
+ invoker_mgr->mutex = NULL;
}
- if(invoker->table)
+ if(invoker_mgr_impl->table)
{
- axis2_hash_free(invoker->table, env);
- invoker->table = NULL;
+ axis2_hash_free(invoker_mgr_impl->table, env);
+ invoker_mgr->table = NULL;
}
- if(invoker)
+ if(invoker_mgr_impl)
{
- AXIS2_FREE(env->allocator, invoker);
- invoker = NULL;
+ AXIS2_FREE(env->allocator, invoker_mgr_impl);
+ invoker_mgr = NULL;
}
return AXIS2_SUCCESS;
}
axis2_bool_t AXIS2_CALL
-sandesha2_invoker_mgr_insert(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_insert(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env,
sandesha2_invoker_bean_t *bean)
{
axis2_char_t *ref_key = NULL;
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
ref_key = sandesha2_invoker_bean_get_msg_ctx_ref_key(bean, env);
- axis2_hash_set(invoker->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
-
+ axis2_hash_set(invoker_mgr_impl->table, ref_key, AXIS2_HASH_KEY_STRING,
+ bean);
return AXIS2_TRUE;
}
axis2_bool_t AXIS2_CALL
-sandesha2_invoker_mgr_remove(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_remove(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env,
axis2_char_t *key)
{
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
- axis2_hash_set(invoker->table, key, AXIS2_HASH_KEY_STRING, NULL);
+ axis2_hash_set(invoker_mgr_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
return AXIS2_TRUE;
}
sandesha2_invoker_bean_t *AXIS2_CALL
-sandesha2_invoker_mgr_retrieve(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_retrieve(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env,
axis2_char_t *key)
{
sandesha2_invoker_bean_t *bean = NULL;
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, key, AXIS2_FALSE);
- bean = (sandesha2_invoker_bean_t *) axis2_hash_get(invoker->table,
+ bean = (sandesha2_invoker_bean_t *) axis2_hash_get(invoker_mgr_impl->table,
key, AXIS2_HASH_KEY_STRING);
return bean;
}
axis2_bool_t AXIS2_CALL
-sandesha2_invoker_mgr_update(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_update(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env,
sandesha2_invoker_bean_t *bean)
{
axis2_char_t *ref_key = NULL;
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
ref_key = sandesha2_invoker_bean_get_msg_ctx_ref_key(bean, env);
if(!ref_key)
{
return AXIS2_FALSE;
}
- axis2_hash_set(invoker->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
+ axis2_hash_set(invoker_mgr_impl->table, ref_key, AXIS2_HASH_KEY_STRING, bean);
return AXIS2_TRUE;
}
axis2_array_list_t *AXIS2_CALL
-sandesha2_invoker_mgr_find(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_find(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env,
sandesha2_invoker_bean_t *bean)
{
@@ -191,8 +215,10 @@
axis2_hash_index_t *i = NULL;
sandesha2_invoker_bean_t *temp = NULL;
void *v = NULL;
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
beans = axis2_array_list_create(env, 0);
if(!beans)
@@ -204,7 +230,7 @@
{
return beans;
}
- for (i = axis2_hash_first (invoker->table, env); i;
+ for (i = axis2_hash_first (invoker_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
axis2_bool_t select = AXIS2_TRUE;
@@ -254,19 +280,20 @@
}
sandesha2_invoker_bean_t *AXIS2_CALL
-sandesha2_invoker_mgr_find_unique(
- sandesha2_invoker_mgr_t *invoker,
+sandesha2_inmemory_invoker_mgr_find_unique(
+ sandesha2_invoker_mgr_t *invoker_mgr,
const axis2_env_t *env,
sandesha2_invoker_bean_t *bean)
{
axis2_array_list_t *beans = NULL;
int i = 0, size = 0;
sandesha2_invoker_bean_t *ret = NULL;
-
+ sandesha2_inmemory_invoker_mgr_t *invoker_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ invoker_mgr_impl = AXIS2_INTF_TO_IMPL(invoker_mgr);
- beans = sandesha2_invoker_mgr_find(invoker, env, bean);
+ beans = sandesha2_inmemory_invoker_mgr_find(invoker_mgr, env, bean);
if(beans)
size = AXIS2_ARRAY_LIST_SIZE(beans, env);
if( size > 1)
Added: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c?view=auto&rev=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c (added)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_next_msg_mgr.c Wed Dec 6 04:27:54 2006
@@ -0,0 +1,348 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <sandesha2_next_msg_mgr.h>
+#include <sandesha2_constants.h>
+#include <sandesha2_error.h>
+#include <sandesha2_utils.h>
+#include <axis2_log.h>
+#include <axis2_hash.h>
+#include <axis2_thread.h>
+#include <axis2_property.h>
+
+/**
+ * @brief Sandesha2 Inmemory Next Message Manager Struct Impl
+ * Sandesha Sequence2 Inmemory Next Message Manager
+ */
+struct sandesha2_inmemory_next_msg_mgr_t
+{
+ sandesha2_next_msg_mgr_t next_msg_mgr;
+ axis2_hash_t *table;
+ axis2_array_list_t *values;
+ axis2_thread_mutex_t *mutex;
+};
+
+#define SANDESHA2_INTF_TO_IMPL(next_msg_mgr) \
+ ((sandesha2_inmemory_next_msg_mgr_t *) next_msg_mgr)
+
+static const sandesha2_next_msg_mgr_ops_t next_msg_mgr_ops =
+{
+ sandesha2_inmemory_next_msg_mgr_free,
+ sandesha2_inmemory_next_msg_mgr_insert,
+ sandesha2_inmemory_next_msg_mgr_remove,
+ sandesha2_inmemory_next_msg_mgr_retrieve,
+ sandesha2_inmemory_next_msg_mgr_update,
+ sandesha2_inmemory_next_msg_mgr_find,
+ sandesha2_inmemory_next_msg_mgr_find_unique,
+ sandesha2_inmemory_next_msg_mgr_retrieve_all
+};
+
+AXIS2_EXTERN sandesha2_next_msg_mgr_t * AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_create(
+ const axis2_env_t *env,
+ axis2_ctx_t *ctx)
+{
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+ axis2_property_t *property = NULL;
+
+ AXIS2_ENV_CHECK(env, NULL);
+ next_msg_mgr_impl = AXIS2_MALLOC(env->allocator,
+ sizeof(sandesha2_inmemory_next_msg_mgr_t));
+
+ next_msg_mgr_impl->table = NULL;
+ next_msg_mgr_impl->values = NULL;
+ next_msg_mgr_impl->mutex = NULL;
+
+ next_msg_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator,
+ AXIS2_THREAD_MUTEX_DEFAULT);
+ if(!next_msg_mgr_impl->mutex)
+ {
+ sandesha2_inmemory_next_msg_mgr_free(&(next_msg_mgr_impl->next_msg),
+ env);
+ return NULL;
+ }
+ next_msg_mgr_impl->values = axis2_array_list_create(env, 0);
+ if(!next_msg_mgr_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);
+ if(property)
+ next_msg_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+ property, env);
+ if(!next_msg_mgr_impl->table)
+ {
+ axis2_property_t *property = NULL;
+
+ property = axis2_property_create(env);
+ next_msg_mgr_impl->table = axis2_hash_make(env);
+ if(!property || !next_msg_mgr_impl->table)
+ {
+ 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_mgr_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,
+ property, AXIS2_FALSE);
+ }
+ next_msg_mgr_impl->next_msg_mgr->ops = &next_msg_mgr_ops;
+
+ return &(next_msg_mgr_impl->next_msg_mgr);
+}
+
+axis2_status_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_free(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env)
+{
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ if(next_msg_mgr_impl->mutex)
+ {
+ axis2_thread_mutex_destroy(next_msg_mgr_impl->mutex);
+ next_msg_mgr_impl->mutex = NULL;
+ }
+ if(next_msg_mgr_impl->table)
+ {
+ axis2_hash_free(next_msg_mgr_impl->table, env);
+ next_msg_mgr_impl->table = NULL;
+ }
+ if(next_msg_mgr_impl->values)
+ {
+ AXIS2_ARRAY_LIST_FREE(next_msg_mgr_impl->values, env);
+ next_msg_mgr_impl->values = NULL;
+ }
+
+ if(next_msg_mgr_impl)
+ {
+ AXIS2_FREE(env->allocator, next_msg_mgr_impl);
+ next_msg_mgr_impl = NULL;
+ }
+ return AXIS2_SUCCESS;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_insert(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env,
+ sandesha2_next_msg_bean_t *bean)
+{
+ axis2_char_t *seq_id = NULL;
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ 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);
+ return AXIS2_FALSE;
+ }
+ axis2_hash_set(next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING,
+ bean);
+
+ return AXIS2_TRUE;
+
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_remove(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env,
+ axis2_char_t *seq_id)
+{
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ axis2_hash_set(next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING,
+ NULL);
+
+ return AXIS2_TRUE;
+
+}
+
+sandesha2_next_msg_bean_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_retrieve(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env,
+ axis2_char_t *seq_id)
+{
+ sandesha2_next_msg_bean_t *bean = NULL;
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ bean = (sandesha2_next_msg_bean_t *) axis2_hash_get(
+ next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING);
+
+ return bean;
+}
+
+axis2_bool_t AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_update(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env,
+ sandesha2_next_msg_bean_t *bean)
+{
+ axis2_char_t *seq_id = NULL;
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ seq_id = sandesha2_next_msg_bean_get_seq_id(bean, env);
+ if(!seq_id)
+ {
+ return AXIS2_FALSE;
+ }
+ axis2_hash_set(next_msg_mgr_impl->table, seq_id, AXIS2_HASH_KEY_STRING,
+ bean);
+ return AXIS2_TRUE;
+}
+
+axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_find(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env,
+ sandesha2_next_msg_bean_t *bean)
+{
+ axis2_array_list_t *beans = NULL;
+ axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ beans = axis2_array_list_create(env, 0);
+ if(!beans)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return NULL;
+ }
+ if(!bean)
+ return beans;
+ for (i = axis2_hash_first (next_msg_mgr_impl->table, env); i;
+ i = axis2_hash_next (env, i))
+ {
+ sandesha2_next_msg_bean_t *temp = NULL;
+ void *v = NULL;
+ axis2_bool_t equal = AXIS2_TRUE;
+ long next_msg_no = 0;
+ long temp_next_msg_no = 0;
+ axis2_char_t *seq_id = NULL;
+ axis2_char_t *temp_seq_id = NULL;
+
+ axis2_hash_this (i, NULL, NULL, &v);
+ temp = (sandesha2_next_msg_bean_t *) v;
+ next_msg_no = sandesha2_next_msg_bean_get_next_msg_no_to_process(bean,
+ env);
+ temp_next_msg_no = sandesha2_next_msg_bean_get_next_msg_no_to_process(
+ temp, env);
+ if(next_msg_no > 0 && (next_msg_no != temp_next_msg_no))
+ {
+ equal = AXIS2_FALSE;
+ }
+ seq_id = sandesha2_next_msg_bean_get_seq_id(bean, env);
+ temp_seq_id = sandesha2_next_msg_bean_get_seq_id(temp, env);
+ if(seq_id && temp_seq_id && 0 != AXIS2_STRCMP(seq_id, temp_seq_id))
+ {
+ equal = AXIS2_FALSE;
+ }
+ if(AXIS2_TRUE == equal)
+ {
+ AXIS2_ARRAY_LIST_ADD(beans, env, temp);
+ }
+
+ }
+
+ return beans;
+}
+
+sandesha2_next_msg_bean_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_find_unique(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env,
+ sandesha2_next_msg_bean_t *bean)
+{
+ axis2_array_list_t *beans = NULL;
+ int i = 0, size = 0;
+ sandesha2_next_msg_bean_t *ret = NULL;
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ beans = sandesha2_inmemory_next_msg_mgr_find(next_msg, env,
+ bean);
+ if(beans)
+ size = AXIS2_ARRAY_LIST_SIZE(beans, env);
+ if( size > 1)
+ {
+ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Non-Unique result");
+ AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_NON_UNIQUE_RESULT,
+ AXIS2_FAILURE);
+ return NULL;
+ }
+ for(i = 0; i < size; i++)
+ {
+ ret = AXIS2_ARRAY_LIST_GET(beans, env, i);
+ break;
+ }
+
+
+ return ret;
+}
+
+axis2_array_list_t *AXIS2_CALL
+sandesha2_inmemory_next_msg_mgr_retrieve_all(
+ sandesha2_next_msg_mgr_t *next_msg_mgr,
+ const axis2_env_t *env)
+{
+ axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_next_msg_mgr_t *next_msg_mgr_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ next_msg_mgr_impl = SANDESHA2_INTF_TO_IMPL(next_msg_mgr);
+
+ for (i = axis2_hash_first (next_msg_mgr_impl->table, env); i;
+ i = axis2_hash_next (env, i))
+ {
+ sandesha2_next_msg_bean_t *bean = NULL;
+ void *v = NULL;
+
+ axis2_hash_this (i, NULL, NULL, &v);
+ bean = (sandesha2_next_msg_bean_t *) v;
+ AXIS2_ARRAY_LIST_ADD(next_msg_mgr_impl->values, env, bean);
+ }
+
+ return next_msg_mgr_impl->values;
+}
+
Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/sender_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_sender_mgr.c Wed Dec 6 04:27:54 2006
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-#include <sandesha2_sender_mgr.h>
+#include <sandesha2_inmemory_sender_mgr.h>
#include <sandesha2_constants.h>
#include <sandesha2_error.h>
#include <sandesha2_utils.h>
@@ -24,106 +24,127 @@
#include <axis2_property.h>
/**
- * @brief Sandesha Sequence Report Struct Impl
- * Sandesha Sequence Report
+ * @brief Sandesha2 Inmemory Sender Manager Struct Impl
+ * Sandesha2 Inmemory Sender Manager
*/
-struct sandesha2_sender_mgr_t
+struct sandesha2_inmemory_sender_mgr
{
+ sandesha2_sender_mgr_t sender_mgr;
axis2_hash_t *table;
axis2_thread_mutex_t *mutex;
+}sandesha2_inmemory_sender_mgr_t;
-};
+#define SANDESHA2_INTF_TO_IMPL(sender_mgr) \
+ ((sandesha2_inmemory_sender_mgr_t *) sender_mgr)
static axis2_status_t
-sandesha2_sender_mgr_update_next_sending_time(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_update_next_sending_time(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
sandesha2_sender_bean_t *bean);
+static const sandesha2_sender_mgr_ops_t sender_mgr_ops =
+{
+ sandesha2_inmemory_sender_mgr_free,
+ sandesha2_inmemory_sender_mgr_insert,
+ sandesha2_inmemory_sender_mgr_remove,
+ sandesha2_inmemory_sender_mgr_retrieve,
+ sandesha2_inmemory_sender_mgr_update,
+ sandesha2_inmemory_sender_mgr_find_by_internal_seq_id,
+ sandesha2_inmemory_sender_mgr_find_by_sender_bean,
+ sandesha2_inmemory_sender_mgr_find_unique,
+ sandesha2_inmemory_sender_mgr_get_next_msg_to_send,
+ sandesha2_inmemory_sender_mgr_retrieve_from_msg_ref_key
+};
AXIS2_EXTERN sandesha2_sender_mgr_t * AXIS2_CALL
-sandesha2_sender_mgr_create(
+sandesha2_inmemory_sender_mgr_create(
const axis2_env_t *env,
axis2_ctx_t *ctx)
{
- sandesha2_sender_mgr_t *sender = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
axis2_property_t *property = NULL;
AXIS2_ENV_CHECK(env, NULL);
- sender = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_sender_mgr_t));
+ sender_mgr_impl = AXIS2_MALLOC(env->allocator,
+ sizeof(sandesha2_inmemory_sender_mgr_t));
- sender->table = NULL;
- sender->mutex = NULL;
+ sender_mgr_impl->table = NULL;
+ sender_mgr_impl->mutex = NULL;
- sender->mutex = axis2_thread_mutex_create(env->allocator,
+ sender_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator,
AXIS2_THREAD_MUTEX_DEFAULT);
- if(!sender->mutex)
+ if(!sender_mgr_impl->mutex)
{
- sandesha2_sender_mgr_free(sender, env);
+ sandesha2_inmemory_sender_mgr_free(&(sender_mgr_impl->sender_mgr), env);
return NULL;
}
property = AXIS2_CTX_GET_PROPERTY(ctx, env,
SANDESHA2_BEAN_MAP_RETRANSMITTER, AXIS2_FALSE);
if(NULL != property)
- sender->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
- if(!sender->table)
+ sender_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+ property, env);
+ if(!sender_mgr_impl->table)
{
axis2_property_t *property = NULL;
property = axis2_property_create(env);
- sender->table = axis2_hash_make(env);
- if(!property || !sender->table)
+ sender_mgr_impl->table = axis2_hash_make(env);
+ if(!property || !sender_mgr_impl->table)
{
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->table);
+ AXIS2_PROPERTY_SET_VALUE(property, env, sender_mgr_impl->table);
AXIS2_PROPERTY_SET_FREE_FUNC(property, env, axis2_hash_free_void_arg);
AXIS2_CTX_SET_PROPERTY(ctx, env, SANDESHA2_BEAN_MAP_RETRANSMITTER,
property, AXIS2_FALSE);
}
-
- return sender;
+ sender_mgr_impl->sender_mgr->ops = &sender_mgr_ops;
+ return &(sender_mgr_impl->sender_mgr);
}
axis2_status_t AXIS2_CALL
-sandesha2_sender_mgr_free(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_free(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env)
{
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
- if(sender->mutex)
+ if(sender_mgr_impl->mutex)
{
- axis2_thread_mutex_destroy(sender->mutex);
- sender->mutex = NULL;
+ axis2_thread_mutex_destroy(sender_mgr_impl->mutex);
+ sender_mgr_impl->mutex = NULL;
}
- if(sender->table)
+ if(sender_mgr_impl->table)
{
- axis2_hash_free(sender->table, env);
- sender->table = NULL;
+ axis2_hash_free(sender_mgr_impl->table, env);
+ sender_mgr_impl->table = NULL;
}
- if(sender)
+ if(sender_mgr_impl)
{
- AXIS2_FREE(env->allocator, sender);
- sender = NULL;
+ AXIS2_FREE(env->allocator, sender_mgr_impl);
+ sender_mgr_impl = NULL;
}
return AXIS2_SUCCESS;
}
axis2_bool_t AXIS2_CALL
-sandesha2_sender_mgr_insert(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_insert(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
sandesha2_sender_bean_t *bean)
{
axis2_char_t *msg_id = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
msg_id = sandesha2_sender_bean_get_msg_id(bean, env);
if(!msg_id)
@@ -131,54 +152,58 @@
AXIS2_ERROR_SET(env->error, SANDESHA2_ERROR_KEY_IS_NULL, AXIS2_FAILURE);
return AXIS2_FALSE;
}
- axis2_hash_set(sender->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
+ axis2_hash_set(sender_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, bean);
return AXIS2_TRUE;
-
}
axis2_bool_t AXIS2_CALL
-sandesha2_sender_mgr_remove(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_remove(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
const axis2_char_t *msg_id)
{
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
- axis2_hash_set(sender->table, msg_id, AXIS2_HASH_KEY_STRING, NULL);
+ axis2_hash_set(sender_mgr_impl->table, msg_id, AXIS2_HASH_KEY_STRING, NULL);
return AXIS2_TRUE;
-
}
sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_retrieve(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_retrieve(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
const axis2_char_t *msg_id)
{
sandesha2_sender_bean_t *bean = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, msg_id, AXIS2_FALSE);
- bean = (sandesha2_sender_bean_t *) axis2_hash_get(sender->table,
+ bean = (sandesha2_sender_bean_t *) axis2_hash_get(sender_mgr_impl->table,
msg_id, AXIS2_HASH_KEY_STRING);
return bean;
}
axis2_bool_t AXIS2_CALL
-sandesha2_sender_mgr_update(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_update(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
sandesha2_sender_bean_t *bean)
{
axis2_char_t *msg_id = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
msg_id = sandesha2_sender_bean_get_msg_ctx_ref_key(bean, env);
if(!msg_id)
@@ -190,15 +215,17 @@
}
axis2_array_list_t *AXIS2_CALL
-sandesha2_sender_mgr_find_by_internal_seq_id(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_by_internal_seq_id(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
axis2_char_t *internal_seq_id)
{
axis2_array_list_t *list = NULL;
axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
list = axis2_array_list_create(env, 0);
if(!list)
@@ -208,7 +235,7 @@
}
if(!internal_seq_id || 0 == AXIS2_STRCMP(internal_seq_id, ""))
return list;
- for (i = axis2_hash_first (sender->table, env); i;
+ for (i = axis2_hash_first (sender_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_sender_bean_t *sender_bean = NULL;
@@ -231,15 +258,17 @@
}
axis2_array_list_t *AXIS2_CALL
-sandesha2_sender_mgr_find_by_sender_bean(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_by_sender_bean(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
sandesha2_sender_bean_t *bean)
{
axis2_array_list_t *beans = NULL;
axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
beans = axis2_array_list_create(env, 0);
if(!beans)
@@ -251,7 +280,7 @@
{
return beans;
}
- for (i = axis2_hash_first (sender->table, env); i;
+ for (i = axis2_hash_first (sender_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_sender_bean_t *temp = NULL;
@@ -337,19 +366,21 @@
}
sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_find_unique(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_unique(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
sandesha2_sender_bean_t *bean)
{
axis2_array_list_t *beans = NULL;
int i = 0, size = 0;
sandesha2_sender_bean_t *ret = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
- beans = sandesha2_sender_mgr_find_by_sender_bean(sender, env,
+ beans = sandesha2_inmemory_sender_mgr_find_by_sender_bean(sender_mgr, env,
bean);
if(beans)
size = AXIS2_ARRAY_LIST_SIZE(beans, env);
@@ -371,16 +402,18 @@
}
sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_get_next_msg_to_send(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_get_next_msg_to_send(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env)
{
long lowest_app_msg_no = 0;
axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
- for (i = axis2_hash_first (sender->table, env); i;
+ for (i = axis2_hash_first (sender_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_sender_bean_t *temp = NULL;
@@ -410,7 +443,7 @@
}
}
- for (i = axis2_hash_first (sender->table, env); i;
+ for (i = axis2_hash_first (sender_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_sender_bean_t *temp = NULL;
@@ -428,7 +461,6 @@
{
long time_to_send = 0;
long time_now = 0;
-
time_to_send = sandesha2_sender_bean_get_time_to_send(temp, env);
time_now = sandesha2_utils_get_current_time_in_millis(env);
if(time_now >= time_to_send)
@@ -447,8 +479,8 @@
valid = AXIS2_TRUE;
if(AXIS2_TRUE == valid)
{
- sandesha2_sender_mgr_update_next_sending_time(
- sender, env, temp);
+ sandesha2_inmemory_sender_mgr_update_next_sending_time(
+ sender_mgr, env, temp);
return temp;
}
}
@@ -458,8 +490,8 @@
}
static axis2_status_t
-sandesha2_sender_mgr_update_next_sending_time(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_update_next_sending_time(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
sandesha2_sender_bean_t *bean)
{
@@ -468,17 +500,19 @@
/*
static axis2_array_list_t *
-sandesha2_sender_mgr_find_beans_with_msg_no(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_find_beans_with_msg_no(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
axis2_array_list_t *list,
long msg_no)
{
axis2_array_list_t *beans = NULL;
int i = 0, size =0;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, list, NULL);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
beans = axis2_array_list_create(env, 0);
if(!beans)
@@ -507,17 +541,19 @@
*/
sandesha2_sender_bean_t *AXIS2_CALL
-sandesha2_sender_mgr_retrieve_from_msg_ref_key(
- sandesha2_sender_mgr_t *sender,
+sandesha2_inmemory_sender_mgr_retrieve_from_msg_ref_key(
+ sandesha2_sender_mgr_t *sender_mgr,
const axis2_env_t *env,
axis2_char_t *msg_ctx_ref_key)
{
axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_sender_mgr_t *sender_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, NULL);
AXIS2_PARAM_CHECK(env->error, msg_ctx_ref_key, NULL);
+ sender_mgr_impl = SANDESHA2_INTF_TO_IMPL(sender_mgr);
- for (i = axis2_hash_first (sender->table, env); i;
+ for (i = axis2_hash_first (sender_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_sender_bean_t *bean = NULL;
Copied: webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c (from r482886, webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c)
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c?view=diff&rev=483051&p1=webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c&r1=482886&p2=webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c&r2=483051
==============================================================================
--- webservices/sandesha/trunk/c/src/storage/inmemory/seq_property_mgr.c (original)
+++ webservices/sandesha/trunk/c/src/storage/inmemory/inmemory_seq_property_mgr.c Wed Dec 6 04:27:54 2006
@@ -24,49 +24,66 @@
#include <axis2_property.h>
/**
- * @brief Sandesha Sequence Report Struct Impl
- * Sandesha Sequence Report
+ * @brief Sandesha Inmemory Sequence Property Manager Struct Impl
+ * Sandesha Inmemory Sequence Property Manager
*/
-struct sandesha2_seq_property_mgr_t
+struct sandesha2_inmemory_seq_property_mgr
{
+ sandesha2_seq_property_mgr_t seq_prop_mgr;
axis2_hash_t *table;
axis2_array_list_t *values;
axis2_thread_mutex_t *mutex;
+} sandesha2_inmemory_seq_property_mgr_t;
-};
+#define SANDESHA2_INTF_TO_IMPL(seq_property_mgr) \
+ ((sandesha2_inmemory_seq_property_mgr_t *) seq_property_mgr)
static axis2_char_t *
-sandesha2_seq_property_mgr_get_id(
+sandesha2_inmemory_seq_property_mgr_get_id(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean);
+static const sandesha2_seq_property_mgr_ops_t seq_property_mgr_ops =
+{
+ sandesha2_inmemory_seq_property_mgr_free,
+ sandesha2_inmemory_seq_property_mgr_insert,
+ sandesha2_inmemory_seq_property_mgr_remove,
+ sandesha2_inmemory_seq_property_mgr_retrieve,
+ sandesha2_inmemory_seq_property_mgr_update,
+ sandesha2_inmemory_seq_property_mgr_find,
+ sandesha2_inmemory_seq_property_mgr_find_unique,
+ sandesha2_inmemory_seq_property_mgr_retrieve_all,
+ sandesha2_inmemory_seq_property_mgr_update_or_insert
+};
+
AXIS2_EXTERN sandesha2_seq_property_mgr_t * AXIS2_CALL
-sandesha2_seq_property_mgr_create(
+sandesha2_inmemory_seq_property_mgr_create(
const axis2_env_t *env,
axis2_ctx_t *ctx)
{
- sandesha2_seq_property_mgr_t *seq_prop_mgr = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
axis2_property_t *property = NULL;
AXIS2_ENV_CHECK(env, NULL);
- seq_prop_mgr = AXIS2_MALLOC(env->allocator,
- sizeof(sandesha2_seq_property_mgr_t));
+ seq_prop_mgr_impl = AXIS2_MALLOC(env->allocator,
+ sizeof(sandesha2_inmemory_seq_property_mgr_t));
- seq_prop_mgr->table = NULL;
- seq_prop_mgr->values = NULL;
- seq_prop_mgr->mutex = NULL;
+ seq_prop_mgr_impl->table = NULL;
+ seq_prop_mgr_impl->values = NULL;
+ seq_prop_mgr_impl->mutex = NULL;
- seq_prop_mgr->mutex = axis2_thread_mutex_create(env->allocator,
+ seq_prop_mgr_impl->mutex = axis2_thread_mutex_create(env->allocator,
AXIS2_THREAD_MUTEX_DEFAULT);
- if(!seq_prop_mgr->mutex)
+ if(!seq_prop_mgr_impl->mutex)
{
- sandesha2_seq_property_mgr_free(seq_prop_mgr, env);
+ sandesha2_inmemory_seq_property_mgr_free(&(seq_prop_mgr_impl->
+ seq_prop_mgr), env);
return NULL;
}
- seq_prop_mgr->values = axis2_array_list_create(env, 0);
- if(!seq_prop_mgr->values)
+ seq_prop_mgr_impl->values = axis2_array_list_create(env, 0);
+ if(!seq_prop_mgr_impl->values)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return NULL;
@@ -75,61 +92,65 @@
property = AXIS2_CTX_GET_PROPERTY(ctx, env,
SANDESHA2_BEAN_MAP_SEQ_PROPERTY, AXIS2_FALSE);
if(NULL != property)
- seq_prop_mgr->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(property, env);
- if(!seq_prop_mgr->table)
+ seq_prop_mgr_impl->table = (axis2_hash_t *) AXIS2_PROPERTY_GET_VALUE(
+ property, env);
+ if(!seq_prop_mgr_impl->table)
{
axis2_property_t *property = NULL;
property = axis2_property_create(env);
- seq_prop_mgr->table = axis2_hash_make(env);
- if(!property || !seq_prop_mgr->table)
+ seq_prop_mgr_impl->table = axis2_hash_make(env);
+ if(!property || !seq_prop_mgr_impl->table)
{
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_prop_mgr->table);
+ AXIS2_PROPERTY_SET_VALUE(property, env, seq_prop_mgr_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,
property, AXIS2_FALSE);
}
- return seq_prop_mgr;
+ seq_prop_mgr_impl->seq_prop_mgr->ops = &seq_property_mgr_ops;
+ return &(seq_prop_mgr_impl->seq_prop_mgr);
}
axis2_status_t AXIS2_CALL
-sandesha2_seq_property_mgr_free(
+sandesha2_inmemory_seq_property_mgr_free(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env)
{
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
- if(seq_prop_mgr->mutex)
+ if(seq_prop_mgr_impl->mutex)
{
- axis2_thread_mutex_destroy(seq_prop_mgr->mutex);
- seq_prop_mgr->mutex = NULL;
+ axis2_thread_mutex_destroy(seq_prop_mgr_impl->mutex);
+ seq_prop_mgr_impl->mutex = NULL;
}
- if(seq_prop_mgr->values)
+ if(seq_prop_mgr_impl->values)
{
- AXIS2_ARRAY_LIST_FREE(seq_prop_mgr->values, env);
- seq_prop_mgr->values = NULL;
+ AXIS2_ARRAY_LIST_FREE(seq_prop_mgr_impl->values, env);
+ seq_prop_mgr_impl->values = NULL;
}
- if(seq_prop_mgr->table)
+ if(seq_prop_mgr_impl->table)
{
- axis2_hash_free(seq_prop_mgr->table, env);
- seq_prop_mgr->table = NULL;
+ axis2_hash_free(seq_prop_mgr_impl->table, env);
+ seq_prop_mgr_impl->table = NULL;
}
- if(seq_prop_mgr)
+ if(seq_prop_mgr_impl)
{
- AXIS2_FREE(env->allocator, seq_prop_mgr);
- seq_prop_mgr = NULL;
+ AXIS2_FREE(env->allocator, seq_prop_mgr_impl);
+ seq_prop_mgr_impl = NULL;
}
return AXIS2_SUCCESS;
}
axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_insert(
+sandesha2_inmemory_seq_property_mgr_insert(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean)
@@ -137,9 +158,11 @@
axis2_char_t *seq_id = NULL;
axis2_char_t *id = NULL;
axis2_char_t *name = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
seq_id = sandesha2_seq_property_bean_get_seq_id(bean, env);
if(!seq_id)
@@ -152,14 +175,14 @@
return AXIS2_FALSE;
}
id = axis2_strcat(env, seq_id, ":", name, NULL);
- axis2_hash_set(seq_prop_mgr->table, id, AXIS2_HASH_KEY_STRING, bean);
+ axis2_hash_set(seq_prop_mgr_impl->table, id, AXIS2_HASH_KEY_STRING, bean);
return AXIS2_TRUE;
}
axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_remove(
+sandesha2_inmemory_seq_property_mgr_remove(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
axis2_char_t *seq_id,
@@ -167,15 +190,17 @@
{
sandesha2_seq_property_bean_t *bean = NULL;
axis2_char_t *key = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, name, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
- bean = sandesha2_seq_property_mgr_retrieve(seq_prop_mgr, env,
+ bean = sandesha2_inmemory_seq_property_mgr_retrieve(seq_prop_mgr, env,
seq_id, name);
key = axis2_strcat(env, seq_id, ":", name, NULL);
- axis2_hash_set(seq_prop_mgr->table, key, AXIS2_HASH_KEY_STRING, NULL);
+ axis2_hash_set(seq_prop_mgr_impl->table, key, AXIS2_HASH_KEY_STRING, NULL);
AXIS2_FREE(env->allocator, key);
return AXIS2_TRUE;
@@ -183,7 +208,7 @@
}
sandesha2_seq_property_bean_t *AXIS2_CALL
-sandesha2_seq_property_mgr_retrieve(
+sandesha2_inmemory_seq_property_mgr_retrieve(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
axis2_char_t *seq_id,
@@ -191,56 +216,62 @@
{
sandesha2_seq_property_bean_t *bean = NULL;
axis2_char_t *key = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, seq_id, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, name, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
key = axis2_strcat(env, seq_id, ":", name, NULL);
- bean = (sandesha2_seq_property_bean_t *) axis2_hash_get(seq_prop_mgr->table,
+ bean = (sandesha2_seq_property_bean_t *) axis2_hash_get(seq_prop_mgr_impl->table,
key, AXIS2_HASH_KEY_STRING);
return bean;
}
axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_update(
+sandesha2_inmemory_seq_property_mgr_update(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean)
{
axis2_char_t *id = NULL;
sandesha2_seq_property_bean_t *bean_l = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
- id = sandesha2_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
+ id = sandesha2_inmemory_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
if(!id)
{
return AXIS2_FALSE;
}
- bean_l = axis2_hash_get(seq_prop_mgr->table, id,
+ bean_l = axis2_hash_get(seq_prop_mgr_impl->table, id,
AXIS2_HASH_KEY_STRING);
if(!bean_l)
{
return AXIS2_FALSE;
}
- axis2_hash_set(seq_prop_mgr->table, id,
+ axis2_hash_set(seq_prop_mgr_impl->table, id,
AXIS2_HASH_KEY_STRING, bean);
return AXIS2_TRUE;
}
axis2_array_list_t *AXIS2_CALL
-sandesha2_seq_property_mgr_find(
+sandesha2_inmemory_seq_property_mgr_find(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean)
{
axis2_array_list_t *beans = NULL;
axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
beans = axis2_array_list_create(env, 0);
if(!beans)
@@ -252,7 +283,7 @@
{
return beans;
}
- for (i = axis2_hash_first (seq_prop_mgr->table, env); i;
+ for (i = axis2_hash_first (seq_prop_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_seq_property_bean_t *temp = NULL;
@@ -297,7 +328,7 @@
}
sandesha2_seq_property_bean_t *AXIS2_CALL
-sandesha2_seq_property_mgr_find_unique(
+sandesha2_inmemory_seq_property_mgr_find_unique(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean)
@@ -305,11 +336,13 @@
axis2_array_list_t *beans = NULL;
int i = 0, size = 0;
sandesha2_seq_property_bean_t *ret = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
AXIS2_PARAM_CHECK(env->error, bean, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
- beans = sandesha2_seq_property_mgr_find(seq_prop_mgr, env,
+ beans = sandesha2_inmemory_seq_property_mgr_find(seq_prop_mgr, env,
bean);
if(beans)
size = AXIS2_ARRAY_LIST_SIZE(beans, env);
@@ -330,15 +363,17 @@
}
axis2_array_list_t *AXIS2_CALL
-sandesha2_seq_property_mgr_retrieve_all(
+sandesha2_inmemory_seq_property_mgr_retrieve_all(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env)
{
axis2_hash_index_t *i = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
- for (i = axis2_hash_first (seq_prop_mgr->table, env); i;
+ for (i = axis2_hash_first (seq_prop_mgr_impl->table, env); i;
i = axis2_hash_next (env, i))
{
sandesha2_seq_property_bean_t *bean = NULL;
@@ -346,43 +381,45 @@
axis2_hash_this (i, NULL, NULL, &v);
bean = (sandesha2_seq_property_bean_t *) v;
- AXIS2_ARRAY_LIST_ADD(seq_prop_mgr->values, env, bean);
+ AXIS2_ARRAY_LIST_ADD(seq_prop_mgr_impl->values, env, bean);
}
- return seq_prop_mgr->values;
+ return seq_prop_mgr_impl->values;
}
axis2_bool_t AXIS2_CALL
-sandesha2_seq_property_mgr_update_or_insert(
+sandesha2_inmemory_seq_property_mgr_update_or_insert(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean)
{
axis2_char_t *id = NULL;
sandesha2_seq_property_bean_t *bean_l = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
- id = sandesha2_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
+ id = sandesha2_inmemory_seq_property_mgr_get_id(seq_prop_mgr, env, bean);
if(!id)
{
return AXIS2_FALSE;
}
- bean_l = axis2_hash_get(seq_prop_mgr->table, id,
+ bean_l = axis2_hash_get(seq_prop_mgr_impl->table, id,
AXIS2_HASH_KEY_STRING);
if(!bean_l)
{
- axis2_hash_set(seq_prop_mgr->table, id,
+ axis2_hash_set(seq_prop_mgr_impl->table, id,
AXIS2_HASH_KEY_STRING, bean);
}
- axis2_hash_set(seq_prop_mgr->table, id,
+ axis2_hash_set(seq_prop_mgr_impl->table, id,
AXIS2_HASH_KEY_STRING, bean);
return AXIS2_TRUE;
}
static axis2_char_t *
-sandesha2_seq_property_mgr_get_id(
+sandesha2_inmemory_seq_property_mgr_get_id(
sandesha2_seq_property_mgr_t *seq_prop_mgr,
const axis2_env_t *env,
sandesha2_seq_property_bean_t *bean)
@@ -390,8 +427,10 @@
axis2_char_t *seq_id = NULL;
axis2_char_t *name = NULL;
axis2_char_t *id = NULL;
+ sandesha2_inmemory_seq_property_mgr_t *seq_prop_mgr_impl = NULL;
AXIS2_ENV_CHECK(env, AXIS2_FALSE);
+ seq_prop_mgr_impl = SANDESHA2_INTF_TO_IMPL(seq_prop_mgr);
seq_id = sandesha2_seq_property_bean_get_seq_id(bean, env);
name = sandesha2_seq_property_bean_get_name(bean, env);
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org