View Javadoc

1   package org.apache.commons.monitoring.servlet.jsp;
2   
3   import javax.servlet.jsp.JspException;
4   import javax.servlet.jsp.tagext.BodyTagSupport;
5   import javax.servlet.jsp.tagext.TagSupport;
6   
7   import org.apache.commons.monitoring.Counter;
8   import org.apache.commons.monitoring.Role;
9   
10  public class StatValueTag
11      extends TagSupport
12  {
13      private String roleAttrName;
14  
15      @Override
16      public int doStartTag()
17          throws JspException
18      {
19          Role role = (Role) pageContext.getAttribute( roleAttrName );
20  
21          String name = role.getName();
22          StringBuffer stb = new StringBuffer();
23          if ( role.getType() == Counter.class )
24          {
25              checkbox( name, "hits", stb );
26              checkbox( name, "total", stb );
27          }
28          checkbox( name, "value", stb );
29          checkbox( name, "min", stb );
30          checkbox( name, "max", stb );
31          checkbox( name, "mean", stb );
32          checkbox( name, "deviation", stb );
33  
34          return EVAL_PAGE;
35      }
36  
37      private void checkbox( String name, String property, StringBuffer stb )
38      {
39          stb.append( "<li>" );
40          stb.append( "<input type='checkbox' name='" );
41          stb.append( property );
42          stb.append( "' id='" );
43          stb.append( name );
44          stb.append( "." );
45          stb.append( property );
46          stb.append( "'/>" );
47          stb.append( "<label for='" );
48          stb.append( "'>" );
49          stb.append( name );
50          stb.append( "." );
51          stb.append( property );
52          stb.append( "</label>" );
53          stb.append( "</li>" );
54      }
55  
56      public void setRole( String role )
57      {
58          this.roleAttrName = role;
59      }
60  
61  }