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 na...@apache.org on 2006/09/27 14:39:32 UTC

svn commit: r450420 [2/2] - /webservices/axis2/trunk/c/tools/codegen/src/util/

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/cqname2name_maker.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/cqname2name_maker.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/cqname2name_maker.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/cqname2name_maker.c Wed Sep 27 05:39:31 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_cqname2name_maker.h>
 #include <axis2_hash.h>
 #include <axis2_string.h>
@@ -24,7 +24,7 @@
 #define W2C_TYPEMAPPER_UPPER_PARAM_LIMIT 1000
 #define W2C_TYPEMAPPER_PARAM_SUFFIX "param"
 
-/**
+/** 
  * @brief
  */
 typedef struct w2c_cqname2name_maker_impl
@@ -33,113 +33,112 @@
 
     axis2_hash_t *qname2name;
     axis2_hash_t *name2number;
-
-}
-w2c_cqname2name_maker_impl_t;
+       
+} w2c_cqname2name_maker_impl_t;
 
 #define W2C_INTF_TO_IMPL(cqname2name_maker) \
     ((w2c_cqname2name_maker_impl_t *) cqname2name_maker)
 
 /************************* Function prototypes ********************************/
 
-axis2_status_t AXIS2_CALL
-w2c_cqname2name_maker_free(w2c_cqname2name_maker_t *cqname2name_maker,
-        const axis2_env_t *env);
+axis2_status_t AXIS2_CALL 
+w2c_cqname2name_maker_free (w2c_cqname2name_maker_t *cqname2name_maker, 
+           const axis2_env_t *env);
 
 axis2_char_t* AXIS2_CALL
 w2c_cqname2name_maker_suggest_name(w2c_cqname2name_maker_t *cqname2name_maker,
-        const axis2_env_t *env,
-        axis2_qname_t *qname);
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
 
 /************************** End of function prototypes ************************/
 
-AXIS2_EXTERN w2c_cqname2name_maker_t * AXIS2_CALL
-w2c_cqname2name_maker_create(const axis2_env_t *env)
+AXIS2_EXTERN w2c_cqname2name_maker_t * AXIS2_CALL 
+w2c_cqname2name_maker_create (const axis2_env_t *env)
 {
     w2c_cqname2name_maker_impl_t *cqname2name_maker_impl = NULL;
-
+   
     AXIS2_ENV_CHECK(env, NULL);
 
     cqname2name_maker_impl = (w2c_cqname2name_maker_impl_t *) AXIS2_MALLOC(env->
-            allocator, sizeof(w2c_cqname2name_maker_impl_t));
+               allocator, sizeof(w2c_cqname2name_maker_impl_t));
 
-    if (NULL == cqname2name_maker_impl)
+    if(NULL == cqname2name_maker_impl)
     {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); 
         return NULL;
     }
     cqname2name_maker_impl->qname2name = axis2_hash_make(env);
     cqname2name_maker_impl->name2number = axis2_hash_make(env);
-
-    cqname2name_maker_impl->cqname2name_maker.ops =
-        AXIS2_MALLOC(env->allocator, sizeof(w2c_cqname2name_maker_ops_t));
-    if (NULL == cqname2name_maker_impl->cqname2name_maker.ops)
+    
+    cqname2name_maker_impl->cqname2name_maker.ops = 
+    AXIS2_MALLOC (env->allocator, sizeof(w2c_cqname2name_maker_ops_t));
+    if(NULL == cqname2name_maker_impl->cqname2name_maker.ops)
     {
         w2c_cqname2name_maker_free(&(cqname2name_maker_impl->cqname2name_maker), env);
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
     }
-
+    
     cqname2name_maker_impl->cqname2name_maker.ops->free = w2c_cqname2name_maker_free;
-    cqname2name_maker_impl->cqname2name_maker.ops->suggest_name =
-        w2c_cqname2name_maker_suggest_name;
+    cqname2name_maker_impl->cqname2name_maker.ops->suggest_name= 
+                                        w2c_cqname2name_maker_suggest_name;
 
     return &(cqname2name_maker_impl->cqname2name_maker);
 }
 
 /***************************Function implementation****************************/
 
-axis2_status_t AXIS2_CALL
-w2c_cqname2name_maker_free(w2c_cqname2name_maker_t *cqname2name_maker,
-        const axis2_env_t *env)
+axis2_status_t AXIS2_CALL 
+w2c_cqname2name_maker_free (w2c_cqname2name_maker_t *cqname2name_maker, 
+                            const axis2_env_t *env)
 {
     w2c_cqname2name_maker_impl_t *cqname2name_maker_impl = NULL;
-
+ 
     axis2_char_t *key = NULL;
-    axis2_char_t *value = NULL;
+    axis2_char_t *value =NULL;
     axis2_hash_index_t *hi = NULL;
     axis2_hash_t *h = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+    
     cqname2name_maker_impl = W2C_INTF_TO_IMPL(cqname2name_maker);
     h = cqname2name_maker_impl-> qname2name;
-
+    
     for (hi = axis2_hash_first(h, env) ;
-            hi; hi = axis2_hash_next(env, hi))
+                hi; hi = axis2_hash_next(env, hi))
     {
         axis2_hash_this(hi, (void*)&key, NULL, (void*)&value);
         if (key)
-            AXIS2_FREE(env-> allocator, key);
+            AXIS2_FREE( env-> allocator, key);
         if (value)
-            AXIS2_FREE(env-> allocator, value);
+            AXIS2_FREE( env-> allocator, value); 
     }
-    axis2_hash_free(h , env);
-
-    axis2_hash_free(cqname2name_maker_impl-> name2number, env);
-
-    if (cqname2name_maker->ops)
+    axis2_hash_free( h , env);
+ 
+    axis2_hash_free( cqname2name_maker_impl-> name2number, env);
+       
+    if(cqname2name_maker->ops)
     {
         AXIS2_FREE(env->allocator, cqname2name_maker->ops);
         cqname2name_maker->ops = NULL;
     }
-    if (cqname2name_maker_impl)
+    if(cqname2name_maker_impl)
     {
         AXIS2_FREE(env->allocator, cqname2name_maker_impl);
         cqname2name_maker_impl = NULL;
     }
-
+    
     return AXIS2_SUCCESS;
 }
 
 
 axis2_char_t* AXIS2_CALL
 w2c_cqname2name_maker_suggest_name(w2c_cqname2name_maker_t *cqname2name_maker,
-        const axis2_env_t *env,
-        axis2_qname_t *qname)
+            const axis2_env_t *env,
+            axis2_qname_t *qname)
 {
     w2c_cqname2name_maker_impl_t *cqname2name_maker_impl = NULL;
-
+ 
     axis2_char_t *key = NULL;
     axis2_char_t *local = NULL;
     int counter = 0;
@@ -147,33 +146,33 @@
     axis2_char_t *given_name = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+    
     cqname2name_maker_impl = W2C_INTF_TO_IMPL(cqname2name_maker);
 
     key = AXIS2_QNAME_TO_STRING(qname, env);
-    local = (axis2_char_t*)axis2_hash_get(cqname2name_maker_impl-> qname2name, key,
-            AXIS2_HASH_KEY_STRING);
-    if (local) /* key has been there somewhere */
+    local = (axis2_char_t*)axis2_hash_get( cqname2name_maker_impl-> qname2name, key,
+                         AXIS2_HASH_KEY_STRING );
+    if( local != NULL) /* key has been there somewhere */
     {
         return local;
     }
     /* otherwise */
-    local = AXIS2_QNAME_GET_LOCALPART(qname, env);
-    counter = (int)axis2_hash_get(cqname2name_maker_impl-> name2number, local,
-            AXIS2_HASH_KEY_STRING);
-    if (counter == 0) /** this means name doesnt exist */
+    local = AXIS2_QNAME_GET_LOCALPART( qname, env);
+    counter = (int)axis2_hash_get( cqname2name_maker_impl-> name2number, local,
+                         AXIS2_HASH_KEY_STRING );
+    if ( counter == 0 ) /** this means name doesnt exist */
     {
         axis2_hash_set(cqname2name_maker_impl-> qname2name, key, AXIS2_HASH_KEY_STRING, local);
-        axis2_hash_set(cqname2name_maker_impl-> name2number, local, AXIS2_HASH_KEY_STRING, (void*)1);
+        axis2_hash_set( cqname2name_maker_impl-> name2number, local, AXIS2_HASH_KEY_STRING, (void*)1);
         return local;
     }
-    /* else qname would already exist */
+    /* else qname would already exist */ 
     sprintf(counter_str, "%d", counter);
-    given_name = axis2_stracat(local, counter_str, env);
+    given_name = axis2_stracat( local, counter_str, env);
 
-    axis2_hash_set(cqname2name_maker_impl-> qname2name, key, AXIS2_HASH_KEY_STRING, given_name);
-    axis2_hash_set(cqname2name_maker_impl-> name2number, local, AXIS2_HASH_KEY_STRING, (void*)counter + 1);
+    axis2_hash_set( cqname2name_maker_impl-> qname2name, key, AXIS2_HASH_KEY_STRING, given_name);
+    axis2_hash_set( cqname2name_maker_impl-> name2number, local, AXIS2_HASH_KEY_STRING, (void*)counter+1);
 
-    return given_name;
+    return given_name;    
 }
 

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/file_writer.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/file_writer.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/file_writer.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/file_writer.c Wed Sep 27 05:39:31 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_xslt_utils.h>
 #include <w2c_string.h>
 #include <platforms/axis2_platform_auto_sense.h>
