Author: sagara
Date: Wed Sep  7 11:35:08 2011
New Revision: 1166128

URL: http://svn.apache.org/viewvc?rev=1166128&view=rev
Log:
Use java.util.Date for xs:date but if the service method expect an argument of 
java.sql.Date this modification convert java.util.Date into  java.sql.Date 
automatically. However this is limited for POJOs and there is  no code 
generation support for  java.sql.Date.   

Modified:
    
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java

Modified: 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java?rev=1166128&r1=1166127&r2=1166128&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
 Wed Sep  7 11:35:08 2011
@@ -32,6 +32,7 @@ import org.w3c.dom.Document;
 
 import javax.activation.DataHandler;
 import javax.xml.namespace.QName;
+import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.net.URI;
@@ -50,6 +51,7 @@ public class SimpleTypeMapper {
     private static final String W_FLOAT = "java.lang.Float";
     private static final String W_CALENDAR = "java.util.Calendar";
     private static final String W_DATE = "java.util.Date";
+    private static final String W_SQL_DATE = "java.sql.Date";
     private static final String W_URI = URI.class.getName();
     private static final String INT = "int";
     private static final String BOOLEAN = "boolean";
@@ -73,6 +75,8 @@ public class SimpleTypeMapper {
     private static final String TIME = 
"org.apache.axis2.databinding.types.Time";
     private static final String YEAR = 
"org.apache.axis2.databinding.types.Year";
     private static final String YEAR_MONTH = 
"org.apache.axis2.databinding.types.YearMonth";
+    
+    private static final String SQL_DATE_FORMAT = "yyyy-MM-dd";
 
     public static Object getSimpleTypeObject(Class parameter, OMElement value) 
{
         String name = parameter.getName();
@@ -118,7 +122,12 @@ public class SimpleTypeMapper {
             return makeCalendar(text);
         } else if (name.equals(W_DATE)) {
             return makeDate(text);
-        }/*
+        } else if(name.equals(W_SQL_DATE)) {
+            java.util.Date utilDate = (java.util.Date)makeDate(text);
+            DateFormat sqlDateFormatter = new 
SimpleDateFormat(SQL_DATE_FORMAT);
+            return java.sql.Date.valueOf(sqlDateFormatter.format(utilDate));   
         
+        }
+        /*
          * return the correpsonding object for adding data type
          */
         else if(name.equals(BIG_DECIMAL)) {
@@ -283,6 +292,8 @@ public class SimpleTypeMapper {
             return true;
         } else if (objClassName.equals(W_DATE)) {
             return true;
+        } else if (objClassName.equals(W_SQL_DATE)) {
+            return true;
         } else if (objClassName.equals(W_URI)) {
             return true;
         }


Reply via email to