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 da...@apache.org on 2006/02/13 09:55:23 UTC

svn commit: r377322 [1/2] - in /webservices/axis2/trunk/c: include/ modules/core/clientapi/ modules/core/deployment/ modules/core/description/ modules/core/engine/ modules/core/receivers/ modules/core/transport/ modules/core/transport/http/ modules/cor...

Author: damitha
Date: Mon Feb 13 00:55:16 2006
New Revision: 377322

URL: http://svn.apache.org/viewcvs?rev=377322&view=rev
Log:
Fixed lot of would be bugs in deployment and description modules.
Removed dependancies between modules.


Modified:
    webservices/axis2/trunk/c/include/axis2.h
    webservices/axis2/trunk/c/include/axis2_arch_file_data.h
    webservices/axis2/trunk/c/include/axis2_error.h
    webservices/axis2/trunk/c/include/axis2_op.h
    webservices/axis2/trunk/c/include/axis2_phase_holder.h
    webservices/axis2/trunk/c/include/axis2_phase_resolver.h
    webservices/axis2/trunk/c/include/axis2_transport_in_desc.h
    webservices/axis2/trunk/c/include/axis2_transport_out_desc.h
    webservices/axis2/trunk/c/include/axis2_wsdl_binding_op.h
    webservices/axis2/trunk/c/include/axis2_wsdl_interface.h
    webservices/axis2/trunk/c/include/axis2_wsdl_op.h
    webservices/axis2/trunk/c/modules/core/clientapi/listener_manager.c
    webservices/axis2/trunk/c/modules/core/deployment/Makefile.am
    webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
    webservices/axis2/trunk/c/modules/core/deployment/conf_init.c
    webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
    webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c
    webservices/axis2/trunk/c/modules/core/deployment/module_builder.c
    webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c
    webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
    webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c
    webservices/axis2/trunk/c/modules/core/description/op.c
    webservices/axis2/trunk/c/modules/core/description/param_container.c
    webservices/axis2/trunk/c/modules/core/description/svc.c
    webservices/axis2/trunk/c/modules/core/description/transport_in_desc.c
    webservices/axis2/trunk/c/modules/core/engine/conf.c
    webservices/axis2/trunk/c/modules/core/receivers/Makefile.am
    webservices/axis2/trunk/c/modules/core/transport/Makefile.am
    webservices/axis2/trunk/c/modules/core/transport/axis2_transport_receiver.h
    webservices/axis2/trunk/c/modules/core/transport/axis2_transport_sender.h
    webservices/axis2/trunk/c/modules/core/transport/http/Makefile.am
    webservices/axis2/trunk/c/modules/core/transport/http/server/Makefile.am
    webservices/axis2/trunk/c/modules/mod_addr/module.xml
    webservices/axis2/trunk/c/modules/platforms/unix/Makefile.am
    webservices/axis2/trunk/c/modules/util/Makefile.am
    webservices/axis2/trunk/c/modules/util/axis2_utils.h
    webservices/axis2/trunk/c/modules/util/dir_handler.c
    webservices/axis2/trunk/c/modules/util/error.c
    webservices/axis2/trunk/c/modules/util/utils.c
    webservices/axis2/trunk/c/modules/wsdl/Makefile.am
    webservices/axis2/trunk/c/modules/wsdl/wsdl_binding_op.c
    webservices/axis2/trunk/c/modules/wsdl/wsdl_interface.c
    webservices/axis2/trunk/c/modules/wsdl/wsdl_op.c
    webservices/axis2/trunk/c/modules/wsdl/wsdl_svc.c
    webservices/axis2/trunk/c/samples/server/axis2.xml
    webservices/axis2/trunk/c/samples/server/echo/services.xml
    webservices/axis2/trunk/c/samples/server/math/services.xml
    webservices/axis2/trunk/c/test/core/deployment/Makefile.am
    webservices/axis2/trunk/c/test/core/deployment/test_deployment.c
    webservices/axis2/trunk/c/test/core/description/Makefile.am
    webservices/axis2/trunk/c/test/unit/Makefile.am
    webservices/axis2/trunk/c/test/unit/core/deployment/Makefile.am
    webservices/axis2/trunk/c/test/unit/util/Makefile.am

Modified: webservices/axis2/trunk/c/include/axis2.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2.h (original)
+++ webservices/axis2/trunk/c/include/axis2.h Mon Feb 13 00:55:16 2006
@@ -94,24 +94,6 @@
  */
 
 typedef int (*AXIS2_FREE_VOID_ARG) (void *obj_to_be_freed, axis2_env_t **env);
-    
-typedef enum axis2_op_type
-{
-    /** axis2_wsdl_op_t */
-    AXIS2_WSDL_OP_T = 0,
-    /** axis2_op_t */
-    AXIS2_OP_T
-    
-}axis2_op_type_t;
-
-typedef enum axis2_svc_type
-{
-    /** axis2_wsdl_svc_t */
-    AXIS2_WSDL_SVC_T = 0,
-    /** axis2_svc_t */
-    AXIS2_SVC_T
-    
-}axis2_svc_type_t;
 
 /******************************************************************************/
 /********************Axis2 specific constants**********************************/

Modified: webservices/axis2/trunk/c/include/axis2_arch_file_data.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_arch_file_data.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_arch_file_data.h (original)
+++ webservices/axis2/trunk/c/include/axis2_arch_file_data.h Mon Feb 13 00:55:16 2006
@@ -205,8 +205,8 @@
 #define AXIS2_ARCH_FILE_DATA_GET_MODULE_DLL_NAME(arch_file_data, env) \
 		((arch_file_data)->ops->get_module_dll_name (arch_file_data, env)) 
         
-#define AXIS2_ARCH_FILE_DATA_SET_MODULE_DLL_NAME(arch_file_data, env, module_name) \
-		((arch_file_data)->ops->set_module_dll_name (arch_file_data, env, module_dll_name))
+#define AXIS2_ARCH_FILE_DATA_SET_MODULE_DLL_NAME(arch_file_data, env, class_name) \
+		((arch_file_data)->ops->set_module_dll_name (arch_file_data, env, class_name))
         
 #define AXIS2_ARCH_FILE_DATA_ADD_SVC(arch_file_data, env, svc_desc) \
 		((arch_file_data)->ops->add_svc (arch_file_data, env, svc_desc)) 

Modified: webservices/axis2/trunk/c/include/axis2_error.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_error.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_error.h (original)
+++ webservices/axis2/trunk/c/include/axis2_error.h Mon Feb 13 00:55:16 2006
@@ -471,6 +471,10 @@
         AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX,
         /* NULL stream in the http chunked stream */
         AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM,
+        /* Flow type of PhaseOrder element cannot be null */
+        AXIS2_ERROR_FLOW_TYPE_CANNOT_BE_NULL,
+        /* Data element of the OM Node is null */
+        AXIS2_ERROR_DATA_ELEMENT_IS_NULL,
 
         /** The following has to be the last error value all the time.
             All other error codes should appear above this.

Modified: webservices/axis2/trunk/c/include/axis2_op.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_op.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_op.h (original)
+++ webservices/axis2/trunk/c/include/axis2_op.h Mon Feb 13 00:55:16 2006
@@ -71,12 +71,23 @@
  */    
 AXIS2_DECLARE_DATA struct axis2_op_ops
 {
-    /** De-allocate memory
+    /** 
+     * De-allocate memory
   	 * @return status code
   	 */
 	axis2_status_t (AXIS2_CALL *
     free) (axis2_op_t *op, 
            axis2_env_t **env);
+    
+    /**
+     * De-allocate memory
+     * @param void op to be freed
+  	 * @return status code
+  	 */
+	axis2_status_t (AXIS2_CALL *
+    free_void_arg) (void *op, 
+                    axis2_env_t **env);
+
 
     /**
      * Method addParameter
@@ -126,7 +137,7 @@
                 axis2_qname_t *qname);
     
 	axis2_qname_t *(AXIS2_CALL *
-    get_qname) (axis2_op_t *op, 
+    get_qname) (void *op, 
                 axis2_env_t **env);
 
 	axis2_status_t (AXIS2_CALL *
@@ -383,8 +394,8 @@
  */  
 AXIS2_DECLARE_DATA struct axis2_op
 {
+    axis2_wsdl_op_t base;
 	axis2_op_ops_t *ops;
-    struct axis2_wsdl_op *wsdl_op;
     struct axis2_param_container *param_container;
 };
 
@@ -413,6 +424,10 @@
 axis2_op_create_with_wsdl_op (axis2_env_t **env, 
                                             struct axis2_wsdl_op *wsdl_op);
 
+AXIS2_DECLARE(axis2_status_t)
+axis2_op_free_void_arg(void *op,
+                        axis2_env_t **env);
+
 /************************** Start of function macros **************************/
 
 #define AXIS2_OP_FREE(op, env) \
@@ -446,7 +461,7 @@
 		((op)->ops->set_qname (op, env, qname))
         
 #define AXIS2_OP_GET_QNAME(op, env) \
-		((op)->ops->get_qname (op, env))
+		(((axis2_op_t *) op)->ops->get_qname (op, env))
 
 #define AXIS2_OP_SET_MSG_EXCHANGE_PATTERN(op , env, \
         msg_exchange_pattern) \

