package dk.thoerup.circuitbreaker.web; import java.net.URLEncoder; import javax.servlet.http.*; import dk.thoerup.circuitbreaker.CircuitBreaker; import dk.thoerup.circuitbreaker.CircuitBreakerManager; public class ListCircuitBreakers implements Command { public String execute(HttpServletRequest req, HttpServletResponse resp) { StringBuilder sb = new StringBuilder(); CircuitBreakerManager manager = CircuitBreakerManager.getManager(); sb.append("CircuitBreakers\n\n"); sb.append("

CircuitBreakers:

\n\n"); sb.append("\n"); for (String breakerName : manager.getCircuitBreakerNames()) { CircuitBreaker breaker = manager.getCircuitBreaker(breakerName); String color = "white"; if (breaker.isOpen() ) { color = "red"; } else if (breaker.isClosed() ) { color = "green"; } else { color ="yellow"; } String encodedName = breakerName; try { encodedName = URLEncoder.encode(breakerName,"UTF-8" ); } catch (Exception e) { //if Encoding fails we just use normal name and cross our fingers } sb.append(""); sb.append("\n"); sb.append("\n"); sb.append("\n\n"); } sb.append("
NameStatus
").append(breakerName).append(" 
\n"); return sb.toString(); } }