/[projects]/miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/web/ListCircuitBreakers.java
ViewVC logotype

Annotation of /miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/web/ListCircuitBreakers.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 414 - (hide annotations) (download)
Wed Oct 7 19:24:06 2009 UTC (14 years, 8 months ago) by torben
Original Path: CircuitBreaker/src/dk/thoerup/curcuitbreaker/web/ListCircuitBreakers.java
File size: 1779 byte(s)
Basic CB list
1 torben 411 package dk.thoerup.curcuitbreaker.web;
2    
3    
4     import java.net.URLEncoder;
5     import javax.servlet.http.HttpServletRequest;
6 torben 414
7     import dk.thoerup.curcuitbreaker.CircuitBreaker;
8 torben 411 import dk.thoerup.curcuitbreaker.CircuitBreakerManager;
9    
10     public class ListCircuitBreakers {
11     public String doCommand(HttpServletRequest req) {
12    
13    
14     StringBuilder sb = new StringBuilder();
15     CircuitBreakerManager manager = CircuitBreakerManager.getManager();
16    
17     sb.append("<html><head><title>CircuitBreakers</title></head>\n\n<body>");
18 torben 414 sb.append("<h2>CircuitBreakers:</h2>\n\n");
19     sb.append("<table border=\"1\"><tr><th>Name</th><th>Type</th><th>Status</th></tr>\n");
20 torben 411
21     for (String breakerName : manager.getCircuitBreakerNames()) {
22 torben 414 CircuitBreaker breaker = manager.getCircuitBreaker(breakerName);
23     String color = "white";
24    
25     if (breaker.getStateName().equalsIgnoreCase("open")) {
26     color = "red";
27     } else if (breaker.getStateName().equalsIgnoreCase("Half-open")) {
28     color = "yellow";
29     } else { //must be "closed"
30     color ="green";
31     }
32    
33     String encodedName = breakerName;
34 torben 411 try {
35 torben 414 encodedName = URLEncoder.encode(breakerName,"UTF-8" );
36 torben 411 } catch (Exception e) {
37     //if Encoding fails we just use normal name and cross our fingers
38     }
39 torben 414
40     sb.append("<tr>");
41     sb.append("<td><a href=\"").append( req.getRequestURI() ).append("?action=view&breaker=");
42     sb.append( encodedName ).append("\">").append(breakerName).append("</a></td>\n");
43     sb.append("<td>").append( breaker.getClass().getSimpleName()).append("</td>\n");
44     sb.append("<td style=\"background-color: ").append(color).append("\">&nbsp;</td>\n");
45     sb.append("</tr>\n\n");
46 torben 411 }
47    
48 torben 414 sb.append("</table></body></html>\n");
49 torben 411
50     return sb.toString();
51     }
52     }

  ViewVC Help
Powered by ViewVC 1.1.20