Author: amilas
Date: Wed Jan 5 06:45:27 2011
New Revision: 1055310
URL: http://svn.apache.org/viewvc?rev=1055310&view=rev
Log:
fixing the issue AXIS2-3397
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=1055310&r1=1055309&r2=1055310&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 Jan 5 06:45:27 2011
@@ -31,6 +31,8 @@ import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import java.text.SimpleDateFormat;
import java.util.*;
+import java.net.URI;
+import java.net.URISyntaxException;
public class SimpleTypeMapper {
@@ -45,6 +47,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_URI = URI.class.getName();
private static final String INT = "int";
private static final String BOOLEAN = "boolean";
private static final String BYTE = "byte";
@@ -141,8 +144,13 @@ public class SimpleTypeMapper {
}
else if(name.equals(YEAR_MONTH)) {
return new org.apache.axis2.databinding.types.YearMonth(text);
- }
- else {
+ } else if(name.equals(W_URI)) {
+ try {
+ return new URI(text);
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(" Invalid URI " + text, e);
+ }
+ } else {
return null;
}
}
@@ -253,7 +261,12 @@ public class SimpleTypeMapper {
return true;
} else if (objClassName.equals(W_DATE)) {
return true;
- } /*
+ } else if (objClassName.equals(W_URI)) {
+ return true;
+ }
+
+
+ /*
* consider BigDecimal, BigInteger, Day, Duration, Month
* MonthDay, Time, Year, YearMonth as simple type
*/
@@ -301,6 +314,8 @@ public class SimpleTypeMapper {
}
}
return zulu.format(obj);
+ } else if (obj instanceof URI){
+ return obj.toString();
}
return obj.toString();
}