Author: rmannibucau Date: Thu Aug 29 11:40:34 2013 New Revision: 1518605 URL: http://svn.apache.org/r1518605 Log: TOMEE-1024 @Description on parameters
Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java?rev=1518605&r1=1518604&r2=1518605&view=diff ============================================================================== --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java Thu Aug 29 11:40:34 2013 @@ -16,7 +16,6 @@ */ package org.apache.openejb.monitoring; -import com.sun.jmx.mbeanserver.Introspector; import org.apache.openejb.api.internal.Internal; import org.apache.openejb.api.jmx.Description; import org.apache.openejb.api.jmx.MBean; @@ -228,22 +227,24 @@ public class DynamicMBeanWrapper impleme } private MBeanOperationInfo newMethodDescriptor(final String operationDescr, final Method m) { + final MBeanOperationInfo jvmInfo = new MBeanOperationInfo(operationDescr, m); return new MBeanOperationInfo( m.getName(), operationDescr, - methodSignature(m), + methodSignature(jvmInfo, m), m.getReturnType().getName(), MBeanOperationInfo.UNKNOWN, - Introspector.descriptorForElement(m)); + jvmInfo.getDescriptor()); // avoid to copy the logic } - private static MBeanParameterInfo[] methodSignature(final Method method) { + private static MBeanParameterInfo[] methodSignature(final MBeanOperationInfo jvmInfo, final Method method) { final Class<?>[] classes = method.getParameterTypes(); final Annotation[][] annots = method.getParameterAnnotations(); - return parameters(classes, annots); + return parameters(jvmInfo, classes, annots); } - static MBeanParameterInfo[] parameters(final Class<?>[] classes, + static MBeanParameterInfo[] parameters(final MBeanOperationInfo jvmInfo, + final Class<?>[] classes, final Annotation[][] annots) { final MBeanParameterInfo[] params = new MBeanParameterInfo[classes.length]; @@ -251,7 +252,7 @@ public class DynamicMBeanWrapper impleme String desc = ""; for (int i = 0; i < classes.length; i++) { - final Descriptor d = Introspector.descriptorForAnnotations(annots[i]); + final Descriptor d = jvmInfo.getSignature()[i].getDescriptor(); final String pn = "arg" + i; for (final Annotation a : annots[i]) { final Class<? extends Annotation> type = a.annotationType();