rdonkin 2004/04/27 13:01:10
Modified: betwixt/src/java/org/apache/commons/betwixt/expression Tag:
REFACTORING-BRANCH_2004-01-13 MethodUpdater.java
Log:
Added support for array property setters
Revision Changes Path
No revision
No revision
1.11.2.1 +18 -5
jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/expression/MethodUpdater.java
Index: MethodUpdater.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/betwixt/src/java/org/apache/commons/betwixt/expression/MethodUpdater.java,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -r1.11 -r1.11.2.1
--- MethodUpdater.java 9 Oct 2003 20:52:04 -0000 1.11
+++ MethodUpdater.java 27 Apr 2004 20:01:10 -0000 1.11.2.1
@@ -60,7 +60,9 @@
*/
package org.apache.commons.betwixt.expression;
+import java.lang.reflect.Array;
import java.lang.reflect.Method;
+import java.util.Collection;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -131,7 +133,18 @@
return;
}
*/
- }
+ }
+ // special case for collection objects into arrays
+ if (newValue instanceof Collection && valueType.isArray()) {
+ Collection valuesAsCollection = (Collection) newValue;
+ Class componentType = valueType.getComponentType();
+ if (componentType != null) {
+ Object[] valuesAsArray =
+ (Object[]) Array.newInstance(componentType,
valuesAsCollection.size());
+ newValue = valuesAsCollection.toArray(valuesAsArray);
+ }
+ }
+
Object[] arguments = { newValue };
try {
if ( log.isDebugEnabled() ) {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]