You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by sa...@apache.org on 2011/09/07 13:35:08 UTC

svn commit: r1166128 - /axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java

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;
         }