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/01 13:58:01 UTC

svn commit: r439280 - in /webservices/axis2/trunk/c/util: include/axis2_date_time.h include/axis2_string.h src/Makefile.am src/date_time.c src/string.c test/unit/util/Makefile.am test/unit/util/util_test.c test/unit/util/util_test.h

Author: nandika
Date: Fri Sep  1 04:58:01 2006
New Revision: 439280

URL: http://svn.apache.org/viewvc?rev=439280&view=rev
Log:
jira issue 231, Thanks to dimuthu  

Modified:
    webservices/axis2/trunk/c/util/include/axis2_date_time.h
    webservices/axis2/trunk/c/util/include/axis2_string.h
    webservices/axis2/trunk/c/util/src/Makefile.am
    webservices/axis2/trunk/c/util/src/date_time.c
    webservices/axis2/trunk/c/util/src/string.c
    webservices/axis2/trunk/c/util/test/unit/util/Makefile.am
    webservices/axis2/trunk/c/util/test/unit/util/util_test.c
    webservices/axis2/trunk/c/util/test/unit/util/util_test.h

Modified: webservices/axis2/trunk/c/util/include/axis2_date_time.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/axis2_date_time.h?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/axis2_date_time.h (original)
+++ webservices/axis2/trunk/c/util/include/axis2_date_time.h Fri Sep  1 04:58:01 2006
@@ -218,7 +218,7 @@
         ((date_time)->ops->free (date_time, env))
 
 #define AXIS2_DATE_TIME_DESERIALIZE_TIME(date_time, env, time ) \
-        ((date_time)->ops->deserialize_time (date_time, env, time_str))
+        ((date_time)->ops->deserialize_time (date_time, env, time))
 
 #define AXIS2_DATE_TIME_DESERIALIZE_DATE(date_time, env, date) \
         ((date_time)->ops->deserialize_date (date_time, env, date_str))

Modified: webservices/axis2/trunk/c/util/include/axis2_string.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/axis2_string.h?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/axis2_string.h (original)
+++ webservices/axis2/trunk/c/util/include/axis2_string.h Fri Sep  1 04:58:01 2006
@@ -141,6 +141,62 @@
            const axis2_env_t *env,
            const axis2_char_t *_s,
            const axis2_char_t *_trim);
+   
+   /**
+    * replace given axis2_character with a new one.
+    * @param str       string operation apply
+    * @param old_char  the old axis2_character which would be replaced
+    * @param new_char  new axis2_char_tacter
+    * @return      replaced string
+    */
+   AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+   axis2_string_replace(
+           axis2_char_t *str,
+           axis2_char_t old_char,
+           axis2_char_t new_char);
+
+   /**
+    * gives a sub string starting with given index.
+    * @param str       string operation apply
+    * @param c     starting index
+    * @return      substring
+    */
+   AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+   axis2_string_substring_starting_at(
+           axis2_char_t *str,
+           int s );
+   
+   /**
+    * gives a sub string ending with given index.
+    * @param str       string operation apply
+    * @param c     ending index
+    * @return      substring
+    */
+   AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+   axis2_string_substring_ending_at(
+           axis2_char_t *str,
+           int e );
+   
+   /**
+    * set a string to lowercase.
+    * @param str   string
+    * @return string with lowercase
+    */
+   AXIS2_EXTERN axis2_char_t*
+   axis2_string_tolower(
+           axis2_char_t *str );
+    
+   /**
+    * set a string to uppercase.
+    * @param str   string
+    * @return string with uppercase
+    */
+   AXIS2_EXTERN axis2_char_t*
+   axis2_string_toupper(
+           axis2_char_t *str );
+   
+     
+   
 
 #define AXIS2_STRDUP(pts, env) \
         axis2_strdup(pts, env)

Modified: webservices/axis2/trunk/c/util/src/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/Makefile.am?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/Makefile.am (original)
+++ webservices/axis2/trunk/c/util/src/Makefile.am Fri Sep  1 04:58:01 2006
@@ -32,7 +32,8 @@
                         base64.c \
                         uri.c \
                         date_time.c \
