You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by rm...@apache.org on 2012/12/17 00:33:14 UTC

git commit: DELTASPIKE-300 getting rid of @jmxdescription

Updated Branches:
  refs/heads/master ae6b17710 -> 345923e83


DELTASPIKE-300 getting rid of @jmxdescription


Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/345923e8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/345923e8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/345923e8

Branch: refs/heads/master
Commit: 345923e83598ce5ec23eb463e7e8c626f42109b5
Parents: ae6b177
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon Dec 17 00:32:26 2012 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon Dec 17 00:32:26 2012 +0100

----------------------------------------------------------------------
 .../core/api/jmx/annotation/JmxDescription.java    |   38 ---------------
 .../core/api/jmx/annotation/JmxManaged.java        |    1 +
 .../deltaspike/core/api/jmx/annotation/MBean.java  |    1 +
 .../core/api/jmx/annotation/NotificationInfo.java  |    2 +-
 .../core/impl/jmx/DynamicMBeanWrapper.java         |   28 ++++-------
 .../test/core/impl/jmx/SimpleRegistrationTest.java |   10 +---
 6 files changed, 16 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/345923e8/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxDescription.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxDescription.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxDescription.java
deleted file mode 100644
index 75b4bd9..0000000
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxDescription.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.core.api.jmx.annotation;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import static java.lang.annotation.ElementType.CONSTRUCTOR;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ FIELD, METHOD, TYPE })
-public @interface JmxDescription
-{
-    String value() default "";
-}

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/345923e8/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxManaged.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxManaged.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxManaged.java
index 9a46f55..eba0f1f 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxManaged.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/JmxManaged.java
@@ -31,4 +31,5 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
 @Documented
 public @interface JmxManaged
 {
+    String description() default "";
 }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/345923e8/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/MBean.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/MBean.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/MBean.java
index ee57895..a718045 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/MBean.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/MBean.java
@@ -31,5 +31,6 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
 public @interface MBean
 {
     String objectName() default "";
+    String description() default "";
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/345923e8/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/NotificationInfo.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/NotificationInfo.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/NotificationInfo.java
index a3b1cd5..f85f563 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/NotificationInfo.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/annotation/NotificationInfo.java
@@ -32,7 +32,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
 public @interface NotificationInfo
 {
     String[] types() default { };
-    JmxDescription description() default @JmxDescription("");
+    String description() default "";
     Class<? extends Notification> notificationClass() default Notification.class;
     String[] descriptorFields() default { };
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/345923e8/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/jmx/DynamicMBeanWrapper.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/jmx/DynamicMBeanWrapper.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/jmx/DynamicMBeanWrapper.java
index 1d04338..3f20abb 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/jmx/DynamicMBeanWrapper.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/jmx/DynamicMBeanWrapper.java
@@ -19,8 +19,8 @@
 package org.apache.deltaspike.core.impl.jmx;
 
 import org.apache.deltaspike.core.api.config.ConfigResolver;
-import org.apache.deltaspike.core.api.jmx.annotation.JmxDescription;
 import org.apache.deltaspike.core.api.jmx.annotation.JmxManaged;
+import org.apache.deltaspike.core.api.jmx.annotation.MBean;
 import org.apache.deltaspike.core.api.jmx.annotation.NotificationInfo;
 import org.apache.deltaspike.core.api.provider.BeanManagerProvider;
 import org.apache.deltaspike.core.api.provider.BeanProvider;
@@ -82,7 +82,7 @@ public class DynamicMBeanWrapper implements DynamicMBean
 
         // class
         final String description =
-            getDescription(annotatedMBean.getAnnotation(JmxDescription.class), annotatedMBean.getName());
+            getDescription(annotatedMBean.getAnnotation(MBean.class).description(), annotatedMBean.getName());
 
         final NotificationInfo notification = annotatedMBean.getAnnotation(NotificationInfo.class);
         if (notification != null)
@@ -104,18 +104,19 @@ public class DynamicMBeanWrapper implements DynamicMBean
         for (Method method : annotatedMBean.getMethods())
         {
             final int modifiers = method.getModifiers();
+            final JmxManaged annotation = method.getAnnotation(JmxManaged.class);
             if (method.getDeclaringClass().equals(Object.class)
                     || !Modifier.isPublic(modifiers)
                     || Modifier.isAbstract(modifiers)
                     || Modifier.isStatic(modifiers)
-                    || method.getAnnotation(JmxManaged.class) == null)
+                    || annotation == null)
             {
                 continue;
             }
 
             operations.put(method.getName(), method);
 
-            String operationDescr = getDescription(method.getAnnotation(JmxDescription.class),
+            String operationDescr = getDescription(annotation.description(),
                 annotatedMBean.getName() + "#" + method.getName());
 
             operationInfos.add(new MBeanOperationInfo(operationDescr, method));
@@ -129,7 +130,7 @@ public class DynamicMBeanWrapper implements DynamicMBean
                     field.setAccessible(true);
 
                     final String name = field.getName();
-                    final String fieldDescription = getDescription(field.getAnnotation(JmxDescription.class),
+                    final String fieldDescription = getDescription(annotation.description(),
                             annotatedMBean.getClass() + "#" + name);
                     final Class<?> type = field.getType();
 
@@ -181,30 +182,21 @@ public class DynamicMBeanWrapper implements DynamicMBean
                 new ImmutableDescriptor(n.descriptorFields()));
     }
 
-    private String getDescription(final JmxDescription description, String defaultDescription)
+    private String getDescription(final String description, String defaultDescription)
     {
-        if (description == null || "".equals(description.value()))
+        if (description.isEmpty())
         {
             return defaultDescription;
         }
 
-        String descriptionValue = description.value().trim();
+        String descriptionValue = description.trim();
 
         if (descriptionValue.startsWith("{") && descriptionValue.endsWith("}"))
         {
-
-            if (description.annotationType().getEnclosingMethod() != null)
-            {
-                defaultDescription = description.annotationType().getEnclosingMethod().getName();
-            }
-            else if (description.annotationType().getEnclosingClass() != null)
-            {
-                defaultDescription = description.annotationType().getEnclosingClass().getName();
-            }
             return ConfigResolver.getPropertyValue(
                 descriptionValue.substring(1, descriptionValue.length() - 1), defaultDescription);
         }
-        return description.value();
+        return description;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/345923e8/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationTest.java
index d7840c8..66adae3 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/jmx/SimpleRegistrationTest.java
@@ -18,7 +18,6 @@
  */
 package org.apache.deltaspike.test.core.impl.jmx;
 
-import org.apache.deltaspike.core.api.jmx.annotation.JmxDescription;
 import org.apache.deltaspike.core.api.jmx.annotation.JmxManaged;
 import org.apache.deltaspike.core.api.jmx.annotation.MBean;
 import org.apache.deltaspike.core.impl.jmx.MBeanExtension;
@@ -80,13 +79,11 @@ public class SimpleRegistrationTest {
         assertEquals(10, myMBean.getCounter());
     }
 
-    @MBean
-    @JmxDescription("my mbean")
     @ApplicationScoped
+    @MBean(description = "my mbean")
     public static class MyMBean
     {
-        @JmxManaged
-        @JmxDescription("get counter")
+        @JmxManaged(description = "get counter")
         private int counter = 0;
 
         public int getCounter()
@@ -104,8 +101,7 @@ public class SimpleRegistrationTest {
             counter = value;
         }
 
-        @JmxManaged
-        @JmxDescription("multiply counter")
+        @JmxManaged(description = "multiply counter")
         public int multiply(final int n)
         {
             return counter * n;