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 da...@apache.org on 2005/12/29 06:12:18 UTC

svn commit: r359720 - in /webservices/axis2/trunk/c: include/axis2_arch_file_data.h include/axis2_desc_builder.h modules/core/deployment/src/arch_file_data.c modules/core/deployment/src/desc_builder.c

Author: damitha
Date: Wed Dec 28 21:12:08 2005
New Revision: 359720

URL: http://svn.apache.org/viewcvs?rev=359720&view=rev
Log:
arch file data is completed

Modified:
    webservices/axis2/trunk/c/include/axis2_arch_file_data.h
    webservices/axis2/trunk/c/include/axis2_desc_builder.h
    webservices/axis2/trunk/c/modules/core/deployment/src/arch_file_data.c
    webservices/axis2/trunk/c/modules/core/deployment/src/desc_builder.c

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=359720&r1=359719&r2=359720&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_arch_file_data.h (original)
+++ webservices/axis2/trunk/c/include/axis2_arch_file_data.h Wed Dec 28 21:12:08 2005
@@ -29,6 +29,7 @@
 #include <axis2_allocator.h>
 #include <axis2_qname.h>
 #include <axis2_conf.h>
+#include <axis2_array_list.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -58,7 +59,61 @@
     free)(axis2_arch_file_data_t *arch_file_data,
 	        axis2_env_t **env);
     
+    axis2_char_t *(AXIS2_CALL *
+    get_msg_recv)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env);
     
+    axis2_status_t (AXIS2_CALL *
+    set_msg_recv)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env,
+                                        axis2_char_t *msg_recv);
+    
+    axis2_char_t *(AXIS2_CALL *
+    get_name)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env);
+    
+    axis2_char_t *(AXIS2_CALL *
+    get_svc_name)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env);
+    
+    int (AXIS2_CALL *
+    get_type)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env);
+    
+    axis2_char_t *(AXIS2_CALL *
+    get_file_name)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env);
+    
+    axis2_char_t *(AXIS2_CALL *
+    get_module_dll_name)(axis2_arch_file_data_t *file_data,
+                                                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_module_dll_name)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env,
+                                        axis2_char_t *module_dll_name);
+    axis2_status_t (AXIS2_CALL *
+    add_svc)(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    struct axis2_svc *svc_desc);
+    
+    struct axis2_svc *(AXIS2_CALL *
+    get_svc)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env,
+                                        axis2_char_t *svc_name);
+    
+    axis2_hash_t *(AXIS2_CALL *
+    get_svc_map)(axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env);
+    
+    axis2_array_list_t *(AXIS2_CALL *
+    get_deployable_svcs)(axis2_arch_file_data_t *file_data,
+                                                axis2_env_t **env);
+    
+    axis2_status_t (AXIS2_CALL *
+    set_deployable_svcs) (axis2_arch_file_data_t *file_data,
+                                        axis2_env_t **env,
+                                        axis2_array_list_t *deployable_svcs);    
  
 
 };
@@ -84,10 +139,47 @@
 /*************************** Function macros **********************************/
 
 #define AXIS2_ARCH_FILE_DATA_FREE(arch_file_data, env) \
-		((arch_file_data->ops)->free (arch_file_data, env))  
-
+		((arch_file_data->ops)->free (arch_file_data, env))
 
+#define AXIS2_ARCH_FILE_DATA_GET_MSG_RECV(arch_file_data, env) \
+		((arch_file_data->ops)->get_msg_recv (arch_file_data, env))  
 