Modified: webservices/axis2/trunk/c/include/axis2_phase_holder.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_phase_holder.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_phase_holder.h (original)
+++ webservices/axis2/trunk/c/include/axis2_phase_holder.h Mon Feb 13 00:55:16 2006
@@ -33,7 +33,6 @@
 #include <axis2_phase.h>
 #include <axis2_phase_rule.h>
 #include <axis2_handler.h>
-#include <axis2_wsdl.h>
 
 #ifdef __cplusplus
 extern "C"

Modified: webservices/axis2/trunk/c/include/axis2_phase_resolver.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_phase_resolver.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_phase_resolver.h (original)
+++ webservices/axis2/trunk/c/include/axis2_phase_resolver.h Mon Feb 13 00:55:16 2006
@@ -38,7 +38,6 @@
 #include <axis2_flow.h>
 #include <axis2_module_desc.h>
 #include <axis2_phase_holder.h>
-#include <axis2_wsdl.h>
 
 #ifdef __cplusplus
 extern "C"

Modified: webservices/axis2/trunk/c/include/axis2_transport_in_desc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_transport_in_desc.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_transport_in_desc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_transport_in_desc.h Mon Feb 13 00:55:16 2006
@@ -29,11 +29,10 @@
 #include <axis2_allocator.h>
 #include <axis2_qname.h>
 #include <axis2_array_list.h>
-#include <axis2_transport_receiver.h>
+/*#include <axis2_transport_receiver.h>*/
 #include <axis2_phase_meta.h>
 #include <axis2_phase.h>
 #include <axis2_flow.h>
-#include <axis2_wsdl.h>
 
 #ifdef __cplusplus
 extern "C"

Modified: webservices/axis2/trunk/c/include/axis2_transport_out_desc.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_transport_out_desc.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_transport_out_desc.h (original)
+++ webservices/axis2/trunk/c/include/axis2_transport_out_desc.h Mon Feb 13 00:55:16 2006
@@ -29,11 +29,10 @@
 #include <axis2_allocator.h>
 #include <axis2_qname.h>
 #include <axis2_array_list.h>
-#include <axis2_transport_sender.h>
 #include <axis2_phase_meta.h>
 #include <axis2_phase.h>
 #include <axis2_flow.h>
-#include <axis2_wsdl.h>
+#include <axis2_transport_sender.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -99,7 +98,7 @@
     /**
      * @return
      */
-    struct axis2_transport_sender * (AXIS2_CALL *
+    axis2_transport_sender_t * (AXIS2_CALL *
     get_sender) (struct axis2_transport_out_desc *transport_out,
                     axis2_env_t **env);
     
@@ -109,7 +108,7 @@
     axis2_status_t (AXIS2_CALL *
     set_sender) (struct axis2_transport_out_desc *transport_out,
                     axis2_env_t **env,
-                    struct axis2_transport_sender *sender);
+                    axis2_transport_sender_t *sender);
     
     struct axis2_phase * (AXIS2_CALL *
     get_out_phase) (struct axis2_transport_out_desc *transport_out,

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_binding_op.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_binding_op.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_binding_op.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_binding_op.h Mon Feb 13 00:55:16 2006
@@ -84,8 +84,8 @@
      */
     axis2_status_t (AXIS2_CALL *
     set_op)(axis2_wsdl_binding_op_t *binding_op,
-                                                axis2_env_t **env,
-                                                void *op);
+                axis2_env_t **env,
+                void *op);
     
     /**
      * Method getOutput

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_interface.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_interface.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_interface.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_interface.h Mon Feb 13 00:55:16 2006
@@ -29,7 +29,6 @@
 #include <axis2_allocator.h>
 #include <axis2_hash.h>
 #include <axis2_wsdl_op.h>
-#include <axis2_op.h>
 #include <axis2_linked_list.h>
 #include <axis2_wsdl_extensible_component.h>
 
@@ -166,8 +165,7 @@
     axis2_status_t (AXIS2_CALL *
     set_op) (axis2_wsdl_interface_t *wsdl_interface,
                                         axis2_env_t **env,
-                                        void *op,
-                                        axis2_op_type_t opt_type);
+                                        void *op);
     
     /**
      * @param list
@@ -218,7 +216,6 @@
 {
 	axis2_wsdl_interface_ops_t *ops;
     struct axis2_wsdl_extensible_component *extensible_component;
-    axis2_op_type_t op_type; /*0-wsdl_op, 1-axis2_op */
 };
 
 /**
@@ -265,8 +262,8 @@
 #define AXIS2_WSDL_INTERFACE_SET_OPS(wsdl_interface, env, list) \
 		((wsdl_interface)->ops->set_ops (wsdl_interface, env, list))
 
-#define AXIS2_WSDL_INTERFACE_SET_OP(wsdl_interface, env, op, op_type) \
-		((wsdl_interface)->ops->set_op (wsdl_interface, env, op, op_type))
+#define AXIS2_WSDL_INTERFACE_SET_OP(wsdl_interface, env, op) \
+		((wsdl_interface)->ops->set_op (wsdl_interface, env, op))
 
 #define AXIS2_WSDL_INTERFACE_SET_SUPER_INTERFACES(wsdl_interface, env, list) \
 		((wsdl_interface)->ops->set_super_interfaces (wsdl_interface, env, list))

Modified: webservices/axis2/trunk/c/include/axis2_wsdl_op.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_wsdl_op.h?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_wsdl_op.h (original)
+++ webservices/axis2/trunk/c/include/axis2_wsdl_op.h Mon Feb 13 00:55:16 2006
@@ -54,13 +54,23 @@
 
 struct axis2_wsdl_op_ops
 {
-	/** Deallocate memory
+	/** 
+     * Deallocate memory
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
     free) (axis2_wsdl_op_t *wsdl_op,
             axis2_env_t **env);
         
+	/** 
+     * Deallocate memory
+     * @param void wsdl_op to be freed
+     * @return status code
+     */
+    axis2_status_t (AXIS2_CALL *
+    free_void_arg) (void *wsdl_op,
+                    axis2_env_t **env);
+            
     /**
      * set the message exchange pattern
      * @param axis2_char_t message exchange pattern
@@ -93,7 +103,7 @@
      * @return axis2_qname_t wsdl op name
      */
     axis2_qname_t *(AXIS2_CALL *
-    get_qname) (axis2_wsdl_op_t *wsdl_op,
+    get_qname) (void *wsdl_op,
                 axis2_env_t **env);
     
 
@@ -247,9 +257,13 @@
     struct axis2_wsdl_extensible_component *extensible_component;
 };
 
-AXIS2_DECLARE(axis2_wsdl_op_t *) axis2_wsdl_op_create (
-                                                            axis2_env_t **env);
+AXIS2_DECLARE(axis2_wsdl_op_t *) 
+axis2_wsdl_op_create (axis2_env_t **env);
 
+AXIS2_DECLARE(axis2_status_t)
+axis2_wsdl_op_free_void_arg(void *wsdl_op,
+                        axis2_env_t **env);
+                        
 /**************************** Start of function macros ************************/
 
 #define AXIS2_WSDL_OP_FREE(wsdl_op, env) \
@@ -262,7 +276,7 @@
 		((wsdl_op)->ops->set_msg_exchange_pattern(wsdl_op, env, pattern))
 		
 #define AXIS2_WSDL_OP_GET_QNAME(wsdl_op, env) \
-		((wsdl_op)->ops->get_qname(wsdl_op, env))
+		(((axis2_wsdl_op_t *) wsdl_op)->ops->get_qname(wsdl_op, env))
 		
 #define AXIS2_WSDL_OP_SET_QNAME(wsdl_op, env, name) \
 		((wsdl_op)->ops->set_qname(wsdl_op, env, name))

Modified: webservices/axis2/trunk/c/modules/core/clientapi/listener_manager.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/clientapi/listener_manager.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/clientapi/listener_manager.c (original)
+++ webservices/axis2/trunk/c/modules/core/clientapi/listener_manager.c Mon Feb 13 00:55:16 2006
@@ -17,6 +17,7 @@
 #include <listener_manager.h>
 #include <axis2.h>
 #include <axis2_hash.h>
