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 am...@apache.org on 2011/01/05 07:45:27 UTC

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

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