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 2006/05/10 17:55:08 UTC
svn commit: r405786 - in
/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding:
typemapping/SimpleTypeMapper.java utils/BeanUtil.java
Author: deepal
Date: Wed May 10 08:55:05 2006
New Revision: 405786
URL: http://svn.apache.org/viewcvs?rev=405786&view=rev
Log:
RPC message receiver can serialize hash map and hash table
Modified:
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java?rev=405786&r1=405785&r2=405786&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/typemapping/SimpleTypeMapper.java Wed May 10 08:55:05 2006
@@ -49,6 +49,8 @@
private static final String W_FLOAT = "java.lang.Float";
private static final String W_CALANDER = "java.util.Calendar";
private static final String ARRAY_LIST = "java.util.ArrayList";
+ private static final String HASH_MAP = "java.util. HashMap";
+ private static final String HASH_TABLE = "java.util. Hashtable";
private static final String INT = "int";
private static final String BOOLEAN = "boolean";
private static final String BYTE = "byte";
@@ -137,6 +139,15 @@
public static boolean isArrayList(Class obj){
String objClassName = obj.getName();
return ARRAY_LIST.equals(objClassName);
+ }
+
+ public static boolean isHasMap(Class obj){
+ String objClassName = obj.getName();
+ return HASH_MAP.equals(objClassName);
+ }
+ public static boolean isHasTable(Class obj){
+ String objClassName = obj.getName();
+ return HASH_TABLE.equals(objClassName);
}
public static boolean isSimpleType(String objClassName) {
Modified: webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?rev=405786&r1=405785&r2=405786&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original)
+++ webservices/axis2/trunk/java/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Wed May 10 08:55:05 2006
@@ -126,6 +126,48 @@
}
}
+ } else if (SimpleTypeMapper.isHasMap(ptype)) {
+ Object value = propDesc.getReadMethod().invoke(beanObject,
+ null);
+ HashMap hashmap = (HashMap) value;
+ if (hashmap.values() != null && hashmap.values().size() > 0) {
+ Object objList [] = hashmap.values().toArray();
+ //this was given error , when the array.size = 0
+ // and if the array contain simple type , then the ADBPullParser asked
+ // PullParser from That simpel type
+ for (int j = 0; j < objList.length; j++) {
+ Object o = objList[j];
+ if (SimpleTypeMapper.isSimpleType(o)) {
+ object.add(propDesc.getName());
+ object.add(o);
+ } else {
+ object.add(new QName(propDesc.getName()));
+ object.add(o);
+ }
+ }
+
+ }
+ } else if (SimpleTypeMapper.isHasTable(ptype)) {
+ Object value = propDesc.getReadMethod().invoke(beanObject,
+ null);
+ Hashtable hashtable = (Hashtable) value;
+ if (hashtable.values() != null && hashtable.values().size() > 0) {
+ Object objList [] = hashtable.values().toArray();
+ //this was given error , when the array.size = 0
+ // and if the array contain simple type , then the ADBPullParser asked
+ // PullParser from That simpel type
+ for (int j = 0; j < objList.length; j++) {
+ Object o = objList[j];
+ if (SimpleTypeMapper.isSimpleType(o)) {
+ object.add(propDesc.getName());
+ object.add(o);
+ } else {
+ object.add(new QName(propDesc.getName()));
+ object.add(o);
+ }
+ }
+
+ }
} else {
object.add(new QName(propDesc.getName()));
Object value = propDesc.getReadMethod().invoke(beanObject,