You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2007/07/25 09:24:19 UTC
svn commit: r559341 -
/webservices/axis2/branches/java/1_3/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
Author: deepal
Date: Wed Jul 25 00:24:18 2007
New Revision: 559341
URL: http://svn.apache.org/viewvc?view=rev&rev=559341
Log:
fixing AXIS2-3006
Modified:
webservices/axis2/branches/java/1_3/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
Modified: webservices/axis2/branches/java/1_3/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_3/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?view=diff&rev=559341&r1=559340&r2=559341
==============================================================================
--- webservices/axis2/branches/java/1_3/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original)
+++ webservices/axis2/branches/java/1_3/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Wed Jul 25 00:24:18 2007
@@ -149,8 +149,7 @@
Method readMethod = propDesc.getReadMethod();
Object value;
if(readMethod!=null){
- value = readMethod.invoke(beanObject,
- null);
+ value = readMethod.invoke(beanObject, null);
} else {
throw new AxisFault("can not find read method for : " + propDesc.getName());
}
@@ -159,7 +158,6 @@
object.add(value == null ? null : SimpleTypeMapper.getStringValue(value));
} else if (ptype.isArray()) {
if (SimpleTypeMapper.isSimpleType(ptype.getComponentType())) {
-
Method readMethod = propDesc.getReadMethod();
Object value;
if(readMethod!=null){
@@ -169,17 +167,21 @@
throw new AxisFault("can not find read method for : " + propDesc.getName());
}
if (value != null) {
- int i1 = Array.getLength(value);
- for (int j = 0; j < i1; j++) {
- Object o = Array.get(value, j);
+ if("byte".equals(ptype.getComponentType().getName())) {
addTypeQname(elemntNameSpace, object, propDesc, beanName,processingDocLitBare);
- object.add(o == null ? null : SimpleTypeMapper.getStringValue(o));
+ object.add(Base64.encode((byte[]) value));
+ } else {
+ int i1 = Array.getLength(value);
+ for (int j = 0; j < i1; j++) {
+ Object o = Array.get(value, j);
+ addTypeQname(elemntNameSpace, object, propDesc, beanName,processingDocLitBare);
+ object.add(o == null ? null : SimpleTypeMapper.getStringValue(o));
+ }
}
} else {
addTypeQname(elemntNameSpace, object, propDesc, beanName,processingDocLitBare);
object.add(value);
}
-
} else {
Object value [] = (Object[])propDesc.getReadMethod().invoke(beanObject,
null);
@@ -302,25 +304,29 @@
if (beanClass.isArray()) {
ArrayList valueList = new ArrayList();
Class arrayClassType = beanClass.getComponentType();
- Iterator parts = beanElement.getChildElements();
- OMElement omElement;
- while (parts.hasNext()) {
- Object objValue = parts.next();
- if (objValue instanceof OMElement) {
- omElement = (OMElement)objValue;
- if (!arrayLocalName.equals(omElement.getLocalName())) {
- continue;
- }
- Object obj = deserialize(arrayClassType,
- omElement,
- objectSupplier, null);
- if (obj != null) {
- valueList.add(obj);
+ if ("byte".equals(arrayClassType.getName())) {
+ return Base64.decode(beanElement.getFirstElement().getText());
+ } else {
+ Iterator parts = beanElement.getChildElements();
+ OMElement omElement;
+ while (parts.hasNext()) {
+ Object objValue = parts.next();
+ if (objValue instanceof OMElement) {
+ omElement = (OMElement)objValue;
+ if (!arrayLocalName.equals(omElement.getLocalName())) {
+ continue;
+ }
+ Object obj = deserialize(arrayClassType,
+ omElement,
+ objectSupplier, null);
+ if (obj != null) {
+ valueList.add(obj);
+ }
}
}
+ return ConverterUtil.convertToArray(arrayClassType,
+ valueList);
}
- return ConverterUtil.convertToArray(arrayClassType,
- valueList);
} else {
if (SimpleTypeMapper.isSimpleType(beanClass)) {
return SimpleTypeMapper.getSimpleTypeObject(beanClass, beanElement);
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org