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/07 06:40:43 UTC

svn commit: r375494 - in /webservices/axis2/trunk/c/modules: core/deployment/dep_engine.c mod_addr/mod_addr.c mod_addr/module.xml util/class_loader.c

Author: damitha
Date: Mon Feb  6 21:40:41 2006
New Revision: 375494

URL: http://svn.apache.org/viewcvs?rev=375494&view=rev
Log:
More work on module loading

Modified:
    webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
    webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c
    webservices/axis2/trunk/c/modules/mod_addr/module.xml
    webservices/axis2/trunk/c/modules/util/class_loader.c

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=375494&r1=375493&r2=375494&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  6 21:40:41 2006
@@ -1190,7 +1190,7 @@
     temp_path = AXIS2_STRACAT(module_folder_path, AXIS2_PATH_SEP_STR, env);
     dll_path = AXIS2_STRACAT(temp_path, read_in_dll, env);
     AXIS2_LOG_DEBUG((*env)->log, AXIS2_LOG_SI, "dll path is : %s", dll_path);
- 
+    /*dll_path = "/home/damitha/projects/c/deploy/modules/addressing/libaxis2_mod_addr.so";*/
     status = AXIS2_DLL_DESC_SET_NAME(dll_desc, env, dll_path);
     if(AXIS2_SUCCESS != status)
     {
@@ -1323,12 +1323,23 @@
     axis2_flow_t *in_fault_flow = NULL;
     axis2_flow_t *out_fault_flow = NULL;
     axis2_module_t *module = NULL;
-    /* currentArchiveFile.setClassLoader(); */
+    axis2_status_t status = AXIS2_FAILURE;
     
-    axis2_dep_engine_load_module_dll(dep_engine, env, module_metadata);
+    status = axis2_dep_engine_load_module_dll(dep_engine, env, module_metadata);
+    if(AXIS2_SUCCESS != status)
+    {
+        return status;
+    }
     module = AXIS2_MODULE_DESC_GET_MODULE(module_metadata, env);
-    AXIS2_MODULE_FILL_HANDLER_CREATE_FUNC_MAP(module, env);
-    /* module_metadata.setModuleClassLoader(currentArchiveFile.getClassLoader()); */
+    if(!module)
+    {
+        return AXIS2_FAILURE;
+    }
+    status = AXIS2_MODULE_FILL_HANDLER_CREATE_FUNC_MAP(module, env);
+    if(AXIS2_SUCCESS != status)
+    {
+        return status;
+    }
     AXIS2_CONF_ADD_MODULE(AXIS2_INTF_TO_IMPL(dep_engine)->conf, env, 
         module_metadata);
     /* log.info(Messages.getMessage(DeploymentErrorMsgs.ADDING_NEW_MODULE)); */

Modified: webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c?rev=375494&r1=375493&r2=375494&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c (original)
+++ webservices/axis2/trunk/c/modules/mod_addr/mod_addr.c Mon Feb  6 21:40:41 2006
@@ -27,7 +27,7 @@
                         axis2_conf_t *axis2_system);
 
 
-axis2_status_t AXIS2_CALL
+axis2_status_t
 axis2_mod_addr_fill_handler_create_func_map(axis2_module_t *module,
                                             axis2_env_t **env);
 
@@ -87,10 +87,12 @@
     return AXIS2_SUCCESS; 
 }
 
-axis2_status_t AXIS2_CALL
+axis2_status_t
 axis2_mod_addr_fill_handler_create_func_map(axis2_module_t *module,
                                             axis2_env_t **env)
 {
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    
     module->handler_create_func_map = axis2_hash_make(env);
     if(!module->handler_create_func_map)
     {
@@ -111,7 +113,7 @@
  * Following block distinguish the exposed part of the dll.
  */
 
-int axis2_get_instance(struct axis2_module **inst,
+int axis2_get_instance(axis2_module_t **inst,
                         axis2_env_t **env)
 {
 	*inst = axis2_mod_addr_create(env);

Modified: webservices/axis2/trunk/c/modules/mod_addr/module.xml
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/mod_addr/module.xml?rev=375494&r1=375493&r2=375494&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/mod_addr/module.xml (original)
+++ webservices/axis2/trunk/c/modules/mod_addr/module.xml Mon Feb  6 21:40:41 2006
@@ -1,4 +1,4 @@
-<module name="addressing">
+<module name="addressing" class="libaxis2_mod_addr.so">
     <inflow>
         <handler name="AddressingInHandler" class="libaxis2_mod_addr.so">
             <order phase="PreDispatch"/>

Modified: webservices/axis2/trunk/c/modules/util/class_loader.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/util/class_loader.c?rev=375494&r1=375493&r2=375494&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/util/class_loader.c (original)
+++ webservices/axis2/trunk/c/modules/util/class_loader.c Mon Feb  6 21:40:41 2006
@@ -232,6 +232,7 @@
     dl_handler = AXIS2_PLATFORM_LOADLIB(dll_name);
     if(NULL == dl_handler)
     {
+        printf("dll_name:%s\n", dll_name);
         AXIS2_ERROR_SET((*env)->error, AXIS2_ERROR_DLL_LOADING_FAILED, 
             AXIS2_FAILURE);
         return AXIS2_FAILURE;