--- CircuitBreaker/src/dk/thoerup/curcuitbreaker/web/ViewCircuitBreaker.java 2009/10/08 07:07:14 417 +++ CircuitBreaker/src/dk/thoerup/circuitbreaker/web/ViewCircuitBreaker.java 2011/04/11 07:52:15 1285 @@ -1,13 +1,15 @@ -package dk.thoerup.curcuitbreaker.web; +package dk.thoerup.circuitbreaker.web; import java.util.Date; +import java.util.LinkedList; 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; +import dk.thoerup.circuitbreaker.AccountingCircuitBreaker; +import dk.thoerup.circuitbreaker.LoggingCircuitBreaker; +import dk.thoerup.circuitbreaker.CircuitBreaker; +import dk.thoerup.circuitbreaker.CircuitBreakerManager; public class ViewCircuitBreaker implements Command { @@ -29,13 +31,13 @@ return sb.toString(); } - public String getStateBar(String state) { + public String getStateBar(CircuitBreaker breaker) { StringBuilder sb = new StringBuilder(); - sb.append( state ); + sb.append( breaker.getStateName() ); sb.append(": Attributes:\n"); sb.append(""); sb.append("\n"); - sb.append("\n"); + sb.append("\n"); sb.append("\n"); sb.append("\n"); sb.append("\n"); @@ -74,13 +84,33 @@ AccountingCircuitBreaker acb = (AccountingCircuitBreaker) breaker; sb.append("\n"); sb.append("\n"); + sb.append("\n"); sb.append("\n"); 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 LoggingCircuitBreaker) { + LoggingCircuitBreaker lcb = (LoggingCircuitBreaker) breaker; + + LinkedList list = lcb.getLog(); + + sb.append("\n"); + for(LoggingCircuitBreaker.LogEntry entry : list) { + sb.append(""); + } } - sb.append("
Name ").append(breaker.getName()).append("
State ").append( getStateBar(breaker.getStateName()) ).append("
State ").append( getStateBar(breaker) ).append("
Type ").append(breaker.getClass().getSimpleName() ).append("
Notifier ").append(breaker.getNotifierName()).append("
Failure count ").append(breaker.getFailureCount()).append("
Accounting
Trip count").append( acb.getTripCount() ).append("
Re-trip count").append( acb.getRetripCount() ).append("
Block count").append( acb.getBlockCount() ).append("
Total failure count").append( acb.getTotalFailureCount() ).append("
Total Call count").append( acb.getTotalCallCount() ).append("
Last reset").append( new Date(acb.getLastResetCounters()).toString() ).append("
Last failure").append( formatDate(acb.getLastFailure()) ).append("
Last trip").append( formatDate(acb.getLastTrip()) ).append("
Last re-trip").append( formatDate(acb.getLastRetrip()) ).append("
Last reset").append( formatDate(acb.getLastReset()) ).append("
Last resetCounters").append( formatDate(acb.getLastResetCounters()) ).append("
Logging
"); + sb.append( formatDate(entry.time) ).append(" : ").append(entry.event); + sb.append("

\n"); + sb.append("\n"); + sb.append("Current time: ").append( new Date().toString() ).append("

\n"); sb.append("Operations:\n"); if ( !readOnly ) {