Author: damitha
Date: Sun Jul  6 09:35:12 2008
New Revision: 674313

URL: http://svn.apache.org/viewvc?rev=674313&view=rev
Log:
Applying patch in AXIS2C-1219

Modified:
    webservices/savan/trunk/c/src/subs_mgr/services.xml
    webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c

Modified: webservices/savan/trunk/c/src/subs_mgr/services.xml
URL: 
http://svn.apache.org/viewvc/webservices/savan/trunk/c/src/subs_mgr/services.xml?rev=674313&r1=674312&r2=674313&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/subs_mgr/services.xml (original)
+++ webservices/savan/trunk/c/src/subs_mgr/services.xml Sun Jul  6 09:35:12 2008
@@ -6,7 +6,7 @@
     <parameter name="ServiceClass" locked="xsd:false">subscription</parameter>
     <parameter name="loadServiceAtStartup" locked="xsd:false">true</parameter>
 
-   <operation name="add_subscriber">
+    <operation name="add_subscriber" 
mep="http://www.w3.org/2004/08/wsdl/in-only";>
            <parameter name="wsamapping" 
>http://ws.apache.org/axis2/c/subscription/add_subscriber</parameter>
    </operation>
    <operation name="remove_subscriber">

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=674313&r1=674312&r2=674313&view=diff
==============================================================================
--- webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c (original)
+++ webservices/savan/trunk/c/src/subs_mgr/subs_mgr.c Sun Jul  6 09:35:12 2008
@@ -513,112 +513,114 @@
     subs_store = savan_db_mgr_retrieve_all(env, savan_util_get_dbname(env, 
conf),
             savan_db_mgr_subs_find_callback, sql_retrieve);
 