+#include <axis2_transport_receiver.h>
 
 typedef struct axis2_listener_manager_impl
 {

Modified: webservices/axis2/trunk/c/modules/core/deployment/Makefile.am
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/Makefile.am?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/Makefile.am (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/Makefile.am Mon Feb 13 00:55:16 2006
@@ -15,11 +15,10 @@
                                     repos_listener.c \
                                     conf_init.c
 
-libaxis2_deployment_la_LIBADD = 
 INCLUDES = -I$(top_builddir)/include \
             -I$(top_builddir)/modules/util \
-            -I$(top_builddir)/modules/wsdl \
             -I$(top_builddir)/modules/core/transport \
+	        -I$(top_builddir)/modules/wsdl\
             -I$(top_builddir)/modules/core/description \
             -I$(top_builddir)/modules/core/deployment \
             -I$(top_builddir)/modules/xml/parser \

Modified: webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_builder.c Mon Feb 13 00:55:16 2006
@@ -19,6 +19,8 @@
 #include <axis2_class_loader.h>
 #include <axis2_transport_in_desc.h>
 #include <axis2_transport_out_desc.h>
+#include <axis2_utils.h>
+#include <axis2_transport_receiver.h>
 
 /** 
  * @brief
@@ -249,7 +251,10 @@
         {
             return AXIS2_FAILURE;
         }
-        /*log.info("no custom diaptching order found continue with default dispatcing order");*/
+        /*
+         * log.info("no custom dispatching order found continue with default
+         * dispatcing order");
+         */
     }
 
     /* Process Module refs */
@@ -287,14 +292,7 @@
     AXIS2_QNAME_FREE(qphaseorder, env);
     axis2_conf_builder_process_phase_orders(conf_builder, env, phase_orders);
 
-    /* processing Axis Storages */
-    /*
-    OMElement storages = config_element.getFirstChildWithName(new QName(AXIS2_STORAGE)) ;
-    processAxisStorage(storages);
-
-    Iterator moduleConfigs = config_element.getChildrenWithName(new QName(AXIS2_MODULECONFIG));
-    processModuleConfig(moduleConfigs,axisConfiguration,axisConfiguration);
-    */
+    /* TODO processing Axis Storages */
     return AXIS2_SUCCESS;
 }
 
@@ -359,6 +357,8 @@
     axis2_bool_t found_disp = AXIS2_FALSE;
     axis2_phase_t *disp_phase = NULL;
     int count = 0;
+    axis2_bool_t qname_itr_has_next = AXIS2_FALSE;
+    axis2_status_t status = AXIS2_FAILURE;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, disp_order_node, AXIS2_FAILURE);
@@ -369,19 +369,25 @@
     qdisp = axis2_qname_create(env, AXIS2_DISPATCHER, NULL, NULL);
     disps = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(
         disp_order_element, env, qdisp, disp_order_node);
+    AXIS2_QNAME_FREE(qdisp, env);
     disp_phase = axis2_phase_create(env, AXIS2_PHASE_DISPATCH);
     if(NULL == disp_phase)
     {
         return AXIS2_FAILURE;
     }
-    while (AXIS2_TRUE == AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(disps,
-            env))
+    if(disps)
+    {
+        qname_itr_has_next = AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(disps, 
+            env);
+    }
+    while (AXIS2_TRUE == qname_itr_has_next)
     {
         axis2_om_node_t *disp_node = NULL;
         axis2_om_element_t *disp_element = NULL;
         axis2_om_attribute_t *disp_att = NULL;
+        axis2_char_t *class_name = NULL;
         axis2_char_t *dll_name = NULL;
-        axis2_qname_t *qdllname = NULL;
+        axis2_qname_t *class_qname = NULL;
         axis2_disp_t *disp_dll = NULL;
         axis2_dll_desc_t *dll_desc = NULL;
         axis2_param_t *impl_info_param = NULL;
@@ -390,17 +396,30 @@
         found_disp = AXIS2_TRUE;
         disp_node = (axis2_om_node_t *) 
             AXIS2_OM_CHILDREN_QNAME_ITERATOR_NEXT(disps, env);
-        qdllname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
-        disp_att = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(disp_element, env, qdllname);
-        dll_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(disp_att, env);
-        
+        class_qname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
+        disp_att = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(disp_element, env, class_qname);
+        AXIS2_QNAME_FREE(class_qname, env);
+        if(!disp_att)
+        {
+            qname_itr_has_next = AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(disps, 
+                env);
+            continue;
+        }
+        class_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(disp_att, env);
+        dll_name = axis2_platform_get_dll_name(env, class_name);
         dll_desc = axis2_dll_desc_create(env);
+        /* TODO 
+         * set full dll path here instead of dll lib name only */
         AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_name);
         AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_HANDLER_DLL);
-        axis2_class_loader_init(env);
         impl_info_param = axis2_param_create(env, NULL, NULL);
-        
+        if(!impl_info_param)
+        {
+            AXIS2_PHASE_FREE(disp_phase, env);
+            return AXIS2_FAILURE;
+        }
         AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc); 
+        axis2_class_loader_init(env);
         disp_dll = (axis2_disp_t *) axis2_class_loader_create_dll(env, 
             impl_info_param);
         
@@ -409,93 +428,33 @@
         /*disptachClas.getHandlerDesc().setParent(axisConfiguration); */
         AXIS2_PHASE_ADD_HANDLER_AT(disp_phase, env, count, handler);
         count ++;
+        qname_itr_has_next = AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(disps, 
+            env);
         
-        AXIS2_QNAME_FREE(qdllname, env);
     }
 
     if(AXIS2_TRUE != found_disp)
     {
+        AXIS2_PHASE_FREE(disp_phase, env);
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_NO_DISPATCHER_FOUND, 
             AXIS2_FAILURE);
         return AXIS2_FAILURE;
     }  
     else 
     {
-        AXIS2_CONF_SET_DISPATCH_PHASE(builder_impl->conf, env, disp_phase);
+        status = AXIS2_CONF_SET_DISPATCH_PHASE(builder_impl->conf, env, disp_phase);
+        if(AXIS2_SUCCESS != status)
+        {
+            AXIS2_PHASE_FREE(disp_phase, env);
+            return status;
+        }
     }
-    AXIS2_QNAME_FREE(qdisp, env);
     return AXIS2_SUCCESS;
 }
 
