You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2006/10/17 14:15:49 UTC
svn commit: r464916 - in /webservices/axis2/trunk/c/modules/core:
deployment/svc_builder.c description/svc.c
transport/http/http_transport_utils.c
Author: dinesh
Date: Tue Oct 17 05:15:48 2006
New Revision: 464916
URL: http://svn.apache.org/viewvc?view=rev&rev=464916
Log:
fixed:displaying service descriptions
Modified:
webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
webservices/axis2/trunk/c/modules/core/description/svc.c
webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c
Modified: webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c?view=diff&rev=464916&r1=464915&r2=464916
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c Tue Oct 17 05:15:48 2006
@@ -221,7 +221,7 @@
axiom_children_qname_iterator_t *operation_itr = NULL;
/*axiom_children_qname_iterator_t *module_configs_itr = NULL; */
axis2_qname_t *qparamst = NULL;
- /*axis2_qname_t *qdesc = NULL;*/
+ axis2_qname_t *qdesc = NULL;
axis2_qname_t *qmodulest = NULL;
axis2_qname_t *qinflowst = NULL;
axis2_qname_t *qoutflowst = NULL;
@@ -232,9 +232,8 @@
/*axis2_qname_t *qmodule_config = NULL; */
axis2_status_t status = AXIS2_FAILURE;
axis2_svc_grp_t *parent = NULL;
- /*axiom_element_t *desc_element = NULL;
+ axiom_element_t *desc_element = NULL;
axiom_node_t *desc_node = NULL;
- */
axiom_children_qname_iterator_t *module_refs = NULL;
axiom_node_t *in_flow_node = NULL;
axiom_element_t *in_flow_element = NULL;
@@ -289,7 +288,8 @@
* is incorporated I comment out this part and add my own logic to set svc
* name
*/
- /*qdesc = axis2_qname_create(env, AXIS2_DESCRIPTION, NULL, NULL);
+ /* -------------------------service description-------------------- */
+ qdesc = axis2_qname_create(env, AXIS2_DESCRIPTION, NULL, NULL);
desc_element = AXIOM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(svc_element, env,
qdesc, svc_node, &desc_node);
AXIS2_QNAME_FREE(qdesc, env) ;
@@ -298,38 +298,17 @@
{
axiom_element_t *desc_value_element = NULL;
axiom_node_t *desc_value_node = NULL;
- axiom_xml_writer_t *xml_writer = NULL;
- axiom_output_t *om_output = NULL;
-
+ axis2_char_t *description_text = NULL;
+
desc_value_element = AXIOM_ELEMENT_GET_FIRST_ELEMENT(desc_element,
env, desc_node, &desc_value_node);
- if( desc_value_element && NULL != desc_value_node)
- {
- axis2_char_t *svc_name = NULL;
-
- xml_writer = axiom_xml_writer_create_for_memory(env, NULL,
- AXIS2_TRUE, 0, AXIS2_XML_PARSERT_TYPE_BUFFER);
- om_output = axiom_output_create(env, xml_writer);
- status = AXIOM_NODE_SERIALIZE(desc_value_node, env, om_output);
- if(status != AXIS2_SUCCESS)
- {
- return AXIS2_FAILURE;
- }
- svc_name = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env);
- AXIS2_SVC_SET_NAME(builder_impl->svc, env,
- svc_name);
- AXIOM_OUTPUT_FREE(om_output, env);
- }
- else
- {
- axis2_char_t *svc_name = NULL;
-
- svc_name = AXIOM_ELEMENT_GET_TEXT(desc_element, env, desc_node);
- AXIS2_SVC_SET_NAME(builder_impl->svc, env,
- svc_name);
- }
+ description_text = AXIOM_ELEMENT_GET_TEXT (desc_element, env, desc_node);
+ if (description_text)
+ {
+ AXIS2_SVC_SET_SVC_DESC (builder_impl->svc, env, description_text);
+ }
}
- */
+ /* --------------------services description end -------------------- */
/* my logic to get set service name */
qattname = axis2_qname_create(env, AXIS2_ATTNAME, NULL, NULL);
name_attr = AXIOM_ELEMENT_GET_ATTRIBUTE(svc_element, env, qattname);
Modified: webservices/axis2/trunk/c/modules/core/description/svc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/description/svc.c?view=diff&rev=464916&r1=464915&r2=464916
==============================================================================
--- webservices/axis2/trunk/c/modules/core/description/svc.c (original)
+++ webservices/axis2/trunk/c/modules/core/description/svc.c Tue Oct 17 05:15:48 2006
@@ -33,6 +33,9 @@
axis2_char_t *filename;
/** to store module descriptions at deploy time parsing */
axis2_array_list_t *module_list;
+
+ /* service description */
+ axis2_char_t *svc_desc;
/**
* WSDL related stuff
*/
@@ -300,6 +303,17 @@
const axis2_env_t *env,
const axis2_char_t *filename);
+const axis2_char_t *AXIS2_CALL
+axis2_svc_get_svc_desc(
+ const axis2_svc_t *svc,
+ const axis2_env_t *env);
+
+axis2_status_t AXIS2_CALL
+axis2_svc_set_svc_desc(
+ axis2_svc_t *svc,
+ const axis2_env_t *env,
+ const axis2_char_t *svc_desc);
+
axis2_hash_t *AXIS2_CALL
axis2_svc_get_all_endpoints(
const axis2_svc_t *svc,
@@ -541,6 +555,7 @@
svc_impl->parent = NULL;
svc_impl->axis_svc_name = NULL;
svc_impl->filename = NULL;
+ svc_impl->svc_desc = NULL;
svc_impl->last_update = 0;
svc_impl->svc.param_container = NULL;
svc_impl->svc.flow_container = NULL;
@@ -743,6 +758,8 @@
svc_impl->svc.ops->get_last_update = axis2_svc_get_last_update;
svc_impl->svc.ops->get_file_name = axis2_svc_get_file_name;
svc_impl->svc.ops->set_file_name = axis2_svc_set_file_name;
+ svc_impl->svc.ops->get_svc_desc = axis2_svc_get_svc_desc;
+ svc_impl->svc.ops->set_svc_desc = axis2_svc_set_svc_desc;
svc_impl->svc.ops->get_all_endpoints = axis2_svc_get_all_endpoints;
svc_impl->svc.ops->set_all_endpoints = axis2_svc_set_all_endpoints;
svc_impl->svc.ops->set_endpoint = axis2_svc_set_endpoint;
@@ -881,6 +898,12 @@
svc_impl->filename = NULL;
}
+ if (svc_impl->svc_desc)
+ {
+ AXIS2_FREE (env->allocator, svc_impl->svc_desc);
+ svc_impl->svc_desc = NULL;
+ }
+
svc_impl->parent = NULL;
if (svc_impl->module_list)
@@ -1917,6 +1940,40 @@
}
svc_impl->filename = (axis2_char_t *) AXIS2_STRDUP(filename, env);
if (!svc_impl->filename)
+ {
+ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+ return AXIS2_FAILURE;
+ }
+ return AXIS2_SUCCESS;
+}
+
+const axis2_char_t *AXIS2_CALL
+axis2_svc_get_svc_desc(
+ const axis2_svc_t *svc,
+ const axis2_env_t *env)
+{
+ return AXIS2_INTF_TO_IMPL(svc)->svc_desc;
+}
+
+axis2_status_t AXIS2_CALL
+axis2_svc_set_svc_desc(
+ axis2_svc_t *svc,
+ const axis2_env_t *env,
+ const axis2_char_t *svc_desc)
+{
+ axis2_svc_impl_t *svc_impl = NULL;
+
+ AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+ AXIS2_PARAM_CHECK(env->error, svc_desc, AXIS2_FAILURE);
+
+ svc_impl = AXIS2_INTF_TO_IMPL(svc);
+ if (svc_impl->svc_desc)
+ {
+ AXIS2_FREE(env->allocator, svc_impl->svc_desc);
+ svc_impl->svc_desc = NULL;
+ }
+ svc_impl->svc_desc = (axis2_char_t *) AXIS2_STRDUP(svc_desc, env);
+ if (!svc_impl->svc_desc)
{
AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
return AXIS2_FAILURE;
Modified: webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c?view=diff&rev=464916&r1=464915&r2=464916
==============================================================================
--- webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c (original)
+++ webservices/axis2/trunk/c/modules/core/transport/http/http_transport_utils.c Tue Oct 17 05:15:48 2006
@@ -764,14 +764,21 @@
axis2_hash_this(hi, NULL, NULL, &service);
sname = AXIS2_QNAME_GET_LOCALPART(AXIS2_SVC_GET_QNAME(
((axis2_svc_t *)service), env), env);
- ret = AXIS2_STRACAT(tmp2, "<h3>", env);
+ ret = AXIS2_STRACAT(tmp2, "<h3><u>", env);
tmp2 = ret;
ret = AXIS2_STRACAT(tmp2, sname, env);
AXIS2_FREE(env->allocator, tmp2);
tmp2 = ret;
- ret = AXIS2_STRACAT(tmp2, "</h3>", env);
- AXIS2_FREE(env->allocator, tmp2);
- tmp2 = ret;
+ ret = AXIS2_STRACAT(tmp2, "</u></h3>", env);
+ tmp2 = ret;
+ ret = AXIS2_STRACAT (tmp2, "<p>", env);
+ tmp2 = ret;
+ /**
+ *setting services description */
+ ret = AXIS2_STRACAT (tmp2, AXIS2_SVC_GET_SVC_DESC ((axis2_svc_t *)service, env), env);
+ tmp2 = ret;
+ ret = AXIS2_STRACAT (tmp2, "</p>", env);
+ tmp2 = ret;
ops = AXIS2_SVC_GET_ALL_OPS(((axis2_svc_t *)service), env);
if (ops && 0 != axis2_hash_count(ops))
{
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org