You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ma...@apache.org on 2007/06/20 05:04:58 UTC

svn commit: r548904 - in /webservices/axis2/trunk/c: include/axis2_svc_client.h neethi/src/Makefile.am src/core/clientapi/svc_client.c

Author: manjula
Date: Tue Jun 19 20:04:57 2007
New Revision: 548904

URL: http://svn.apache.org/viewvc?view=rev&rev=548904
Log:
Adding a method to svc_client to return a policy object.

Modified:
    webservices/axis2/trunk/c/include/axis2_svc_client.h
    webservices/axis2/trunk/c/neethi/src/Makefile.am
    webservices/axis2/trunk/c/src/core/clientapi/svc_client.c

Modified: webservices/axis2/trunk/c/include/axis2_svc_client.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/include/axis2_svc_client.h?view=diff&rev=548904&r1=548903&r2=548904
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_svc_client.h (original)
+++ webservices/axis2/trunk/c/include/axis2_svc_client.h Tue Jun 19 20:04:57 2007
@@ -53,6 +53,7 @@
 #include <axis2_conf_ctx.h>
 #include <axis2_op_client.h>
 #include <axutil_string.h>
+#include <neethi_policy.h>
 
 /** Name of anonymous service */
 #define AXIS2_ANON_SERVICE  "__ANONYMOUS_SERVICE__"
@@ -515,24 +516,25 @@
      * @param root_node pointer to a policy node    
      * @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS
      */
-    AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    axis2_svc_client_set_policy_from_om(axis2_svc_client_t *svc_client,
+
+     AXIS2_EXTERN axis2_status_t AXIS2_CALL
+     axis2_svc_client_set_policy_from_om(axis2_svc_client_t *svc_client,
         const axutil_env_t *env,
         axiom_node_t *root_node);
-
+       
     /**
-     * Create a policy object and set it to the description hierarchy
+     * Set the given policy object to the description hierarchy
      * @param svc_client pointer to service_client struct
      * @param env pointer to environemt struct
-     * @param file_name pointer to a string which is a policy file name
+     * @param policy neethi_policy_t to a policy struct
      * @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS
      */
 
     AXIS2_EXTERN axis2_status_t AXIS2_CALL
-    axis2_svc_client_set_policy_from_file(axis2_svc_client_t *svc_client,
+    axis2_svc_client_set_policy(axis2_svc_client_t *svc_client,
         const axutil_env_t *env,
-        axis2_char_t *file_name);
-
+        neethi_policy_t *policy);
+        
 
 
 

Modified: webservices/axis2/trunk/c/neethi/src/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/neethi/src/Makefile.am?view=diff&rev=548904&r1=548903&r2=548904
==============================================================================
--- webservices/axis2/trunk/c/neethi/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/neethi/src/Makefile.am Tue Jun 19 20:04:57 2007
@@ -9,7 +9,8 @@
 				policy.c \
 				reference.c \
 				registry.c \
-				assertion_builder.c
+				assertion_builder.c \
+				util.c
 
 libneethi_la_LIBADD  = ../../axiom/src/om/libaxis2_axiom.la \
 			../../util/src/libaxutil.la \

Modified: webservices/axis2/trunk/c/src/core/clientapi/svc_client.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/clientapi/svc_client.c?view=diff&rev=548904&r1=548903&r2=548904
==============================================================================
--- webservices/axis2/trunk/c/src/core/clientapi/svc_client.c (original)
+++ webservices/axis2/trunk/c/src/core/clientapi/svc_client.c Tue Jun 19 20:04:57 2007
@@ -34,7 +34,7 @@
 #include <stdio.h>
 #include <axutil_generic_obj.h>
 #include <axis2_http_transport.h>
-#include <neethi_engine.h>
+#include <neethi_util.h>
 #include <axis2_policy_include.h>
 
 struct axis2_svc_client
@@ -1339,89 +1339,50 @@
     axiom_node_t *root_node)
 {
 
-    axiom_element_t *root_ele = NULL;
-    axis2_svc_t *svc = NULL;
-    axis2_desc_t *desc = NULL;
-    axis2_policy_include_t *policy_include = NULL;
-    
+    neethi_policy_t *neethi_policy = NULL;
+
+    neethi_policy = neethi_util_create_policy_from_om(env, root_node);
 
-    if(axiom_node_get_node_type(root_node, env) == AXIOM_ELEMENT)
+    if(neethi_policy)
     {
-        root_ele = (axiom_element_t*)axiom_node_get_data_element(root_node, env);
-        if(root_ele)
-        {
-            neethi_policy_t *neethi_policy = NULL;
-            neethi_policy = neethi_engine_get_policy(env, root_node, root_ele);
-            if(!neethi_policy)
-            {
-                return AXIS2_FAILURE;
-            }
-            svc = axis2_svc_client_get_svc(svc_client, env);
-            if(!svc)
-            {
-                return AXIS2_FAILURE;
-            }
-            desc = axis2_svc_get_base(svc, env);
-            if(!desc)
-            {
-                return AXIS2_FAILURE;
-            }
-            policy_include = axis2_desc_get_policy_include(desc, env);
-            if(!policy_include)
-            {
-                return AXIS2_FAILURE;
-            }
-            axis2_policy_include_add_policy_element(policy_include, env, AXIS2_SERVICE_POLICY, neethi_policy);
-            return AXIS2_SUCCESS;    
-        }
-        else
-            return AXIS2_FAILURE;
+        return axis2_svc_client_set_policy(svc_client, env, neethi_policy);
+    }
+    else
+    {
+        return AXIS2_FAILURE;
     }
-
-    return AXIS2_FAILURE;
 }
 
+
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
-axis2_svc_client_set_policy_from_file(axis2_svc_client_t *svc_client,
+axis2_svc_client_set_policy(axis2_svc_client_t *svc_client,
     const axutil_env_t *env,
-    axis2_char_t *file_name)
+    neethi_policy_t *policy)
 {
 
-    axiom_xml_reader_t *reader = NULL;
-    axiom_stax_builder_t *builder = NULL;
-    axiom_document_t *document = NULL;
-    axiom_node_t *root_node = NULL;
-
-
-    reader = axiom_xml_reader_create_for_file(env, file_name, NULL);
+    axis2_svc_t *svc = NULL;
+    axis2_desc_t *desc = NULL;
+    axis2_policy_include_t *policy_include = NULL;
 
-    if (!reader)
-    {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER,
-                AXIS2_FAILURE);
-        return AXIS2_FAILURE;
-    }
+    svc = axis2_svc_client_get_svc(svc_client, env);
 
-    builder = axiom_stax_builder_create(env, reader);
-    if(!builder)
+    if(!svc)
     {
-        axiom_xml_reader_free(reader, env);
         return AXIS2_FAILURE;
     }
-    document = axiom_stax_builder_get_document(builder, env);
 
-    if(!document)
+    desc = axis2_svc_get_base(svc, env);
+    if(!desc)
     {
-        axiom_stax_builder_free(builder, env);
         return AXIS2_FAILURE;
     }
 
-    root_node = axiom_document_build_all(document, env);
-    if(!root_node)
+    policy_include = axis2_desc_get_policy_include(desc, env);
+    if(!policy_include)
     {
-        axiom_stax_builder_free(builder, env);
         return AXIS2_FAILURE;
     }
-    
-    return axis2_svc_client_set_policy_from_om(svc_client, env, root_node);   
+    axis2_policy_include_add_policy_element(policy_include, env, AXIS2_SERVICE_POLICY, policy);
+    return AXIS2_SUCCESS;
 }
+



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org