+    /* create the body of the subscribers element */
+    ns = axiom_namespace_create (env, EVENTING_NAMESPACE, EVENTING_NS_PREFIX);
+    ns1 = axiom_namespace_create (env, SAVAN_NAMESPACE, SAVAN_NS_PREFIX);
+    subs_list_elem = axiom_element_create(env, NULL, ELEM_NAME_SUBSCRIBERS, 
ns1, 
+    &subs_list_node);    
+    
     if(subs_store)
     {
         size = axutil_array_list_size(subs_store, env);
         if(size > 0)
         {
-            /* create the body of the subscribers element */
-            ns = axiom_namespace_create (env, EVENTING_NAMESPACE, 
EVENTING_NS_PREFIX);
-            ns1 = axiom_namespace_create (env, SAVAN_NAMESPACE, 
SAVAN_NS_PREFIX);
-            subs_list_elem = axiom_element_create(env, NULL, 
ELEM_NAME_SUBSCRIBERS, ns1, 
-            &subs_list_node);
-        }
-    }
-    for(i = 0; i < size; i++)
-    {
-        savan_subscriber_t * subscriber = axutil_array_list_get(subs_store, 
-            env, i);
-
-        if (subscriber)
-        {
-            axiom_node_t *topic_node = NULL;
-            axiom_node_t *sub_node = NULL;
-            axiom_node_t *endto_node = NULL;
-            axiom_node_t *id_node = NULL;
-            axiom_node_t *delivery_node = NULL;
-            axiom_node_t *notify_node = NULL;
-            axiom_node_t *filter_node = NULL;
-            axiom_node_t *expires_node = NULL;
-            axiom_element_t* sub_elem = NULL;
-            axiom_element_t* id_elem = NULL;
-            axiom_element_t* topic_elem = NULL;
-            axiom_element_t* endto_elem = NULL;
-            axiom_element_t* delivery_elem = NULL;
-            axiom_element_t* notify_elem = NULL;
-            axiom_element_t* filter_elem = NULL;
-            axiom_element_t* expires_elem = NULL;
-            const axis2_char_t *endto = NULL;
-            const axis2_char_t *notify = NULL;
-            const axis2_char_t *filter = NULL;
-            const axis2_char_t *expires = NULL;
-            axis2_char_t *id = NULL;
-            axis2_char_t *topic_url_l = NULL;
-            axis2_char_t *topic_l = NULL;
-                       axis2_endpoint_ref_t *endto_ref = NULL;
-                       axis2_endpoint_ref_t *notify_ref = NULL;
-
-            /* Check whether the subscriber has subscribed for the topic. 
-             * If so create the topic element */
-            topic_elem = axiom_element_create(env, subs_list_node, 
-                ELEM_NAME_TOPIC, ns1, &topic_node);
-            topic_url_l = savan_subscriber_get_topic(subscriber, env);
-            if(topic_url_l)
+            for(i = 0; i < size; i++)
             {
-                topic_l = savan_util_get_topic_name_from_topic_url(env, 
-                    topic_url_l);
-            }
+                savan_subscriber_t * subscriber = 
axutil_array_list_get(subs_store, 
+                    env, i);
 
-            if(0 == axutil_strcmp(topic, topic_l))
-            {
-                AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
-                "[savan]Subscribers not empty for topic :%s", topic_url);
-                axiom_element_set_text(topic_elem, env, topic_url_l, 
topic_node); 
+                if (subscriber)
+                {
+                    axiom_node_t *topic_node = NULL;
+                    axiom_node_t *sub_node = NULL;
+                    axiom_node_t *endto_node = NULL;
+                    axiom_node_t *id_node = NULL;
+                    axiom_node_t *delivery_node = NULL;
+                    axiom_node_t *notify_node = NULL;
+                    axiom_node_t *filter_node = NULL;
+                    axiom_node_t *expires_node = NULL;
+                    axiom_element_t* sub_elem = NULL;
+                    axiom_element_t* id_elem = NULL;
+                    axiom_element_t* topic_elem = NULL;
+                    axiom_element_t* endto_elem = NULL;
+                    axiom_element_t* delivery_elem = NULL;
+                    axiom_element_t* notify_elem = NULL;
+                    axiom_element_t* filter_elem = NULL;
+                    axiom_element_t* expires_elem = NULL;
+                    const axis2_char_t *endto = NULL;
+                    const axis2_char_t *notify = NULL;
+                    const axis2_char_t *filter = NULL;
+                    const axis2_char_t *expires = NULL;
+                    axis2_char_t *id = NULL;
+                    axis2_char_t *topic_url_l = NULL;
+                    axis2_char_t *topic_l = NULL;
+                    axis2_endpoint_ref_t *endto_ref = NULL;
+                    axis2_endpoint_ref_t *notify_ref = NULL;
+
+                    /* Check whether the subscriber has subscribed for the 
topic. 
+                     * If so create the topic element */
+                    topic_elem = axiom_element_create(env, subs_list_node, 
+                        ELEM_NAME_TOPIC, ns1, &topic_node);
+                    topic_url_l = savan_subscriber_get_topic(subscriber, env);
+                    if(topic_url_l)
+                    {
+                        topic_l = 
savan_util_get_topic_name_from_topic_url(env, 
+                            topic_url_l);
+                    }
+
+                    if(0 == axutil_strcmp(topic, topic_l))
+                    {
+                        AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
+                        "[savan]Subscribers not empty for topic :%s", 
topic_url);
+                        axiom_element_set_text(topic_elem, env, topic_url_l, 
topic_node); 
+                    }
+                    else
+                        continue;
+                    endto_ref = savan_subscriber_get_end_to(subscriber, env);
+                    endto = axis2_endpoint_ref_get_address(endto_ref, env);
+                    notify_ref = savan_subscriber_get_notify_to(subscriber, 
env);
+                    notify = axis2_endpoint_ref_get_address(notify_ref, env);
+                    filter = savan_subscriber_get_filter(subscriber, env); 
+                    expires = savan_subscriber_get_expires(subscriber, env);
+                    id = savan_subscriber_get_id(subscriber, env);
+
+
+                    /* create the subscriber element */
+
+                    sub_elem = axiom_element_create(env, subs_list_node, 
+                        ELEM_NAME_SUBSCRIBE, ns, &sub_node);
+
+                    /* Id element */
+                    id_elem = axiom_element_create(env, sub_node, 
ELEM_NAME_ID, ns1,
+                        &id_node);
+                    axiom_element_set_text(id_elem, env, id, id_node);
+
+                    /* EndTo element */
+                    endto_elem = axiom_element_create(env, sub_node, 
ELEM_NAME_ENDTO, ns,
+                        &endto_node);
+                    axiom_element_set_text(endto_elem, env, endto, endto_node);
+
+                    /* Delivery element */
+                    delivery_elem = axiom_element_create(env, sub_node, 
+                        ELEM_NAME_DELIVERY, ns, &delivery_node);
+
+                    notify_elem = axiom_element_create(env, delivery_node, 
+                        ELEM_NAME_NOTIFYTO, ns, &notify_node);
+                    axiom_element_set_text(notify_elem, env, notify, 
notify_node);
+
+                    /* Expires element */
+                    expires_elem = axiom_element_create(env, sub_node, 
+                        ELEM_NAME_EXPIRES, ns, &expires_node);
+                    axiom_element_set_text(expires_elem, env, expires, 
expires_node);
+                    /* Filter element */
+                    filter_elem = axiom_element_create(env, sub_node, 
ELEM_NAME_FILTER, 
+                        ns, &endto_node);
+                    axiom_element_set_text(filter_elem, env, filter, 
filter_node);
+                }
             }
