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, ¬ify_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, ¬ify_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;