From 5286356439a6db1c55cb4a872232445b53c28b72 Mon Sep 17 00:00:00 2001 From: Martin Kouba Date: Thu, 9 Jul 2015 16:36:19 +0200 Subject: [PATCH] WELD-1985 Bean detail - show interceptor bindings of an interceptor --- probe/core/src/main/client/probe.html | 12 ++++++++++++ .../java/org/jboss/weld/probe/JsonObjects.java | 17 +++++++++++++++-- .../main/java/org/jboss/weld/probe/Strings.java | 1 + 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/probe/core/src/main/client/probe.html b/probe/core/src/main/client/probe.html index 5ce4302da10..5ce87910643 100644 --- a/probe/core/src/main/client/probe.html +++ b/probe/core/src/main/client/probe.html @@ -566,6 +566,18 @@

Bean Detail

{{/if}} + {{#if bindings}} +
+ +
+ {{#each bindings}} +

+ {{this}} +

+ {{/each}} +
+
+ {{/if}} diff --git a/probe/core/src/main/java/org/jboss/weld/probe/JsonObjects.java b/probe/core/src/main/java/org/jboss/weld/probe/JsonObjects.java index d99a8e23f4f..96d3cfdb9d6 100644 --- a/probe/core/src/main/java/org/jboss/weld/probe/JsonObjects.java +++ b/probe/core/src/main/java/org/jboss/weld/probe/JsonObjects.java @@ -26,6 +26,7 @@ import static org.jboss.weld.probe.Strings.BEANS; import static org.jboss.weld.probe.Strings.BEAN_CLASS; import static org.jboss.weld.probe.Strings.BEAN_DISCOVERY_MODE; +import static org.jboss.weld.probe.Strings.BINDINGS; import static org.jboss.weld.probe.Strings.CHILDREN; import static org.jboss.weld.probe.Strings.CIDS; import static org.jboss.weld.probe.Strings.CLASS; @@ -112,6 +113,7 @@ import javax.enterprise.inject.spi.AnnotatedField; import javax.enterprise.inject.spi.AnnotatedMethod; import javax.enterprise.inject.spi.Bean; +import javax.enterprise.inject.spi.Interceptor; import javax.enterprise.inject.spi.ObserverMethod; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -461,6 +463,17 @@ static String createFullBeanJson(Bean bean, boolean transientDependencies, bo } beanBuilder.add(ENABLEMENT, enablementBuilder); } + + // INTERCEPTOR BINDINGS + if (BeanKind.INTERCEPTOR.equals(kind)) { + Interceptor interceptor = (Interceptor) bean; + JsonArrayBuilder bindings = Json.arrayBuilder(true); + for (Annotation binding : interceptor.getInterceptorBindings()) { + bindings.add(binding.toString()); + } + beanBuilder.add(BINDINGS, bindings); + } + return beanBuilder.build(); } @@ -529,7 +542,7 @@ static JsonObjectBuilder createSimpleBeanJsonWithDependencies(Bean bean, Prob * @return the declaring bean if the specified bean is an implicit producer */ static JsonObjectBuilder createDeclaringBean(Bean bean, Probe probe) { - if(bean instanceof AbstractProducerBean) { + if (bean instanceof AbstractProducerBean) { AbstractProducerBean producerBean = (AbstractProducerBean) bean; if (producerBean.getDeclaringBean() != null) { return createSimpleBeanJson(producerBean.getDeclaringBean(), probe); @@ -632,7 +645,7 @@ static JsonArrayBuilder createDependents(Bean parent, Bean bean, Probe pro JsonObjectBuilder dependency = createDependency(dependent.getBean(), dependent, probe); if (dependent.getInfo() != null) { dependency.add(INFO, dependent.getInfo()); - if(dependent.isPotential()) { + if (dependent.isPotential()) { dependency.add(IS_POTENTIAL, true); } } diff --git a/probe/core/src/main/java/org/jboss/weld/probe/Strings.java b/probe/core/src/main/java/org/jboss/weld/probe/Strings.java index 52ffc23b58c..79be7c07c41 100644 --- a/probe/core/src/main/java/org/jboss/weld/probe/Strings.java +++ b/probe/core/src/main/java/org/jboss/weld/probe/Strings.java @@ -93,6 +93,7 @@ public final class Strings { public static final String DESCRIPTION = "description"; public static final String INFO = "info"; public static final String IS_POTENTIAL = "isPotential"; + public static final String BINDINGS = "bindings"; public static final String PAGE = "page"; public static final String PAGE_SIZE = "pageSize";