+#define AXIS2_ARCH_FILE_DATA_SET_MSG_RECV(arch_file_data, env, msg_recv) \
+		((arch_file_data->ops)->set_msg_recv (arch_file_data, env, msg_recv))  
+        
+#define AXIS2_ARCH_FILE_DATA_GET_NAME(arch_file_data, env) \
+		((arch_file_data->ops)->get_name (arch_file_data, env))          
+
+#define AXIS2_ARCH_FILE_DATA_GET_SVC_NAME(arch_file_data, env) \
+		((arch_file_data->ops)->get_svc_name (arch_file_data, env)) 
+
+#define AXIS2_ARCH_FILE_DATA_GET_TYPE(arch_file_data, env) \
+		((arch_file_data->ops)->get_type (arch_file_data, env)) 
+        
+#define AXIS2_ARCH_FILE_DATA_GET_FILE_NAME(arch_file_data, env) \
+		((arch_file_data->ops)->get_file_name (arch_file_data, env)) 
+
+#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_dll_name) \
+		((arch_file_data->ops)->set_module_dll_name (arch_file_data, env, module_dll_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)) 
+        
+#define AXIS2_ARCH_FILE_DATA_GET_SVC(arch_file_data, env, svc_name) \
+		((arch_file_data->ops)->get_svc (arch_file_data, env, svc_name)) 
+
+#define AXIS2_ARCH_FILE_DATA_GET_SVC_MAP(arch_file_data, env) \
+		((arch_file_data->ops)->get_svc_map (arch_file_data, env)) 
+        
+#define AXIS2_ARCH_FILE_DATA_GET_DEPLOYABLE_SVCS(arch_file_data, env) \
+		((arch_file_data->ops)->get_deployable_svcs (arch_file_data, env)) 
+
+#define AXIS2_ARCH_FILE_DATA_SET_DEPLOYABLE_SVCS(arch_file_data, env, deployable_svcs) \
+		((arch_file_data->ops)->set_deployable_svcs (arch_file_data, env, deployable_svcs)) 
+        
 /*************************** End of function macros ***************************/
 
 /** @} */

Modified: webservices/axis2/trunk/c/include/axis2_desc_builder.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_desc_builder.h?rev=359720&r1=359719&r2=359720&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_desc_builder.h (original)
+++ webservices/axis2/trunk/c/include/axis2_desc_builder.h Wed Dec 28 21:12:08 2005
@@ -179,7 +179,7 @@
  * @return pointer to newly created description builder
  */
 AXIS2_DECLARE(axis2_desc_builder_t *) 
-axis2_desc_builder_create_with_input_stream_and_dep_engine (
+axis2_desc_builder_create_with_file_and_dep_engine (
                                         axis2_env_t **env, 
                                         axis2_char_t *file_name, 
                                         struct axis2_dep_engine *engine);

Modified: webservices/axis2/trunk/c/modules/core/deployment/src/arch_file_data.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/src/arch_file_data.c?rev=359720&r1=359719&r2=359720&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/src/arch_file_data.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/src/arch_file_data.c Wed Dec 28 21:12:08 2005
@@ -20,11 +20,25 @@
 
 /** 
  * @brief
- */ 
+ * ArchiveFileData = Hot Deployment File Item.
+ * To store infromation of the 
+ * module or service item to be deployed
+ */
 typedef struct axis2_arch_file_data_impl
 {
 	axis2_arch_file_data_t arch_file_data;
-    
+    axis2_char_t *file_name;
+    int type;
+    axis2_char_t *msg_recv;
+    axis2_char_t *module_dll_name;
+    axis2_char_t *name;
+    /*
+     * To store services in a serviceGroup. If there are wsdl for those 
+     * servics ,so wsdl service will be created for each wsdl an those will be 
+     * temporarily store in this table
+     */
+    axis2_hash_t *svc_map;
+    axis2_array_list_t *deployable_svcs;
     	
 } axis2_arch_file_data_impl_t;
 
@@ -37,7 +51,61 @@
 axis2_arch_file_data_free (axis2_arch_file_data_t *arch_file_data, 
                             axis2_env_t **env);
 
-
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_msg_recv(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_set_msg_recv(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_char_t *msg_recv);
+
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env);
+
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_svc_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env);
+
+int AXIS2_CALL
+axis2_arch_file_data_get_type(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env);
+
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_file_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env);
+
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_module_dll_name(axis2_arch_file_data_t *file_data,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_set_module_dll_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_char_t *module_dll_name);
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_add_svc(axis2_arch_file_data_t *file_data,
+                                axis2_env_t **env,
+                                struct axis2_svc *svc_desc);
+
+struct axis2_svc *AXIS2_CALL
+axis2_arch_file_data_get_svc(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_char_t *svc_name);
+
+axis2_hash_t *AXIS2_CALL
+axis2_arch_file_data_get_svc_map(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env);
+
+axis2_array_list_t *AXIS2_CALL
+axis2_arch_file_data_get_deployable_svcs(axis2_arch_file_data_t *file_data,
+                                            axis2_env_t **env);
+
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_set_deployable_svcs(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_array_list_t *deployable_svcs);
 
                                 
 /************************** End of function prototypes ************************/
