Author: damitha
Date: Wed Jun 25 01:27:12 2008
New Revision: 671460

URL: http://svn.apache.org/viewvc?rev=671460&view=rev
Log:
Fixed the segfault caused by my previous commit

Modified:
    webservices/savan/trunk/c/include/savan_db_mgr.h
    webservices/savan/trunk/c/include/savan_util.h
    webservices/savan/trunk/c/src/client/savan_publishing_client.c
    webservices/savan/trunk/c/src/core/savan_sub_processor.c
    webservices/savan/trunk/c/src/handlers/savan_in_handler.c
    webservices/savan/trunk/c/src/handlers/savan_out_handler.c
    webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c
    webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c
    webservices/savan/trunk/c/src/util/db_mgr.c
    webservices/savan/trunk/c/src/util/savan_util.c

Modified: webservices/savan/trunk/c/include/savan_db_mgr.h
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/include/savan_db_mgr.h?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/include/savan_db_mgr.h (original)
+++ webservices/savan/trunk/c/include/savan_db_mgr.h Wed Jun 25 01:27:12 2008
@@ -85,53 +85,53 @@
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_insert_subscriber(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     savan_subscriber_t *subscriber);
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_update_subscriber(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     savan_subscriber_t *subscriber);
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_insert_topic(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     axis2_char_t *topic_name,
     axis2_char_t *topic_url);
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_remove(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     axis2_char_t *sql_stmt_remove);
 
 AXIS2_EXTERN savan_subscriber_t *AXIS2_CALL
 savan_db_mgr_retrieve(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     int (*retrieve_func)(void *, int, char **, char **),
     axis2_char_t *sql_stmt_retrieve);
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_update(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     axis2_char_t *sql_stmt_update);
 
 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL
 savan_db_mgr_retrieve_all(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     int (*find_func)(void *, int, char **, char **),
     axis2_char_t *sql_stmt_find);
 
 AXIS2_EXTERN void * AXIS2_CALL
 savan_db_mgr_get_dbconn(
-    savan_db_mgr_t *db_mgr, 
-    const axutil_env_t *env);
+    const axutil_env_t *env,
+    const axis2_char_t *dbname);
 
 axis2_char_t *AXIS2_CALL
 savan_db_mgr_create_update_sql(
@@ -146,8 +146,8 @@
  */
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_create_db(
-    savan_db_mgr_t *db_mgr,
-    const axutil_env_t *env);
+    const axutil_env_t *env,
+    const axis2_char_t *dbname);
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/savan/trunk/c/include/savan_util.h
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/include/savan_util.h?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/include/savan_util.h (original)
+++ webservices/savan/trunk/c/include/savan_util.h Wed Jun 25 01:27:12 2008
@@ -276,7 +276,7 @@
     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
     savan_util_get_dbname(
         const axutil_env_t *env,
-        axis2_conf_ctx_t *conf_ctx);
+        axis2_conf_t *conf);
 
     /**
     * Get the topics registered in a subscription manager

Modified: webservices/savan/trunk/c/src/client/savan_publishing_client.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/client/savan_publishing_client.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/client/savan_publishing_client.c (original)
+++ webservices/savan/trunk/c/src/client/savan_publishing_client.c Wed Jun 25 
01:27:12 2008
@@ -148,7 +148,6 @@
     else
     {
         axis2_char_t sql_retrieve[256];
-        savan_db_mgr_t *db_mgr = NULL;
         axis2_char_t *topic_name = NULL;
 
         topic_name = savan_util_get_topic_name_from_topic_url(env, topic_url);
@@ -156,14 +155,8 @@
             "expires, filter, renewed, topic_url from subscriber, topic"\
             " where topic.topic_name=subscriber.topic_name and"\
             " topic.topic_name='%s';", topic_name);
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(!db_mgr)
-        {
-            AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI,
-                             "[savan]database manager creation failed");
-        }
 
-        subs_store = savan_db_mgr_retrieve_all(db_mgr, env,
+        subs_store = savan_db_mgr_retrieve_all(env, savan_util_get_dbname(env, 
conf),
                                                
savan_db_mgr_subs_find_callback, 
                                                sql_retrieve);
     }

Modified: webservices/savan/trunk/c/src/core/savan_sub_processor.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/core/savan_sub_processor.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/core/savan_sub_processor.c (original)
+++ webservices/savan/trunk/c/src/core/savan_sub_processor.c Wed Jun 25 
01:27:12 2008
@@ -204,8 +204,8 @@
     axis2_bool_t renewable = AXIS2_TRUE;
     axis2_char_t *expires = NULL;
     axis2_char_t *renewed_expires = NULL;
-    savan_db_mgr_t *db_mgr = NULL;
     axis2_conf_ctx_t *conf_ctx = NULL;
+    axis2_conf_t *conf = NULL;
     axis2_status_t status = AXIS2_FAILURE;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -249,9 +249,9 @@
     savan_subscriber_set_expires(subscriber, env, renewed_expires);
     savan_subscriber_set_renew_status(subscriber, env, AXIS2_TRUE);
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(db_mgr)
-        status = savan_db_mgr_update_subscriber(db_mgr, env, subscriber);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
+    status = savan_db_mgr_update_subscriber(env, savan_util_get_dbname(env, 
conf), subscriber);
+
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
                     "[SAVAN] End:savan_sub_processor_renew_subscription");
 

Modified: webservices/savan/trunk/c/src/handlers/savan_in_handler.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/handlers/savan_in_handler.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/handlers/savan_in_handler.c (original)
+++ webservices/savan/trunk/c/src/handlers/savan_in_handler.c Wed Jun 25 
01:27:12 2008
@@ -78,36 +78,20 @@
 
     AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE);
 
-       savan_db_mgr_t *db_mgr = NULL;
     axis2_conf_ctx_t *conf_ctx = NULL;
+    axis2_conf_t *conf = NULL;
 
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
 
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(!db_mgr)
-    {
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Error creating db_mgr 
struct");
-        return AXIS2_FAILURE;
-    }
-
-    if(!savan_db_mgr_create_db(db_mgr, env))
+    if(!savan_db_mgr_create_db(env, savan_util_get_dbname(env, conf)))
     {
         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Could not create the 
database. Check \
                 whether database path is correct and accessible. Exit loading 
the Savan module");
 
-        if(db_mgr)
-        {
-            savan_db_mgr_free(db_mgr, env);
-        }
-
         return AXIS2_FAILURE;
     }
     
-    if(db_mgr)
-    {
-        savan_db_mgr_free(db_mgr, env);
-    }
-
     svc =  axis2_msg_ctx_get_svc(msg_ctx, env);
     if (svc)
         svc_name = axis2_svc_get_name(svc, env);

Modified: webservices/savan/trunk/c/src/handlers/savan_out_handler.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/handlers/savan_out_handler.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/handlers/savan_out_handler.c (original)
+++ webservices/savan/trunk/c/src/handlers/savan_out_handler.c Wed Jun 25 
01:27:12 2008
@@ -74,37 +74,21 @@
     const axutil_env_t *env,
     struct axis2_msg_ctx *msg_ctx)
 {
-       savan_db_mgr_t *db_mgr = NULL;
     axis2_conf_ctx_t *conf_ctx = NULL;
+    axis2_conf_t *conf = NULL;
     axis2_status_t status = AXIS2_SUCCESS;
 
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
 
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(!db_mgr)
-    {
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Error creating db_mgr 
struct");
-        return AXIS2_FAILURE;
-    }
-
-    if(!savan_db_mgr_create_db(db_mgr, env))
+    if(!savan_db_mgr_create_db(env, savan_util_get_dbname(env, conf)))
     {
         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Could not create the 
database. Check \
                 whether database path is correct and accessible. Exit loading 
the Savan module");
         
-        if(db_mgr)
-        {
-            savan_db_mgr_free(db_mgr, env);
-        }
-
         return AXIS2_FAILURE;
     }
     
-    if(db_mgr)
-    {
-        savan_db_mgr_free(db_mgr, env);
-    }
-
     return status;
 }
 

Modified: webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c (original)
+++ webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c Wed Jun 25 01:27:12 2008
@@ -34,6 +34,7 @@
     axis2_msg_ctx_t *msg_ctx)
 {
     axis2_conf_ctx_t *conf_ctx = NULL;
+    axis2_conf_t *conf = NULL;
     savan_subscriber_t *subscriber = NULL;
     axis2_char_t *topic_url = NULL;
     axis2_char_t *topic = NULL;
@@ -68,6 +69,7 @@
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[savan] Start:savan_subs_mgr_add_subscriber");
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     subscriber = savan_subscriber_create(env);
     if(add_sub_node)
         add_sub_elem = (axiom_element_t*)axiom_node_get_data_element(
@@ -153,44 +155,48 @@
         }
     
         /* Expires */
