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