-/*
-static axis2_status_t
-axis2_conf_builder_process_axis_storage(OMElement storageElement) throws DeploymentException {
-    AxisStorage axisStorage;
-    if(storageElement !=null){
-        OMAttribute className =  storageElement.getAttribute(new QName(CLASSNAME));
-        if(className== null){
-            throw new DeploymentException(Messages.getMessage(
-                    DeploymentErrorMsgs.INVALID_STORGE_CLASS));
-        }  else {
-            String classNameStr =className.getAttributeValue();
-            Class stoarge ;
-            if (classNameStr != null &&!"".equals(classNameStr)) {
-                try {
-                    stoarge = Class.forName(classNameStr,true,
-                            Thread.currentThread().getContextClassLoader());
-                    axisStorage = (AxisStorage) stoarge.newInstance();
-                    axisConfiguration.setAxisStorage(axisStorage);
-
-                    // adding storage paramters
-                    Iterator paramters = storageElement.getChildrenWithName(
-                            new QName(PARAMETERST));
-                    processParameters(paramters,axisStorage,axisConfiguration);
-
-
-                } catch (ClassNotFoundException e) {
-                    throw new DeploymentException
-                            (Messages.getMessage(DeploymentErrorMsgs.CLASS_NOT_FOUND,
-                                    e.getMessage()));
-                } catch (InstantiationException e) {
-                    throw new DeploymentException
-                            (Messages.getMessage(DeploymentErrorMsgs.INSTANTITAIONEXP,
-                                    e.getMessage()));
-                } catch (IllegalAccessException e) {
-                    throw new DeploymentException
-                            (Messages.getMessage(DeploymentErrorMsgs.ILEGAL_ACESS,
-                                    e.getMessage()));
-                }
-            } else {
-                throw new DeploymentException(Messages.getMessage(
-                        DeploymentErrorMsgs.INVALID_STORGE_CLASS));
-            }
-
-        }
-
-    }   else {
-        try {
-            //Default Storeg :  org.apache.axis2.storage.impl.AxisMemoryStorage
-            Class stoarge = Class.forName("org.apache.axis2.storage.impl.AxisMemoryStorage",true,
-                    Thread.currentThread().getContextClassLoader());
-            axisStorage = (AxisStorage) stoarge.newInstance();
-            axisConfiguration.setAxisStorage(axisStorage);
-        }catch (ClassNotFoundException e) {
-            throw new DeploymentException
-                    (Messages.getMessage(DeploymentErrorMsgs.CLASS_NOT_FOUND,
-                            e.getMessage()));
-        } catch (InstantiationException e) {
-            throw new DeploymentException
-                    (Messages.getMessage(DeploymentErrorMsgs.INSTANTITAIONEXP,
-                            e.getMessage()));
-        } catch (IllegalAccessException e) {
-            throw new DeploymentException
-                    (Messages.getMessage(DeploymentErrorMsgs.ILEGAL_ACESS,
-                            e.getMessage()));
-        }
-    }
-
-}
-*/
+/**
+ * TODO axis2_conf_builder_process_axis_storage
+ */
 
 /**
  * To process all the phase orders which are defined in axis2.xml
@@ -526,11 +485,19 @@
         
         phase_orders_node = (axis2_om_node_t *) AXIS2_OM_CHILDREN_ITERATOR_NEXT(
             phase_orders, env);
-        phase_orders_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(phase_orders_node,
-            env);
-        qtype = axis2_qname_create(env, AXIS2_TYPE, NULL, NULL);
-        phase_orders_att = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(phase_orders_element, 
-            env, qtype);
+        if(phase_orders_node)
+        {
+            phase_orders_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(phase_orders_node,
+                env);
+        }
+        if(phase_orders_element)
+        {
+            qtype = axis2_qname_create(env, AXIS2_TYPE, NULL, NULL);
+
+            phase_orders_att = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(phase_orders_element, 
+                env, qtype);
+            AXIS2_QNAME_FREE(qtype, env);
+        }
 
         if (phase_orders_att)
         {
@@ -539,23 +506,32 @@
         
         phase_list = axis2_conf_builder_get_phase_list(conf_builder, env,
             phase_orders_node);
-        if(0 == AXIS2_STRCMP(AXIS2_INFLOWST, flow_type))
+        if(!phase_list)
+        {
+            axis2_status_t status_code = AXIS2_FAILURE;
+            status_code = AXIS2_ERROR_GET_STATUS_CODE((*env)->error);
+            if(AXIS2_SUCCESS != status_code)
+            {
+                return status_code;
+            }
+            return AXIS2_SUCCESS;
+        }
+        if(flow_type && 0 == AXIS2_STRCMP(AXIS2_INFLOWST, flow_type))
         {            
             AXIS2_PHASES_INFO_SET_IN_PHASES(info, env, phase_list);
         }  
-        else if(0 == AXIS2_STRCMP(AXIS2_IN_FAILTFLOW, flow_type))
+        else if(flow_type && 0 == AXIS2_STRCMP(AXIS2_IN_FAILTFLOW, flow_type))
         {
             AXIS2_PHASES_INFO_SET_IN_FAULTPHASES(info, env, phase_list);
         } 
-        else if(0 == AXIS2_STRCMP(AXIS2_OUTFLOWST, flow_type))        
+        else if(flow_type && 0 == AXIS2_STRCMP(AXIS2_OUTFLOWST, flow_type))        
         {
             AXIS2_PHASES_INFO_SET_OUT_PHASES(info, env, phase_list);
         } 
-        else if(0 == AXIS2_STRCMP(AXIS2_OUT_FAILTFLOW, flow_type))
+        else if(flow_type && 0 == AXIS2_STRCMP(AXIS2_OUT_FAILTFLOW, flow_type))
         {
             AXIS2_PHASES_INFO_SET_OUT_FAULTPHASES(info, env, phase_list);
         }
-        AXIS2_QNAME_FREE(qtype, env);
     }
     return AXIS2_SUCCESS;
 }
@@ -578,10 +554,17 @@
     
     phase_orders_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(phase_orders_node, 
         env);
-    phase_list = axis2_array_list_create(env, 10);
+    if(!phase_orders_element)
+    {
+        AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_DATA_ELEMENT_IS_NULL,
+            AXIS2_FAILURE);
+        return NULL;
+    }
+    phase_list = axis2_array_list_create(env, 0);
     qphase = axis2_qname_create(env, AXIS2_PHASE, NULL, NULL);
     phases = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(phase_orders_element, env,
         qphase, phase_orders_node);
+    AXIS2_QNAME_FREE(qphase, env);
     
     while (AXIS2_TRUE == AXIS2_OM_CHILDREN_QNAME_ITERATOR_HAS_NEXT(phases, env))
     {
@@ -609,11 +592,13 @@
         {
             att_value = AXIS2_OM_ATTRIBUTE_GET_VALUE(phase_att, env);
         }
-        AXIS2_ARRAY_LIST_ADD(phase_list, env, att_value);
+        if(att_value)
+        {
+            AXIS2_ARRAY_LIST_ADD(phase_list, env, att_value);
+        }
         
         AXIS2_QNAME_FREE(qattname, env);
     }
-    AXIS2_QNAME_FREE(qphase, env);
     return phase_list;
 }
 
@@ -623,6 +608,7 @@
                                 axis2_om_children_qname_iterator_t *trs_senders)
 {
     axis2_conf_builder_impl_t *builder_impl = NULL;
+    axis2_status_t status = AXIS2_FAILURE;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, trs_senders, AXIS2_FAILURE);
@@ -641,19 +627,32 @@
             AXIS2_OM_CHILDREN_QNAME_ITERATOR_NEXT(trs_senders, env);
 
         if (transport_node)
+        {
             transport_element = (axis2_om_element_t*)
                 AXIS2_OM_NODE_GET_DATA_ELEMENT(transport_node, env);
+            if(!transport_element)
+            {
+                return AXIS2_FAILURE;
+            }
+        }
+        else
+        {
+            return AXIS2_FAILURE;
+        }
         
         /* getting trsnport Name */
         qattname = axis2_qname_create(env, AXIS2_ATTNAME, NULL, NULL);
         if (transport_element)
+        {
             trs_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(transport_element, env, 
                 qattname);
+        }
         if(NULL != trs_name)
         {
             axis2_char_t *name = NULL;
             axis2_om_attribute_t *trs_dll_att = NULL;
             axis2_char_t *dll_name = NULL;
+            axis2_char_t *class_name = NULL;
             axis2_om_children_qname_iterator_t *itr = NULL;
             axis2_qname_t *qname = NULL;
             axis2_qname_t *qparamst = NULL;
@@ -672,7 +671,7 @@
             axis2_om_node_t *out_fault_flow_node = NULL;
             axis2_dll_desc_t *dll_desc = NULL;
             axis2_param_t *impl_info_param = NULL;
-            axis2_transport_sender_t *transport_sender = NULL;
+            void *transport_sender = NULL;
             
             name = AXIS2_OM_ATTRIBUTE_GET_VALUE(trs_name, env);
             qname = axis2_qname_create(env, name, NULL, NULL);
@@ -692,23 +691,30 @@
                     AXIS2_FAILURE);
                 return AXIS2_FAILURE;
             }
-            dll_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(trs_dll_att, env);
+            class_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(trs_dll_att, env);
+            dll_name = axis2_platform_get_dll_name(env, class_name);
             dll_desc = axis2_dll_desc_create(env);
+            /* TODO 
+             * set full dll path here instead of dll lib name only */
             AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_name);
             AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_TRANSPORT_SENDER_DLL);
-            axis2_class_loader_init(env);
-            impl_info_param = axis2_param_create(env, NULL, NULL);
-        
+            impl_info_param = axis2_param_create(env, NULL, NULL); 
+            if(!impl_info_param)
+            {
+                return AXIS2_FAILURE;
+            }
             AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc); 
-            impl_info_param->ops->value_free = 
-                axis2_dll_desc_free_void_arg;
-            transport_sender = (axis2_transport_sender_t *) 
-                axis2_class_loader_create_dll(env, impl_info_param);
-            AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out, env, 
+            impl_info_param->ops->value_free = axis2_dll_desc_free_void_arg;
+            axis2_class_loader_init(env);
+            transport_sender = axis2_class_loader_create_dll(env, impl_info_param);
+            status = AXIS2_TRANSPORT_OUT_DESC_SET_SENDER(transport_out, env, 
                 transport_sender);
+            if(AXIS2_SUCCESS != status)
+            {
+                return status;
+            }
             
-            /* process Parameters */
-            /* processing Paramters */
+            /* Process Parameters */
             /* Processing service level paramters */
             qparamst = axis2_qname_create(env, AXIS2_PARAMETERST, NULL, NULL);
             itr = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(transport_element,
@@ -737,7 +743,10 @@
                 flow = AXIS2_DESC_BUILDER_PROCESS_FLOW(conf_builder->desc_builder,
                     env, out_flow_element, builder_impl->conf->param_container,
                         out_flow_node);
-                AXIS2_TRANSPORT_OUT_DESC_SET_OUTFLOW(transport_out, env, flow);
+                if(flow)
+                {
+                    AXIS2_TRANSPORT_OUT_DESC_SET_OUTFLOW(transport_out, env, flow);
+                }
             }
 
             /* process IN FAULT FLOW */
