You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/03/30 12:41:32 UTC
svn commit: r524034 - in /webservices/axis2/branches/java/1_2/modules:
adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
java2wsdl/src/org/apache/ws/java2wsdl/utils/TypeTable.java
Author: deepal
Date: Fri Mar 30 03:41:24 2007
New Revision: 524034
URL: http://svn.apache.org/viewvc?view=rev&rev=524034
Log:
applied the patch in AXIS2-2253
Modified:
webservices/axis2/branches/java/1_2/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/TypeTable.java
Modified: webservices/axis2/branches/java/1_2/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java?view=diff&rev=524034&r1=524033&r2=524034
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java (original)
+++ webservices/axis2/branches/java/1_2/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java Fri Mar 30 03:41:24 2007
@@ -52,6 +52,20 @@
private static final String FLOAT = "float";
private static final String CHAR = "char";
+ /*
+ * To support deserialize BigDecimal, BigInteger
+ * Day, Duration, Month, MonthDay, Time, Year, YearMonth
+ */
+ private static final String BIG_DECIMAL = "java.math.BigDecimal";
+ private static final String BIG_INTEGER = "java.math.BigInteger";
+ private static final String DAY = "org.apache.axis2.databinding.types.Day";
+ private static final String DURATION = "org.apache.axis2.databinding.types.Duration";
+ private static final String MONTH = "org.apache.axis2.databinding.types.Month";
+ private static final String MONTH_DAY = "org.apache.axis2.databinding.types.MonthDay";
+ 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";
+
public static Object getSimpleTypeObject(Class parameter, OMElement value) {
String name = parameter.getName();
String text = value.getText();
@@ -96,7 +110,37 @@
return makeCalendar(text, false);
} else if (name.equals(W_DATE)) {
return makeCalendar(text, true);
- } else {
+ }/*
+ * return the correpsonding object for adding data type
+ */
+ else if(name.equals(BIG_DECIMAL)) {
+ return new java.math.BigDecimal(text);
+ }
+ else if(name.equals(BIG_INTEGER)) {
+ return new java.math.BigInteger(text);
+ }
+ else if(name.equals(DAY)) {
+ return new org.apache.axis2.databinding.types.Day(text);
+ }
+ else if(name.equals(DURATION)) {
+ return new org.apache.axis2.databinding.types.Duration(text);
+ }
+ else if(name.equals(MONTH)) {
+ return new org.apache.axis2.databinding.types.Month(text);
+ }
+ else if(name.equals(MONTH_DAY)) {
+ return new org.apache.axis2.databinding.types.MonthDay(text);
+ }
+ else if(name.equals(TIME)) {
+ return new org.apache.axis2.databinding.types.Time(text);
+ }
+ else if(name.equals(YEAR)) {
+ return new org.apache.axis2.databinding.types.Year(text);
+ }
+ else if(name.equals(YEAR_MONTH)) {
+ return new org.apache.axis2.databinding.types.YearMonth(text);
+ }
+ else {
return null;
}
}
@@ -194,7 +238,23 @@
return true;
} else if (objClassName.equals(W_DATE)) {
return true;
- } else {
+ } /*
+ * consider BigDecimal, BigInteger, Day, Duration, Month
+ * MonthDay, Time, Year, YearMonth as simple type
+ */
+ else if(objClassName.equals(BIG_DECIMAL)
+ || objClassName.equals(BIG_INTEGER)
+ || objClassName.equals(DAY)
+ || objClassName.equals(DURATION)
+ || objClassName.equals(MONTH)
+ || objClassName.equals(MONTH_DAY)
+ || objClassName.equals(TIME)
+ || objClassName.equals(YEAR)
+ || objClassName.equals(YEAR_MONTH))
+ {
+ return true;
+ }
+ else {
return objClassName.equals(W_CHAR);
}
}
Modified: webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/TypeTable.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/TypeTable.java?view=diff&rev=524034&r1=524033&r2=524034
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/TypeTable.java (original)
+++ webservices/axis2/branches/java/1_2/modules/java2wsdl/src/org/apache/ws/java2wsdl/utils/TypeTable.java Fri Mar 30 03:41:24 2007
@@ -79,6 +79,27 @@
simpleTypetoxsd.put("java.util.Calendar",
new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "dateTime", "xs"));
+ //consider BigDecimal, BigInteger, Day, Duration, Month, MonthDay,
+ //Time, Year, YearMonth as SimpleType as well
+ simpleTypetoxsd.put("java.math.BigDecimal",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "decimal", "xs"));
+ simpleTypetoxsd.put("java.math.BigInteger",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "integer", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.Day",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "gDay", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.Duration",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "duration", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.Month",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "gMonth", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.MonthDay",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "gMonthDay", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.Time",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "time", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.Year",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "gYear", "xs"));
+ simpleTypetoxsd.put("org.apache.axis2.databinding.types.YearMonth",
+ new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, "gYearMonth", "xs"));
+
simpleTypetoxsd.put("java.lang.Object",
ANY_TYPE);
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org