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 sa...@apache.org on 2007/03/22 04:35:06 UTC

svn commit: r521109 - in /webservices/axis2/trunk/c: axiom/include/ axiom/src/om/ axiom/src/soap/ modules/core/deployment/ samples/server/Calculator/ samples/server/echo/ samples/server/math/ samples/server/mtom/ samples/server/notify/ samples/server/s...

Author: samisa
Date: Wed Mar 21 20:35:05 2007
New Revision: 521109

URL: http://svn.apache.org/viewvc?view=rev&rev=521109
Log:
Modified OM test to use string in place of char*

Modified:
    webservices/axis2/trunk/c/axiom/include/axiom_text.h
    webservices/axis2/trunk/c/axiom/src/om/om_element.c
    webservices/axis2/trunk/c/axiom/src/om/om_stax_builder.c
    webservices/axis2/trunk/c/axiom/src/om/om_text.c
    webservices/axis2/trunk/c/axiom/src/soap/soap_body.c
    webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c
    webservices/axis2/trunk/c/modules/core/deployment/axis2_dep_engine.h
    webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
    webservices/axis2/trunk/c/samples/server/Calculator/calc.c
    webservices/axis2/trunk/c/samples/server/echo/echo.c
    webservices/axis2/trunk/c/samples/server/math/math.c
    webservices/axis2/trunk/c/samples/server/mtom/mtom.c
    webservices/axis2/trunk/c/samples/server/notify/notify.c
    webservices/axis2/trunk/c/samples/server/sg_math/add.c
    webservices/axis2/trunk/c/samples/server/sg_math/div.c
    webservices/axis2/trunk/c/samples/server/sg_math/mul.c
    webservices/axis2/trunk/c/samples/server/sg_math/sub.c
    webservices/axis2/trunk/c/util/src/string.c

Modified: webservices/axis2/trunk/c/axiom/include/axiom_text.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axiom_text.h?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axiom_text.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axiom_text.h Wed Mar 21 20:35:05 2007
@@ -39,7 +39,7 @@
 
     /**
       * Creates a new text struct
-      * @param env Environment. MUST  NOT be NULL, .
+      * @param env Environment. 
       * @param parent parent of the new node. Optinal, can be NULL. 
       * The parent element must be of type AXIOM_ELEMENT
       * @param value Text value. Optinal, can be NULL.
@@ -54,9 +54,26 @@
         const axis2_char_t *value,
         axiom_node_t ** node);
 
+	/**
+      * Creates a new text struct
+      * @param env Environment. 
+      * @param parent parent of the new node. Optinal, can be NULL. 
+      * The parent element must be of type AXIOM_ELEMENT
+      * @param value Text value string. Optinal, can be NULL.
+      * @param comment_node This is an out parameter.  cannot be NULL.
+      * Returns the node corresponding to the text struct created.
+      * Node type will be set to AXIOM_TEXT  
+      * @return pointer to newly created text struct 
+      */
+    AXIS2_EXTERN axiom_text_t *AXIS2_CALL
+    axiom_text_create_str(const axis2_env_t *env,
+        axiom_node_t *parent,
+        axis2_string_t *value,
+        axiom_node_t ** node);
+
     /**
       * Creates a new text struct for binary data (MTOM)
-      * @param env Environment. MUST  NOT be NULL, .
+      * @param env Environment. 
       * @param parent parent of the new node. Optinal, can be NULL. 
       * The parent element must be of type AXIOM_ELEMENT
       * @param data_handler data handler. Optinal, can be NULL.
@@ -73,7 +90,7 @@
 
     /**
       * Free an axiom_text struct
-      * @param env environment.  MUST NOT be NULL.
+      * @param env environment. 
       * @param om_text pointer to om text struct to be freed.
       * @return satus of the op. AXIS2_SUCCESS on success
       * AXIS2_FAILURE on error.
@@ -84,7 +101,7 @@
 
     /**
       * Serialize op
-      * @param env environment.  MUST NOT be NULL.
+      * @param env environment. 
       * @param om_text pointer to om text struct to be serialized.
       * @param om_output AXIOM output handler to be used in serializing.
       * @return satus of the op. AXIS2_SUCCESS on success,
@@ -98,7 +115,7 @@
    /**
      * Sets the text value
      * @param om_text om_text struct
-     * @param env environment , MUST NOT be NULL.
+     * @param env environment.
      * @param value text
      * @return status of the op. AXIS2_SUCCESS on success,
      * AXIS2_FAILURE on error.
@@ -111,11 +128,34 @@
    /**
      * Gets text value 
      * @param om_text om_text struct
-     * @param env environment, MUST NOT be NULL.
+     * @param env environment.
      * @return text value , NULL is returned if there is no text value.
      */