-        qname = axutil_qname_create(env, ELEM_NAME_EXPIRES, 
EVENTING_NAMESPACE, 
-            NULL);
-        expires_elem = axiom_element_get_first_child_with_qname(sub_elem, env, 
-            qname, sub_node, &expires_node);
+        qname = axutil_qname_create(env, ELEM_NAME_EXPIRES, 
EVENTING_NAMESPACE, NULL);
+        expires_elem = axiom_element_get_first_child_with_qname(sub_elem, env, 
qname, sub_node, 
+                &expires_node);
+
         axutil_qname_free(qname, env);
         if(expires_elem)
         {
             expires = axiom_element_get_text(expires_elem, env, expires_node);
             if(expires)
+            {
                 savan_subscriber_set_expires(subscriber, env, expires);
+            }
         }
     
         /* Filter */
         qname = axutil_qname_create(env, ELEM_NAME_FILTER, EVENTING_NAMESPACE, 
NULL);
-        filter_elem = axiom_element_get_first_child_with_qname(sub_elem, env, 
qname,
-            sub_node, &filter_node);
+        filter_elem = axiom_element_get_first_child_with_qname(sub_elem, env, 
qname, sub_node, 
+                &filter_node);
+
         axutil_qname_free(qname, env);
         if(filter_elem)
         {
             filter = axiom_element_get_text(filter_elem, env, filter_node);
             if(filter)
+            {
                 savan_subscriber_set_filter(subscriber, env, filter);
+            }
         }