@@ -765,7 +774,10 @@
                 flow = AXIS2_DESC_BUILDER_PROCESS_FLOW(conf_builder->desc_builder,
                     env, out_fault_flow_element, builder_impl->conf->param_container,
                         out_fault_flow_node);
-                AXIS2_TRANSPORT_OUT_DESC_SET_FAULTFLOW(transport_out, env, flow);
+                if(flow)
+                {
+                    AXIS2_TRANSPORT_OUT_DESC_SET_FAULTFLOW(transport_out, env, flow);
+                }
             }
 
             /* adding to axis config */
@@ -782,6 +794,7 @@
                                     axis2_om_children_qname_iterator_t *trs_recvs)
 {
     axis2_conf_builder_impl_t *builder_impl = NULL;
+    axis2_status_t status = AXIS2_FAILURE;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, trs_recvs, AXIS2_FAILURE);
@@ -797,8 +810,20 @@
         axis2_qname_t *qattname = NULL;
          
         transport_node = (axis2_om_node_t *) 
-            AXIS2_OM_CHILDREN_QNAME_ITERATOR_NEXT(trs_recvs, env);     
-        transport_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(transport_node, env);
+            AXIS2_OM_CHILDREN_QNAME_ITERATOR_NEXT(trs_recvs, env);
+        if(transport_node)
+        {
+            transport_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(transport_node, 
+                env);
+            if(!transport_element)
+            {
+                return AXIS2_FAILURE;
+            }
+        }
+        else
+        {
+            return AXIS2_FAILURE;
+        }
 
         /* getting transport Name */
         qattname = axis2_qname_create(env, AXIS2_ATTNAME, NULL, NULL);
@@ -809,10 +834,10 @@
         if(NULL != trs_name)
         {
             axis2_char_t *name = NULL;
-            axis2_om_attribute_t *trs_dll_name = NULL;
+            axis2_om_attribute_t *trs_class_name = NULL;
             axis2_om_children_qname_iterator_t *itr = NULL;
             axis2_qname_t *transport_in_desc_qname = NULL;
-            axis2_qname_t *qdllname = NULL;
+            axis2_qname_t *class_qname = NULL;
             axis2_qname_t *qparamst = NULL;
             axis2_qname_t *qinflowst = NULL;
             axis2_qname_t *qoutflowst = NULL;
@@ -835,21 +860,25 @@
             AXIS2_QNAME_FREE(transport_in_desc_qname, env);
 
             /* transport impl class */
-            qdllname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
-            trs_dll_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(transport_element, env,
-                qdllname);
-            AXIS2_QNAME_FREE(qdllname, env);
+            class_qname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
+            trs_class_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(transport_element, env,
+                class_qname);
+            AXIS2_QNAME_FREE(class_qname, env);
             
-            if(NULL != trs_dll_name) 
+            if(NULL != trs_class_name) 
             {
+                axis2_char_t *class_name = NULL;
                 axis2_char_t *dll_name = NULL;
                 axis2_dll_desc_t *dll_desc = NULL;
                 axis2_param_t *impl_info_param = NULL;
                 axis2_transport_receiver_t *recv = NULL;
                 axis2_status_t stat = AXIS2_FAILURE;
                 
-                dll_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(trs_dll_name, env);
+                class_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(trs_class_name, env);
+                dll_name = axis2_platform_get_dll_name(env, class_name);
                 dll_desc = axis2_dll_desc_create(env);
+                /* TODO 
+                 * set full dll path here instead of dll lib name only */
                 AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_name);
                 AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_TRANSPORT_RECV_DLL);
                 axis2_class_loader_init(env);
@@ -898,7 +927,12 @@
                 flow = AXIS2_DESC_BUILDER_PROCESS_FLOW(conf_builder->
                     desc_builder, env, out_flow_element, builder_impl->conf->
                         param_container, out_flow_node);
-                AXIS2_TRANSPORT_IN_DESC_SET_INFLOW(transport_in, env, flow);
+                status = AXIS2_TRANSPORT_IN_DESC_SET_INFLOW(transport_in, env, 
+                    flow);
+                if(AXIS2_SUCCESS != status)
+                {
+                    return status;
+                }
             }
 
             qinfaultflowst = axis2_qname_create(env, AXIS2_IN_FAILTFLOW, NULL,
@@ -914,7 +948,12 @@
                 flow = AXIS2_DESC_BUILDER_PROCESS_FLOW(conf_builder->desc_builder,
                     env, in_fault_flow_element, builder_impl->conf->
                         param_container, in_fault_flow_node);
-                AXIS2_TRANSPORT_IN_DESC_SET_FAULTFLOW(transport_in, env, flow);
+                status = AXIS2_TRANSPORT_IN_DESC_SET_FAULTFLOW(transport_in, 
+                    env, flow);
+                if(AXIS2_SUCCESS != status)
+                {
+                    return status;
+                }
             }
 
             qoutfaultflowst = axis2_qname_create(env, AXIS2_OUT_FAILTFLOW, NULL,
@@ -930,7 +969,12 @@
             }
 
             /* adding to axis config */
-            AXIS2_CONF_ADD_TRANSPORT_IN(builder_impl->conf, env, transport_in);
+            status = AXIS2_CONF_ADD_TRANSPORT_IN(builder_impl->conf, env, 
+                transport_in);
+            if(AXIS2_SUCCESS != status)
+            {
+                return status;
+            }
           
             AXIS2_QNAME_FREE(qoutfaultflowst, env);
 

Modified: webservices/axis2/trunk/c/modules/core/deployment/conf_init.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/conf_init.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/conf_init.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/conf_init.c Mon Feb 13 00:55:16 2006
@@ -15,6 +15,8 @@
  */
  
 #include <axis2_conf_init.h>
+#include <axis2_transport_sender.h>
+#include <axis2_transport_receiver.h>
 
 axis2_status_t AXIS2_CALL axis2_init_modules(axis2_env_t **env, 
     axis2_conf_ctx_t *conf_ctx);

Modified: webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c Mon Feb 13 00:55:16 2006
@@ -25,6 +25,7 @@
 #include <axis2_om_node.h>
 #include <axis2_class_loader.h>
 #include <axis2_string.h>
+#include <axis2_utils.h>
 
 /** 
  * @brief DLL Description struct impl
@@ -740,12 +741,16 @@
         return NULL;
     }
     /*
-    if (hotDeployment) {
-        startSearch(this);
-    } else {
+     * TODO
+    if (hot_deployment) 
+    {
+        start_search();
+    } 
+    else 
+    {
     */
     repos_listener = 
-        axis2_repos_listener_create_with_folder_name_and_dep_engine(env, 
+        axis2_repos_listener_create_with_folder_name_and_dep_engine(env,
             engine_impl->folder_name, dep_engine);
     if(!repos_listener)
     {
@@ -851,7 +856,7 @@
         engine_impl->hot_dep = AXIS2_FALSE;
         engine_impl->hot_update = AXIS2_FALSE;
         repos_listener = 
-            axis2_repos_listener_create_with_folder_name_and_dep_engine(env, 
+            axis2_repos_listener_create_with_folder_name_and_dep_engine(env,
                 engine_impl->folder_name, dep_engine);
     }
     
@@ -962,23 +967,23 @@
     engine_impl = AXIS2_INTF_TO_IMPL(dep_engine);
     
     in_phases = AXIS2_PHASES_INFO_GET_IN_PHASES(engine_impl->phases_info, env);
-    if (!in_phases)
-    {
-        return AXIS2_FAILURE;
-    }
     /* TODO condition checking should be otherway since null value can occur */
-    phase0 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 0);
-    phase1 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 1);
-    phase2 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 2);
-    phase3 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 3);
-    if(0 != AXIS2_STRCMP(phase0, AXIS2_PHASE_TRANSPORTIN) || 
-        0 != AXIS2_STRCMP(phase1, AXIS2_PHASE_PRE_DISPATCH) ||
-        0 != AXIS2_STRCMP(phase2, AXIS2_PHASE_DISPATCH) ||
-        0 != AXIS2_STRCMP(phase3, AXIS2_PHASE_POST_DISPATCH))
+    if(in_phases)
+    {
+        phase0 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 0);
+        phase1 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 1);
+        phase2 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 2);
+        phase3 = (axis2_char_t *) AXIS2_ARRAY_LIST_GET(in_phases, env, 3);
+    }
+    if((phase0 && 0 != AXIS2_STRCMP(phase0, AXIS2_PHASE_TRANSPORTIN)) || 
+        (phase1 && 0 != AXIS2_STRCMP(phase1, AXIS2_PHASE_PRE_DISPATCH)) ||
+        (phase2 && 0 != AXIS2_STRCMP(phase2, AXIS2_PHASE_DISPATCH)) ||
+        (phase3 && 0 != AXIS2_STRCMP(phase3, AXIS2_PHASE_POST_DISPATCH)))
     {
         AXIS2_ERROR_SET((*env)->error, AXI2_ERROR_INVALID_PHASE, AXIS2_FAILURE);
-        return AXIS2_FAILURE;
+        return AXIS2_SUCCESS;
     }