-    AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+    AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
     axiom_text_get_value(struct axiom_text *om_text,
+        const axis2_env_t *env);
+
+	/**
+     * Sets the text value
+     * @param om_text om_text struct
+     * @param env environment.
+     * @param value string
+     * @return status of the op. AXIS2_SUCCESS on success,
+     * AXIS2_FAILURE on error.
+     */
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axiom_text_set_value_str(struct axiom_text *om_text,
+        const axis2_env_t *env,
+        axis2_string_t *value);
+
+   /**
+     * Gets text value 
+     * @param om_text om_text struct
+     * @param env environment.
+     * @return text valu stringe , NULL is returned if there is no text value.
+     */
+    AXIS2_EXTERN axis2_string_t *AXIS2_CALL
+    axiom_text_get_value_str(struct axiom_text *om_text,
         const axis2_env_t *env);
 
    /**

Modified: webservices/axis2/trunk/c/axiom/src/om/om_element.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_element.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_element.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_element.c Wed Mar 21 20:35:05 2007
@@ -1053,7 +1053,7 @@
     axiom_node_t *element_node)
 {
     axis2_char_t *dest = NULL;
-    axis2_char_t *temp_text = NULL;
+    const axis2_char_t *temp_text = NULL;
     axiom_text_t *text_node = NULL;
     axiom_node_t *temp_node = NULL;
 

Modified: webservices/axis2/trunk/c/axiom/src/om/om_stax_builder.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_stax_builder.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_stax_builder.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_stax_builder.c Wed Mar 21 20:35:05 2007
@@ -186,6 +186,7 @@
     const axis2_env_t *env)
 {
     axis2_char_t *temp_value = NULL;
+	axis2_string_t *temp_value_str = NULL;
     axiom_node_t *node = NULL;
 
     AXIS2_ENV_CHECK(env, NULL);
@@ -197,7 +198,6 @@
         return NULL;
     }
     temp_value = AXIOM_XML_READER_GET_VALUE(om_builder->parser, env);
-
     if (!temp_value)
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_XML_READER_VALUE_NULL,
@@ -205,22 +205,26 @@
         return NULL;
     }
 
+	temp_value_str = axis2_string_create_assume_ownership(env, &temp_value);
+    /*temp_value_str = axis2_string_create(env, temp_value);*/
+
     if (AXIOM_NODE_IS_COMPLETE(om_builder->lastnode, env))
     {
-        axiom_text_create(env,
+        axiom_text_create_str(env,
             AXIOM_NODE_GET_PARENT(om_builder->lastnode, env),
-            temp_value, &node);
+            temp_value_str, &node);
 
     }
     else
     {
-        axiom_text_create(env, om_builder->lastnode, temp_value, &node);
+        axiom_text_create_str(env, om_builder->lastnode, temp_value_str, &node);
     }
 
     axiom_node_set_complete(node , env, AXIS2_TRUE);
     om_builder->lastnode = node;
 