@@ -59,6 +127,13 @@
         return NULL;
     }
     
+    arch_file_data_impl->file_name = NULL;
+    arch_file_data_impl->type = 0;
+    arch_file_data_impl->msg_recv = NULL;
+    arch_file_data_impl->module_dll_name = NULL;
+    arch_file_data_impl->name = NULL;
+    arch_file_data_impl->svc_map = NULL;
+    arch_file_data_impl->deployable_svcs = NULL;
     arch_file_data_impl->arch_file_data.ops = NULL;
     
 	arch_file_data_impl->arch_file_data.ops = 
@@ -71,207 +146,296 @@
     }
     
 	arch_file_data_impl->arch_file_data.ops->free =  axis2_arch_file_data_free;
+    arch_file_data_impl->arch_file_data.ops->get_msg_recv = 
+        axis2_arch_file_data_get_msg_recv;
+    arch_file_data_impl->arch_file_data.ops->set_msg_recv = 
+        axis2_arch_file_data_set_msg_recv;
+    arch_file_data_impl->arch_file_data.ops->get_name = 
+        axis2_arch_file_data_get_name;
+    arch_file_data_impl->arch_file_data.ops->get_svc_name = 
+        axis2_arch_file_data_get_svc_name;
+    arch_file_data_impl->arch_file_data.ops->get_type = 
+        axis2_arch_file_data_get_type;
+    arch_file_data_impl->arch_file_data.ops->get_file_name = 
+        axis2_arch_file_data_get_file_name;
+    arch_file_data_impl->arch_file_data.ops->get_module_dll_name = 
+        axis2_arch_file_data_get_module_dll_name;
+    arch_file_data_impl->arch_file_data.ops->set_module_dll_name =
+        axis2_arch_file_data_set_module_dll_name;
+    arch_file_data_impl->arch_file_data.ops->add_svc = 
+        axis2_arch_file_data_add_svc;
+    arch_file_data_impl->arch_file_data.ops->get_svc =
+        axis2_arch_file_data_get_svc;    
+    arch_file_data_impl->arch_file_data.ops->get_svc_map = 
+        axis2_arch_file_data_get_svc_map;
+    arch_file_data_impl->arch_file_data.ops->get_deployable_svcs = 
+        axis2_arch_file_data_get_deployable_svcs;
+    arch_file_data_impl->arch_file_data.ops->set_deployable_svcs =
+        axis2_arch_file_data_set_deployable_svcs;    
 	
 	return &(arch_file_data_impl->arch_file_data);
 }
 
