You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/11/24 06:48:15 UTC

svn commit: r597809 - in /mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx: DefaultModelMBean.java Foo.java

Author: trustin
Date: Fri Nov 23 21:48:13 2007
New Revision: 597809

URL: http://svn.apache.org/viewvc?rev=597809&view=rev
Log:
Made sure it works fine with MC4J

Modified:
    mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/DefaultModelMBean.java
    mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/Foo.java

Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/DefaultModelMBean.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/DefaultModelMBean.java?rev=597809&r1=597808&r2=597809&view=diff
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/DefaultModelMBean.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/DefaultModelMBean.java Fri Nov 23 21:48:13 2007
@@ -58,6 +58,7 @@
 import org.apache.mina.common.AttributeKey;
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
 import org.apache.mina.common.IoFilterChain;
+import org.apache.mina.common.IoFilterChainBuilder;
 import org.apache.mina.common.IoHandler;
 import org.apache.mina.common.IoService;
 import org.apache.mina.common.IoSession;
@@ -462,19 +463,51 @@
     }
 
     private Class<?> convertReturnType(String name, Class<?> type) {
+        if (Class.class.isAssignableFrom(type)) {
+            return String.class;
+        }
+
         if (SocketAddress.class.isAssignableFrom(type)) {
             return String.class;
         }
         
-        if (type == Long.class && name.endsWith("Time") &&
+        if ((type == Long.class || type == long.class) && name.endsWith("Time") &&
                 !propertyDescriptors.containsKey(name + "InMillis")) {
             return Date.class;
         }
+        
+        if (type == AttributeKey.class) {
+            return String.class;
+        }
 
         if (type == TrafficMask.class) {
             return String.class;
         }
         
+        if (IoHandler.class.isAssignableFrom(type)) {
+            return String.class;
+        }
+        
+        if (IoSession.class.isAssignableFrom(type)) {
+            return String.class;
+        }
+        
+        if (IoService.class.isAssignableFrom(type)) {
+            return String.class;
+        }
+        
+        if (IoFilterChain.class.isAssignableFrom(type)) {
+            return List.class;
+        }
+        
+        if (IoFilterChainBuilder.class.isAssignableFrom(type)) {
+            return List.class;
+        }
+        
+        if (IoSessionDataStructureFactory.class.isAssignableFrom(type)) {
+            return String.class;
+        }
+        
 //        if (List.class.isAssignableFrom(type) && name.equals("localAddresses")) {
 //            return SocketAddress[].class;
 //        }
@@ -525,10 +558,14 @@
             return v.getClass().getName();
         }
         
-        if (v instanceof DefaultIoFilterChainBuilder) {
+        if (v instanceof IoFilterChainBuilder) {
             List<String> filterNames = new ArrayList<String>();
-            for (IoFilterChain.Entry e: ((DefaultIoFilterChainBuilder) v).getAll()) {
-                filterNames.add(e.getName());
+            if (v instanceof DefaultIoFilterChainBuilder) {
+                for (IoFilterChain.Entry e: ((DefaultIoFilterChainBuilder) v).getAll()) {
+                    filterNames.add(e.getName());
+                }
+            } else {
+                filterNames.add("Unknown builder: " + v.getClass().getName());
             }
             return filterNames;
         }
@@ -539,6 +576,10 @@
                 filterNames.add(e.getName());
             }
             return filterNames;
+        }
+        
+        if (v instanceof IoFilterChainBuilder) {
+            return v.getClass().getName();
         }
         
         if (v instanceof TrafficMask) {

Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/Foo.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/Foo.java?rev=597809&r1=597808&r2=597809&view=diff
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/Foo.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/Foo.java Fri Nov 23 21:48:13 2007
@@ -30,7 +30,7 @@
             }
         });
         service.setLocalAddress(new InetSocketAddress(8080));
-        //service.bind();
+        service.bind();
         
         server.registerMBean(
                 new DefaultModelMBean(service),