+    
     /*  ArrayList outPhaes = tempdata.getOutphases(); */
     /* TODO do the validation code here */
     /* ArrayList systemDefaultPhases =((AxisConfigurationImpl)axisConfig).
@@ -1189,6 +1194,7 @@
     axis2_char_t *temp_path = NULL;
     axis2_char_t *dll_path = NULL;
     axis2_status_t status = AXIS2_FAILURE;
+    axis2_char_t *dll_name = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, module_desc, AXIS2_FAILURE);
@@ -1196,6 +1202,7 @@
     
     read_in_dll = AXIS2_ARCH_FILE_DATA_GET_MODULE_DLL_NAME(engine_impl->
         curr_file, env);
+    dll_name = axis2_platform_get_dll_name(env, read_in_dll);
     dll_desc = axis2_dll_desc_create(env);
 
     module_folder = AXIS2_ARCH_FILE_DATA_GET_FILE(engine_impl->curr_file, env);
@@ -1203,7 +1210,7 @@
     AXIS2_DLL_DESC_SET_TIMESTAMP(dll_desc, env, timestamp);
     module_folder_path = AXIS2_FILE_GET_PATH(module_folder, env);
     temp_path = AXIS2_STRACAT(module_folder_path, AXIS2_PATH_SEP_STR, env);
-    dll_path = AXIS2_STRACAT(temp_path, read_in_dll, env);
+    dll_path = AXIS2_STRACAT(temp_path, dll_name, env);
     AXIS2_LOG_DEBUG((*env)->log, AXIS2_LOG_SI, "axis2_dep_engine_load_module_dll; dll path is : %s", dll_path);
     status = AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_path);
     if(AXIS2_SUCCESS != status)
@@ -1281,11 +1288,13 @@
         axis2_handler_desc_t *handlermd = NULL;
         axis2_handler_t *handler = NULL;
         axis2_char_t *handler_dll_name = NULL;
+        axis2_char_t *handler_class_name = NULL;
         axis2_dll_desc_t *dll_desc = NULL;
         axis2_param_t *impl_info_param = NULL;
         
         handlermd = AXIS2_FLOW_GET_HANDLER(flow, env, j);
-        handler_dll_name = AXIS2_HANDLER_DESC_GET_CLASS_NAME(handlermd, env);
+        handler_class_name = AXIS2_HANDLER_DESC_GET_CLASS_NAME(handlermd, env);
+        handler_dll_name = axis2_platform_get_dll_name(env, handler_class_name);
         dll_desc = axis2_dll_desc_create(env);
         /* TODO 
          * set full dll path here instead of dll lib name only */
@@ -1305,16 +1314,19 @@
 void * AXIS2_CALL
 axis2_dep_engine_get_handler_dll(axis2_dep_engine_t *dep_engine,
                                 axis2_env_t **env,
-                                axis2_char_t *dll_name)
+                                axis2_char_t *class_name)
 {
     axis2_dll_desc_t *dll_desc = NULL;
     axis2_param_t *impl_info_param = NULL;
     axis2_handler_t *handler = NULL;
+    axis2_char_t *dll_name = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
-    AXIS2_PARAM_CHECK((*env)->error, dll_name, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, class_name, NULL);
     
     dll_desc = axis2_dll_desc_create(env);
+    dll_name = axis2_platform_get_dll_name(env, class_name);
+    /* TODO set fill dll path here instead of dll lib name only */
     AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_name);
     AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_HANDLER_DLL);
     axis2_class_loader_init(env);

Modified: webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/desc_builder.c Mon Feb 13 00:55:16 2006
@@ -17,6 +17,8 @@
 #include <axis2_desc_builder.h>
 #include <axis2_string.h>
 #include <axis2_class_loader.h>
+#include <axis2_utils.h>
+#include <axis2_raw_xml_in_out_msg_recv.h>
 
 /** 
  * @brief
@@ -360,7 +362,7 @@
                                     axis2_om_node_t *handler_node,
                                     struct axis2_param_container *parent)
 {
-    axis2_handler_desc_t *handler = NULL;
+    axis2_handler_desc_t *handler_desc = NULL;
     axis2_om_attribute_t *name_attrib = NULL;
     axis2_qname_t *attr_qname = NULL;
     axis2_om_attribute_t *class_attrib = NULL;
@@ -376,8 +378,8 @@
     AXIS2_PARAM_CHECK((*env)->error, handler_node, NULL);
     AXIS2_PARAM_CHECK((*env)->error, parent, NULL);
     
-    handler = axis2_handler_desc_create_with_qname(env, NULL);
-    if(!handler)
+    handler_desc = axis2_handler_desc_create_with_qname(env, NULL);
+    if(!handler_desc)
     {
         return NULL;
     }
@@ -391,7 +393,7 @@
 
     if(NULL == name_attrib)
     {
-        AXIS2_HANDLER_DESC_FREE(handler, env);
+        AXIS2_HANDLER_DESC_FREE(handler_desc, env);
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_INVALID_HANDLER_STATE,
             AXIS2_FAILURE);
         return NULL;
@@ -403,19 +405,18 @@
         
         value = AXIS2_OM_ATTRIBUTE_GET_VALUE(name_attrib, env);
         handler_qname = axis2_qname_create(env, value, NULL, NULL); 
-        status = AXIS2_HANDLER_DESC_SET_QNAME(handler, env, handler_qname);
+        status = AXIS2_HANDLER_DESC_SET_QNAME(handler_desc, env, handler_qname);
         if(handler_qname)
             AXIS2_QNAME_FREE(handler_qname, env);
 
         if(AXIS2_SUCCESS != status)
         {
-            AXIS2_HANDLER_DESC_FREE(handler, env);
+            AXIS2_HANDLER_DESC_FREE(handler_desc, env);
             return NULL;
         }  
     }
 
     /*Setting Handler Class name */
-    
     class_qname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
     class_attrib = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(handler_element, env,
         class_qname);
@@ -424,7 +425,7 @@
     
     if(NULL == class_attrib)
     {
-        AXIS2_HANDLER_DESC_FREE(handler, env);
+        AXIS2_HANDLER_DESC_FREE(handler_desc, env);
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_INVALID_HANDLER_STATE,
             AXIS2_FAILURE);
         return NULL;   
@@ -432,17 +433,16 @@
     else
     {   
         attrib_value = AXIS2_OM_ATTRIBUTE_GET_VALUE(class_attrib, env);
-        status = AXIS2_HANDLER_DESC_SET_CLASS_NAME(handler, env, attrib_value);
-        if(AXIS2_FAILURE == status)
+        status = AXIS2_HANDLER_DESC_SET_CLASS_NAME(handler_desc, env, attrib_value);
+        /*if(AXIS2_FAILURE == status)
         {
             AXIS2_HANDLER_DESC_FREE(handler, env);
             return NULL;
-        }
+        }*/
     }
 
     /*processing phase Rules (order) */
-
-    
+ 
     order_qname = axis2_qname_create(env, AXIS2_ORDER, NULL, NULL);
     order_element = AXIS2_OM_ELEMENT_GET_FIRST_CHILD_WITH_QNAME(handler_element,
         env, order_qname, handler_node, &order_node);
@@ -451,7 +451,7 @@
 
     if(NULL == order_element || NULL == order_node)
     {
-        AXIS2_HANDLER_DESC_FREE(handler, env);
+        AXIS2_HANDLER_DESC_FREE(handler_desc, env);
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_INVALID_HANDLER_STATE, 
             AXIS2_FAILURE);
         return NULL;
@@ -466,7 +466,7 @@
         order_itr = AXIS2_OM_ELEMENT_GET_ALL_ATTRIBUTES(order_element, env);
         if(!order_itr)
         {
-            AXIS2_HANDLER_DESC_FREE(handler, env);
+            AXIS2_HANDLER_DESC_FREE(handler_desc, env);
             return NULL;
         }
         