+axis2_arch_file_data_t * AXIS2_CALL 
+axis2_arch_file_data_create_with_type_and_file_name(axis2_env_t **env,
+                                                    int type,
+                                                    axis2_char_t *file_name)
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    file_data_impl = (axis2_arch_file_data_impl_t *) 
+        axis2_arch_file_data_create(env);
+    if(NULL == file_data_impl)
+    {
+        return NULL;
+    }
+    file_data_impl->type = type;
+    file_data_impl->file_name = AXIS2_STRDUP(file_name, env);
+    return &(file_data_impl->arch_file_data);    
+}
+
+axis2_arch_file_data_t * AXIS2_CALL 
+axis2_arch_file_data_create_with_type_and_name(axis2_env_t **env,
+                                                    int type,
+                                                    axis2_char_t *name)
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    file_data_impl = (axis2_arch_file_data_impl_t *)
+        axis2_arch_file_data_create(env);
+    if(NULL == file_data_impl)
+    {
+        return NULL;
+    }
+    file_data_impl->type = type;
+    file_data_impl->name = AXIS2_STRDUP(name, env);
+    return &(file_data_impl->arch_file_data);    
+}
+
 /***************************Function implementation****************************/
 
 axis2_status_t AXIS2_CALL 
 axis2_arch_file_data_free (axis2_arch_file_data_t *arch_file_data, 
                             axis2_env_t **env)
 {
-    axis2_arch_file_data_impl_t *feature_impl = NULL;
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
     
     AXIS2_FUNC_PARAM_CHECK(arch_file_data, env, AXIS2_FAILURE);
     
-    feature_impl = AXIS2_INTF_TO_IMPL(arch_file_data);
-    
-	if(NULL != arch_file_data->ops)
-        AXIS2_FREE((*env)->allocator, arch_file_data->ops);
-    
-    AXIS2_FREE((*env)->allocator, feature_impl);
-    feature_impl = NULL;
+    file_data_impl = AXIS2_INTF_TO_IMPL(arch_file_data);
     
-	return AXIS2_SUCCESS;
-}
-
-/**
- * ArchiveFileData = Hot Deployment File Item , to store infromation of the 
- * module or servise item to be deploy
- */
-public class ArchiveFileData {
-
-    private ClassLoader classLoader;
-    private File file = null;
-    private int type;
-    private String messgeReceiver;
-    private String moduleClass;
-    private String name;
-
-
-    //To store services in a serviceGroup , if there are wsdl for those servics ,
-    //so wsdl service will be created for each wsdl an those will be temeororaly store
-    //in this table
-    private HashMap service = new HashMap();
-
-    private ArrayList deploybleServices = new ArrayList();
-
-    public ArchiveFileData(int type, String name) {
-        this.type = type;
-        this.name = name;
+    if(file_data_impl->file_name)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->file_name);
+        file_data_impl->file_name = NULL;        
     }
-
-    public String getMessgeReceiver() {
-        return messgeReceiver;
+    if(file_data_impl->msg_recv)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->msg_recv);
+        file_data_impl->msg_recv = NULL;        
     }
-
-    public void setMessgeReceiver(String messgeReceiver) {
-        this.messgeReceiver = messgeReceiver;
+    if(file_data_impl->module_dll_name)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->module_dll_name);
+        file_data_impl->module_dll_name = NULL;        
     }
-
-    public ArchiveFileData(File file, int type) {
-        this.file = file;
-        this.type = type;
+    if(file_data_impl->name)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->name);
+        file_data_impl->name = NULL;        
     }
-
-    public String getName() {
-        return file.getName();
+    
+    if(file_data_impl->svc_map)
+    {
+        axis2_hash_free(file_data_impl->svc_map, env);
+        file_data_impl->svc_map = NULL;        
     }
-
-    public String getServiceName() {
-        if (file != null) {
-            return file.getName();
-        } else
-            return name;
+    if(file_data_impl->deployable_svcs)
+    {
+        AXIS2_ARRAY_LIST_FREE(file_data_impl->deployable_svcs, env);
+        file_data_impl->deployable_svcs = NULL;        
     }
-
-    public String getAbsolutePath() {
-        return file.getAbsolutePath();
+    
+    file_data_impl->arch_file_data.ops = NULL;
+    
+	if(NULL != arch_file_data->ops)
+    {
+        AXIS2_FREE((*env)->allocator, arch_file_data->ops);
+        arch_file_data->ops = NULL;
     }
-
-    public int getType() {
-        return type;
+    
+    if(file_data_impl)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl);
+        file_data_impl = NULL;
     }
+    
+	return AXIS2_SUCCESS;
+}
 
-    public File getFile() {
-        return file;
-    }
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_msg_recv(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    return AXIS2_INTF_TO_IMPL(file_data)->msg_recv;
+}
 
-    public ClassLoader getClassLoader() {
-        return classLoader;
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_set_msg_recv(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_char_t *msg_recv)
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, msg_recv, AXIS2_FAILURE);
+    
+    file_data_impl = AXIS2_INTF_TO_IMPL(file_data);
+    if(file_data_impl->msg_recv)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->msg_recv);
+        file_data_impl->msg_recv = NULL;
     }
+    file_data_impl->msg_recv = AXIS2_STRDUP(msg_recv, env);
+    return AXIS2_SUCCESS;
+}
 
