Author: sagara Date: Sat Jul 23 01:57:38 2011 New Revision: 1149780 URL: http://svn.apache.org/viewvc?rev=1149780&view=rev Log: Added some improvement in BenUtil. getMapInstance method.
Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Modified: axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?rev=1149780&r1=1149779&r2=1149780&view=diff ============================================================================== --- axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original) +++ axis/axis2/java/core/trunk/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Sat Jul 23 01:57:38 2011 @@ -38,6 +38,8 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.NavigableMap; +import java.util.SortedMap; //import java.util.NavigableSet; import java.util.Queue; import java.util.Set; @@ -48,6 +50,8 @@ import java.util.TreeSet; import java.util.concurrent.BlockingQueue; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.ConcurrentNavigableMap; +import java.util.concurrent.ConcurrentSkipListMap; //import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.LinkedBlockingQueue; @@ -1580,8 +1584,19 @@ public class BeanUtil { } else if (ConcurrentMap.class.getName().equals(rowType.getName())) { return new ConcurrentHashMap<Object, Object>(); - } - + + } else if (SortedMap.class.getName().equals(rowType.getName())) { + return new TreeMap<Object, Object>(); + + } +// TODO - Enable this logic once the Axis2 move to Java 1.6. +// else if (NavigableMap.class.getName().equals(rowType.getName())) { +// return new TreeMap<Object, Object>(); +// +// } else if (ConcurrentNavigableMap.class.getName().equals(rowType.getName())) { +// return new ConcurrentSkipListMap<Object, Object>(); +// } +// else { try { return (Map<Object, Object>) rowType.newInstance();