@@ -22,44 +22,44 @@
 
 
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-w2c_file_writer_create_classfile_name(
+w2c_file_writer_create_classfile_name (
     const axis2_env_t *env,
     axis2_char_t *root_location,
     axis2_char_t *package_name,
     axis2_char_t *filename,
-    axis2_char_t *extension)
+    axis2_char_t *extension )
 {
     axis2_char_t *full_path = NULL;
     axis2_char_t *cp = NULL;
     axis2_bool_t end = AXIS2_FALSE;
     int error = 0;
     int length = 0;
-
-    if (NULL == root_location)
+        
+    if ( NULL == root_location )
     {
-        full_path = AXIS2_STRDUP(".", env);
+        full_path= AXIS2_STRDUP ( ".", env);
     }
     else
     {
-        full_path = AXIS2_STRDUP(root_location, env);
-        for (end = AXIS2_FALSE, cp = full_path; 1; cp ++)
+        full_path = AXIS2_STRDUP ( root_location,env );
+        for ( end = AXIS2_FALSE, cp = full_path; 1; cp ++)
         {
-            if (*cp == '\0')
+            if ( *cp == '\0' )
             {
                 end = AXIS2_TRUE;
             }
-            else if (*cp != AXIS2_PATH_SEP_CHAR)
+            else if ( *cp != AXIS2_PATH_SEP_CHAR)
             {
                 continue;
             }
             *cp = '\0';
             /* TODO: this should be placed in platform */
-            error = mkdir(full_path, 0755);
-            if (end)
+            error = mkdir ( full_path, 0755 ); 
+            if ( end )
             {
-                if (cp != full_path && *(cp - 1) == AXIS2_PATH_SEP_CHAR)
+                if ( cp != full_path && *(cp-1) == AXIS2_PATH_SEP_CHAR )
                 {
-                    *(cp - 1) = '\0';
+                    *(cp-1) = '\0';
                 }
                 break;
             }
@@ -70,29 +70,29 @@
         }
     }
     /* to seperate root location and package path */
-    full_path = w2c_string_add_string(full_path, AXIS2_PATH_SEP_STR, env);
+    full_path = w2c_string_add_string ( full_path, AXIS2_PATH_SEP_STR, env );
 
     /* this is related to adding folder hiearchy corrosponding to the package */
-    if (package_name && *package_name != '\0')
+    if ( package_name && *package_name != '\0')
     {
-        length = AXIS2_STRLEN(full_path);
-        full_path = w2c_string_add_string(full_path, package_name, env);
+        length = AXIS2_STRLEN ( full_path );
+        full_path = w2c_string_add_string ( full_path, package_name, env);
 
         /* the loop wil start from the package name */
-        for (end = AXIS2_FALSE, cp = full_path + length; 1; cp ++)
+        for ( end = AXIS2_FALSE, cp = full_path + length; 1; cp ++)
         {
-            if (*cp == '\0')
+            if ( *cp == '\0' )
             {
                 end = AXIS2_TRUE;
             }
-            else if (*cp != '.')
+            else if ( *cp !='.' )
             {
                 continue;
             }
             *cp = '\0';
             /* TODO:this should be placed in platform */
-            error = mkdir(full_path, 0755);
-            if (end)
+            error = mkdir ( full_path, 0755 ); 
+            if ( end )
             {
                 break;
             }
@@ -101,10 +101,10 @@
                 *cp = AXIS2_PATH_SEP_CHAR;
             }
         }
-        full_path = w2c_string_add_string(full_path, AXIS2_PATH_SEP_STR, env);
+        full_path = w2c_string_add_string ( full_path, AXIS2_PATH_SEP_STR, env );
     }
-    full_path = w2c_string_add_string(full_path, filename, env);
-    full_path = w2c_string_add_string(full_path, extension, env);/* extension has the .*/
+    full_path = w2c_string_add_string ( full_path, filename, env);
+    full_path = w2c_string_add_string ( full_path, extension, env );/* extension has the .*/
 
     return full_path;
 }

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/messages.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/messages.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/messages.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/messages.c Wed Sep 27 05:39:31 2006
@@ -13,10 +13,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_messages.h>
-/*#include <w2c_property_parser.h>
-#include <w2c_property.h>*/
 #include <axis2_property.h>
 #include <axis2_hash.h>
 #include <axis2_string.h>
@@ -26,82 +24,82 @@
 
 AXIS2_EXTERN axis2_properties_t* AXIS2_CALL
 w2c_messages_get_message_properties(
-    const axis2_env_t *env)
+    const axis2_env_t *env )
 {
     axis2_properties_t *props = NULL;
     axis2_char_t *axis2c_home = NULL;
     axis2_char_t *filename = NULL;
-    axis2_char_t *filepath = NULL;
-    axis2_char_t *inter_path = NULL;
+    axis2_char_t *filepath= NULL;
+    axis2_char_t *inter_path= NULL;
     int path_len = 0;
     FILE *f = NULL;
-
-    axis2c_home = getenv("AXIS2C_HOME");
-    if (axis2c_home == NULL)
+   
+    axis2c_home = getenv( "AXIS2C_HOME");
+    if ( axis2c_home == NULL )
     {
-        fprintf(stderr, "failed to pick AXIS2C_HOME\n");
+        fprintf(stderr,"failed to pick AXIS2C_HOME\n" );
         return NULL;
     }
     inter_path = W2C_MESSAGES_INTER_PATH;
     filename = W2C_MESSAGES_FILENAME;
-
-    path_len = AXIS2_STRLEN(filename) + AXIS2_STRLEN(axis2c_home)
-            + AXIS2_STRLEN(inter_path)
-            + 2; /* for seperator and null char */
-    filepath = AXIS2_MALLOC(env-> allocator, path_len * sizeof(axis2_char_t));
-    sprintf(filepath, "%s%s%s", axis2c_home, inter_path, filename);
-
-    f = fopen(filepath, "r+");
+    
+    path_len = AXIS2_STRLEN ( filename ) + AXIS2_STRLEN (axis2c_home )
+               + AXIS2_STRLEN ( inter_path ) 
+               + 2; /* for seperator and null char */
+    filepath = AXIS2_MALLOC ( env-> allocator, path_len* sizeof(axis2_char_t) );
+    sprintf ( filepath, "%s%s%s", axis2c_home, inter_path, filename );
+  
+    f = fopen( filepath, "r+");
     props = axis2_properties_create(env);
-    AXIS2_PROPERTIES_LOAD(props, env, f);
+    AXIS2_PROPERTIES_LOAD( props, env, f); 
     fclose(f);
 
     return props;
 }
 
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-w2c_messages_get_message(const axis2_env_t *env, axis2_char_t *key)
+w2c_messages_get_message( const axis2_env_t *env, axis2_char_t *key )
 {
-    axis2_properties_t *props = NULL;
-    axis2_char_t *message = NULL;
-
-    props = w2c_messages_get_message_properties(env);
-    message = AXIS2_PROPERTIES_GET_PROPERTY(props, env, key);
-    if (message)
-    {
-        message = AXIS2_STRDUP(message, env);
-    }
-    AXIS2_PROPERTIES_FREE(props, env);
+     axis2_properties_t *props = NULL;
+     axis2_char_t *message = NULL;
+     
+     props = w2c_messages_get_message_properties( env);
+     message = AXIS2_PROPERTIES_GET_PROPERTY( props, env, key);
+     if ( message )
+     {
+         message = AXIS2_STRDUP ( message, env );
+     }
+     AXIS2_PROPERTIES_FREE( props, env);
 
-    return  message;
+     return  message;
 }
 
 AXIS2_EXTERN void AXIS2_CALL
-w2c_messages_print_n_log_error(const axis2_env_t *env, axis2_char_t *key)
+w2c_messages_print_n_log_error( const axis2_env_t *env, axis2_char_t *key )
 {
-    axis2_char_t *msg = NULL;
-    msg = w2c_messages_get_message(env, key);
-    if (msg)
-    {
-        fprintf(stderr, "%s\n", msg);
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
-                msg);
-        AXIS2_FREE(env->allocator, msg);
-    }
+     axis2_char_t *msg = NULL;
+     msg = w2c_messages_get_message( env, key );
+     if ( msg )
+     {
+         fprintf ( stderr, "%s\n", msg );
+         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+                         msg);
+         AXIS2_FREE( env->allocator, msg);
+     }
 }
 
 AXIS2_EXTERN void AXIS2_CALL
-w2c_messages_print_n_log_error_from_properties(const axis2_env_t *env,
-        axis2_properties_t *props,
-        axis2_char_t *key)
+w2c_messages_print_n_log_error_from_properties( const axis2_env_t *env, 
+                                          axis2_properties_t *props,
+                                          axis2_char_t *key )
 {
-    axis2_char_t *msg = NULL;
-    msg = AXIS2_PROPERTIES_GET_PROPERTY(props, env, key);
-    if (msg)
-    {
-        fprintf(stderr, "%s\n", msg);
-        AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
-                msg);
-    }
+     axis2_char_t *msg = NULL;
+     msg = AXIS2_PROPERTIES_GET_PROPERTY( props, env, key);
+     if ( msg )
+     {
+         fprintf ( stderr, "%s\n", msg );
+         AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI,
+                         msg);
+     }
 }
 

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/properties.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/properties.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/properties.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/properties.c Wed Sep 27 05:39:31 2006
@@ -13,47 +13,46 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_properties.h>
 #include <axis2_array_list.h>
 #include <axis2_string.h>
 #include <w2c_string.h>
 #include <axis2_properties.h>
 
-/**
+/** 
  * @brief
  */
 typedef struct w2c_properties_impl
 {
     w2c_properties_t properties;
-
+    
     axis2_hash_t *prop_hash;
-
-}
-w2c_properties_impl_t;
+       
+} w2c_properties_impl_t;
 
 #define W2C_INTF_TO_IMPL(properties) \
     ((w2c_properties_impl_t *) properties)
 
 /************************* Function prototypes ********************************/
 
-axis2_status_t AXIS2_CALL
-w2c_properties_free(w2c_properties_t *properties,
-        const axis2_env_t *env);
+axis2_status_t AXIS2_CALL 
+w2c_properties_free (w2c_properties_t *properties, 
+           const axis2_env_t *env);
 
 axis2_hash_t* AXIS2_CALL
 w2c_properties_get_hash(w2c_properties_t *properties,
-        const axis2_env_t *env);
+           const axis2_env_t *env);
 
 axis2_char_t*
