You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2005/07/16 23:09:21 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ant/jmx JMXAccessorTask.java
pero 2005/07/16 14:09:21
Modified: catalina/src/share/org/apache/catalina/ant/jmx
JMXAccessorTask.java
Log:
Support JMX OpenTypes as createProperties
Revision Changes Path
1.6 +33 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java
Index: JMXAccessorTask.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/ant/jmx/JMXAccessorTask.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- JMXAccessorTask.java 8 Jul 2005 20:54:40 -0000 1.5
+++ JMXAccessorTask.java 16 Jul 2005 21:09:21 -0000 1.6
@@ -24,6 +24,7 @@
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
@@ -31,7 +32,12 @@
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+import javax.management.openmbean.TabularDataSupport;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
@@ -105,7 +111,7 @@
/**
* Descriptive information describing this implementation.
*/
- private static final String info = "org.apache.catalina.ant.JMXAccessorTask/1.0";
+ private static final String info = "org.apache.catalina.ant.JMXAccessorTask/1.1";
/**
* Return descriptive information about this implementation and the
@@ -580,12 +586,34 @@
propertyPrefix = "";
if (result instanceof CompositeDataSupport) {
CompositeDataSupport data = (CompositeDataSupport) result ;
- Set keys = data.getCompositeType().keySet() ;
+ CompositeType compositeType = data.getCompositeType();
+ Set keys = compositeType.keySet() ;
for (Iterator iter = keys.iterator(); iter.hasNext();) {
String key = (String) iter.next();
Object value = data.get(key);
- setProperty(propertyPrefix + "." + key , value);
- }
+ OpenType type = compositeType.getType(key);
+ if(type instanceof SimpleType ) {
+ setProperty(propertyPrefix + "." + key , value);
+ } else {
+ createProperty(propertyPrefix + "." + key, value );
+ }
+ }
+ } else if (result instanceof TabularDataSupport) {
+ TabularDataSupport data = (TabularDataSupport) result ;
+ for (Iterator iter = data.keySet().iterator(); iter.hasNext();) {
+ Object key = iter.next();
+ for(Iterator iter1 = ((List)key).iterator(); iter1.hasNext();) {
+ Object key1= iter1.next();
+ CompositeData valuedata = data.get(new Object[] { key1 } );
+ Object value = valuedata.get("value");
+ OpenType type = valuedata.getCompositeType().getType("value");
+ if(type instanceof SimpleType ) {
+ setProperty(propertyPrefix + "." + key1 , value);
+ } else {
+ createProperty(propertyPrefix + "." + key1, value );
+ }
+ }
+ }
} else if (result.getClass().isArray()) {
if (isSeparatearrayresults()) {
Object array[] = (Object[]) result;
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org