-                        base64_binary.c
+                        base64_binary.c \
+                        properties.c 
                         
 libaxis2_util_la_LIBADD =  \
                     $(top_builddir)/src/platforms/unix/libaxis2_unix.la \

Modified: webservices/axis2/trunk/c/util/src/date_time.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/date_time.c?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/date_time.c (original)
+++ webservices/axis2/trunk/c/util/src/date_time.c Fri Sep  1 04:58:01 2006
@@ -28,7 +28,12 @@
 {
     axis2_date_time_t date_time;
     
-    struct tm* utcTime;
+    int year;
+    int mon;
+    int day;
+    int hour;
+    int min;
+    int sec;
 
 } axis2_date_time_impl_t;
 
@@ -105,6 +110,7 @@
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
     time_t now;
+    struct tm* utc_time = NULL;
    
     AXIS2_ENV_CHECK(env, NULL);
 
@@ -118,7 +124,13 @@
     }
     
     now = time (NULL );
-    date_time_impl-> utcTime = gmtime ( &now);
+    utc_time = gmtime ( &now);
+    date_time_impl-> year= utc_time-> tm_year;
+    date_time_impl-> mon= utc_time-> tm_mon;
+    date_time_impl-> day= utc_time-> tm_mday;
+    date_time_impl-> hour= utc_time-> tm_hour;
+    date_time_impl-> min= utc_time-> tm_min;
+    date_time_impl-> sec= utc_time-> tm_sec;
 
     date_time_impl->date_time.ops = 
         AXIS2_MALLOC (env->allocator, sizeof(axis2_date_time_ops_t));
@@ -165,12 +177,6 @@
         AXIS2_FREE(env->allocator, date_time->ops);
         date_time->ops = NULL;
     }
-
-    if(date_time_impl->utcTime)
-    {
-        free ( date_time_impl->utcTime);
-        date_time_impl->utcTime = NULL;
-    }
     
     if(date_time_impl)
     {
@@ -187,15 +193,13 @@
                         const char* time_str)
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    sscanf (time_str, "%d:%d:%dZ" , &time-> tm_hour, &time-> tm_min,
-            &time-> tm_sec );
+    sscanf (time_str, "%d:%d:%dZ" , &date_time_impl-> hour, &date_time_impl-> min,
+            &date_time_impl-> sec );
     return AXIS2_SUCCESS;
 }
 
@@ -205,16 +209,14 @@
                         const char* date_str)
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    sscanf (date_str, "%d-%d-%d" , &time-> tm_year, &time -> tm_mon,
-            &time-> tm_mday );
-    time-> tm_year -= 1900;
+    sscanf (date_str, "%d-%d-%d" , &date_time_impl-> year, &date_time_impl-> mon,
+            &date_time_impl-> day );
+    date_time_impl-> year -= 1900;
     return AXIS2_SUCCESS;
 }
     
@@ -224,17 +226,15 @@
                         const char* date_time_str)
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    sscanf (date_time_str, "%d-%d-%dT%d:%d:%dZ", &time-> tm_year, &time -> tm_mon,
-            &time-> tm_mday, &time-> tm_hour, &time-> tm_min,
-            &time-> tm_sec );
-    time-> tm_year -= 1900;
+    sscanf (date_time_str, "%d-%d-%dT%d:%d:%dZ", &date_time_impl-> year, &date_time_impl-> mon,
+            &date_time_impl-> day, &date_time_impl-> hour, &date_time_impl-> min,
+            &date_time_impl-> sec );
+    date_time_impl-> year -= 1900;
     return AXIS2_SUCCESS;
 }
     
@@ -245,19 +245,17 @@
                         int hour, int min, int second )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    if ( year > -1 )time-> tm_year = year - 1900;