-    } 
-    {
-        savan_db_mgr_t *db_mgr = NULL;
+    }
 
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(savan_db_mgr_insert_subscriber(db_mgr, env, subscriber))
-            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-                "[savan] Subscriber %s added to the topic:%s", id, topic_url);
-        else
-            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-                "[savan] Subscriber %s could not be added to the topic:%s", 
id, 
-                    topic_url);
+    if(savan_db_mgr_insert_subscriber(env, savan_util_get_dbname(env, conf), 
subscriber))
+    {
+        AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
+            "[savan] Subscriber %s added to the topic:%s", id, topic_url);
     }
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] End:savan_subs_mgr_add_subscriber");
+    else
+    {
+        AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
+                "[savan] Subscriber %s could not be added to the topic:%s", 
id, topic_url);
+    }
+
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
End:savan_subs_mgr_add_subscriber");
     return NULL;   
 }
 
@@ -215,11 +221,12 @@
     axis2_char_t *id = NULL;
     axis2_char_t sql_remove[256];
     axis2_conf_ctx_t *conf_ctx = NULL;
-    savan_db_mgr_t *db_mgr = NULL;
+    axis2_conf_t *conf = NULL;
+
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
Start:savan_subs_mgr_remove_subscriber");
 
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] Start:savan_subs_mgr_remove_subscriber");
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     remove_sub_elem = (axiom_element_t*)axiom_node_get_data_element(
         remove_sub_node, env);
     
@@ -246,15 +253,16 @@
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[savan] Removing subscriber with id %s from topic %s", id, topic_url);
     
-    sprintf(sql_remove, "delete from subscriber where id='%s'",
-        id);
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(db_mgr)
-        savan_db_mgr_remove(db_mgr, env, sql_remove);
+    sprintf(sql_remove, "delete from subscriber where id='%s'", id);
+
+    savan_db_mgr_remove(env, savan_util_get_dbname(env, conf), sql_remove);
+
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[savan] Subscriber %s removed from the topic:%s", id, topic_url);
+
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[savan] End:savan_subs_mgr_remove_subscriber");
+
     return NULL;   
 }
 
@@ -273,7 +281,7 @@
     axiom_node_t *subs_node = NULL;
     axiom_element_t *subs_elem = NULL;
     axis2_conf_ctx_t *conf_ctx = NULL;