-w2c_properties_trunk_and_dup(axis2_char_t *start, axis2_char_t *end,
-        const axis2_env_t *env);
+w2c_properties_trunk_and_dup( axis2_char_t *start, axis2_char_t *end,
+                                   const axis2_env_t *env );
 /************************** End of function prototypes ************************/
 
-AXIS2_EXTERN w2c_properties_t * AXIS2_CALL
-w2c_properties_create(const axis2_env_t *env,
-        axis2_char_t *filename,
-        axis2_char_t seperator)
+AXIS2_EXTERN w2c_properties_t * AXIS2_CALL 
+w2c_properties_create (const axis2_env_t *env,
+                        axis2_char_t *filename,
+                        axis2_char_t seperator)
 {
     w2c_properties_impl_t *properties_impl = NULL;
     axis2_properties_t *main_props = NULL;
@@ -66,98 +65,98 @@
     FILE *f = NULL;
     axis2_array_list_t *arr_list = NULL;
     int i = 0;
-
+   
     AXIS2_ENV_CHECK(env, NULL);
 
-    f = fopen(filename, "r+");
-    if (f == NULL)
+    f = fopen ( filename, "r+");
+    if ( f == NULL )
     {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_COULD_NOT_OPEN_FILE, AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_COULD_NOT_OPEN_FILE, AXIS2_FAILURE); 
         return NULL;
     }
 
     properties_impl = (w2c_properties_impl_t *) AXIS2_MALLOC(env->
-            allocator, sizeof(w2c_properties_impl_t));
+               allocator, sizeof(w2c_properties_impl_t));
 
-    if (NULL == properties_impl)
+    if(NULL == properties_impl)
     {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); 
         return NULL;
     }
     main_props = axis2_properties_create(env);
-    if (NULL == main_props)
+    if(NULL == main_props)
     {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); 
         return NULL;
     }
-    AXIS2_PROPERTIES_LOAD(main_props, env, f);
+    AXIS2_PROPERTIES_LOAD( main_props, env, f );
     fclose(f);
 
 
-    tmp_hash = AXIS2_PROPERTIES_GET_ALL(main_props, env);
-
-    properties_impl-> prop_hash = axis2_hash_make(env);
-    if (NULL == properties_impl-> prop_hash)
+    tmp_hash = AXIS2_PROPERTIES_GET_ALL( main_props, env);
+    
+    properties_impl-> prop_hash = axis2_hash_make (env);
+    if(NULL == properties_impl-> prop_hash)
     {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); 
         return NULL;
     }
 
-    if (tmp_hash)
+    if(tmp_hash)
     {
-        for (hi = axis2_hash_first(tmp_hash, env);
-                hi; hi = axis2_hash_next(env, hi))
+        for (hi = axis2_hash_first( tmp_hash, env);
+                            hi; hi = axis2_hash_next(env, hi))
         {
             axis2_hash_this(hi, (void*)&key, NULL, (void*)&value);
             if (key && value)
             {
                 i = 0;
                 arr_list = axis2_array_list_create(env, 10);
-                for (p = value, tag = value; *p; p ++)
+                for( p = value, tag = value; *p; p ++)
                 {
-                    if (*p == seperator)
+                    if ( *p == seperator)
                     {
                         *p = '\0';
-                        tag = w2c_properties_trunk_and_dup(tag, p, env);
-                        AXIS2_ARRAY_LIST_ADD_AT(arr_list, env, i, tag);
+                        tag = w2c_properties_trunk_and_dup( tag, p, env);
+                        AXIS2_ARRAY_LIST_ADD_AT( arr_list, env, i, tag);
                         tag = p + 1;
                         i ++;
                     }
                 }
-                if (p != tag)
+                if ( p != tag )
                 {
-                    tag = w2c_properties_trunk_and_dup(tag, p, env);
-                    AXIS2_ARRAY_LIST_ADD_AT(arr_list, env, i, tag);
+                    tag = w2c_properties_trunk_and_dup( tag, p, env);
+                    AXIS2_ARRAY_LIST_ADD_AT( arr_list, env, i, tag);
                 }
                 key = AXIS2_STRDUP(key, env);
-                axis2_hash_set(properties_impl-> prop_hash, key, AXIS2_HASH_KEY_STRING, arr_list);
+                axis2_hash_set( properties_impl-> prop_hash, key, AXIS2_HASH_KEY_STRING, arr_list);
             }
         }
     }
-    AXIS2_PROPERTIES_FREE(main_props, env);
+    AXIS2_PROPERTIES_FREE( main_props, env);
 
 
-    properties_impl->properties.ops =
-        AXIS2_MALLOC(env->allocator, sizeof(w2c_properties_ops_t));
-    if (NULL == properties_impl->properties.ops)
+    properties_impl->properties.ops = 
+    AXIS2_MALLOC (env->allocator, sizeof(w2c_properties_ops_t));
+    if(NULL == properties_impl->properties.ops)
     {
         w2c_properties_free(&(properties_impl->properties), env);
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
     }
-
+    
     properties_impl->properties.ops->free = w2c_properties_free;
     properties_impl->properties.ops->get_hash =
-        w2c_properties_get_hash;
+                                                w2c_properties_get_hash;
 
     return &(properties_impl->properties);
 }
 
 /***************************Function implementation****************************/
 
-axis2_status_t AXIS2_CALL
-w2c_properties_free(w2c_properties_t *properties,
-        const axis2_env_t *env)
+axis2_status_t AXIS2_CALL 
+w2c_properties_free (w2c_properties_t *properties, 
+                            const axis2_env_t *env)
 {
     w2c_properties_impl_t *properties_impl = NULL;
     axis2_array_list_t *values_arr = NULL;
@@ -166,70 +165,70 @@
     int i = 0;
     int size = 0;
     axis2_hash_index_t *hi = NULL;
-
+    
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+    
     properties_impl = W2C_INTF_TO_IMPL(properties);
-
-    if (properties_impl-> prop_hash)
+   
+    if(properties_impl-> prop_hash)
     {
-        for (hi = axis2_hash_first(properties_impl-> prop_hash, env);
-                hi; hi = axis2_hash_next(env, hi))
+        for (hi = axis2_hash_first( properties_impl-> prop_hash, env);
+                            hi; hi = axis2_hash_next(env, hi))
         {
             axis2_hash_this(hi, (void*)&key, NULL, (void*)&values_arr);
             if (key && values_arr)
             {
-                size = AXIS2_ARRAY_LIST_SIZE(values_arr, env);
+                size = AXIS2_ARRAY_LIST_SIZE( values_arr, env);
                 for (i = 0; i < size; i ++)
                 {
-                    value = (axis2_char_t*)AXIS2_ARRAY_LIST_GET(values_arr, env, i);
-                    if (value)
+                    value = (axis2_char_t*)AXIS2_ARRAY_LIST_GET( values_arr, env, i);
+                    if ( value != NULL)
                     {
-                        AXIS2_FREE(env-> allocator, value);
+                        AXIS2_FREE( env-> allocator, value);
                     }
                 }
-                AXIS2_ARRAY_LIST_FREE(values_arr, env);
+                AXIS2_ARRAY_LIST_FREE( values_arr, env);
                 AXIS2_FREE(env-> allocator, key);
             }
         }
-        axis2_hash_free(properties_impl-> prop_hash, env);
+        axis2_hash_free( properties_impl-> prop_hash, env);
     }
-
-    if (properties->ops)
+    
+    if(properties->ops)
     {
         AXIS2_FREE(env->allocator, properties->ops);
         properties->ops = NULL;
     }
-    if (properties_impl)
+    if(properties_impl)
     {
         AXIS2_FREE(env->allocator, properties_impl);
         properties_impl = NULL;
     }
-
+    
     return AXIS2_SUCCESS;
 }
 
 axis2_hash_t* AXIS2_CALL
 w2c_properties_get_hash(w2c_properties_t *properties,
-        const axis2_env_t *env)
+           const axis2_env_t *env)
 {
     w2c_properties_impl_t *properties_impl = NULL;
-
+    
     AXIS2_ENV_CHECK(env, NULL);
-
+    
     properties_impl = W2C_INTF_TO_IMPL(properties);
-
+    
     return properties_impl-> prop_hash;
 }
 
 axis2_char_t*