-    AXIOM_XML_READER_XML_FREE(om_builder->parser , env, temp_value);
+    /*AXIOM_XML_READER_XML_FREE(om_builder->parser , env, temp_value); */
+	axis2_string_free(temp_value_str, env);
     return node;
 }
 

Modified: webservices/axis2/trunk/c/axiom/src/om/om_text.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_text.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_text.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_text.c Wed Mar 21 20:35:05 2007
@@ -25,7 +25,7 @@
 #include <axiom_namespace.h>
 #include <axis2_base64.h>
 
-static axis2_char_t *AXIS2_CALL
+static const axis2_char_t *AXIS2_CALL
 axiom_text_get_text(axiom_text_t *om_text,
     const axis2_env_t *env);
 
@@ -41,7 +41,7 @@
 struct axiom_text
 {
     /** Text value */
-    axis2_char_t *value;
+    axis2_string_t *value;
     /** The following fields are for MTOM */
     axis2_char_t *mime_type;
     axis2_bool_t optimize;
@@ -59,7 +59,6 @@
     const axis2_char_t * value,
     axiom_node_t **node)
 {
-
     axiom_text_t *om_text = NULL;
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, node, NULL);
@@ -95,7 +94,7 @@
 
     if (value)
     {
-        om_text->value = (axis2_char_t *) axis2_strdup(value, env);
+        om_text->value = axis2_string_create(env, value);
     }
 
     axiom_node_set_data_element((*node), env, om_text);
@@ -140,7 +139,7 @@
 
     if (om_text->value)
     {
-        AXIS2_FREE(env->allocator, om_text->value);
+        axis2_string_free(om_text->value, env);
     }
 
     if (om_text->ns)
@@ -174,7 +173,7 @@
 {
     int status = AXIS2_SUCCESS;
     axis2_char_t *attribute_value = NULL;
-    axis2_char_t *text = NULL;
+    const axis2_char_t *text = NULL;
     axiom_xml_writer_t *om_output_xml_writer = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
@@ -185,7 +184,7 @@
         if (om_text->value)
         {
             status = axiom_output_write(om_output, env,
-                AXIOM_TEXT, 1, om_text->value);
+                AXIOM_TEXT, 1, axis2_string_get_buffer(om_text->value, env));
         }
     }
     else
@@ -225,17 +224,21 @@
         else
         {
             text = axiom_text_get_text(om_text, env);
-            AXIOM_XML_WRITER_WRITE_CHARACTERS(om_output_xml_writer, env, text);
+            AXIOM_XML_WRITER_WRITE_CHARACTERS(om_output_xml_writer, env, (axis2_char_t*)text);
         }
     }
     return status;
 }
 
-AXIS2_EXTERN axis2_char_t *AXIS2_CALL
+AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
 axiom_text_get_value(axiom_text_t *om_text,
     const axis2_env_t *env)
 {
-    return om_text->value;
+	if (om_text->value)
+    {
+        return axis2_string_get_buffer(om_text->value, env);
+    }
+    return NULL;
 }
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
@@ -248,11 +251,11 @@
 
     if (om_text->value)
     {
-        AXIS2_FREE(env->allocator, om_text->value);
+        axis2_string_free(om_text->value, env);
         om_text->value = NULL;
     }
 
-    om_text->value = (axis2_char_t*)axis2_strdup(value, env);
+	om_text->value = axis2_string_create(env, value);
     if (!om_text->value)
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY,
@@ -477,13 +480,13 @@
     return AXIS2_SUCCESS;
 }
 
-static axis2_char_t *AXIS2_CALL
+static const axis2_char_t *AXIS2_CALL
 axiom_text_get_text(axiom_text_t *om_text,
     const axis2_env_t *env)
 {
     if (om_text->value)
     {
-        return om_text->value;
+        return axis2_string_get_buffer(om_text->value, env);
     }
     else
     {
@@ -509,7 +512,7 @@
             }
         }
     }