-    savan_db_mgr_t *db_mgr = NULL;
+    axis2_conf_t *conf = NULL;
     axis2_char_t sql_retrieve[256];
 
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
@@ -285,6 +293,7 @@
      * </ns1:get_subscriber>
      */
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     if (!node) /* 'get_subscriber' node */
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, 
@@ -340,10 +349,10 @@
     sprintf(sql_retrieve, "select id, end_to, notify_to, delivery_mode, "\
         "expires, filter, renewed, topic_url from subscriber, topic"\
         " where id='%s' and topic.topic_name=subscriber.topic_name;", subs_id);
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(db_mgr)
-        subscriber = savan_db_mgr_retrieve(db_mgr, env, 
-        savan_db_mgr_subs_retrieve_callback, sql_retrieve);
+
+    subscriber = savan_db_mgr_retrieve(env, savan_util_get_dbname(env, conf), 
+                savan_db_mgr_subs_retrieve_callback, sql_retrieve);
+
     if (subscriber)
     {
         axiom_node_t *sub_node = NULL;
@@ -430,7 +439,7 @@
     axiom_node_t *topic_node = NULL;
     axiom_element_t* subs_list_elem = NULL;
     axis2_conf_ctx_t *conf_ctx = NULL;
-    savan_db_mgr_t *db_mgr = NULL;
+    axis2_conf_t *conf = NULL;
     axis2_char_t sql_retrieve[256];
     int i = 0, size = 0;
 
@@ -448,6 +457,7 @@
      * </ns1:Subscribers>
      */
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     if (!node) /* 'get_subscriber_list' node */
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, 
@@ -499,12 +509,9 @@
         "expires, filter, topic_url, renewed from subscriber, topic where "\
         "subscriber.topic_name=topic.topic_name and topic.topic_name='%s';", 
             topic);
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(db_mgr)
-    {
-        subs_store = savan_db_mgr_retrieve_all(db_mgr, env, 
+
+    subs_store = savan_db_mgr_retrieve_all(env, savan_util_get_dbname(env, 
conf),
             savan_db_mgr_subs_find_callback, sql_retrieve);
-    }
 
     if(subs_store)
     {
@@ -629,7 +636,7 @@
     axiom_node_t *topic_list_node = NULL;
     axiom_element_t* topic_list_elem = NULL;
     axis2_conf_ctx_t *conf_ctx = NULL;
-    savan_db_mgr_t *db_mgr = NULL;
+    axis2_conf_t *conf = NULL;
     axis2_char_t sql_retrieve[256];
     int i = 0, size = 0;
 
@@ -641,6 +648,7 @@
      * </ns1:get_topic_list>
      */
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     if (!node) /* 'get_topic_list' node */
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, 
@@ -654,10 +662,10 @@
     topic_list_elem = axiom_element_create(env, NULL, ELEM_NAME_TOPICS, ns1, 
         &topic_list_node);
     sprintf(sql_retrieve, "select topic_url from topic;");
-    db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, conf_ctx));
-    if(db_mgr)
-        topic_store = savan_db_mgr_retrieve_all(db_mgr, env, 
+
+    topic_store = savan_db_mgr_retrieve_all(env, savan_util_get_dbname(env, 
conf),
             savan_db_mgr_topic_find_callback, sql_retrieve);
+
     size = axutil_array_list_size(topic_store, env);
     for(i = 0; i < size; i++)
     {

Modified: webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c (original)
+++ webservices/savan/trunk/c/src/subs_mgr/subs_mgr_skel.c Wed Jun 25 01:27:12 
2008
@@ -123,39 +123,56 @@
     axis2_op_t *op = NULL;
     int i = 0, size = 0;
     axis2_conf_ctx_t *conf_ctx = NULL;
+    const axis2_char_t *dbname = NULL;
+
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
Start:savan_subs_mgr_init_with_conf");
+
+    dbname = savan_util_get_dbname(env, conf);
+
+    if(!savan_db_mgr_create_db(env, dbname))
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
+                "[savan] Could not create the database for name %s. Check 
whether database path "\
+                "is correct and accessible. Exit loading the Savan module", 
dbname);
+        
+        return AXIS2_FAILURE;
+    }
 
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] Start:savan_subs_mgr_init_with_conf");
     savan_subs_mgr_init(svc_skeleton, env);
     conf_ctx = axis2_conf_ctx_create(env, conf);
     subs_svc = axis2_conf_get_svc(conf, env, "subscription");
     op = axis2_svc_get_op_with_name(subs_svc, env, "get_topic_list");
     topic_param_list = axis2_op_get_all_params(op, env);
     if(topic_param_list)