-w2c_properties_trunk_and_dup(axis2_char_t* start, axis2_char_t* end,
-        const axis2_env_t* env)
+w2c_properties_trunk_and_dup( axis2_char_t* start, axis2_char_t* end,
+                                   const axis2_env_t* env )
 {
-    for (; *start == ' '; start ++); /* remove front spaces */
-    for (end --; *end == ' '; end --); /* remove rear spaces */
-    *(++end) = '\0';
-    start = (axis2_char_t*)AXIS2_STRDUP(start, env);
+    for ( ; *start == ' '; start ++ ); /* remove front spaces */
+    for ( end --; *end == ' '; end -- ); /* remove rear spaces */
+    *(++end ) = '\0';
+    start = (axis2_char_t*)AXIS2_STRDUP ( start, env );
     return start;
 }
 

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/resource.properties
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/resource.properties?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/resource.properties (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/resource.properties Wed Sep 27 05:39:31 2006
@@ -23,12 +23,12 @@
 wsdl2code.arg7=-id : indent the generated code. currently available for c language
 wsdl2code.arg8=-ss : Generate server side code (i.e. skeletons). Default is off
 wsdl2code.arg9=-sd : Generate service descriptor (i.e. services.xml). Default is off. Valid with -ss
-wsdl2code.arg10=-d <databinding> : valid databinding is none. Default is none 
+wsdl2code.arg10=-d <databinding> : valid databindings are adb, none. Default is none 
 #currently following cases are not tested correctly
 wsdl2code.arg11=-g Generates all the classes. valid only with the -ss
 wsdl2code.arg12=-pn <port_name> : name of port in the presence of multiple ports
 wsdl2code.arg13=-sn <service_name> : name of service in the presence of multiple services
-wsdl2code.arg14=-u : unpacks the databinding classes
+#wsdl2code.arg14=-u : unpacks the databinding classes
 wsdl2code.arg15=-r <repository_path> : path of the repository against which code is generated
 wsdl2code.arg16=-ns2p <namespace=packagename> :packages to replace the namespace
 wsdl2code.arg17=-ssi generate an interface for the serverside - off by default
@@ -69,3 +69,17 @@
 writer.svcSkelFailed=Failed in generating Service Skeleton
 writer.svcXmlFailed=Failed in generating Service XML
 writer.templateLoadFailed=Failed in loading template
+
+################## Schema Compiler ####################################
+schema.elementNull=Error: Null Element
+schema.anonymousExtension=Error: Anonymous Extension
+schema.simpletypeRestriction=Error: Simple Type Restriction
+schema.unknownContentError=Error: Unknown Content
+schema.unsupportedContentError=Error: Unsupported Content
+schema.unknowContentModelError=Error: Unknown Content Model
+schema.writerclassMissing=Error: Writer for Requested options is missing
+schema.notImplemented=Error: Not Implemented Feature is required
+
+schema2code.arg1=Argument1 - Source schema file name .Required.
+schema2code.arg2=Argument2 - Output folder name 
+schema2code.arg3=Argument3 - Language for code generation

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/string.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/string.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/string.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/string.c Wed Sep 27 05:39:31 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_string.h>
 #include <axis2_string.h>
 #include <string.h>
@@ -26,12 +26,12 @@
 
 
 AXIS2_EXTERN int AXIS2_CALL
-w2c_string_indexof(axis2_char_t* str, axis2_char_t c)
+w2c_string_indexof( axis2_char_t* str, axis2_char_t c )
 {
     int i;
-    for (i = 0; *str != '\0' ; str ++, i ++)
+    for ( i = 0; *str != '\0' ; str ++, i ++ )
     {
-        if (*str == c)
+        if ( *str == c )
         {
             return i;
         }
@@ -40,28 +40,28 @@
 }
 
 AXIS2_EXTERN int AXIS2_CALL
-w2c_string_indexof_cs(axis2_char_t* str, axis2_char_t* cs)
+w2c_string_indexof_cs( axis2_char_t* str, axis2_char_t* cs )
 {
     int i = 0;
     axis2_char_t* temp_cs = cs;
     int starting_i = -1;
-    for (i = 0; *str != '\0' && *temp_cs != '\0' ; str ++, i ++)
+    for ( i = 0; *str != '\0' && *temp_cs!= '\0' ; str ++, i ++ )
     {
-        if (*str == *temp_cs)
+        if ( *str == *temp_cs )
         {
             temp_cs ++;
-            if (starting_i < 0)
+            if ( starting_i < 0 ) 
             {
                 starting_i = i;
             }
         }
-        else if (starting_i > -1)
+        else if ( starting_i > -1 )
         {
             starting_i = -1;
             temp_cs = cs;
         }
     }
-    if (starting_i > -1 && *temp_cs == '\0')
+    if ( starting_i > -1 && *temp_cs =='\0' )
     {
         return starting_i;
     }
@@ -69,33 +69,33 @@
 }
 
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-w2c_string_add_string(axis2_char_t* string1, axis2_char_t* string2,
-        const axis2_env_t* env)
+w2c_string_add_string ( axis2_char_t* string1, axis2_char_t* string2,
+                        const axis2_env_t* env)
 {
     int current_len = 0;
     int additional_len = 0;
     axis2_char_t* new_location = NULL;
 
-    additional_len = strlen(string2);
-    if (0 == additional_len)
+    additional_len = strlen ( string2 );
+    if ( 0 == additional_len )
     {
         return string1;
     }
 
-    if (NULL == string1)
+    if ( NULL == string1 )
     {
-        string1 = AXIS2_MALLOC(env-> allocator,
-                sizeof(axis2_char_t) * (additional_len + 1));
+        string1 = AXIS2_MALLOC( env-> allocator, 
+                   sizeof(axis2_char_t) * (additional_len +1 ) );
     }
     else
     {
-        current_len = strlen(string1);
-        string1 = AXIS2_REALLOC(env-> allocator,
-                string1, sizeof(axis2_char_t) *
-                (current_len + additional_len + 1));
+        current_len = strlen ( string1 );
+        string1 = AXIS2_REALLOC( env-> allocator,
+                 string1, sizeof(axis2_char_t) *
+                 (current_len + additional_len + 1 ) );
     }
     new_location = string1 + sizeof(axis2_char_t) * current_len ;
-    memcpy(new_location , string2, sizeof(axis2_char_t) * additional_len);
+    memcpy ( new_location , string2, sizeof(axis2_char_t) * additional_len );
 
     string1[ additional_len + current_len ] = '\0';
 
@@ -104,8 +104,8 @@
 
 
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-w2c_string_make_c_simple_name(axis2_char_t *name,
-        const axis2_env_t *env)
+w2c_string_make_c_simple_name( axis2_char_t *name,
+                               const axis2_env_t *env)
 {
     char *p = NULL;
     int len = 0;
@@ -113,16 +113,16 @@
     int new_index = 0;
     int earlier_capital = 0;
 
-    name = (axis2_char_t*)AXIS2_STRDUP(name, env); /* so constansts are allowd */
-    len = AXIS2_STRLEN(name);
-    ret_val = (axis2_char_t*) AXIS2_MALLOC(env-> allocator,
-            sizeof(axis2_char_t) * len * 2);
+    name = (axis2_char_t*)AXIS2_STRDUP( name, env); /* so constansts are allowd */
+    len = AXIS2_STRLEN( name);
+    ret_val = (axis2_char_t*) AXIS2_MALLOC ( env-> allocator, 
+                                        sizeof(axis2_char_t) * len * 2);
 
-    for (p = name, new_index = 0, earlier_capital = 0; *p != '\0'; p ++)
+    for ( p = name, new_index = 0, earlier_capital = 0; *p != '\0'; p ++ )
     {
-        if (W2C_STRING_IS_CAPITAL(*p))
+        if ( W2C_STRING_IS_CAPITAL(*p) )
         {
-            if (new_index != 0 && ret_val[new_index-1] != '_' && !earlier_capital)
+            if ( new_index != 0 && ret_val[new_index-1] != '_' && !earlier_capital)
                 ret_val[new_index++] = '_';
             ret_val[new_index++] = tolower(*p);
             earlier_capital = 1;
@@ -135,22 +135,43 @@
     }
     ret_val[new_index] = '\0';
 
-    AXIS2_FREE(env-> allocator, name);
+    AXIS2_FREE( env-> allocator, name);
     return ret_val;
 }
-
+    
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-w2c_string_make_c_macro_name(axis2_char_t *name,
-        const axis2_env_t *env)
+w2c_string_make_c_macro_name( axis2_char_t *name,
+                               const axis2_env_t *env)
 {
     char *p = NULL;
     char *ret_val = NULL;
 
-    ret_val = w2c_string_make_c_simple_name(name, env);
+    ret_val = w2c_string_make_c_simple_name( name, env);
 
-    for (p = ret_val; *p != '\0'; p ++)
+    for ( p = ret_val; *p != '\0'; p ++ )
     {
         *p = toupper(*p);
     }
     return ret_val;
 }
+
+AXIS2_EXTERN axis2_char_t*
+w2c_string_make_key_from_qname( axis2_qname_t *qname, 
+                                     const axis2_env_t *env)
+{
+    axis2_char_t *local = NULL;
+    axis2_char_t *uri = NULL;
+    axis2_char_t *key = NULL;
+
+    local = AXIS2_QNAME_GET_LOCALPART( qname, env);
+    uri = AXIS2_QNAME_GET_URI( qname, env);
+    
+    key = AXIS2_STRDUP( local, env);
+    if ( uri != NULL && *uri != '\0' ) /* it should not be empty*/
+    {
+        key = w2c_string_add_string( key, "|", env);
+        key = w2c_string_add_string( key, uri, env);
+    }
+    return key;
+}
+

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/typemapper.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/typemapper.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/typemapper.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/typemapper.c Wed Sep 27 05:39:31 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_typemapper.h>
 #include <axis2_array_list.h>
 #include <axis2_string.h>
@@ -31,7 +31,7 @@
 #define W2C_TYPEMAPPER_UPPER_PARAM_LIMIT 1000
 #define W2C_TYPEMAPPER_PARAM_SUFFIX "param"
 
-/**
+/** 
  * @brief
  */
 typedef struct w2c_typemapper_impl
@@ -42,97 +42,107 @@
     axis2_hash_t *qname2name;
     axis2_char_t *default_type;
     axis2_qname_t *default_qname;
+    axis2_hash_t *primitive_map;
 
+    axis2_hash_t *qname2prefix;
 
-}
-w2c_typemapper_impl_t;
+       
+} w2c_typemapper_impl_t;
 
-typedef struct w2c_typemapper_type_info
-{
-    axis2_qname_t *qname;
-    axis2_char_t *type;
-}
-w2c_typemapper_type_info_t;
 #define W2C_INTF_TO_IMPL(typemapper) \
     ((w2c_typemapper_impl_t *) typemapper)
 
 /************************* Function prototypes ********************************/
 
-axis2_status_t AXIS2_CALL
-w2c_typemapper_free(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env);
+axis2_status_t AXIS2_CALL 
+w2c_typemapper_free (w2c_typemapper_t *typemapper, 
+           const axis2_env_t *env);
 
 axis2_char_t* AXIS2_CALL
 w2c_typemapper_get_parameter_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env,
-        axis2_qname_t *qname);
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
 
 axis2_char_t* AXIS2_CALL
 w2c_typemapper_get_type_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env,
-        axis2_qname_t *qname);
+            const axis2_env_t *env,
+            axis2_qname_t *qname);
 
 axis2_status_t AXIS2_CALL
 w2c_typemapper_add_typemapping_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env,
