craigmcc 02/01/17 19:46:52
Modified: src/share/org/apache/struts/action DynaActionForm.java
Log:
Improve debuggability of DynaActionForm instances by updating the toString() method
to display the contents of any array, List, or Map properties.
Revision Changes Path
1.2 +46 -5
jakarta-struts/src/share/org/apache/struts/action/DynaActionForm.java
Index: DynaActionForm.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/DynaActionForm.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DynaActionForm.java 17 Jan 2002 00:15:05 -0000 1.1
+++ DynaActionForm.java 18 Jan 2002 03:46:52 -0000 1.2
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/DynaActionForm.java,v 1.1
2002/01/17 00:15:05 craigmcc Exp $
- * $Revision: 1.1 $
- * $Date: 2002/01/17 00:15:05 $
+ * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/DynaActionForm.java,v 1.2
2002/01/18 03:46:52 craigmcc Exp $
+ * $Revision: 1.2 $
+ * $Date: 2002/01/18 03:46:52 $
*
* ====================================================================
*
@@ -65,6 +65,7 @@
import java.lang.reflect.Array;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletRequest;
@@ -83,7 +84,7 @@
* developer to create a Java class for each type of form bean.</p>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.1 $ $Date: 2002/01/17 00:15:05 $
+ * @version $Revision: 1.2 $ $Date: 2002/01/18 03:46:52 $
* @since Struts 1.1
*/
@@ -459,7 +460,47 @@
sb.append(',');
sb.append(props[i].getName());
sb.append('=');
- sb.append(get(props[i].getName()));
+ Object value = get(props[i].getName());
+ if (value == null) {
+ sb.append("<NULL>");
+ } else if (value.getClass().isArray()) {
+ int n = Array.getLength(value);
+ sb.append("{");
+ for (int j = 0; j < n; j++) {
+ if (j > 0) {
+ sb.append(',');
+ }
+ sb.append(Array.get(value, j));
+ }
+ sb.append("}");
+ } else if (value instanceof List) {
+ int n = ((List) value).size();
+ sb.append("{");
+ for (int j = 0; j < n; j++) {
+ if (j > 0) {
+ sb.append(',');
+ }
+ sb.append(((List) value).get(j));
+ }
+ sb.append("}");
+ } else if (value instanceof Map) {
+ int n = 0;
+ Iterator keys = ((Map) value).keySet().iterator();
+ sb.append("{");
+ while (keys.hasNext()) {
+ if (n > 0) {
+ sb.append(',');
+ }
+ n++;
+ String key = (String) keys.next();
+ sb.append(key);
+ sb.append('=');
+ sb.append(((Map) value).get(key));
+ }
+ sb.append("}");
+ } else {
+ sb.append(value);
+ }
}
sb.append("]");
return (sb.toString());
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>