-    return om_text->value;
+    return NULL;
 }
 
 AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL
@@ -517,5 +520,86 @@
     const axis2_env_t *env)
 {
     return om_text->data_handler;
+}
+
+AXIS2_EXTERN axiom_text_t *AXIS2_CALL
+    axiom_text_create_str(const axis2_env_t *env,
+        axiom_node_t *parent,
+        axis2_string_t *value,
+        axiom_node_t ** node)
+{
+    axiom_text_t *om_text = NULL;
+    AXIS2_ENV_CHECK(env, NULL);
+    AXIS2_PARAM_CHECK(env->error, node, NULL);
+
+    *node = axiom_node_create(env);
+
+    if (!(*node))
+    {
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+    om_text = (axiom_text_t *) AXIS2_MALLOC(env->allocator,
+        sizeof(axiom_text_t));
+    if (!om_text)
+    {
+        AXIS2_FREE(env->allocator, *node);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        return NULL;
+    }
+
+    om_text->mime_type = NULL;
+    om_text->optimize = AXIS2_FALSE;
+    om_text->localname = "Include";
+    om_text->is_binary = AXIS2_FALSE;
+    om_text->content_id = NULL;
+    om_text->om_attribute = NULL;
+    om_text->value = NULL;
+    om_text->ns = NULL;
+    om_text->data_handler = NULL;
+    om_text->mime_type = NULL;
+
+    om_text->ns = NULL;
+
+    if (value)
+    {
+        om_text->value = axis2_string_clone(value, env);
+    }
+
+    axiom_node_set_data_element((*node), env, om_text);
+    axiom_node_set_node_type((*node), env, AXIOM_TEXT);
+    axiom_node_set_complete((*node), env, AXIS2_FALSE);
+
+    if (parent && AXIOM_NODE_GET_NODE_TYPE(parent, env) == AXIOM_ELEMENT)
+    {
+        AXIOM_NODE_ADD_CHILD(parent, env, (*node));
+    }
+
+    return om_text;
+}
+
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axiom_text_set_value_str(struct axiom_text *om_text,
+    const axis2_env_t *env,
+    axis2_string_t *value)
+{
+	if (om_text->value)
+	{
+		axis2_string_free(om_text->value, env);
+		om_text->value = NULL;
+	}
+	if (value)
+    {
+        om_text->value = axis2_string_clone(value, env);
+    }
+	return AXIS2_SUCCESS;
+}
+
+AXIS2_EXTERN axis2_string_t *AXIS2_CALL
+axiom_text_get_value_str(struct axiom_text *om_text,
+    const axis2_env_t *env)
+{
+	return om_text->value;
 }
 

Modified: webservices/axis2/trunk/c/axiom/src/soap/soap_body.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/soap/soap_body.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/soap/soap_body.c (original)
+++ webservices/axis2/trunk/c/axiom/src/soap/soap_body.c Wed Mar 21 20:35:05 2007
@@ -467,4 +467,5 @@
             }
         }
     }
+    return AXIS2_SUCCESS;
 }

