package dk.thoerup.curcuitbreaker.web; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dk.thoerup.curcuitbreaker.AccountingCircuitBreaker; import dk.thoerup.curcuitbreaker.CircuitBreaker; import dk.thoerup.curcuitbreaker.CircuitBreakerManager; public class ViewCircuitBreaker implements Command { public String execute(HttpServletRequest req, HttpServletResponse resp) { CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker( req.getParameter("breaker")); if (breaker == null) return "

No breaker named '" + req.getParameter("breaker") + "'

"; StringBuilder sb = new StringBuilder(); sb.append("View Circuitbreaker"); sb.append("<<== Back to overview

"); sb.append("

CircuitBreaker

\n"); sb.append("Attributes:\n"); sb.append(""); sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); if (breaker instanceof AccountingCircuitBreaker) { AccountingCircuitBreaker acb = (AccountingCircuitBreaker) breaker; } sb.append("
Name ").append(breaker.getName()).append("
State ").append(breaker.getStateName()).append("
Type ").append(breaker.getClass().getSimpleName() ).append("
Notifier ").append(breaker.getNotifierName()).append("
Failure count ").append(breaker.getFailureCount()).append("
Failure threshold ").append(breaker.getThreshold()).append("
Timeout, elapsed").append( breaker.getElapsed() ).append("
Timeout, limit").append( breaker.getTimeout() ).append("

\n"); sb.append("Commands:\n"); sb.append(""); return sb.toString(); } }