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 07:17:40 UTC

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

Author: trustin
Date: Fri Nov 23 22:17:39 2007
New Revision: 597813

URL: http://svn.apache.org/viewvc?rev=597813&view=rev
Log:
Better string representation for IoSession MBean

Modified:
    mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/DefaultModelMBean.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=597813&r1=597812&r2=597813&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 22:17:39 2007
@@ -412,28 +412,29 @@
             }
             
             // Ignore Object methods.
-            if (mname.matches("(wait|notify|notifyAll|toString|equals|compareTo|hashCode)")) {
+            if (mname.matches(
+                    "(wait|notify|notifyAll|toString|equals|compareTo|hashCode)")) {
                 continue;
             }
             
             // Ignore some IoServide methods.
-            if (object instanceof IoService &&
-                mname.matches("(newSession|broadcast|(add|remove)Listener)")) {
+            if (object instanceof IoService && mname.matches(
+                    "(newSession|broadcast|(add|remove)Listener)")) {
                 continue;
             }
 
             // Ignore some IoSession methods.
-            if (object instanceof IoSession &&
-                mname.matches("(write|read|(remove|replace|contains)Attribute)")) {
+            if (object instanceof IoSession && mname.matches(
+                    "(write|read|(remove|replace|contains)Attribute)")) {
                 continue;
             }
             
             // Ignore some IoFilter methods.
-            if (object instanceof IoFilter &&
-                    mname.matches("(init|destroy|on(Pre|Post)(Add|Remove)|" +
-                    		"session(Created|Opened|Idle|Closed)|" +
-                    		"exceptionCaught|message(Received|Sent)|" +
-                    		"filter(Close|Write|SetTrafficMask))")) {
+            if (object instanceof IoFilter && mname.matches(
+                    "(init|destroy|on(Pre|Post)(Add|Remove)|" +
+                    "session(Created|Opened|Idle|Closed)|" +
+                    "exceptionCaught|message(Received|Sent)|" +
+                    "filter(Close|Write|SetTrafficMask))")) {
                 continue;
             }
             
@@ -512,9 +513,15 @@
             return String.class;
         }
         
-        if ((type == Long.class || type == long.class) && name.endsWith("Time") &&
+        if ((type == Long.class || type == long.class)) {
+            if (name.endsWith("Time") &&
                 !propertyDescriptors.containsKey(name + "InMillis")) {
-            return Date.class;
+                return Date.class;
+            }
+            
+            if (name.equals("id")) {
+                return String.class;
+            }
         }
         
         if (type == AttributeKey.class) {
@@ -549,10 +556,6 @@
             return String.class;
         }
         
-//        if (List.class.isAssignableFrom(type) && name.equals("localAddresses")) {
-//            return SocketAddress[].class;
-//        }
-        
         return type;
     }
     
@@ -565,13 +568,24 @@
             return ((Class<?>) v).getName();
         }
         
-        if (v instanceof Long && name.endsWith("Time") &&
+        if (v instanceof Long) {
+            long l = (Long) v;
+            if (name.endsWith("Time") &&
                 !propertyDescriptors.containsKey(name + "InMillis")) {
-            long time = (Long) v;
-            if (time <= 0) {
-                return null;
+                if (l <= 0) {
+                    return null;
+                }
+                return new Date(l);
+            }
+            
+            if (name.equals("id")) {
+                // ID in MINA is a unsigned 32-bit integer.
+                String id = Long.toHexString(l).toUpperCase();
+                while (id.length() < 8) {
+                    id = '0' + id; // padding
+                }
+                return id;
             }
-            return new Date(time);
         }
         
         if (v instanceof Set) {