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();


Reply via email to