/[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 417 - (hide annotations) (download)
Thu Oct 8 07:07:14 2009 UTC (14 years, 8 months ago) by torben
Original Path: CircuitBreaker/src/dk/thoerup/curcuitbreaker/web/ListCircuitBreakers.java
File size: 1708 byte(s)
Finished v1 of web interface
1 torben 411 package dk.thoerup.curcuitbreaker.web;
2    
3    
4     import java.net.URLEncoder;
5 torben 416 import javax.servlet.http.*;
6 torben 414
7     import dk.thoerup.curcuitbreaker.CircuitBreaker;
8 torben 411 import dk.thoerup.curcuitbreaker.CircuitBreakerManager;
9    
10 torben 416 public class ListCircuitBreakers implements Command {
11     public String execute(HttpServletRequest req, HttpServletResponse resp) {
12 torben 411
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 torben 417 sb.append("<table border=\"1\"><tr><th>Name</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 torben 416 sb.append("<td><a href=\"").append( req.getRequestURI() ).append("?command=view&breaker=");
42 torben 414 sb.append( encodedName ).append("\">").append(breakerName).append("</a></td>\n");
43     sb.append("<td style=\"background-color: ").append(color).append("\">&nbsp;</td>\n");
44     sb.append("</tr>\n\n");
45 torben 411 }
46    
47 torben 414 sb.append("</table></body></html>\n");
48 torben 411
49     return sb.toString();
50     }
51     }

  ViewVC Help
Powered by ViewVC 1.1.20