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 ma...@apache.org on 2007/04/25 05:09:08 UTC

svn commit: r532180 - /webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c

Author: manjula
Date: Tue Apr 24 20:09:07 2007
New Revision: 532180

URL: http://svn.apache.org/viewvc?view=rev&rev=532180
Log:
Adding policy reference normalization.

Modified:
    webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c

Modified: webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c
URL: http://svn.apache.org/viewvc/webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c?view=diff&rev=532180&r1=532179&r2=532180
==============================================================================
--- webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c (original)
+++ webservices/axis2/scratch/c/neethi/axis2c/neethi/src/engine.c Tue Apr 24 20:09:07 2007
@@ -295,7 +295,6 @@
                                 neethi_operator_set_value(operator,env,neethi_policy,OPERATOR_TYPE_POLICY);
                                 neethi_engine_add_policy_component(env,neethi_operator,operator);
                             }
-
                             else if(axutil_strcmp(local_name,NEETHI_ALL)==0)
                             {
                                 neethi_all_t *all = get_operator_all(env,child_node,child_element);
@@ -725,6 +724,26 @@
             exactlyone = normalize_operator(to_normalize,registry,deep,env);
             axutil_array_list_add(child_component_list,env,exactlyone);                    
         }
+        else if(component_type == OPERATOR_TYPE_REFERENCE)
+        {
+            neethi_reference_t *policy_ref = NULL;
+            axis2_char_t *uri = NULL;
+            neethi_policy_t *policy = NULL;
+            policy_ref = (neethi_reference_t *)neethi_operator_get_value(child_component, env);
+            uri = neethi_reference_get_uri(policy_ref, env);
+            if(!uri)
+            {
+                printf("NO policy Reference\n");
+                return NULL;
+            }    
+            policy = neethi_registry_lookup(registry, env, uri);
+            if(!policy)
+            {
+                printf("Cannot get policy from uri\n");
+                return NULL;
+            }  
+            neethi_operator_set_value(child_component, env, policy, OPERATOR_TYPE_POLICY);
+        }            
         else
         {
             neethi_exactlyone_t *exactlyone = NULL;



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