Modified: webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/arch_reader.c Wed Mar 21 20:35:05 2007
@@ -54,10 +54,11 @@
 {
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
-    if (arch_reader->desc_builder)
+    /* desc builder is owned by dep_engine, so do not free it here */
+    /*if (arch_reader->desc_builder)
     {
         AXIS2_DESC_BUILDER_FREE(arch_reader->desc_builder, env);
-    }
+    }*/
 
     if (arch_reader)
     {
@@ -146,11 +147,6 @@
     AXIS2_PARAM_CHECK(env->error, dep_engine, AXIS2_FAILURE);
     AXIS2_PARAM_CHECK(env->error, svc_grp, AXIS2_FAILURE);
 
-    if (arch_reader->desc_builder)
-    {
-        AXIS2_DESC_BUILDER_FREE(arch_reader->desc_builder, env);
-        arch_reader->desc_builder = NULL;
-    }
     arch_reader->desc_builder =
         axis2_desc_builder_create_with_file_and_dep_engine(env, svc_xml,
             dep_engine);
@@ -158,6 +154,7 @@
     {
         return AXIS2_FAILURE;
     }
+    axis2_dep_engine_add_desc_builder(dep_engine, env, arch_reader->desc_builder);
 
     svcs = AXIS2_DESC_BUILDER_BUILD_OM(arch_reader->desc_builder, env);
 
@@ -200,7 +197,7 @@
         svc_builder = axis2_svc_builder_create_with_dep_engine_and_svc(env,
             dep_engine, svc);
         status = AXIS2_SVC_BUILDER_POPULATE_SVC(svc_builder, env, svcs);
-        AXIS2_SVC_BUILDER_FREE(svc_builder, env);
+        axis2_dep_engine_add_svc_builder(dep_engine, env, svc_builder);
         if (AXIS2_SUCCESS != status)
         {
             AXIS2_LOG_INFO(env->log, AXIS2_LOG_SI, "populating service is not successful");
@@ -227,7 +224,7 @@
         grp_builder = axis2_svc_grp_builder_create_with_svc_and_dep_engine(env,
             svcs, dep_engine);
         status = AXIS2_SVC_GRP_BUILDER_POPULATE_SVC_GRP(grp_builder, env, svc_grp);
-        AXIS2_SVC_GRP_BUILDER_FREE(grp_builder, env);
+        axis2_dep_engine_add_svc_builder(dep_engine, env, grp_builder);
     }
     return status;
 }
@@ -266,7 +263,7 @@
             axis2_module_builder_create_with_file_and_dep_engine_and_module(env,
                 module_xml, dep_engine, module_desc);
         status = AXIS2_MODULE_BUILDER_POPULATE_MODULE(module_builder, env);
-        AXIS2_MODULE_BUILDER_FREE(module_builder, env);
+        axis2_dep_engine_add_svc_builder(dep_engine, env, module_builder);
     }
     else
     {

Modified: webservices/axis2/trunk/c/modules/core/deployment/axis2_dep_engine.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/deployment/axis2_dep_engine.h?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/axis2_dep_engine.h (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/axis2_dep_engine.h Wed Mar 21 20:35:05 2007
@@ -52,6 +52,10 @@
 
     /** Type name for struct axis2_dep_engine */
     typedef struct axis2_dep_engine axis2_dep_engine_t;
+    struct axis2_desc_builder;
+    struct axis2_module_builder;
+    struct axis2_svc_builder;
+    struct axis2_grp_builder;
 
     /** 
      * De-allocate memory
@@ -289,6 +293,26 @@
     axis2_dep_engine_create_with_repos_name_and_svr_xml_file(const axis2_env_t *env,
         const axis2_char_t *repos_path,
         const axis2_char_t *svr_xml_file);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_dep_engine_add_desc_builder(axis2_dep_engine_t *dep_engine,
+        const axis2_env_t *env,
+        struct axis2_desc_builder *desc_builder);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_dep_engine_add_module_builder(axis2_dep_engine_t *dep_engine,
+        const axis2_env_t *env,
+        struct axis2_module_builder *module_builder);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_dep_engine_add_svc_builder(axis2_dep_engine_t *dep_engine,
+        const axis2_env_t *env,
+        struct axis2_svc_builder *svc_builder);
+
+    AXIS2_EXTERN axis2_status_t AXIS2_CALL
+    axis2_dep_engine_add_svc_grp_builder(axis2_dep_engine_t *dep_engine,
+        const axis2_env_t *env,
+        struct axis2_svc_grp_builder *svc_grp_builder);
 
 /** Frees the deployment engine. */
 #define AXIS2_DEP_ENGINE_FREE(dep_engine, env) \

Modified: webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c (original)
+++ webservices/axis2/trunk/c/modules/core/deployment/dep_engine.c Wed Mar 21 20:35:05 2007
@@ -22,7 +22,9 @@
 #include <axis2_dll_desc.h>
 #include <axis2_flow.h>
 #include <axis2_arch_reader.h>
+#include <axis2_module_builder.h>
 #include <axis2_svc_builder.h>
+#include <axis2_svc_grp_builder.h>
 #include <axiom_node.h>
 #include <axis2_class_loader.h>
 #include <axis2_string.h>
@@ -68,6 +70,10 @@
     axis2_repos_listener_t *repos_listener; /*Added this here to help with feeing memory allocated for this - Samisa*/
     axis2_conf_builder_t *conf_builder;
     axis2_svc_builder_t *svc_builder;
+    axis2_array_list_t *desc_builders;
+    axis2_array_list_t *module_builders;
+    axis2_array_list_t *svc_builders;
+    axis2_array_list_t *svc_grp_builders;
 };
 
 static axis2_status_t
@@ -151,6 +157,10 @@
     dep_engine->repos_listener = NULL;
     dep_engine->conf_builder = NULL;
     dep_engine->svc_builder = NULL;
+    dep_engine->desc_builders = NULL;
+    dep_engine->module_builders = NULL;
+    dep_engine->svc_builders = NULL;
+    dep_engine->svc_grp_builders = NULL;
 
     dep_engine->ws_to_deploy = axis2_array_list_create(env, 0);
     if (!(dep_engine->ws_to_deploy))
@@ -158,6 +168,11 @@
         axis2_dep_engine_free(dep_engine, env);
         return NULL;
     }