-        axis2_qname_t *qname,
-        axis2_char_t *name);
+            const axis2_env_t *env,
+            axis2_qname_t *qname,
+            axis2_char_t *name);
 
 axis2_char_t* AXIS2_CALL
 w2c_typemapper_get_default_mapping_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env);
+            const axis2_env_t *env);
 
 axis2_qname_t* AXIS2_CALL
 w2c_typemapper_get_default_qname(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env);
+            const axis2_env_t *env);
+
+axis2_hash_t* AXIS2_CALL
+w2c_typemapper_get_all(w2c_typemapper_t *typemapper,
+            const axis2_env_t *env);
 
-/************************** End of function prototypes ************************/
+axis2_bool_t AXIS2_CALL
+w2c_typemapper_is_primitive(w2c_typemapper_t *typemapper,
+                    const axis2_env_t *env,
+                    axis2_qname_t *qname);
 
-AXIS2_EXTERN w2c_typemapper_t * AXIS2_CALL
-w2c_typemapper_create(const axis2_env_t *env)
+ /************************** End of function prototypes ************************/
+
+AXIS2_EXTERN w2c_typemapper_t * AXIS2_CALL 
+w2c_typemapper_create (const axis2_env_t *env)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
-
+   
     AXIS2_ENV_CHECK(env, NULL);
 
     typemapper_impl = (w2c_typemapper_impl_t *) AXIS2_MALLOC(env->
-            allocator, sizeof(w2c_typemapper_impl_t));
+               allocator, sizeof(w2c_typemapper_impl_t));
 
-    if (NULL == typemapper_impl)
+    if(NULL == typemapper_impl)
     {
-        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
+        AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); 
         return NULL;
     }
     typemapper_impl->qname2name = NULL;
+    typemapper_impl->qname2prefix = NULL;
     typemapper_impl->default_type = NULL;
-
-    typemapper_impl->typemapper.ops =
-        AXIS2_MALLOC(env->allocator, sizeof(w2c_typemapper_ops_t));
-    if (NULL == typemapper_impl->typemapper.ops)
+    
+    typemapper_impl->typemapper.ops = 
+    AXIS2_MALLOC (env->allocator, sizeof(w2c_typemapper_ops_t));
+    if(NULL == typemapper_impl->typemapper.ops)
     {
         w2c_typemapper_free(&(typemapper_impl->typemapper), env);
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
         return NULL;
     }
-
+    
     typemapper_impl->typemapper.ops->free = w2c_typemapper_free;
-    typemapper_impl->typemapper.ops->get_parameter_name =
-        w2c_typemapper_get_parameter_name;
-    typemapper_impl->typemapper.ops->get_type_name =
-        w2c_typemapper_get_type_name;
-    typemapper_impl->typemapper.ops->add_typemapping_name =
-        w2c_typemapper_add_typemapping_name;
-    typemapper_impl->typemapper.ops->get_default_mapping_name =
-        w2c_typemapper_get_default_mapping_name;
-    typemapper_impl->typemapper.ops->get_default_qname =
-        w2c_typemapper_get_default_qname;
+    typemapper_impl->typemapper.ops->get_parameter_name = 
+                                        w2c_typemapper_get_parameter_name;
+    typemapper_impl->typemapper.ops->get_type_name= 
+                                        w2c_typemapper_get_type_name;
+    typemapper_impl->typemapper.ops->add_typemapping_name = 
+                                        w2c_typemapper_add_typemapping_name;
+    typemapper_impl->typemapper.ops->get_default_mapping_name = 
+                                        w2c_typemapper_get_default_mapping_name;
+    typemapper_impl->typemapper.ops->get_default_qname= 
+                                        w2c_typemapper_get_default_qname;
+    typemapper_impl->typemapper.ops->get_all= 
+                                        w2c_typemapper_get_all;
+    typemapper_impl->typemapper.ops->is_primitive= 
+                                        w2c_typemapper_is_primitive;
 
     return &(typemapper_impl->typemapper);
 }
 
-AXIS2_EXTERN w2c_typemapper_t * AXIS2_CALL
+AXIS2_EXTERN w2c_typemapper_t * AXIS2_CALL 
 w2c_typemapper_create_from_file(const axis2_env_t *env,
-        axis2_char_t *filename)
+                          axis2_char_t *filename)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
     axiom_xml_reader_t *xml_reader      = NULL;
@@ -148,247 +158,269 @@
     axis2_char_t *uri = NULL;
     axis2_char_t *prefix = NULL;
     axis2_char_t *local_name = NULL;
-    axis2_qname_t *qname = NULL;
+    axis2_char_t *attri_val = NULL;
     axis2_char_t *type_val = NULL;
-    w2c_typemapper_type_info_t *type_info = NULL;
     axis2_char_t *qname2str = NULL;
-    axis2_char_t *attri_val = NULL;
-
 
+  
     AXIS2_ENV_CHECK(env, NULL);
     AXIS2_PARAM_CHECK(env->error, filename, NULL);
-
+    
     typemapper_impl = (w2c_typemapper_impl_t *) w2c_typemapper_create(env);
-    if (!typemapper_impl)
+    if(!typemapper_impl)
     {
         AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
-        return NULL;
+        return NULL;  
     }
     file_path = getenv("AXIS2C_HOME");
-    file_path = AXIS2_STRDUP(file_path, env);
-    file_path = w2c_string_add_string(file_path, W2C_TYPEMAPPER_MAPPING_PATH, env);
-    file_path = w2c_string_add_string(file_path, filename, env);
+    file_path = AXIS2_STRDUP( file_path, env);
+    file_path = w2c_string_add_string(file_path, W2C_TYPEMAPPER_MAPPING_PATH, env );
+    file_path = w2c_string_add_string(file_path, filename, env );
 
     xml_reader =
         axiom_xml_reader_create_for_file(env, file_path, NULL);
-    if (!xml_reader)
+    if(!xml_reader)
         return AXIS2_FAILURE;
     om_builder = axiom_stax_builder_create(env, xml_reader);
     om_doc = axiom_document_create(env, NULL, om_builder);
     AXIOM_DOCUMENT_BUILD_ALL(om_doc, env);
 
-    typemapper_impl-> qname2name = axis2_hash_make(env);
+    typemapper_impl-> qname2name = axis2_hash_make ( env);
+    typemapper_impl-> qname2prefix = axis2_hash_make ( env);
+    typemapper_impl-> primitive_map = axis2_hash_make ( env);
     root = AXIOM_DOCUMENT_GET_ROOT_ELEMENT(om_doc, env);
     root_ele = AXIOM_NODE_GET_DATA_ELEMENT(root, env);
     typemapper_impl-> mapper_name =
         AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME(root_ele, env, "dbf");
-    typemapper_impl-> mapper_name =
-        AXIS2_STRDUP(typemapper_impl-> mapper_name, env);
+    typemapper_impl-> mapper_name = 
+        AXIS2_STRDUP( typemapper_impl-> mapper_name, env);
     it = AXIOM_ELEMENT_GET_CHILDREN(root_ele, env, root);
-    while ((child = AXIOM_CHILDREN_ITERATOR_NEXT(it, env)))
+    while ( (child = AXIOM_CHILDREN_ITERATOR_NEXT(it, env )) != NULL )
     {
-        child_ele = AXIOM_NODE_GET_DATA_ELEMENT(child, env);
+        child_ele = AXIOM_NODE_GET_DATA_ELEMENT( child, env);
         is_default = AXIS2_FALSE;
-        if ((attri_val = AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME
-                (child_ele, env, "default")))
+        if ( (attri_val = AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME
+                    (child_ele, env, "default") ) != NULL )
         {
             is_default = AXIS2_TRUE;
         }
-        child = AXIOM_NODE_GET_FIRST_CHILD(child, env);
-        child_ele = AXIOM_NODE_GET_DATA_ELEMENT(child, env);
+        child = AXIOM_NODE_GET_FIRST_CHILD( child, env);
+        child_ele = AXIOM_NODE_GET_DATA_ELEMENT( child, env);
         uri = AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME
-                (child_ele, env, "namespace");
-        uri = AXIS2_STRDUP(uri, env);
+                    (child_ele, env, "namespace");
         prefix = AXIOM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME
-                (child_ele, env, "prefix");
-        prefix = AXIS2_STRDUP(prefix, env);
+                                (child_ele, env, "prefix");
+        prefix = AXIS2_STRDUP( prefix, env);
         local_name = AXIOM_ELEMENT_GET_TEXT(child_ele, env, child);
-        local_name = AXIS2_STRDUP(local_name, env);
-        qname = axis2_qname_create(env, local_name, uri, prefix);
-        qname2str = AXIS2_QNAME_TO_STRING(qname, env);
-        qname2str = AXIS2_STRDUP(qname2str, env);
-
-        child = AXIOM_NODE_GET_NEXT_SIBLING(child, env);
-        child_ele = AXIOM_NODE_GET_DATA_ELEMENT(child, env);
-        type_val = AXIOM_ELEMENT_GET_TEXT(child_ele, env, child);
-        type_val = AXIS2_STRDUP(type_val, env);
-        if (is_default)
+        qname2str = AXIS2_STRDUP( local_name, env);
+        qname2str = w2c_string_add_string( qname2str, "|", env);
+        qname2str = w2c_string_add_string( qname2str, uri, env);
+
+        child = AXIOM_NODE_GET_NEXT_SIBLING( child, env );
+        child_ele = AXIOM_NODE_GET_DATA_ELEMENT( child, env);
+        type_val = AXIOM_ELEMENT_GET_TEXT( child_ele, env, child);
+        type_val = AXIS2_STRDUP( type_val, env);
+        if ( is_default )
         {
-            typemapper_impl-> default_type = AXIS2_STRDUP(type_val, env);
-            typemapper_impl-> default_qname = qname;
+            uri = AXIS2_STRDUP( uri, env);
+            local_name = AXIS2_STRDUP( local_name, env);
+            prefix = AXIS2_STRDUP( prefix, env);
+            typemapper_impl-> default_qname = 
+                axis2_qname_create( env, local_name, uri, prefix);
+            typemapper_impl-> default_type = AXIS2_STRDUP( type_val, env);
         }
-        type_info = (w2c_typemapper_type_info_t*) AXIS2_MALLOC
-                (env-> allocator, sizeof(w2c_typemapper_type_info_t));
-        type_info-> qname =  qname;
-        type_info-> type = type_val;
-        axis2_hash_set(typemapper_impl-> qname2name, qname2str,
-                AXIS2_HASH_KEY_STRING, type_info);
+        axis2_hash_set( typemapper_impl-> qname2name, qname2str,
+                        AXIS2_HASH_KEY_STRING, type_val );
+        qname2str = AXIS2_STRDUP( qname2str, env);
+        axis2_hash_set( typemapper_impl-> qname2prefix, qname2str,
+                        AXIS2_HASH_KEY_STRING, prefix );
+        qname2str = AXIS2_STRDUP( qname2str, env);
+        axis2_hash_set( typemapper_impl-> primitive_map, qname2str,
+                        AXIS2_HASH_KEY_STRING, (void*)1);
     }
 
     AXIOM_STAX_BUILDER_FREE(om_builder, env);
     axiom_xml_reader_cleanup();
 