-    public void setClassLoader(ClassLoader classLoader) {
-        this.classLoader = classLoader;
-    }
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    return AXIS2_INTF_TO_IMPL(file_data)->file_name;
+}
 
-    public String getModuleClass() {
-        return moduleClass;
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_svc_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env)
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    axis2_char_t *svc_name = NULL;
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    file_data_impl = AXIS2_INTF_TO_IMPL(file_data);
+    if(NULL != file_data_impl->file_name)
+    {
+        svc_name = file_data_impl->file_name;
     }
-
-    public void setModuleClass(String moduleClass) {
-        this.moduleClass = moduleClass;
+    else
+    {
+        svc_name = file_data_impl->name;
     }
+    return svc_name;
+}
 
-    public void setClassLoader(boolean extarctArichive) throws AxisFault {
-        ClassLoader parent = Thread.currentThread().getContextClassLoader();
-        if (! extarctArichive) {
-            // has to be craeted taking that file to the account
-            if (file != null) {
-                URL[] urlsToLoadFrom;
-                try {
-                    if (!file.exists()) {
-                        throw new AxisFault(Messages.getMessage(DeploymentErrorMsgs.FNF));
-                    }
-                    urlsToLoadFrom = new URL[]{file.toURL()};
-                    classLoader =
-                            new DeploymentClassLoader(urlsToLoadFrom, parent);
-                    //                classLoader = new URLClassLoader(urlsToLoadFrom, parent);
-                } catch (Exception e) {
-                    throw new AxisFault(e);
-                }
-            }
-        } else {
-            if (file != null) {
-                try {
-                    ArrayList urls = new ArrayList();
-                    urls.add(file.toURL());
-
-                    //if lib is simple
-                    File libfiles = new File(file, "lib");
-                    if(libfiles.exists()){
-                        urls.add(libfiles.toURL());
-                        File jarfiles [] = libfiles.listFiles();
-                        for (int i = 0; i < jarfiles.length; i++) {
-                            File jarfile = jarfiles[i];
-                            if(jarfile.getName().endsWith(".jar")){
-                                urls.add(jarfile.toURL());
-                            }
-                        }
-                    }
-
-                    //if lib is capital
-                    libfiles = new File(file, "Lib");
-                    if(libfiles.exists()){
-                        urls.add(libfiles.toURL());
-                        File jarfiles [] = libfiles.listFiles();
-                        for (int i = 0; i < jarfiles.length; i++) {
-                            File jarfile = jarfiles[i];
-                            if(jarfile.getName().endsWith(".jar")){
-                                urls.add(jarfile.toURL());
-                            }
-                        }
-                    }
-
-                    URL urllist [] = new URL[urls.size()];
-                    for (int i = 0; i < urls.size(); i++) {
-                        urllist[i] = (URL) urls.get(i);
-                    }
-                    classLoader = new URLClassLoader(urllist,parent);
-
-
-                } catch (MalformedURLException e) {
-                    throw new AxisFault(e);
-                }
-
-            }
-        }
+int AXIS2_CALL
+axis2_arch_file_data_get_type(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, AXIS2_FAILURE);
+    return AXIS2_INTF_TO_IMPL(file_data)->type;
+}
 
-    }
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_file_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env) 
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    return AXIS2_INTF_TO_IMPL(file_data)->file_name;
+}
 
-    /**
-     * to check whthere a given file is  a  jar file
-     *
-     * @param filename
-     * @return boolean
-     */
-    public static  boolean isServiceArchiveFile(String filename) {
-        return ((filename.endsWith(".jar")) | (filename.endsWith(".aar")));
-    }
+axis2_char_t *AXIS2_CALL
+axis2_arch_file_data_get_module_dll_name(axis2_arch_file_data_t *file_data,
+                                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    return AXIS2_INTF_TO_IMPL(file_data)->module_dll_name;
+}
 
-    public static  boolean isModuleArchiveFile(String filename) {
-        return ((filename.endsWith(".jar")) || (filename.endsWith(".mar")));
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_set_module_dll_name(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_char_t *module_dll_name) 
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, module_dll_name, AXIS2_FAILURE);
+    
+    file_data_impl = AXIS2_INTF_TO_IMPL(file_data);
+    if(file_data_impl->module_dll_name)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->module_dll_name);
+        file_data_impl->module_dll_name = NULL;
     }