+    
+    dep_engine->desc_builders = axis2_array_list_create(env, 0);
+    dep_engine->module_builders = axis2_array_list_create(env, 0);
+    dep_engine->svc_builders = axis2_array_list_create(env, 0);
+    dep_engine->svc_grp_builders = axis2_array_list_create(env, 0);
 
     dep_engine->phases_info = axis2_phases_info_create(env);
     if (!(dep_engine->phases_info))
@@ -314,6 +329,75 @@
         axis2_array_list_free(dep_engine->ws_to_deploy, env);
         dep_engine->ws_to_deploy = NULL;
     }
+
+    if (dep_engine->desc_builders)
+    {
+        int i = 0;
+        int size = 0;
+
+        size = axis2_array_list_size(dep_engine->desc_builders, env);
+        for (i = 0; i < size; i++)
+        {
+            axis2_desc_builder_t *desc_builder = NULL;
+
+            desc_builder = (axis2_desc_builder_t *)
+            axis2_array_list_get(dep_engine->desc_builders, env, i);
+            axis2_desc_builder_free(desc_builder, env);
+        }
+        axis2_array_list_free(dep_engine->desc_builders, env);
+    }
+
+    if (dep_engine->module_builders)
+    {
+        int i = 0;
+        int size = 0;
+
+        size = axis2_array_list_size(dep_engine->module_builders, env);
+        for (i = 0; i < size; i++)
+        {
+            axis2_module_builder_t *module_builder = NULL;
+
+            module_builder = (axis2_module_builder_t *)
+            axis2_array_list_get(dep_engine->module_builders, env, i);
+            axis2_module_builder_free(module_builder, env);
+        }
+        axis2_array_list_free(dep_engine->module_builders, env);
+    }
+
+    if (dep_engine->svc_builders)
+    {
+        int i = 0;
+        int size = 0;
+
+        size = axis2_array_list_size(dep_engine->svc_builders, env);
+        for (i = 0; i < size; i++)
+        {
+            axis2_svc_builder_t *svc_builder = NULL;
+
+            svc_builder = (axis2_svc_builder_t *)
+            axis2_array_list_get(dep_engine->svc_builders, env, i);
+            axis2_module_builder_free(svc_builder, env);
+        }
+        axis2_array_list_free(dep_engine->svc_builders, env);
+    }
+
+    if (dep_engine->svc_grp_builders)
+    {
+        int i = 0;
+        int size = 0;
+
+        size = axis2_array_list_size(dep_engine->svc_grp_builders, env);
+        for (i = 0; i < size; i++)
+        {
+            axis2_svc_grp_builder_t *svc_grp_builder = NULL;
+
+            svc_grp_builder = (axis2_svc_grp_builder_t *)
+            axis2_array_list_get(dep_engine->svc_grp_builders, env, i);
+            axis2_module_builder_free(svc_grp_builder, env);
+        }
+        axis2_array_list_free(dep_engine->svc_grp_builders, env);
+    }
+
     if (dep_engine->ws_to_undeploy)
     {
         int i = 0;
@@ -1532,4 +1616,49 @@
     return AXIS2_SUCCESS;
 }
 
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_dep_engine_add_module_builder(
+    axis2_dep_engine_t *dep_engine,
+    const axis2_env_t *env,
+    axis2_module_builder_t *module_builder)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, module_builder, AXIS2_FAILURE);
+
+    return axis2_array_list_add(dep_engine->module_builders, env, module_builder);
+}
 
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_dep_engine_add_svc_builder(
+    axis2_dep_engine_t *dep_engine,
+    const axis2_env_t *env,
+    axis2_svc_builder_t *svc_builder)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, svc_builder, AXIS2_FAILURE);
+
+    return axis2_array_list_add(dep_engine->svc_builders, env, svc_builder);
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_dep_engine_add_svc_grp_builder(
+    axis2_dep_engine_t *dep_engine,
+    const axis2_env_t *env,
+    axis2_svc_grp_builder_t *svc_grp_builder)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, svc_grp_builder, AXIS2_FAILURE);
+
+    return axis2_array_list_add(dep_engine->svc_grp_builders, env, svc_grp_builder);
+}
+
+AXIS2_EXTERN axis2_status_t AXIS2_CALL
+axis2_dep_engine_add_desc_builder(axis2_dep_engine_t *dep_engine,
+    const axis2_env_t *env,
+    struct axis2_desc_builder *desc_builder)
+{
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_PARAM_CHECK(env->error, desc_builder, AXIS2_FAILURE);
+
+    return axis2_array_list_add(dep_engine->desc_builders, env, desc_builder);
+}