-    if ( month > -1 )time-> tm_mon = month;
-    if ( day > -1 )time-> tm_mday = day;
-    if ( hour > -1 )time -> tm_hour = hour;
-    if ( min > -1 )time -> tm_min = min;
-    if ( second > -1 )time -> tm_sec = second;
+    if ( year > -1 )date_time_impl-> year = year - 1900;
+    if ( month > -1 )date_time_impl-> mon = month;
+    if ( day > -1 )date_time_impl-> day = day;
+    if ( hour > -1 )date_time_impl-> hour = hour;
+    if ( min > -1 )date_time_impl-> min = min;
+    if ( second > -1 )date_time_impl-> sec = second;
     return AXIS2_SUCCESS;
 }
  
@@ -266,37 +264,34 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     char* time_str = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    time_str = malloc ( sizeof (char) * 32 );
+    time_str = (char*)AXIS2_MALLOC( env->allocator, sizeof (char) * 32 );
         
-    sprintf (time_str, "%d:%d:%dZ" , time-> tm_hour, time-> tm_min, time-> tm_sec );
+    sprintf (time_str, "%d:%d:%dZ" , date_time_impl-> hour, date_time_impl-> min, date_time_impl-> sec );
     return time_str;
 }
+
 char* AXIS2_CALL
 axis2_date_time_serialize_date (axis2_date_time_t *date_time,
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time= NULL;
     char* date_str = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    date_str = malloc ( sizeof (char) * 32 );
+    date_str = (char*)AXIS2_MALLOC( env-> allocator, sizeof (char) * 32 );
         
-    sprintf (date_str, "%d-%d-%d" , time-> tm_year + 1900,
-            time -> tm_mon,
-            time-> tm_mday );
+    sprintf (date_str, "%d-%d-%d" , date_time_impl-> year + 1900,
+            date_time_impl-> mon,
+            date_time_impl-> day );
     return date_str;  
 }
 char* AXIS2_CALL
@@ -304,19 +299,17 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     char* date_time_str = NULL;
     
     AXIS2_ENV_CHECK(env, NULL);
     
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    date_time_str = malloc ( sizeof (char) * 32 );
+    date_time_str = AXIS2_MALLOC( env-> allocator, sizeof (char) * 32 );
         
-    sprintf (date_time_str, "%d-%d-%dT%d:%d:%dZ" , time-> tm_year+1900,
-            time -> tm_mon, time-> tm_mday, time-> tm_hour, time-> tm_min,
-            time-> tm_sec );
+    sprintf (date_time_str, "%d-%d-%dT%d:%d:%dZ" , date_time_impl-> year+1900,
+            date_time_impl-> mon, date_time_impl-> day, date_time_impl-> hour, date_time_impl-> min,
+            date_time_impl-> sec );
     return date_time_str;
 }
 
@@ -325,13 +318,11 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    return (time-> tm_year+1900);
+    return (date_time_impl-> year+1900);
 }
 
 int AXIS2_CALL 
@@ -339,13 +330,11 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    return (time-> tm_mon);
+    return (date_time_impl-> mon);
 }
 
 int AXIS2_CALL 
@@ -353,13 +342,11 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    return (time-> tm_mday);
+    return (date_time_impl-> day);
 }
 
 int AXIS2_CALL 
@@ -367,13 +354,11 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    return (time-> tm_hour);
+    return (date_time_impl-> hour);
 }
 
 int AXIS2_CALL 
@@ -381,13 +366,11 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    return (time-> tm_min);
+    return (date_time_impl-> min);
 }
 
 int AXIS2_CALL 
@@ -395,12 +378,10 @@
                         const axis2_env_t *env )
 {
     axis2_date_time_impl_t *date_time_impl = NULL;
-    struct tm* time = NULL;
     AXIS2_ENV_CHECK(env, AXIS2_FAILURE);
 
     date_time_impl = AXIS2_INTF_TO_IMPL(date_time);
-    time = date_time_impl->utcTime;
 
-    return (time-> tm_sec);
+    return (date_time_impl-> sec);
 }
 