@@ -484,57 +484,57 @@
             order_attrib = (axis2_om_attribute_t *) v;
             qname = AXIS2_OM_ATTRIBUTE_GET_QNAME(order_attrib, env);
             name = AXIS2_QNAME_GET_LOCALPART(qname, env);
-            /*if(qname)
-                AXIS2_QNAME_FREE(qname, env);*/
 
             value = AXIS2_OM_ATTRIBUTE_GET_VALUE(order_attrib, env);
             if(0 == AXIS2_STRCMP(AXIS2_AFTER, name))
             {
                 struct axis2_phase_rule *phase_rule = NULL;
-                phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler, env);
+
+                phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler_desc, env);
                 status = AXIS2_PHASE_RULE_SET_AFTER(phase_rule, env, value);
                 if(AXIS2_FAILURE == status)
                 {
-                    AXIS2_HANDLER_DESC_FREE(handler, env);
+                    AXIS2_HANDLER_DESC_FREE(handler_desc, env);
                     return NULL;
                 }
             }
             if(0 == AXIS2_STRCMP(AXIS2_BEFORE, name))
             {
                 struct axis2_phase_rule *phase_rule = NULL;
-                phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler, env);
+                phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler_desc, env);
                 status = AXIS2_PHASE_RULE_SET_BEFORE(phase_rule, env, value);
                 if(AXIS2_FAILURE == status)
                 {
-                    AXIS2_HANDLER_DESC_FREE(handler, env);
+                    AXIS2_HANDLER_DESC_FREE(handler_desc, env);
                     return NULL;
                 }
             }
             if(0 == AXIS2_STRCMP(AXIS2_PHASE, name))
             {
                 struct axis2_phase_rule *phase_rule = NULL;
-                phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler, env);
+                phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler_desc, env);
                 status = AXIS2_PHASE_RULE_SET_NAME(phase_rule, env, value);
                 if(AXIS2_FAILURE == status)
                 {
-                    AXIS2_HANDLER_DESC_FREE(handler, env);
+                    AXIS2_HANDLER_DESC_FREE(handler_desc, env);
                     return NULL;
                 }
             }
             if(0 == AXIS2_STRCMP(AXIS2_PHASEFIRST, name))
             {
-                axis2_char_t *bool_val = axis2_desc_builder_get_value(
-                    desc_builder, env, value);
+                axis2_char_t *bool_val = NULL;
                 
+                bool_val = axis2_desc_builder_get_value(desc_builder, env, 
+                    value);
                 if(0 == AXIS2_STRCMP(bool_val, "true"))
                 {
                     struct axis2_phase_rule *phase_rule = NULL;
-                    phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler, env);
+                    phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler_desc, env);
                     status = AXIS2_PHASE_RULE_SET_PHASE_FIRST(phase_rule, env,
                         AXIS2_TRUE);
                     if(AXIS2_FAILURE == status)
                     {
-                        AXIS2_HANDLER_DESC_FREE(handler, env);
+                        AXIS2_HANDLER_DESC_FREE(handler_desc, env);
                         AXIS2_FREE((*env)->allocator, bool_val);
                         return NULL;
                     }
@@ -542,18 +542,20 @@
                 else if(0 == AXIS2_STRCMP(bool_val, "false"))
                 {
                     struct axis2_phase_rule *phase_rule = NULL;
-                    phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler, env);
+                    phase_rule = AXIS2_HANDLER_DESC_GET_RULES(handler_desc, env);
                     status = AXIS2_PHASE_RULE_SET_PHASE_FIRST(phase_rule, env,
                         AXIS2_FALSE);
                     if(AXIS2_FAILURE == status)
                     {
-                        AXIS2_HANDLER_DESC_FREE(handler, env);
+                        AXIS2_HANDLER_DESC_FREE(handler_desc, env);
                         AXIS2_FREE((*env)->allocator, bool_val);
                         return NULL;
                     }
                 }
                 AXIS2_FREE((*env)->allocator, bool_val);
             }
+            if(qname)
+                AXIS2_QNAME_FREE(qname, env);
             index_i = axis2_hash_next (env, index_i);
         }
         
@@ -561,22 +563,22 @@
         params = AXIS2_OM_ELEMENT_GET_CHILDREN_WITH_QNAME(handler_element,
             env, param_qname, handler_node);
         status = axis2_desc_builder_process_params(desc_builder, env, params, 
-            handler->param_container, parent);
+            handler_desc->param_container, parent);
         if(AXIS2_FAILURE == status)
         {
-            AXIS2_HANDLER_DESC_FREE(handler, env);
+            AXIS2_HANDLER_DESC_FREE(handler_desc, env);
             return NULL;   
         }      
     }
     
-    status = AXIS2_HANDLER_DESC_SET_PARENT(handler, env, parent);
+    status = AXIS2_HANDLER_DESC_SET_PARENT(handler_desc, env, parent);
     if(AXIS2_FAILURE == status)
     {
-        AXIS2_HANDLER_DESC_FREE(handler, env);
+        AXIS2_HANDLER_DESC_FREE(handler_desc, env);
         return NULL; 
     }
     
-    return handler;
+    return handler_desc;
 }
 
 axis2_status_t AXIS2_CALL
@@ -607,21 +609,21 @@
         axis2_qname_t *att_qname = NULL;
         axis2_char_t *pname = NULL;
         
-        /* this is to check whether some one has locked the parmter at the top 
+        /* This is to check whether some one has locked the parmter at the top 
          * level
          */
         param_node = (axis2_om_node_t *)
             AXIS2_OM_CHILDREN_QNAME_ITERATOR_NEXT(params, env);
         param_element = AXIS2_OM_NODE_GET_DATA_ELEMENT(param_node, env);
         param = axis2_param_create(env, NULL, NULL);
-        /* setting param_element */
+        /* Setting param_element */
         status = AXIS2_PARAM_SET_ELEMENT(param, env, param_node);
-        if(AXIS2_FAILURE == status)
+        if(AXIS2_SUCCESS != status)
         {
             AXIS2_PARAM_FREE(param, env);
             return status;
         }
-        /* setting paramter Name */
+        /* Setting paramter name */
         att_qname = axis2_qname_create(env, AXIS2_ATTNAME, NULL, NULL);
         para_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(param_element, env, 
             att_qname);
@@ -633,19 +635,19 @@
         }
         pname = AXIS2_OM_ATTRIBUTE_GET_VALUE(para_name, env);
         status = AXIS2_PARAM_SET_NAME(param, env, pname);
-        if(AXIS2_FAILURE == status)
+        if(AXIS2_SUCCESS != status)
         {
             AXIS2_PARAM_FREE(param, env);
-            return AXIS2_FAILURE;
+            return status;
         }
         
-        /* setting paramter Value (the chiled elemnt of the paramter) */
+        /* Setting paramter Value (the chiled elemnt of the paramter) */
         para_value = AXIS2_OM_ELEMENT_GET_FIRST_ELEMENT(param_element, env,
             param_node, &para_node);
         if(NULL != para_value)
         {
             status = AXIS2_PARAM_SET_VALUE(param, env, param_element);
-            if(AXIS2_FAILURE == status)
+            if(AXIS2_SUCCESS != status)
             {
                 AXIS2_PARAM_FREE(param, env);
                 return AXIS2_FAILURE;
@@ -664,15 +666,18 @@
             }
             AXIS2_PARAM_SET_PARAM_TYPE(param, env, AXIS2_TEXT_PARAM);
         }