Modified: webservices/axis2/trunk/c/samples/server/Calculator/calc.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/Calculator/calc.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/Calculator/calc.c (original)
+++ webservices/axis2/trunk/c/samples/server/Calculator/calc.c Wed Mar 21 20:35:05 2007
@@ -71,7 +71,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -100,7 +100,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -181,7 +181,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -212,7 +212,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -294,7 +294,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -325,7 +325,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -407,7 +407,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -438,7 +438,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else

Modified: webservices/axis2/trunk/c/samples/server/echo/echo.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/echo/echo.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/echo/echo.c (original)
+++ webservices/axis2/trunk/c/samples/server/echo/echo.c Wed Mar 21 20:35:05 2007
@@ -63,7 +63,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            axis2_char_t *text_str = axiom_text_get_value(text, env);
+            axis2_char_t *text_str = (axis2_char_t *)axiom_text_get_value(text, env);
             /*printf("Echoing text value  %s \n", text_str);*/
             ret_node = build_om_programatically(env, text_str);
         }

Modified: webservices/axis2/trunk/c/samples/server/math/math.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/math/math.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/math/math.c (original)
+++ webservices/axis2/trunk/c/samples/server/math/math.c Wed Mar 21 20:35:05 2007
@@ -57,7 +57,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -88,7 +88,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -169,7 +169,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -200,7 +200,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -282,7 +282,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -313,7 +313,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -395,7 +395,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -426,7 +426,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else