+    {
         size = axutil_array_list_size(topic_param_list, env);
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "dam_size:%d", size);
+    }
+
     for(i = 0; i < size; i++)
     {
-        savan_db_mgr_t *db_mgr = NULL;
         axutil_param_t *topic_param = NULL;
         axis2_char_t *topic_url_str = NULL;
         axis2_char_t *topic_name = NULL;
         topic_param = axutil_array_list_get(topic_param_list, env, i);
         topic_url_str = axutil_param_get_value(topic_param, env);
         topic_name = axutil_param_get_name(topic_param, env);
-        if(0 == axutil_strcmp(topic_name, "wsamapping"))
+        if(!axutil_strcmp(topic_name, "wsamapping"))
+        {
             continue;
+        }
 
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(savan_db_mgr_insert_topic(db_mgr, env, topic_name, topic_url_str))
-            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-                "[SAVAN] Topic %s added", topic_url_str);
+        if(savan_db_mgr_insert_topic(env, dbname, topic_name, topic_url_str))
+        {
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] Topic %s added", 
topic_url_str);
+        }
         else
-            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-                "[SAVAN] Topic %s could not be added", topic_url_str);
+        {
+            AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] Topic %s could 
not be added", topic_url_str);
+        }
     }
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] End:savan_subs_mgr_init_with_conf");
+
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
End:savan_subs_mgr_init_with_conf");
+
     return AXIS2_SUCCESS;
 }
 

Modified: webservices/savan/trunk/c/src/util/db_mgr.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/util/db_mgr.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/util/db_mgr.c (original)
+++ webservices/savan/trunk/c/src/util/db_mgr.c Wed Jun 25 01:27:12 2008
@@ -268,8 +268,8 @@
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_insert_subscriber(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     savan_subscriber_t *subscriber)
 {
     axis2_char_t *sql_insert = NULL;
@@ -354,8 +354,7 @@
         sprintf(sql_insert, "%s%s", sql_insert, ");");
     }
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "sql_insert:%s", sql_insert);
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
         return AXIS2_FAILURE;
 
@@ -444,8 +443,8 @@
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_update_subscriber(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     savan_subscriber_t *subscriber)
 {
     axis2_char_t *sql_update = NULL;
@@ -523,8 +522,7 @@
         sprintf(sql_update, "%s%s", sql_update, "renewed=? where id=?;");   
     }
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "sql_update:%s", sql_update);
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
         return AXIS2_FAILURE;
 
@@ -614,8 +612,8 @@
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_insert_topic(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     axis2_char_t *topic_name,
     axis2_char_t *topic_url)
 {
@@ -624,43 +622,51 @@
     struct sqlite3_stmt* insertqry;
 
     sql_insert = "insert into topic(topic_name, topic_url) values(?, ?);";
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
+    {
         return AXIS2_FAILURE;
+    }
 
     if (sqlite3_prepare(dbconn, sql_insert, strlen(sql_insert), &insertqry, 
NULL))
     {
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
-            "[SAVAN] Sql Insert Error: %s", sqlite3_errmsg(dbconn));
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Sql Insert Error: 
%s", 
+                sqlite3_errmsg(dbconn));
     }
+
     if (sqlite3_bind_text(insertqry, 1, topic_name, strlen(topic_name), 
SQLITE_STATIC))
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
-            "[SAVAN] Sql Insert Error: %s", sqlite3_errmsg(dbconn));
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Sql Insert Error: 
%s", 
+                sqlite3_errmsg(dbconn));
+    }
     if (sqlite3_bind_text(insertqry, 2, topic_url, strlen(topic_url), 
SQLITE_STATIC))
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, 
-            "[SAVAN] Sql Insert Error: %s", sqlite3_errmsg(dbconn));
+    {
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[savan] Sql Insert Error: 
%s", 
+                sqlite3_errmsg(dbconn));
+    }
     if (sqlite3_step(insertqry) == SQLITE_DONE)
+    {
         sqlite3_reset(insertqry);
+    }
     
     sqlite3_finalize(insertqry);
     sqlite3_close(dbconn);
