3 |
|
|
4 |
import java.net.URLEncoder; |
import java.net.URLEncoder; |
5 |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletRequest; |
6 |
|
|
7 |
|
import dk.thoerup.curcuitbreaker.CircuitBreaker; |
8 |
import dk.thoerup.curcuitbreaker.CircuitBreakerManager; |
import dk.thoerup.curcuitbreaker.CircuitBreakerManager; |
9 |
|
|
10 |
public class ListCircuitBreakers { |
public class ListCircuitBreakers { |
15 |
CircuitBreakerManager manager = CircuitBreakerManager.getManager(); |
CircuitBreakerManager manager = CircuitBreakerManager.getManager(); |
16 |
|
|
17 |
sb.append("<html><head><title>CircuitBreakers</title></head>\n\n<body>"); |
sb.append("<html><head><title>CircuitBreakers</title></head>\n\n<body>"); |
18 |
sb.append("<h2>CircuitBreakers:</h>\n\n<ul>"); |
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 |
|
|
21 |
for (String breakerName : manager.getCircuitBreakerNames()) { |
for (String breakerName : manager.getCircuitBreakerNames()) { |
22 |
sb.append("<li><a href=\"").append( req.getRequestURI() ).append("?action=view&breaker="); |
CircuitBreaker breaker = manager.getCircuitBreaker(breakerName); |
23 |
String name = breakerName; |
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 |
try { |
try { |
35 |
name = URLEncoder.encode(breakerName,"UTF-8" ); |
encodedName = URLEncoder.encode(breakerName,"UTF-8" ); |
36 |
} catch (Exception e) { |
} catch (Exception e) { |
37 |
//if Encoding fails we just use normal name and cross our fingers |
//if Encoding fails we just use normal name and cross our fingers |
38 |
} |
} |
39 |
sb.append( name ); |
|
40 |
sb.append("\">").append(breakerName).append("</a></li>\n"); |
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("\"> </td>\n"); |
45 |
|
sb.append("</tr>\n\n"); |
46 |
} |
} |
47 |
|
|
48 |
sb.append("</ul></body></html>\n"); |
sb.append("</table></body></html>\n"); |
49 |
|
|
50 |
return sb.toString(); |
return sb.toString(); |
51 |
} |
} |