-        /* setting locking attrib */
+        /* Setting locking attrib */
         att_locked = axis2_qname_create(env, AXIS2_ATTLOCKED, NULL, NULL);
         para_locked = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(param_element, env, 
             att_locked);
         AXIS2_QNAME_FREE(att_locked, env);
         if(NULL != parent)
         {
+            axis2_char_t *param_name = NULL;
+
+            param_name = AXIS2_PARAM_GET_NAME(param, env);
             parent_para = AXIS2_PARAM_CONTAINER_GET_PARAM(parent, env, 
-                AXIS2_PARAM_GET_NAME(param, env));
+                param_name);
         }
         if(NULL != para_locked)
         {
@@ -680,12 +685,15 @@
             locked_value = AXIS2_OM_ATTRIBUTE_GET_VALUE(para_locked, env);
             if(0 == AXIS2_STRCMP("true", locked_value))
             {
+                axis2_char_t *param_name = NULL;
+                axis2_bool_t is_param_locked = AXIS2_FALSE;
                 /*if the parameter is locked at some levle paramer value replace
                  * by that   
                  */
-                if(NULL != parent && AXIS2_TRUE == 
-                        AXIS2_PARAM_CONTAINER_IS_PARAM_LOCKED(parent, env, 
-                            AXIS2_PARAM_GET_NAME(param, env)))
+                param_name = AXIS2_PARAM_GET_NAME(param, env);
+                is_param_locked = AXIS2_PARAM_CONTAINER_IS_PARAM_LOCKED(parent,
+                    env, param_name);
+                if(NULL != parent && AXIS2_TRUE == is_param_locked)
                 {
                     AXIS2_PARAM_FREE(param, env);
                     AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_CONF_NOT_FOUND,
@@ -800,13 +808,14 @@
     axis2_char_t *temp_path2 = NULL;
     axis2_char_t *temp_path3 = NULL;
     axis2_conf_t *conf = NULL;
+    axis2_char_t *msg_recv_dll_name = NULL;
         
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK((*env)->error, recv_element, NULL);
     class_qname = axis2_qname_create(env, AXIS2_CLASSNAME, NULL, NULL);
     recv_name = AXIS2_OM_ELEMENT_GET_ATTRIBUTE(recv_element, env, class_qname);
     class_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(recv_name, env);
-    
+    msg_recv_dll_name = axis2_platform_get_dll_name(env, class_name);
     
     conf = AXIS2_DEP_ENGINE_GET_AXIS2_CONF(desc_builder->engine, env);
     if(!conf)
@@ -822,7 +831,7 @@
         temp_path = AXIS2_STRACAT(repos_name, AXIS2_PATH_SEP_STR, env);
         temp_path2 = AXIS2_STRACAT(temp_path, AXIS2_LIB_FOLDER, env);
         temp_path3 = AXIS2_STRACAT(temp_path2, AXIS2_PATH_SEP_STR, env);
-        dll_name = AXIS2_STRACAT(temp_path3, class_name, env);
+        dll_name = AXIS2_STRACAT(temp_path3, msg_recv_dll_name, env);
         AXIS2_FREE((*env)->allocator, temp_path);
         AXIS2_FREE((*env)->allocator, temp_path2);
         AXIS2_FREE((*env)->allocator, temp_path3);
@@ -847,34 +856,9 @@
 axis2_desc_builder_load_default_msg_recv(axis2_desc_builder_t *desc_builder,
                                             axis2_env_t **env)
 {
-    axis2_char_t *default_msg_recv = "axis2_raw_xml_in_out_msg_recv";
     axis2_msg_recv_t *msg_recv = NULL;
-    axis2_param_t *impl_info_param = NULL;
-    axis2_dll_desc_t *dll_desc = NULL;
-    axis2_conf_t *conf = NULL;
-    
-    /**
-     * Setting default Message Recive as Message Receiver
-     */
-    conf = AXIS2_DEP_ENGINE_GET_AXIS2_CONF(desc_builder->engine, env);
-    impl_info_param = AXIS2_CONF_GET_PARAM(conf, env, AXIS2_MSG_RECV_PARAM);
-    
-    if(!impl_info_param)
-    {
-        dll_desc = axis2_dll_desc_create(env);
-        AXIS2_DLL_DESC_SET_NAME(dll_desc, env, default_msg_recv);
-        AXIS2_DLL_DESC_SET_TYPE(dll_desc, env, AXIS2_MSG_RECV_DLL);
-        impl_info_param = axis2_param_create(env, AXIS2_MSG_RECV_PARAM, NULL);
-        AXIS2_PARAM_SET_VALUE(impl_info_param, env, dll_desc);
-        /* set the impl_info_param(which contain dll_desc as value) so that
-         * loaded msg_recv can be re-used in future
-         */
-        AXIS2_CONF_ADD_PARAM(conf, env, impl_info_param);
-    }
-    axis2_class_loader_init(env);
-    msg_recv = (axis2_msg_recv_t *) axis2_class_loader_create_dll(env, 
-        impl_info_param);
-    
+  
+    msg_recv = axis2_raw_xml_in_out_msg_recv_create(env);
     return msg_recv;
 }
 

Modified: webservices/axis2/trunk/c/modules/core/deployment/module_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/module_builder.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/module_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/module_builder.c Mon Feb 13 00:55:16 2006
@@ -166,7 +166,7 @@
     axis2_om_node_t *in_fault_flow_node = NULL;
     axis2_om_element_t *out_fault_flow_element = NULL;
     axis2_om_node_t *out_fault_flow_node = NULL;
-    struct axis2_conf *parent = NULL;
+    axis2_conf_t *parent = NULL;
     axis2_array_list_t *ops = NULL;
     axis2_param_container_t *parent_container = NULL;
     int size = 0;
@@ -247,11 +247,11 @@
     
     if(NULL != module_dll_att)
     {
-        axis2_char_t *module_dll_name = NULL;
+        axis2_char_t *class_name = NULL;
         
         
-        module_dll_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(module_dll_att, env);
-        if(NULL != module_dll_name && (0 != AXIS2_STRCMP("", module_dll_name)))
+        class_name = AXIS2_OM_ATTRIBUTE_GET_VALUE(module_dll_att, env);
+        if(NULL != class_name && (0 != AXIS2_STRCMP("", class_name)))
         {
             if(NULL != module_builder->desc_builder->engine)
             {
@@ -260,7 +260,7 @@
                 file_data = AXIS2_DEP_ENGINE_GET_CURRENT_FILE_ITEM(
                     module_builder->desc_builder->engine, env);
                 AXIS2_ARCH_FILE_DATA_SET_MODULE_DLL_NAME(file_data, env, 
-                    module_dll_name);
+                    class_name);
                 
             }
         }

Modified: webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/repos_listener.c Mon Feb 13 00:55:16 2006
@@ -274,7 +274,7 @@
     status = AXIS2_WS_INFO_LIST_INIT(listener_impl->info_list, env);
     if(AXIS2_SUCCESS != status)
     {
-        return AXIS2_FAILURE;
+        return status;
     }
     /* if check_modules return AXIS2_FAILURE that means
      * there are no modules to load
@@ -320,11 +320,20 @@
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK((*env)->error, folder_name, AXIS2_FAILURE);
     listener_impl = AXIS2_INTF_TO_IMPL(listener);
+
     current_info_list = AXIS2_DIR_HANDLER_LIST_SERVICE_OR_MODULE_DIRS(env, 
         folder_name);
     if(!current_info_list)
     {
-        return AXIS2_FAILURE;
+        axis2_status_t status_code = AXIS2_FAILURE;
+
+        status_code = AXIS2_ERROR_GET_STATUS_CODE((*env)->error);
+        if(AXIS2_SUCCESS != status)
+        {
+            return status;
+        }
+        AXIS2_LOG_DEBUG((*env)->log, AXIS2_LOG_SI, "No %s in the folder.", folder_name); 
+        return AXIS2_SUCCESS;
     }
     size = AXIS2_ARRAY_LIST_SIZE(current_info_list, env);
     for (i = 0; i< size; i++) /* loop until empty */

Modified: webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/svc_builder.c Mon Feb 13 00:55:16 2006
@@ -237,6 +237,7 @@
     axis2_om_attribute_t *name_attr = NULL;
     axis2_array_list_t *ops = NULL;
     axis2_char_t *svc_name = NULL;
+    axis2_char_t *class_name = NULL;
     axis2_char_t *svc_dll_name = NULL;
     axis2_dll_desc_t *dll_desc = NULL;
     axis2_param_t *impl_info_param = NULL;
@@ -341,7 +342,8 @@
         AXIS2_DLL_DESC_FREE(dll_desc, env);
         return AXIS2_FAILURE;
     }
-    svc_dll_name = AXIS2_PARAM_GET_VALUE(impl_info_param, env);
+    class_name = AXIS2_PARAM_GET_VALUE(impl_info_param, env);
+    svc_dll_name = axis2_platform_get_dll_name(env, class_name);
     arch_file_data = AXIS2_DEP_ENGINE_GET_CURRENT_FILE_ITEM(builder_impl->
         svc_builder.desc_builder->engine, env);
     svc_folder = AXIS2_ARCH_FILE_DATA_GET_FILE(arch_file_data, env);

Modified: webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c?rev=377322&r1=377321&r2=377322&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/ws_info_list.c Mon Feb 13 00:55:16 2006
@@ -227,9 +227,9 @@
     info_list_impl = AXIS2_INTF_TO_IMPL(info_list);
     
     size = AXIS2_ARRAY_LIST_SIZE(info_list_impl->info_list, env);
-    if(AXIS2_TRUE != AXIS2_ERROR_GET_STATUS_CODE((*env)->error))
+    if(AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE((*env)->error))
     {
-        return AXIS2_FAILURE;
+        return AXIS2_ERROR_GET_STATUS_CODE((*env)->error);
     }
     
     for (i = 0; i < size; i++)