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 sa...@apache.org on 2006/05/04 17:45:34 UTC

svn commit: r399742 - /webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c

Author: samisa
Date: Thu May  4 08:45:32 2006
New Revision: 399742

URL: http://svn.apache.org/viewcvs?rev=399742&view=rev
Log:
Fix to get the module engaging work correct with service client

Modified:
    webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c

Modified: webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c?rev=399742&r1=399741&r2=399742&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c (original)
+++ webservices/axis2/trunk/c/modules/core/phaseresolver/phase_resolver.c Thu May  4 08:45:32 2006
@@ -1564,70 +1564,44 @@
     {
         axis2_flow_t *flow = NULL;
         axis2_array_list_t *phases = NULL;
+        
+        if(resolver_impl->phase_holder)
+        {
+            AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
+            resolver_impl->phase_holder = NULL;
+        }
+        
         switch (type) 
         {
             case AXIS2_INFLOW:
             {
                 phases = AXIS2_OP_GET_REMAINING_PHASES_INFLOW(axis_op, env);
-                if(phases)
-                {
-                    if(resolver_impl->phase_holder)
-                    {
-                        AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
-                        resolver_impl->phase_holder = NULL;
-                    }
-                    resolver_impl->phase_holder = 
-                        axis2_phase_holder_create_with_phases(env, phases);
-                }
                 break;
             }
             case AXIS2_OUTFLOW:
             {
                 phases = AXIS2_OP_GET_PHASES_OUTFLOW(axis_op, env);
-                if(phases)
-                {
-                    if(resolver_impl->phase_holder)
-                    {
-                        AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
-                        resolver_impl->phase_holder = NULL;
-                    }
-                    resolver_impl->phase_holder = 
-                        axis2_phase_holder_create_with_phases(env, phases);
-                }
                 break;
             }
             case AXIS2_FAULT_INFLOW:
             {
                 phases = AXIS2_OP_GET_PHASES_IN_FAULT_FLOW(axis_op, env);
-                if(phases)
-                {
-                    if(resolver_impl->phase_holder)
-                    {
-                        AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
-                        resolver_impl->phase_holder = NULL;
-                    }
-                    resolver_impl->phase_holder = 
-                        axis2_phase_holder_create_with_phases(env, phases);
-                }
                 break;
             }
             case AXIS2_FAULT_OUTFLOW:
             {
                 phases = AXIS2_OP_GET_PHASES_OUT_FAULT_FLOW(axis_op, env);
-                if(phases)
-                {
-                    if(resolver_impl->phase_holder)
-                    {
-                        AXIS2_PHASE_HOLDER_FREE(resolver_impl->phase_holder, env);
-                        resolver_impl->phase_holder = NULL;
-                    }
-                    resolver_impl->phase_holder = 
-                        axis2_phase_holder_create_with_phases(env, phases);
-                }
                 break;
             }
         }
 
+        if(phases)
+        {
+            resolver_impl->phase_holder = 
+                axis2_phase_holder_create_with_phases(env, phases);
+        }
+
+        
         switch (type) 
         {
             case AXIS2_INFLOW:
@@ -1651,7 +1625,8 @@
                 break;
             }
         }
-        if (NULL != flow) 
+        
+        if (NULL != flow && NULL != resolver_impl->phase_holder) 
         {
             int j = 0;
             int handler_count = 0;