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/12/03 12:05:39 UTC
svn commit: r600478 - in
/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx:
IoFilterMBean.java IoServiceMBean.java IoSessionMBean.java ObjectMBean.java
Author: trustin
Date: Mon Dec 3 03:05:35 2007
New Revision: 600478
URL: http://svn.apache.org/viewvc?rev=600478&view=rev
Log:
Resurrected isWritable() - forgot to consider defaultLocalAddresses :)
Modified:
mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java
mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java
mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java
mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java
Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java?rev=600478&r1=600477&r2=600478&view=diff
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoFilterMBean.java Mon Dec 3 03:05:35 2007
@@ -32,7 +32,7 @@
}
@Override
- protected boolean isOperation(String methodName) {
+ protected boolean isOperation(String methodName, Class<?>[] paramTypes) {
// Ignore some IoFilter methods.
if (methodName.matches(
"(init|destroy|on(Pre|Post)(Add|Remove)|" +
@@ -42,6 +42,6 @@
return false;
}
- return super.isOperation(methodName);
+ return super.isOperation(methodName, paramTypes);
}
}
Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java?rev=600478&r1=600477&r2=600478&view=diff
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceMBean.java Mon Dec 3 03:05:35 2007
@@ -16,6 +16,7 @@
*/
package org.apache.mina.integration.jmx;
+import java.net.SocketAddress;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
@@ -141,13 +142,20 @@
}
@Override
- protected boolean isOperation(String methodName) {
+ protected boolean isOperation(String methodName, Class<?>[] paramTypes) {
// Ignore some IoServide methods.
if (methodName.matches(
"(newSession|broadcast|(add|remove)Listener)")) {
return false;
}
+
+ if ((methodName.equals("bind") || methodName.equals("unbind")) &&
+ (paramTypes.length > 1 ||
+ (paramTypes.length == 1 && !SocketAddress.class.isAssignableFrom(paramTypes[0])))) {
+ return false;
+ }
+
- return super.isOperation(methodName);
+ return super.isOperation(methodName, paramTypes);
}
}
Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java?rev=600478&r1=600477&r2=600478&view=diff
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionMBean.java Mon Dec 3 03:05:35 2007
@@ -154,14 +154,14 @@
}
@Override
- protected boolean isOperation(String methodName) {
+ protected boolean isOperation(String methodName, Class<?>[] paramTypes) {
// Ignore some IoSession methods.
if (methodName.matches(
"(write|read|(remove|replace|contains)Attribute)")) {
return false;
}
- return super.isOperation(methodName);
+ return super.isOperation(methodName, paramTypes);
}
@Override
Modified: mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java
URL: http://svn.apache.org/viewvc/mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java?rev=600478&r1=600477&r2=600478&view=diff
==============================================================================
--- mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java (original)
+++ mina/trunk/integration-jmx/src/main/java/org/apache/mina/integration/jmx/ObjectMBean.java Mon Dec 3 03:05:35 2007
@@ -450,7 +450,7 @@
// Ordinary property.
String fqpn = prefix + pname;
- boolean writable = p.getWriteMethod() != null;
+ boolean writable = p.getWriteMethod() != null || isWritable(type, pname);
attributes.add(new ModelMBeanAttributeInfo(
fqpn, convertAttributeType(fqpn, p.getPropertyType()).getName(),
p.getShortDescription(),
@@ -498,7 +498,7 @@
}
// Ignore other user-defined non-operations.
- if (!isOperation(mname)) {
+ if (!isOperation(mname, m.getParameterTypes())) {
continue;
}
@@ -539,6 +539,13 @@
return true;
}
+ protected boolean isWritable(Class<?> type, String attrName) {
+ if (IoService.class.isAssignableFrom(type) && attrName.startsWith("defaultLocalAddress")) {
+ return true;
+ }
+ return false;
+ }
+
protected boolean isExpandable(Class<?> type, String attrName) {
if (IoService.class.isAssignableFrom(type) && attrName.equals("sessionConfig")) {
return true;
@@ -567,7 +574,7 @@
}
@SuppressWarnings("unused")
- protected boolean isOperation(String methodName) {
+ protected boolean isOperation(String methodName, Class<?>[] paramTypes) {
return true;
}