Modified: webservices/axis2/trunk/c/samples/server/mtom/mtom.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/mtom/mtom.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/mtom/mtom.c (original)
+++ webservices/axis2/trunk/c/samples/server/mtom/mtom.c Wed Mar 21 20:35:05 2007
@@ -66,7 +66,7 @@
         if (text && axiom_text_get_value(text , env))
         {
             axiom_node_t *image_node = NULL;
-            axis2_char_t *text_str = axiom_text_get_value(text, env);
+            axis2_char_t *text_str = (axis2_char_t *)axiom_text_get_value(text, env);
             printf("File Name  %s \n", text_str);
 
             image_node = AXIOM_NODE_GET_NEXT_SIBLING(file_name_node, env);
@@ -99,7 +99,7 @@
                         axis2_byte_t *plain_binary = NULL;
                         axiom_data_handler_t *data_handler = NULL;
                         
-                        axis2_char_t *base64text = axiom_text_get_value(bin_text, env);
+                        axis2_char_t *base64text = (axis2_char_t *)axiom_text_get_value(bin_text, env);
                         printf("base64text = %s\n", base64text);
                         plain_binary_len = axis2_base64_decode_len(base64text);
                         plain_binary =  AXIS2_MALLOC(env->

Modified: webservices/axis2/trunk/c/samples/server/notify/notify.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/notify/notify.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/notify/notify.c (original)
+++ webservices/axis2/trunk/c/samples/server/notify/notify.c Wed Mar 21 20:35:05 2007
@@ -48,7 +48,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            axis2_char_t *text_str = axiom_text_get_value(text, env);
+            axis2_char_t *text_str = (axis2_char_t *)axiom_text_get_value(text, env);
             printf("Notification received :  %s \n", text_str);
         }
     }

Modified: webservices/axis2/trunk/c/samples/server/sg_math/add.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/sg_math/add.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/sg_math/add.c (original)
+++ webservices/axis2/trunk/c/samples/server/sg_math/add.c Wed Mar 21 20:35:05 2007
@@ -58,7 +58,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -89,7 +89,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else

Modified: webservices/axis2/trunk/c/samples/server/sg_math/div.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/sg_math/div.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/sg_math/div.c (original)
+++ webservices/axis2/trunk/c/samples/server/sg_math/div.c Wed Mar 21 20:35:05 2007
@@ -57,7 +57,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -88,7 +88,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else

Modified: webservices/axis2/trunk/c/samples/server/sg_math/mul.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/sg_math/mul.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/sg_math/mul.c (original)
+++ webservices/axis2/trunk/c/samples/server/sg_math/mul.c Wed Mar 21 20:35:05 2007
@@ -57,7 +57,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -88,7 +88,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else

Modified: webservices/axis2/trunk/c/samples/server/sg_math/sub.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/server/sg_math/sub.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/samples/server/sg_math/sub.c (original)
+++ webservices/axis2/trunk/c/samples/server/sg_math/sub.c Wed Mar 21 20:35:05 2007
@@ -57,7 +57,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param1_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param1_str = axiom_text_get_value(text, env);
+            param1_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else
@@ -88,7 +88,7 @@
         axiom_text_t *text = (axiom_text_t *)AXIOM_NODE_GET_DATA_ELEMENT(param2_text_node, env);
         if (text && axiom_text_get_value(text , env))
         {
-            param2_str = axiom_text_get_value(text, env);
+            param2_str = (axis2_char_t *)axiom_text_get_value(text, env);
         }
     }
     else

Modified: webservices/axis2/trunk/c/util/src/string.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/string.c?view=diff&rev=521109&r1=521108&r2=521109
==============================================================================
--- webservices/axis2/trunk/c/util/src/string.c (original)
+++ webservices/axis2/trunk/c/util/src/string.c Wed Mar 21 20:35:05 2007
@@ -211,7 +211,7 @@
     }
 
     string->ref_count++;
-    
+
     return string;
 }
 



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