-            else
-                continue;
-            endto_ref = savan_subscriber_get_end_to(subscriber, env);
-            endto = axis2_endpoint_ref_get_address(endto_ref, env);
-            notify_ref = savan_subscriber_get_notify_to(subscriber, env);
-            notify = axis2_endpoint_ref_get_address(notify_ref, env);
-            filter = savan_subscriber_get_filter(subscriber, env); 
-            expires = savan_subscriber_get_expires(subscriber, env);
-            id = savan_subscriber_get_id(subscriber, env);
-          
-
-            /* create the subscriber element */
-
-            sub_elem = axiom_element_create(env, subs_list_node, 
-                ELEM_NAME_SUBSCRIBE, ns, &sub_node);
-            
-            /* Id element */
-            id_elem = axiom_element_create(env, sub_node, ELEM_NAME_ID, ns1,
-                &id_node);
-            axiom_element_set_text(id_elem, env, id, id_node);
-
-            /* EndTo element */
-            endto_elem = axiom_element_create(env, sub_node, ELEM_NAME_ENDTO, 
ns,
-                &endto_node);
-            axiom_element_set_text(endto_elem, env, endto, endto_node);
-            
-            /* Delivery element */
-            delivery_elem = axiom_element_create(env, sub_node, 
-                ELEM_NAME_DELIVERY, ns, &delivery_node);
-                
-            notify_elem = axiom_element_create(env, delivery_node, 
-                ELEM_NAME_NOTIFYTO, ns, &notify_node);
-            axiom_element_set_text(notify_elem, env, notify, notify_node);
-            
-            /* Expires element */
-            expires_elem = axiom_element_create(env, sub_node, 
-                ELEM_NAME_EXPIRES, ns, &expires_node);
-            axiom_element_set_text(expires_elem, env, expires, expires_node);
-            /* Filter element */
-            filter_elem = axiom_element_create(env, sub_node, 
ELEM_NAME_FILTER, 
-                ns, &endto_node);
-            axiom_element_set_text(filter_elem, env, filter, filter_node);
         }
     }
+ 
     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, 
         "End:savan_subs_mgr_get_subscriber_list");
     return subs_list_node;


Reply via email to