Modified: webservices/axis2/trunk/c/util/src/string.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/string.c?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/src/string.c (original)
+++ webservices/axis2/trunk/c/util/src/string.c Fri Sep  1 04:58:01 2006
@@ -369,3 +369,75 @@
     return _q;
 }
 
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+axis2_string_replace( axis2_char_t* str, axis2_char_t old, axis2_char_t new )
+{
+    axis2_char_t* str_returns = str;
+    for (  ; *str != '\0' ; str ++ )
+    {
+        if ( *str == old )
+        {
+            *str = new;
+        }
+    }
+    return str_returns;
+}
+
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+axis2_string_substring_starting_at( axis2_char_t* str, int s )
+{
+    int len;
+    int pos_to_shift;
+
+    len = strlen ( str );
+    pos_to_shift = len - s +1;
+
+    if ( len <= s )
+    {
+        return NULL;
+    }
+    memmove (str , str + s, pos_to_shift );
+    return str;
+}
+
+
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+axis2_string_substring_ending_at( axis2_char_t* str, int e )
+{
+    axis2_char_t* ptr = NULL;
+    int length = 0;
+
+    length = strlen( str );
+    ptr = str;
+    if( length <=  e )
+    {
+        return NULL;
+    }
+    ptr += e;
+    *ptr = '\0';
+    return str;
+}
+
+
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+axis2_string_tolower( axis2_char_t* str )
+{
+    axis2_char_t* temp_str = NULL;
+    for ( temp_str = str; *temp_str != '\0' ; temp_str ++ )
+    {
+       *temp_str= tolower(*temp_str );
+    }
+    return str;
+}
+
+AXIS2_EXTERN axis2_char_t* AXIS2_CALL
+axis2_string_toupper( axis2_char_t* str )
+{
+    axis2_char_t* temp_str = NULL;
+    for ( temp_str = str; *temp_str != '\0' ; temp_str ++ )
+    {
+       *temp_str= toupper(*temp_str );
+    }
+    return str;
+}
+

Modified: webservices/axis2/trunk/c/util/test/unit/util/Makefile.am
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/test/unit/util/Makefile.am?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/test/unit/util/Makefile.am (original)
+++ webservices/axis2/trunk/c/util/test/unit/util/Makefile.am Fri Sep  1 04:58:01 2006
@@ -15,7 +15,9 @@
                             util_class_loader_test.c \
                             util_string_test.c \
                             util_url_test.c \
-                            util_uri_test.c
+                            util_uri_test.c \
+                            util_properties_test.c \
+                            util_date_time_test.c
 
 INCLUDES = -I$(top_builddir)/include \
             -I${CUTEST_HOME}/include \

Modified: webservices/axis2/trunk/c/util/test/unit/util/util_test.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/test/unit/util/util_test.c?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/test/unit/util/util_test.c (original)
+++ webservices/axis2/trunk/c/util/test/unit/util/util_test.c Fri Sep  1 04:58:01 2006
@@ -38,8 +38,11 @@
     SUITE_ADD_TEST(suite, Testaxis2_uri_parse_string);
     SUITE_ADD_TEST(suite, Testaxis2_uri_parse_relative);
     SUITE_ADD_TEST(suite, Testaxis2_uri_clone);
-    SUITE_ADD_TEST(suite, Testaxis2_uri_get_path);
+    SUITE_ADD_TEST(suite, Testaxis2_uri_get_path); 
     /* Samisa - need to remove this as we run make check before make install
     SUITE_ADD_TEST(suite, Testaxis2_dir_handler_list_dir); */
+    SUITE_ADD_TEST(suite, Test_properties); 
+    SUITE_ADD_TEST(suite, Test_date_time); 
+
     return suite;
 }

Modified: webservices/axis2/trunk/c/util/test/unit/util/util_test.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/test/unit/util/util_test.h?rev=439280&r1=439279&r2=439280&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/test/unit/util/util_test.h (original)
+++ webservices/axis2/trunk/c/util/test/unit/util/util_test.h Fri Sep  1 04:58:01 2006
@@ -29,6 +29,8 @@
 #include "util_url_test.h"
 #include "util_string_test.h"
 #include "util_uri_test.h"
+#include "util_properties_test.h"
+#include "util_date_time_test.h"
 
 CuSuite* axis2_utilGetSuite();
 



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