-    return &(typemapper_impl->typemapper);
+   return &(typemapper_impl->typemapper);
 }
 
 /***************************Function implementation****************************/
 
-axis2_status_t AXIS2_CALL
-w2c_typemapper_free(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env)
+axis2_status_t AXIS2_CALL 
+w2c_typemapper_free (w2c_typemapper_t *typemapper, 
+                            const axis2_env_t *env)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
-
+ 
     axis2_char_t *key = NULL;
-    w2c_typemapper_type_info_t* value = NULL;
     axis2_hash_index_t *hi = NULL;
     axis2_hash_t *h = NULL;
+    axis2_char_t *value = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+    
     typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
     h = typemapper_impl-> qname2name;
-
+    
     for (hi = axis2_hash_first(h, env) ;
-            hi; hi = axis2_hash_next(env, hi))
+                hi; hi = axis2_hash_next(env, hi))
     {
         axis2_hash_this(hi, (void*)&key, NULL, (void*)&value);
         if (value)
         {
-            if (value-> type)
-                AXIS2_FREE(env-> allocator, value-> type);
-            if (value-> qname)
-                AXIS2_QNAME_FREE(value-> qname, env);
+            AXIS2_FREE ( env-> allocator, value);
         }
-        if (key) AXIS2_FREE(env-> allocator, key);
+        if (key) AXIS2_FREE ( env-> allocator, key); 
     }
-    axis2_hash_free(h , env);
+    axis2_hash_free( h , env);
+    
+    h = typemapper_impl-> qname2prefix;
+    for (hi = axis2_hash_first(h, env) ;
+                hi; hi = axis2_hash_next(env, hi))
+    {
+        axis2_hash_this(hi, (void*)&key, NULL, (void*)&value);
+        if (value)
+        {
+            AXIS2_FREE ( env-> allocator, value);
+        }
+        if (key) AXIS2_FREE ( env-> allocator, key); 
+    }
+    axis2_hash_free( h , env);
+    
+    h = typemapper_impl-> primitive_map;
+    for (hi = axis2_hash_first(h, env) ;
+                hi; hi = axis2_hash_next(env, hi))
+    {
+        axis2_hash_this(hi, (void*)&key, NULL, (void*)&value);
+        if (key) AXIS2_FREE ( env-> allocator, key); 
+    }
+    axis2_hash_free( h , env);
 
     if (typemapper_impl-> mapper_name)
     {
-        AXIS2_FREE(env-> allocator, typemapper_impl-> mapper_name);
+        AXIS2_FREE (env-> allocator, typemapper_impl-> mapper_name);
     }
     if (typemapper_impl-> default_type)
     {
-        AXIS2_FREE(env-> allocator, typemapper_impl-> default_type);
+        AXIS2_FREE (env-> allocator, typemapper_impl-> default_type);
+    }
+    if (typemapper_impl-> default_qname)
+    {
+        AXIS2_QNAME_FREE( typemapper_impl-> default_qname, env);
     }
-    if (typemapper->ops)
+    if(typemapper->ops)
     {
         AXIS2_FREE(env->allocator, typemapper->ops);
         typemapper->ops = NULL;
     }
-    if (typemapper_impl)
+    if(typemapper_impl)
     {
         AXIS2_FREE(env->allocator, typemapper_impl);
         typemapper_impl = NULL;
     }
-
+    
     return AXIS2_SUCCESS;
 }
 
 
 axis2_char_t* AXIS2_CALL
 w2c_typemapper_get_parameter_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env,
-        axis2_qname_t *qname)
+            const axis2_env_t *env,
+            axis2_qname_t *qname)
 {
-    w2c_typemapper_impl_t *typemapper_impl = NULL;
-
-    axis2_char_t *key = NULL;
-    w2c_typemapper_type_info_t *value = NULL;
-    axis2_hash_t *h = NULL;
-    axis2_char_t *prefix = NULL;
+    axis2_char_t *local= NULL;
     static int counter = 0;
     axis2_char_t counter_str[32];
 
-    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
-    typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
-    h = typemapper_impl-> qname2name;
-
-    key = AXIS2_QNAME_TO_STRING(qname, env);
-    value = axis2_hash_get(h, key, AXIS2_HASH_KEY_STRING);
-    if (NULL == value)
-    {
-        return NULL;
-    }
-
-    qname = value-> qname;
+    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    
 
-    prefix = AXIS2_QNAME_GET_LOCALPART(qname, env);
-    prefix = AXIS2_STRDUP(prefix, env);
+    local = AXIS2_STRDUP( "param", env);
 
     if (counter == W2C_TYPEMAPPER_UPPER_PARAM_LIMIT)
     {
         counter = 0;
     }
-    sprintf(counter_str, "%d", counter++);
-    prefix = w2c_string_add_string(prefix, counter_str, env);
-
-    return prefix;
+    sprintf(counter_str,"%d",counter++);
+    local = w2c_string_add_string(local, counter_str, env );
+    
+    return local;    
 }
 
 axis2_char_t* AXIS2_CALL
 w2c_typemapper_get_type_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env,
-        axis2_qname_t *qname)
+            const axis2_env_t *env,
+            axis2_qname_t *qname)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
-
+ 
+    axis2_char_t *str = NULL;
     axis2_char_t *key = NULL;
-    w2c_typemapper_type_info_t *value = NULL;
+    axis2_char_t *value =NULL;
     axis2_hash_t *h = NULL;
-    axis2_char_t *type = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+    
     typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
     h = typemapper_impl-> qname2name;
 
-    key = AXIS2_QNAME_TO_STRING(qname, env);
-    value = axis2_hash_get(h, key, AXIS2_HASH_KEY_STRING);
-    if (NULL == value)
-        return NULL;
+    str = w2c_string_make_key_from_qname(qname, env);
 
-    type = value-> type;
-    return type;
+    for ( key = str ; *key != ':' && *key != '\0' && *key != '|'; key ++ );
+    if(  *key == '\0' || *key == '|')
+    {
+        key = str;
+    }
+    else
+    {
+        key++;
+    }
+    value = axis2_hash_get( h, key, AXIS2_HASH_KEY_STRING );
+    AXIS2_FREE( env-> allocator, str); 
+    return value;    
 }
 
 
 axis2_status_t AXIS2_CALL
 w2c_typemapper_add_typemapping_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env,
-        axis2_qname_t *qname,
-        axis2_char_t *name)
+            const axis2_env_t *env,
+            axis2_qname_t *qname,
+            axis2_char_t *name)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
-    axis2_hash_t *h = NULL;
-    axis2_char_t *key = NULL;
-    w2c_typemapper_type_info_t *type_info = NULL;
+    axis2_char_t *key= NULL;
+    axis2_char_t *prefix = NULL;
 
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
+    
     typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
-    h = typemapper_impl-> qname2name;
 
-    key = AXIS2_QNAME_TO_STRING(qname, env);
-    type_info = (w2c_typemapper_type_info_t*) AXIS2_MALLOC
-            (env-> allocator, sizeof(w2c_typemapper_type_info_t));
-    type_info-> qname =  qname;
-    type_info-> type = name;
-    axis2_hash_set(typemapper_impl-> qname2name, key,
-            AXIS2_HASH_KEY_STRING, type_info);
+    prefix = AXIS2_QNAME_GET_PREFIX( qname, env);
+    key = w2c_string_make_key_from_qname( qname, env);
+    key = AXIS2_STRDUP( key, env);
+    name = AXIS2_STRDUP( name, env);
+
+    axis2_hash_set( typemapper_impl-> qname2name, key,
+                        AXIS2_HASH_KEY_STRING, name);
+    if ( prefix && AXIS2_STRLEN( prefix) > 0 )
+    {
+        key = AXIS2_STRDUP( key, env);
+        axis2_hash_set( typemapper_impl-> qname2prefix , key,
+                        AXIS2_HASH_KEY_STRING, prefix);
+    }
     return AXIS2_SUCCESS;
 }
-
+ 
 axis2_char_t* AXIS2_CALL
 w2c_typemapper_get_default_mapping_name(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env)
+            const axis2_env_t *env)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
-
+ 
     AXIS2_ENV_CHECK(env, NULL);
-
+    
     typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
 
     return typemapper_impl-> default_type;
@@ -397,15 +429,43 @@
 
 axis2_qname_t* AXIS2_CALL
 w2c_typemapper_get_default_qname(w2c_typemapper_t *typemapper,
-        const axis2_env_t *env)
+            const axis2_env_t *env)
 {
     w2c_typemapper_impl_t *typemapper_impl = NULL;
-
+ 
     AXIS2_ENV_CHECK(env, NULL);
-
+    
     typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
 
     return typemapper_impl-> default_qname;
 }
 
