1 |
package dk.thoerup.curcuitbreaker.web; |
package dk.thoerup.circuitbreaker.web; |
2 |
|
|
3 |
|
|
4 |
import java.net.URLEncoder; |
import java.net.URLEncoder; |
5 |
import javax.servlet.http.*; |
import javax.servlet.http.*; |
6 |
|
|
7 |
import dk.thoerup.curcuitbreaker.CircuitBreaker; |
import dk.thoerup.circuitbreaker.CircuitBreaker; |
8 |
import dk.thoerup.curcuitbreaker.CircuitBreakerManager; |
import dk.thoerup.circuitbreaker.CircuitBreakerManager; |
9 |
|
|
10 |
public class ListCircuitBreakers implements Command { |
public class ListCircuitBreakers implements Command { |
11 |
public String execute(HttpServletRequest req, HttpServletResponse resp) { |
public String execute(HttpServletRequest req, HttpServletResponse resp) { |
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:</h2>\n\n"); |
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"); |
sb.append("<table border=\"1\"><tr><th>Name</th><th>Status</th></tr>\n"); |
20 |
|
|
21 |
for (String breakerName : manager.getCircuitBreakerNames()) { |
for (String breakerName : manager.getCircuitBreakerNames()) { |
22 |
CircuitBreaker breaker = manager.getCircuitBreaker(breakerName); |
CircuitBreaker<?> breaker = manager.getCircuitBreaker(breakerName); |
23 |
String color = "white"; |
String color = "white"; |
24 |
|
|
25 |
if (breaker.getStateName().equalsIgnoreCase("open")) { |
if (breaker.isOpen() ) { |
26 |
color = "red"; |
color = "red"; |
27 |
} else if (breaker.getStateName().equalsIgnoreCase("Half-open")) { |
} else if (breaker.isClosed() ) { |
28 |
color = "yellow"; |
color = "green"; |
29 |
} else { //must be "closed" |
} else { |
30 |
color ="green"; |
color ="yellow"; |
31 |
} |
} |
32 |
|
|
33 |
String encodedName = breakerName; |
String encodedName = breakerName; |
40 |
sb.append("<tr>"); |
sb.append("<tr>"); |
41 |
sb.append("<td><a href=\"").append( req.getRequestURI() ).append("?command=view&breaker="); |
sb.append("<td><a href=\"").append( req.getRequestURI() ).append("?command=view&breaker="); |
42 |
sb.append( encodedName ).append("\">").append(breakerName).append("</a></td>\n"); |
sb.append( encodedName ).append("\">").append(breakerName).append("</a></td>\n"); |
|
sb.append("<td>").append( breaker.getClass().getSimpleName()).append("</td>\n"); |
|
43 |
sb.append("<td style=\"background-color: ").append(color).append("\"> </td>\n"); |
sb.append("<td style=\"background-color: ").append(color).append("\"> </td>\n"); |
44 |
sb.append("</tr>\n\n"); |
sb.append("</tr>\n\n"); |
45 |
} |
} |