You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2010/05/15 14:59:21 UTC
svn commit: r944633 - in /tomcat/trunk:
java/org/apache/catalina/manager/JMXProxyServlet.java
webapps/docs/changelog.xml
Author: rjung
Date: Sat May 15 12:59:21 2010
New Revision: 944633
URL: http://svn.apache.org/viewvc?rev=944633&view=rev
Log:
List array elements in the JMX proxy output of the
Manager application.
Modified:
tomcat/trunk/java/org/apache/catalina/manager/JMXProxyServlet.java
tomcat/trunk/webapps/docs/changelog.xml
Modified: tomcat/trunk/java/org/apache/catalina/manager/JMXProxyServlet.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/JMXProxyServlet.java?rev=944633&r1=944632&r2=944633&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/manager/JMXProxyServlet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/manager/JMXProxyServlet.java Sat May 15 12:59:21 2010
@@ -21,6 +21,7 @@ package org.apache.catalina.manager;
import java.io.IOException;
import java.io.PrintWriter;
+import java.lang.reflect.Array;
import java.util.Iterator;
import java.util.Set;
import javax.management.MBeanServer;
@@ -169,6 +170,7 @@ public class JMXProxyServlet extends Htt
if( ! attrs[i].isReadable() ) continue;
if( ! isSupported( attrs[i].getType() )) continue;
String attName=attrs[i].getName();
+ if( "modelerType".equals( attName)) continue;
if( attName.indexOf( "=") >=0 ||
attName.indexOf( ":") >=0 ||
attName.indexOf( " ") >=0 ) {
@@ -183,9 +185,43 @@ public class JMXProxyServlet extends Htt
continue;
}
if( value==null ) continue;
- if( "modelerType".equals( attName)) continue;
- String valueString=value.toString();
- writer.println( attName + ": " + escape(valueString));
+ String valueString;
+ try {
+ Class c = value.getClass();
+ if (c.isArray()) {
+ int len = Array.getLength(value);
+ StringBuilder sb = new StringBuilder("Array[" +
+ c.getComponentType().getName() + "] of length " + len);
+ if (len > 0) {
+ sb.append("\r\n");
+ }
+ for (int j = 0; j < len; j++) {
+ sb.append("\t");
+ Object item = Array.get(value, j);
+ if (item == null) {
+ sb.append("NULL VALUE");
+ } else {
+ try {
+ sb.append(escape(item.toString()));
+ }
+ catch (Throwable t) {
+ sb.append("NON-STRINGABLE VALUE");
+ }
+ }
+ if (j < len - 1) {
+ sb.append("\r\n");
+ }
+ }
+ valueString = sb.toString();
+ }
+ else {
+ valueString = escape(value.toString());
+ }
+ writer.println( attName + ": " + valueString);
+ }
+ catch (Throwable t) {
+ // Ignore
+ }
}
} catch (Exception e) {
// Ignore
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=944633&r1=944632&r2=944633&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Sat May 15 12:59:21 2010
@@ -213,6 +213,10 @@
CSRF protection was added to the Manager and Host Manager applications.
(markt)
</add>
+ <add>
+ List array elements in the JMX proxy output of the Manager application.
+ (rjung)
+ </add>
</changelog>
</subsection>
<subsection name="Extras">
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org