+axis2_hash_t* AXIS2_CALL
+w2c_typemapper_get_all(w2c_typemapper_t *typemapper,
+            const axis2_env_t *env)
+{
+    w2c_typemapper_impl_t *typemapper_impl = NULL;
+ 
+    AXIS2_ENV_CHECK(env, NULL);
+    
+    typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
+
+    return typemapper_impl-> qname2name;
+}
+
+axis2_bool_t AXIS2_CALL
+w2c_typemapper_is_primitive(w2c_typemapper_t *typemapper,
+                    const axis2_env_t *env,
+                    axis2_qname_t *qname)
+{
+    w2c_typemapper_impl_t *typemapper_impl = NULL;
+    axis2_char_t *key = NULL;
+
+    AXIS2_ENV_CHECK(env, AXIS2_FALSE);
 
+    typemapper_impl = W2C_INTF_TO_IMPL(typemapper);
+
+    key = w2c_string_make_key_from_qname(qname, env);
+    return (axis2_bool_t)axis2_hash_get( typemapper_impl-> primitive_map, 
+                key, AXIS2_HASH_KEY_STRING );
+}

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/url_processor.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/url_processor.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/url_processor.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/url_processor.c Wed Sep 27 05:39:31 2006
@@ -13,33 +13,30 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_url_processor.h>
 #include <w2c_string.h>
-#include <axis2_string.h>
 #include <axis2_url.h>
 
 
 static axis2_bool_t AXIS2_CALL
-w2c_url_processor_is_token(axis2_char_t *str);
+w2c_url_processor_is_token ( axis2_char_t *str );
 
 static axis2_char_t* axis2_add_word_to_package_name
-(axis2_char_t *package_name ,
-        axis2_char_t *long_path,
-        const axis2_env_t *env);
-
-static const axis2_char_t *w2c_url_processor_c_tokens[] =
-    {
-        "auto", "break", "case", "axis2_char_t", "const", "continue",
-        "default", "do", "double", "else", "enum", "extern",
-        "float", "for", "goto", "if", "int", "long", "register",
-        "return", "short", "signed", "sizeof", "static",
-        "struct", "switch", "typedef", "union", "unsigned",
-        "void", "volatile", "while", NULL
-    };
+              ( axis2_char_t *package_name ,
+                axis2_char_t *long_path,
+                const axis2_env_t *env );
+
+static const axis2_char_t *w2c_url_processor_c_tokens[]={ 
+                      "auto", "break", "case", "axis2_char_t", "const", "continue",
+                      "default", "do", "double", "else", "enum", "extern",
+                      "float", "for", "goto", "if", "int", "long", "register",
+                      "return", "short", "signed", "sizeof", "static",
+                      "struct", "switch", "typedef", "union", "unsigned",
+                      "void", "volatile", "while", NULL };
 
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
-w2c_url_processor_make_package_name(
+    w2c_url_processor_make_package_name(
     const axis2_env_t *env,
     axis2_char_t *namespace)
 {
@@ -53,25 +50,27 @@
     axis2_char_t *long_path_rev = NULL;
     axis2_char_t *ptr = NULL;
 
-    AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE);
-
-    url = axis2_url_parse_string(env, namespace);
-    host_name = AXIS2_URL_GET_SERVER(url, env);
-    path = AXIS2_URL_GET_PATH(url, env);
+    url = axis2_url_parse_string (env, namespace );
+    if ( NULL == url )
+    {
+        return AXIS2_STRDUP( namespace, env);
+    }
+    host_name = AXIS2_URL_GET_SERVER ( url, env );
+    path = AXIS2_URL_GET_PATH ( url, env );
 
-    if (NULL == host_name)
+    if ( NULL == host_name )
     {
-        index = w2c_string_indexof(host_name, ':');
-        if (index > -1)
+        index = w2c_string_indexof ( host_name, ':');
+        if ( index > -1 )
         {
-            host_name =
-                axis2_string_substring_starting_at(host_name, index);
-
-            index =  w2c_string_indexof(host_name, '/');
-            if (index > -1)
+            host_name = 
+              axis2_string_substring_starting_at ( host_name, index );
+        
+            index =  w2c_string_indexof ( host_name, '/');
+            if ( index > -1 )
             {
                 host_name =
-                    axis2_string_substring_ending_at(host_name, index);
+                 axis2_string_substring_ending_at ( host_name, index);
             }
         }
         else
@@ -79,29 +78,29 @@
             host_name = namespace;
         }
     }
-
-    if (NULL == host_name || *host_name == '\0')
+    
+    if ( NULL == host_name || *host_name =='\0' )
     {
         return NULL;
     }
 
-    long_path = (axis2_char_t*)AXIS2_STRDUP(host_name, env);
+    long_path = (axis2_char_t* )AXIS2_STRDUP ( host_name,env );
 
-    /** make path_name legal */
+    /** make path_name legal */    
 
-    path_length = strlen(long_path);
-
-    for (long_path_rev = long_path + path_length ; ; long_path_rev --)
+    path_length = strlen ( long_path );    
+    
+    for ( long_path_rev = long_path + path_length ; ; long_path_rev -- )
     {
-        if (long_path - 1 == long_path_rev ||
-                '.' == *long_path_rev || ':' == *long_path_rev)
+        if ( long_path -1 == long_path_rev ||
+                 '.' == *long_path_rev ||':' == *long_path_rev )
         {
             /** go up one */
             long_path_rev ++;
             package_name =
-                axis2_add_word_to_package_name(package_name , long_path_rev, env);
+             axis2_add_word_to_package_name( package_name , long_path_rev, env);
 
-            if (long_path_rev == long_path)  /** loop should be ended */
+            if ( long_path_rev == long_path )  /** loop should be ended */
             {
                 break;
             }
@@ -109,82 +108,82 @@
             {
                 long_path_rev --;
                 *long_path_rev = '\0';
-                package_name =
-                    w2c_string_add_string(package_name, ".", env);
+                package_name = 
+                    w2c_string_add_string ( package_name, ".", env);
             }
         }
     }
-    free(long_path);
-
-    if (path)
-        path_length = strlen(path);
-    if (0 != path_length)
+    free (long_path );    
+  
+    if ( NULL != path )
+        path_length = strlen ( path );
+    if ( 0 != path_length )
     {
-        if ('/' == path[path_length-1])
+        if ( '/' == path[path_length-1] )
         {
             path[ path_length -1] = '\0';
         }
-        if ('/' ==  *path)
+        if ('/' ==  *path )
         {
             path ++;
         }
+        
+        long_path = ( axis2_char_t* )AXIS2_STRDUP( path, env );
+        long_path = axis2_string_replace ( long_path, '-', '_' );
+        long_path = axis2_string_replace ( long_path, ':', '_' );
 
-        long_path = (axis2_char_t*)AXIS2_STRDUP(path, env);
-        long_path = axis2_string_replace(long_path, '-', '_');
-        long_path = axis2_string_replace(long_path, ':', '_');
-
-        for (ptr = long_path_rev = long_path;
-                path_length ; ptr ++, path_length --)
+        for ( ptr = long_path_rev = long_path; 
+                         path_length ; ptr ++, path_length -- )
         {
-            if ('/' == *ptr || '\0' == *ptr)
+            if ( '/' == *ptr || '\0' == *ptr)
             {
-                *ptr = '\0';
+                *ptr ='\0';
                 package_name =
-                    w2c_string_add_string(package_name, ".", env);
+                    w2c_string_add_string ( package_name, ".", env);               
                 package_name =
-                    axis2_add_word_to_package_name
-                    (package_name , long_path_rev, env);
+                  axis2_add_word_to_package_name
+                           ( package_name , long_path_rev, env);
                 long_path_rev = ptr + 1;
             }
         }
-        free(long_path);
+        free ( long_path );
     }
-
+                
     return package_name;
 }
 
 /** internal methods */
 
 static axis2_char_t* axis2_add_word_to_package_name
-(axis2_char_t *package_name ,
-        axis2_char_t *long_path,
-        const axis2_env_t *env)
+              ( axis2_char_t *package_name ,
+                axis2_char_t *long_path,
+                const axis2_env_t *env )
 {
     /** make non keyword */
-    if (w2c_url_processor_is_token(long_path))
+    if ( w2c_url_processor_is_token( long_path) )
     {
-        package_name = w2c_string_add_string(package_name,
-                "_", env);
+        package_name = w2c_string_add_string ( package_name,
+                                "_", env );
     }
     /** starting with digit -> prefix _ */
-    if (isdigit(*long_path))
+    if ( isdigit(*long_path ) )
     {
-        package_name = w2c_string_add_string(package_name,
-                "_", env);
+        package_name = w2c_string_add_string ( package_name,
+                                "_", env );
     }
-    long_path = axis2_string_replace(long_path, '.', '_');
-    package_name = w2c_string_add_string(package_name, long_path, env);
-
+    long_path = axis2_string_replace ( long_path, '.', '_' );
+    package_name = w2c_string_add_string ( package_name, long_path, env );
+   
     return package_name;
 }
 
 static axis2_bool_t AXIS2_CALL