+    file_data_impl->module_dll_name = module_dll_name;
+    return AXIS2_SUCCESS;
+}
 
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_add_svc(axis2_arch_file_data_t *file_data,
+                                axis2_env_t **env,
+                                struct axis2_svc *svc_desc)
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    axis2_qname_t *svc_qname = NULL;
+    axis2_char_t *svc_name = NULL;
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, svc_desc, AXIS2_FAILURE);
+    
+    file_data_impl = AXIS2_INTF_TO_IMPL(file_data);
+    
+    svc_qname = AXIS2_SVC_GET_QNAME(svc_desc, env);
+    svc_name = AXIS2_QNAME_GET_LOCALPART(svc_qname, env);
+    
+    axis2_hash_set(file_data_impl->svc_map, svc_name, AXIS2_HASH_KEY_STRING,
+        svc_desc);
+    return AXIS2_SUCCESS;
+}
 
-    public void addService(AxisService servicedesc){
-        service.put(servicedesc.getName().getLocalPart(),servicedesc);
-    }
-
-    public AxisService getService(String serviceName){
-        return (AxisService)service.get(serviceName);
-    }
+struct axis2_svc *AXIS2_CALL
+axis2_arch_file_data_get_svc(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_char_t *svc_name)
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    struct axis2_svc *svc = NULL;
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, svc_name, AXIS2_FAILURE);
+    
+    file_data_impl = AXIS2_INTF_TO_IMPL(file_data);
+    svc = (struct axis2_svc *) axis2_hash_get(file_data_impl->svc_map, svc_name, 
+        AXIS2_HASH_KEY_STRING);
+    return svc;
+}
 
-    public HashMap getService() {
-        return service;
-    }
+axis2_hash_t *AXIS2_CALL
+axis2_arch_file_data_get_svc_map(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    return AXIS2_INTF_TO_IMPL(file_data)->svc_map;
+}
 
-    public ArrayList getDeploybleServices() {
-        return deploybleServices;
-    }
+axis2_array_list_t *AXIS2_CALL
+axis2_arch_file_data_get_deployable_svcs(axis2_arch_file_data_t *file_data,
+                                            axis2_env_t **env)
+{
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, NULL);
+    return AXIS2_INTF_TO_IMPL(file_data)->deployable_svcs;
+}
 
-    public void setDeploybleServices(ArrayList deploybleServices) {
-        this.deploybleServices = deploybleServices;
+axis2_status_t AXIS2_CALL
+axis2_arch_file_data_set_deployable_svcs(axis2_arch_file_data_t *file_data,
+                                    axis2_env_t **env,
+                                    axis2_array_list_t *deployable_svcs) 
+{
+    axis2_arch_file_data_impl_t *file_data_impl = NULL;
+    AXIS2_FUNC_PARAM_CHECK(file_data, env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK((*env)->error, deployable_svcs, AXIS2_FAILURE);
+    
+    file_data_impl = AXIS2_INTF_TO_IMPL(file_data);
+    if(file_data_impl->deployable_svcs)
+    {
+        AXIS2_FREE((*env)->allocator, file_data_impl->deployable_svcs);
+        file_data_impl->deployable_svcs = NULL;
     }
+    file_data_impl->deployable_svcs = deployable_svcs;
+    return AXIS2_SUCCESS;
 }

Modified: webservices/axis2/trunk/c/modules/core/deployment/src/desc_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/core/deployment/src/desc_builder.c?rev=359720&r1=359719&r2=359720&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/src/desc_builder.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/src/desc_builder.c Wed Dec 28 21:12:08 2005
@@ -98,7 +98,7 @@
 /************************** End of function prototypes ************************/
 
 axis2_desc_builder_t * AXIS2_CALL 
-axis2_desc_builder_create_with_input_stream_and_dep_engine (
+axis2_desc_builder_create_with_file_and_dep_engine (
                                         axis2_env_t **env, 
                                         axis2_char_t *file_name, 
                                         struct axis2_dep_engine *engine)