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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3212 - (show annotations) (download)
Thu Dec 28 09:34:47 2017 UTC (6 years, 4 months ago) by torben
File size: 1630 byte(s)
Use generics to encapsulate returned value
1 package dk.thoerup.circuitbreaker.web;
2
3
4 import java.net.URLEncoder;
5 import javax.servlet.http.*;
6
7 import dk.thoerup.circuitbreaker.CircuitBreaker;
8 import dk.thoerup.circuitbreaker.CircuitBreakerManager;
9
10 public class ListCircuitBreakers implements Command {
11 public String execute(HttpServletRequest req, HttpServletResponse resp) {
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 sb.append("<h2>CircuitBreakers:</h2>\n\n");
19 sb.append("<table border=\"1\"><tr><th>Name</th><th>Status</th></tr>\n");
20
21 for (String breakerName : manager.getCircuitBreakerNames()) {
22 CircuitBreaker<?> breaker = manager.getCircuitBreaker(breakerName);
23 String color = "white";
24
25 if (breaker.isOpen() ) {
26 color = "red";
27 } else if (breaker.isClosed() ) {
28 color = "green";
29 } else {
30 color ="yellow";
31 }
32
33 String encodedName = breakerName;
34 try {
35 encodedName = URLEncoder.encode(breakerName,"UTF-8" );
36 } catch (Exception e) {
37 //if Encoding fails we just use normal name and cross our fingers
38 }
39
40 sb.append("<tr>");
41 sb.append("<td><a href=\"").append( req.getRequestURI() ).append("?command=view&breaker=");
42 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 }
46
47 sb.append("</table></body></html>\n");
48
49 return sb.toString();
50 }
51 }

  ViewVC Help
Powered by ViewVC 1.1.20