-w2c_url_processor_is_token(axis2_char_t *str)
+w2c_url_processor_is_token ( axis2_char_t *str )
 {
     int i = 0;
-    while (w2c_url_processor_c_tokens[i])
+    while ( w2c_url_processor_c_tokens[i] )
     {
-        if (!strcmp(w2c_url_processor_c_tokens[i], str))
+        if ( !strcmp (w2c_url_processor_c_tokens[i], str ) )
         {
             return AXIS2_TRUE;
         }

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/xslt_template_processor.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/xslt_template_processor.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/xslt_template_processor.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/xslt_template_processor.c Wed Sep 27 05:39:31 2006
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_xslt_template_processor.h>
 #include <string.h>
 #include <libxml/xmlmemory.h>
@@ -35,30 +35,33 @@
     axis2_char_t *xslt_filename,
     axis2_char_t *out_filename)
 {
-    xsltStylesheetPtr ssheet = NULL;
-    xmlDocPtr doc = NULL;
-    xmlDocPtr res = NULL;
-    FILE *out = NULL;
-
-    xmlSubstituteEntitiesDefault(1);
-    xmlLoadExtDtdDefaultValue = 1;
-
-    ssheet = xsltParseStylesheetFile((const xmlChar *)xslt_filename);
-    doc = (xmlDocPtr)xmlParseMemory(xml_stream,
-            (unsigned int)strlen(xml_stream));
-    res = xsltApplyStylesheet(ssheet, doc, NULL);
-
-    out = fopen(out_filename, "w+");
-    xsltSaveResultToFile(out, res, ssheet);
-
-    xsltFreeStylesheet(ssheet);
-    xmlFreeDoc(res);
-    xmlFreeDoc(doc);
+ 	xsltStylesheetPtr ssheet = NULL;
+	xmlDocPtr doc = NULL;
+	xmlDocPtr res = NULL;
+	FILE *out = NULL;
+    /* printf("%s\n --------%s\n\n", xslt_filename, xml_stream); */
+
+	xmlSubstituteEntitiesDefault(1);
+	xmlLoadExtDtdDefaultValue = 1;
+
+	ssheet = xsltParseStylesheetFile((const xmlChar *)xslt_filename);
+	doc = (xmlDocPtr)xmlParseMemory(xml_stream,
+                              (unsigned int)strlen (xml_stream));
+	res = xsltApplyStylesheet(ssheet, doc, NULL);
+      
+	out = fopen ( out_filename, "w+");
+	xsltSaveResultToFile(out, res, ssheet);
+
+
+    /*TODO: following freeing has some inpact to the external code*/
+	/*xmlFreeDoc(res);
+	xsltFreeStylesheet(ssheet);
+	xmlFreeDoc(doc);
+    xsltCleanupGlobals();*/
+    /*xmlCleanupParser();*/
 
-    xsltCleanupGlobals();
-    xmlCleanupParser();
     /* adding new line at the end */
-    fprintf(out, "\n");
-    fclose(out);
+    fprintf( out, "\n");
+    fclose( out);
 }
 

Modified: webservices/axis2/trunk/c/tools/codegen/src/util/xslt_utils.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/tools/codegen/src/util/xslt_utils.c?view=diff&rev=450420&r1=450419&r2=450420
==============================================================================
--- webservices/axis2/trunk/c/tools/codegen/src/util/xslt_utils.c (original)
+++ webservices/axis2/trunk/c/tools/codegen/src/util/xslt_utils.c Wed Sep 27 05:39:31 2006
@@ -13,11 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
+ 
 #include <w2c_xslt_utils.h>
 #include <axis2_qname.h>
 
-AXIS2_EXTERN axis2_status_t AXIS2_CALL
+AXIS2_EXTERN axis2_status_t AXIS2_CALL 
 w2c_xslt_utils_add_attribute(
     const axis2_env_t *env,
     axiom_node_t *om_node,
@@ -26,12 +26,12 @@
 {
     axiom_element_t *om_ele = NULL;
     axiom_attribute_t *attri = NULL;
-    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
-
-    om_ele = AXIOM_NODE_GET_DATA_ELEMENT(om_node, env);
-    attri = axiom_attribute_create(env, attribute, attrib_value, NULL);
-    AXIOM_ELEMENT_ADD_ATTRIBUTE(om_ele, env, attri, om_node);
+    AXIS2_ENV_CHECK ( env, AXIS2_FAILURE );
 
+    om_ele = AXIOM_NODE_GET_DATA_ELEMENT ( om_node, env );
+    attri = axiom_attribute_create ( env, attribute, attrib_value, NULL );
+    AXIOM_ELEMENT_ADD_ATTRIBUTE ( om_ele, env, attri, om_node );
+    
     return AXIS2_SUCCESS;
 }
 
@@ -43,30 +43,30 @@
 {
     axiom_node_t *child_node = NULL;
     axiom_element_t *child_ele = NULL;
-    AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
+    AXIS2_ENV_CHECK ( env, AXIS2_FAILURE );
 
-    child_ele = axiom_element_create(env,
-            parent_node,
-            element_name,
-            NULL,
-            &child_node);
+    child_ele = axiom_element_create ( env,
+                    parent_node,
+                    element_name,
+                    NULL,
+                    &child_node );
     return child_node;
 }
 
 AXIS2_EXTERN axis2_char_t* AXIS2_CALL
 w2c_xslt_utils_serialize(
-    const axis2_env_t *env,
-    axiom_node_t *root)
+                const axis2_env_t *env,
+                axiom_node_t *root)
 {
     axiom_output_t *om_output = NULL;
     axiom_xml_writer_t *xml_writer = NULL;
     axis2_char_t *buffer = NULL;
 
     xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0,
-            AXIS2_XML_PARSER_TYPE_BUFFER);
-    om_output = axiom_output_create(env, xml_writer);
+                                      AXIS2_XML_PARSER_TYPE_BUFFER);
+    om_output = axiom_output_create (env, xml_writer);
 
-    AXIOM_NODE_SERIALIZE(root, env, om_output);
+    AXIOM_NODE_SERIALIZE (root, env, om_output);
     buffer = (axis2_char_t*)AXIOM_XML_WRITER_GET_XML(xml_writer, env);
     return buffer;
 }
@@ -77,18 +77,18 @@
     axiom_node_t *node,
     axis2_char_t *text)
 {
-    axiom_element_t *ele = NULL;
-
-    ele = AXIOM_NODE_GET_DATA_ELEMENT(node, env);
-    AXIOM_ELEMENT_SET_TEXT(ele, env, text, node);
-    return node;
+   axiom_element_t *ele = NULL;
+   
+   ele = AXIOM_NODE_GET_DATA_ELEMENT ( node, env);
+   AXIOM_ELEMENT_SET_TEXT( ele, env, text, node);
+   return node;
 }
 
 AXIS2_EXTERN axis2_status_t AXIS2_CALL
 w2c_xslt_utils_copy_node_tree(
-    const axis2_env_t *env,
-    axiom_node_t *to,
-    axiom_node_t *from)
+     const axis2_env_t *env,
+     axiom_node_t *to,
+     axiom_node_t *from )
 {
     axiom_element_t *to_ele = NULL;
     axiom_element_t *from_ele = NULL;
@@ -104,43 +104,43 @@
     void *val = NULL;
     axiom_attribute_t *om_attri = NULL;
 
-    to_ele = AXIOM_NODE_GET_DATA_ELEMENT(to, env);
-    from_ele = AXIOM_NODE_GET_DATA_ELEMENT(from, env);
+    to_ele = AXIOM_NODE_GET_DATA_ELEMENT ( to, env );
+    from_ele = AXIOM_NODE_GET_DATA_ELEMENT ( from, env );
 
-    it = AXIOM_ELEMENT_GET_CHILDREN(from_ele, env, from);
-    AXIOM_CHILDREN_ITERATOR_RESET(it, env);
+    it = AXIOM_ELEMENT_GET_CHILDREN ( from_ele, env, from );
+    AXIOM_CHILDREN_ITERATOR_RESET( it, env);
 
-    while ((from_child = AXIOM_CHILDREN_ITERATOR_NEXT(it, env)))
+    while ( (from_child = AXIOM_CHILDREN_ITERATOR_NEXT( it, env )) != NULL )
     {
-        if (AXIOM_NODE_GET_NODE_TYPE(from_child, env) == AXIOM_TEXT)
+        if ( AXIOM_NODE_GET_NODE_TYPE ( from_child, env ) == AXIOM_TEXT )
         {
-            text = AXIOM_ELEMENT_GET_TEXT(from_ele, env, from);
-            text = AXIS2_STRDUP(text, env);
-            AXIOM_ELEMENT_SET_TEXT(to_ele, env, text, to);
+            text = AXIOM_ELEMENT_GET_TEXT ( from_ele, env, from );
+            text = AXIS2_STRDUP ( text, env);
+            AXIOM_ELEMENT_SET_TEXT ( to_ele, env, text, to);
         }
         else
         {
-            from_child_ele = AXIOM_NODE_GET_DATA_ELEMENT(from_child, env);
-            qname = AXIOM_ELEMENT_GET_QNAME(from_child_ele, env, from_child);
-            qname = AXIS2_QNAME_CLONE(qname, env);
-
-            axiom_element_create_with_qname(env, to, qname, &to_child);
-            w2c_xslt_utils_copy_node_tree(env, to_child, from_child);
+            from_child_ele = AXIOM_NODE_GET_DATA_ELEMENT ( from_child, env );
+            qname = AXIOM_ELEMENT_GET_QNAME ( from_child_ele, env, from_child );
+            qname = AXIS2_QNAME_CLONE ( qname, env );
+    
+            axiom_element_create_with_qname ( env, to, qname, &to_child );
+            w2c_xslt_utils_copy_node_tree ( env, to_child, from_child );
         }
     }
 
     attr_ht = AXIOM_ELEMENT_GET_ALL_ATTRIBUTES(from_ele, env);
-    if (attr_ht)
+    if(NULL != attr_ht)
     {
-        for (hi = axis2_hash_first(attr_ht, env);  hi;
+        for( hi = axis2_hash_first(attr_ht, env);  hi;
                 hi = axis2_hash_next(env, hi))
         {
             axis2_hash_this(hi, NULL, NULL, &val);
-            if (val)
+            if(NULL != val)
             {
                 om_attri = (axiom_attribute_t *)val;
-                om_attri = AXIOM_ATTRIBUTE_CLONE(om_attri, env);
-                AXIOM_ELEMENT_ADD_ATTRIBUTE(to_ele, env, om_attri, to);
+                om_attri = AXIOM_ATTRIBUTE_CLONE ( om_attri, env );
+                AXIOM_ELEMENT_ADD_ATTRIBUTE ( to_ele, env, om_attri, to);
             }
         }
     }



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