+
     return AXIS2_SUCCESS;
 }
 
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_remove(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     axis2_char_t *sql_stmt_remove)
 {
     axis2_char_t *error_msg = NULL;
     sqlite3 *dbconn = NULL;
     int rc = -1;
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
         return AXIS2_FAILURE;
     rc = sqlite3_exec(dbconn, "BEGIN;", 0, 0, &error_msg);
@@ -700,8 +706,8 @@
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_update(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     axis2_char_t *sql_stmt_update)
 {
     sqlite3 *dbconn = NULL;
@@ -710,8 +716,7 @@
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[SAVAN] Start:savan_db_mgr_update");
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
         return AXIS2_FAILURE;
     rc = sqlite3_exec(dbconn, "BEGIN;", 0, 0, &error_msg);
@@ -753,8 +758,8 @@
 
 AXIS2_EXTERN savan_subscriber_t *AXIS2_CALL
 savan_db_mgr_retrieve(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     int (*retrieve_func)(void *, int, char **, char **),
     axis2_char_t *sql_stmt_retrieve)
 {
@@ -766,8 +771,7 @@
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[SAVAN] Start:savan_db_mgr_retrieve");
     AXIS2_ENV_CHECK(env, AXIS2_FALSE);
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
         return NULL;
     rc = sqlite3_exec(dbconn, "BEGIN READ_ONLY;", 0, 0, &error_msg);
@@ -817,8 +821,8 @@
 
 AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL
 savan_db_mgr_retrieve_all(
-    savan_db_mgr_t *db_mgr,
     const axutil_env_t *env,
+    const axis2_char_t *dbname,
     int (*find_func)(void *, int, char **, char **),
     axis2_char_t *sql_stmt_find)
 {
@@ -837,8 +841,7 @@
     args = AXIS2_MALLOC(env->allocator, sizeof(savan_db_mgr_args_t));
     args->env = (axutil_env_t*)env;
     args->data = NULL;
-    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(
-        db_mgr, env);
+    dbconn = (sqlite3 *) savan_db_mgr_get_dbconn(env, dbname);
     if(!dbconn)
     {
         return NULL;
@@ -893,8 +896,8 @@
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 savan_db_mgr_create_db(
-    savan_db_mgr_t *db_mgr,
-    const axutil_env_t *env)
+    const axutil_env_t *env,
+    const axis2_char_t *dbname)
 {
     int rc = -1;
     axis2_char_t *error_msg = NULL;
@@ -902,19 +905,16 @@
     axis2_char_t *sql_stmt1 = NULL;
     axis2_char_t *sql_stmt2 = NULL;
     axis2_status_t status = AXIS2_FAILURE;
-    const axis2_char_t *dbname = NULL;
 
     AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[savan] 
Entry:savan_db_mgr_create_db");
 
-    dbname = db_mgr->dbname;
-
     if(AXIS2_SUCCESS == axutil_file_handler_access(dbname, AXIS2_F_OK))
     {
         AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] Database %s already 
created.", dbname);
         return AXIS2_SUCCESS;
     }
 
-    dbconn = savan_db_mgr_get_dbconn(db_mgr, env);
+    dbconn = savan_db_mgr_get_dbconn(env, dbname);
 
     #if !defined(WIN32)
     {
@@ -994,17 +994,18 @@
 
 void * AXIS2_CALL
 savan_db_mgr_get_dbconn(
-    savan_db_mgr_t *db_mgr, 
-    const axutil_env_t *env)
+    const axutil_env_t *env,
+    const axis2_char_t *dbname)
 {
     int rc = -1;
     sqlite3 *dbconn = NULL;
 
-    rc = sqlite3_open(db_mgr->dbname, &dbconn);
+    rc = sqlite3_open(dbname, &dbconn);
     if(rc != SQLITE_OK)
     {
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Can't open database: %s"
-            " sqlite error: %s\n", db_mgr->dbname, sqlite3_errmsg(dbconn));
+        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Can't open database: %s 
sqlite error: %s\n", 
+                dbname, sqlite3_errmsg(dbconn));
+
         sqlite3_close(dbconn);
         dbconn = NULL;
         return NULL;

Modified: webservices/savan/trunk/c/src/util/savan_util.c
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/util/savan_util.c?rev=671460&r1=671459&r2=671460&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/util/savan_util.c (original)
+++ webservices/savan/trunk/c/src/util/savan_util.c Wed Jun 25 01:27:12 2008
@@ -444,17 +444,17 @@
     }
     { 
         axis2_char_t sql_retrieve[256];
-        savan_db_mgr_t *db_mgr = NULL;
         axis2_conf_ctx_t *conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+        axis2_conf_t *conf = axis2_conf_ctx_get_conf(conf_ctx, env);
 
         sprintf(sql_retrieve, "select id, end_to, notify_to, delivery_mode, "\
             "expires, filter, renewed, topic_url from subscriber, topic"\
             " where id='%s' and topic.topic_name=subscriber.topic_name;", 
sub_id);
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(db_mgr)
-            subscriber = savan_db_mgr_retrieve(db_mgr, env, 
-            savan_db_mgr_subs_retrieve_callback, sql_retrieve);
+
+        subscriber = savan_db_mgr_retrieve(env, savan_util_get_dbname(env, 
conf), 
+        savan_db_mgr_subs_retrieve_callback, sql_retrieve);
     }
+
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[savan] End:savan_util_get_subscriber_from_msg");
     
@@ -507,11 +507,10 @@
     }
     else
     {
-        savan_db_mgr_t *db_mgr = NULL;
         axis2_conf_ctx_t *conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(db_mgr)
-            status = savan_db_mgr_insert_subscriber(db_mgr, env, subscriber);
+        axis2_conf_t *conf = axis2_conf_ctx_get_conf(conf_ctx, env);
+
+        status = savan_db_mgr_insert_subscriber(env, 
savan_util_get_dbname(env, conf), subscriber);
     }
     if(status)
     {
@@ -520,6 +519,7 @@
             savan_subscriber_free_void_arg, subscriber);
         axis2_msg_ctx_set_property(msg_ctx, env, SAVAN_SUBSCRIBER, subs_prop);
     }
+
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "[savan] End:savan_util_add_subscriber"); 
     return status;
