You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gd...@apache.org on 2004/07/14 02:34:48 UTC
cvs commit: incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx CGLibMethodInterceptor.java
gdamour 2004/07/13 17:34:48
Modified: modules/kernel/src/java/org/apache/geronimo/gbean/jmx
CGLibMethodInterceptor.java
Log:
When creating the RawGBeanInvokers for potential attributes, the process is now the following one:
- firstly uses the name directly embedded in the method name;
- if the previous attempt fails, then decapitalizes the name and try the result.
For instance, for a method "getFoo", the implementation looks for the attribute "Foo". If such an attribute
does not exist, it then looks for the attribute "foo".
JMXGBeanInvoker only tries the name directly embedded in the method name in order to be compliant
with the JMX standards.
Revision Changes Path
1.4 +19 -13 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/CGLibMethodInterceptor.java
Index: CGLibMethodInterceptor.java
===================================================================
RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/jmx/CGLibMethodInterceptor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- CGLibMethodInterceptor.java 12 Jul 2004 06:07:51 -0000 1.3
+++ CGLibMethodInterceptor.java 14 Jul 2004 00:34:47 -0000 1.4
@@ -160,29 +160,41 @@
if (method.getName().startsWith("get")) {
String attributeName = method.getName().substring(3);
- attributeName = Introspector.decapitalize(attributeName);
Integer methodIndex = ((Integer) attributes.get(attributeName));
if (methodIndex != null) {
return new RawGetAttributeInvoker(rawInvoker, methodIndex.intValue());
}
+ attributeName = Introspector.decapitalize(attributeName);
+ methodIndex = ((Integer) attributes.get(attributeName));
+ if (methodIndex != null) {
+ return new RawGetAttributeInvoker(rawInvoker, methodIndex.intValue());
+ }
}
if (method.getName().startsWith("is")) {
String attributeName = method.getName().substring(2);
- attributeName = Introspector.decapitalize(attributeName);
Integer methodIndex = ((Integer) attributes.get(attributeName));
if (methodIndex != null) {
return new RawGetAttributeInvoker(rawInvoker, methodIndex.intValue());
}
+ attributeName = Introspector.decapitalize(attributeName);
+ methodIndex = ((Integer) attributes.get(attributeName));
+ if (methodIndex != null) {
+ return new RawGetAttributeInvoker(rawInvoker, methodIndex.intValue());
+ }
}
if (method.getName().startsWith("set")) {
String attributeName = method.getName().substring(3);
- attributeName = Introspector.decapitalize(attributeName);
Integer methodIndex = ((Integer) attributes.get(attributeName));
if (methodIndex != null) {
return new RawSetAttributeInvoker(rawInvoker, methodIndex.intValue());
}
+ attributeName = Introspector.decapitalize(attributeName);
+ methodIndex = ((Integer) attributes.get(attributeName));
+ if (methodIndex != null) {
+ return new RawSetAttributeInvoker(rawInvoker, methodIndex.intValue());
+ }
}
return null;
}
@@ -233,21 +245,15 @@
String name = method.getName();
if (name.startsWith("get")) {
- String attributeName = method.getName().substring(3);
- attributeName = Introspector.decapitalize(attributeName);
- if (attributes.containsKey(attributeName)) {
+ if (attributes.containsKey(method.getName().substring(3))) {
return new JMXGetAttributeInvoker(server, method);
}
} else if (name.startsWith("is")) {
- String attributeName = method.getName().substring(2);
- attributeName = Introspector.decapitalize(attributeName);
- if (attributes.containsKey(attributeName)) {
+ if (attributes.containsKey(method.getName().substring(2))) {
return new JMXGetAttributeInvoker(server, method);
}
} else if (name.startsWith("set")) {
- String attributeName = method.getName().substring(3);
- attributeName = Introspector.decapitalize(attributeName);
- if (attributes.containsKey(attributeName)) {
+ if (attributes.containsKey(method.getName().substring(3))) {
return new JMXSetAttributeInvoker(server, method);
}
}