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