Skip to content

Commit

Permalink
WELD-1985 Bean detail - show interceptor bindings of an interceptor
Browse files Browse the repository at this point in the history
  • Loading branch information
mkouba committed Jul 13, 2015
1 parent 3b77bf0 commit 5286356
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
12 changes: 12 additions & 0 deletions probe/core/src/main/client/probe.html
Expand Up @@ -566,6 +566,18 @@ <h1>Bean Detail</h1>
</div>
</div>
{{/if}}
{{#if bindings}}
<div class="form-group">
<label class="col-sm-2 control-label">Interceptor Bindings:</label>
<div class="col-sm-10">
{{#each bindings}}
<p class="form-control-static">
{{this}}
</p>
{{/each}}
</div>
</div>
{{/if}}
</form>
</div>
</div>
Expand Down
17 changes: 15 additions & 2 deletions probe/core/src/main/java/org/jboss/weld/probe/JsonObjects.java
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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();
}

Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
}
}
Expand Down
1 change: 1 addition & 0 deletions probe/core/src/main/java/org/jboss/weld/probe/Strings.java
Expand Up @@ -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";
Expand Down

0 comments on commit 5286356

Please sign in to comment.