@@ -533,18 +533,17 @@
 {
     axis2_conf_ctx_t *conf_ctx = NULL;
 
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] Start:savan_util_update_subscriber");
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
Start:savan_util_update_subscriber");
+
     conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
     {
-        savan_db_mgr_t *db_mgr = NULL;
         axis2_conf_ctx_t *conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(db_mgr)
-            savan_db_mgr_update_subscriber(db_mgr, env, subscriber);
-    } 
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] End:savan_util_update_subscriber"); 
+        axis2_conf_t *conf = axis2_conf_ctx_get_conf(conf_ctx, env);
+
+        savan_db_mgr_update_subscriber(env, savan_util_get_dbname(env, conf), 
subscriber);
+    }
+
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
End:savan_util_update_subscriber"); 
     return AXIS2_SUCCESS;
 }
 
@@ -555,25 +554,24 @@
     savan_subscriber_t *subscriber)
 {
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] Start:savan_util_remove_subscriber");
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
Start:savan_util_remove_subscriber");
 
     {
         axis2_char_t *subs_id = NULL;
         axis2_char_t sql_remove[256];
-        savan_db_mgr_t *db_mgr = NULL;
         axis2_conf_ctx_t *conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env);
+        axis2_conf_t *conf = axis2_conf_ctx_get_conf(conf_ctx, env);
 
         subs_id = savan_subscriber_get_id(subscriber, env);
+
         /* Extract the store from the svc and remove the given subscriber */
-        sprintf(sql_remove, "delete from subscriber where id='%s'",
-            subs_id);
-        db_mgr = savan_db_mgr_create(env, savan_util_get_dbname(env, 
conf_ctx));
-        if(db_mgr)
-            savan_db_mgr_remove(db_mgr, env, sql_remove);
+
+        sprintf(sql_remove, "delete from subscriber where id='%s'", subs_id);
+
+        savan_db_mgr_remove(env, savan_util_get_dbname(env, conf), sql_remove);
     }
-    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-        "[savan] End:savan_util_remove_subscriber");
+
+    AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[savan] 
End:savan_util_remove_subscriber");
     return AXIS2_SUCCESS;
 }
 
@@ -1389,14 +1387,12 @@
 AXIS2_EXTERN axis2_char_t *AXIS2_CALL
 savan_util_get_dbname(
     const axutil_env_t *env,
-    axis2_conf_ctx_t *conf_ctx)
+    axis2_conf_t *conf)
 {
-    axis2_conf_t *conf = NULL; 
     axis2_char_t *path = "./savan_db";
     axis2_module_desc_t *module_desc = NULL;
     axutil_qname_t *qname = NULL;
 
-    conf = axis2_conf_ctx_get_conf(conf_ctx, env);
     qname = axutil_qname_create(env, SAVAN_MODULE, NULL, NULL);
     module_desc = axis2_conf_get_module(conf, env, qname);
     if(module_desc)


Reply via email to