/[projects]/miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/web/ViewCircuitBreaker.java
ViewVC logotype

Diff of /miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/web/ViewCircuitBreaker.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 698 by torben, Mon May 3 10:10:36 2010 UTC revision 1292 by torben, Fri Apr 15 10:27:04 2011 UTC
# Line 1  Line 1 
1  package dk.thoerup.circuitbreaker.web;  package dk.thoerup.circuitbreaker.web;
2    
3  import java.util.Date;  import java.util.Date;
4    import java.util.LinkedList;
5    
6  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletRequest;
7  import javax.servlet.http.HttpServletResponse;  import javax.servlet.http.HttpServletResponse;
8    
9  import dk.thoerup.circuitbreaker.AccountingCircuitBreaker;  import dk.thoerup.circuitbreaker.AccountingCircuitBreaker;
10    import dk.thoerup.circuitbreaker.LoggingCircuitBreaker;
11  import dk.thoerup.circuitbreaker.CircuitBreaker;  import dk.thoerup.circuitbreaker.CircuitBreaker;
12  import dk.thoerup.circuitbreaker.CircuitBreakerManager;  import dk.thoerup.circuitbreaker.CircuitBreakerManager;
13    
# Line 45  public class ViewCircuitBreaker implemen Line 47  public class ViewCircuitBreaker implemen
47                  return sb.toString();                  return sb.toString();
48          }          }
49                    
50          public String formatDate(long date) {          public static String formatDate(long date) {
51                  if (date == 0L) {                  if (date == 0L) {
52                          return "-";                          return "-";
53                  } else {                  } else {
# Line 82  public class ViewCircuitBreaker implemen Line 84  public class ViewCircuitBreaker implemen
84                          AccountingCircuitBreaker acb = (AccountingCircuitBreaker) breaker;                          AccountingCircuitBreaker acb = (AccountingCircuitBreaker) breaker;
85                          sb.append("<tr><th colspan=\"2\">Accounting</th></tr>\n");                          sb.append("<tr><th colspan=\"2\">Accounting</th></tr>\n");
86                          sb.append("<tr><td>Trip count</td><td>").append( acb.getTripCount() ).append("</td></tr>\n");                          sb.append("<tr><td>Trip count</td><td>").append( acb.getTripCount() ).append("</td></tr>\n");
87                            sb.append("<tr><td>Re-trip count</td><td>").append( acb.getRetripCount() ).append("</td></tr>\n");
88                          sb.append("<tr><td>Block count</td><td>").append( acb.getBlockCount() ).append("</td></tr>\n");                          sb.append("<tr><td>Block count</td><td>").append( acb.getBlockCount() ).append("</td></tr>\n");
89                          sb.append("<tr><td>Total failure count</td><td>").append( acb.getTotalFailureCount() ).append("</td></tr>\n");                          sb.append("<tr><td>Total failure count</td><td>").append( acb.getTotalFailureCount() ).append("</td></tr>\n");
90                          sb.append("<tr><td>Total Call count</td><td>").append( acb.getTotalCallCount() ).append("</td></tr>\n");                          sb.append("<tr><td>Total Call count</td><td>").append( acb.getTotalCallCount() ).append("</td></tr>\n");
91                          sb.append("<tr><td>Last failure</td><td>").append( formatDate(acb.getLastFailure()) ).append("</td></tr>\n");                          sb.append("<tr><td>Last failure</td><td>").append( formatDate(acb.getLastFailure()) ).append("</td></tr>\n");
92                          sb.append("<tr><td>Last trip</td><td>").append( formatDate(acb.getLastTrip()) ).append("</td></tr>\n");                          sb.append("<tr><td>Last trip</td><td>").append( formatDate(acb.getLastTrip()) ).append("</td></tr>\n");
93                            sb.append("<tr><td>Last re-trip</td><td>").append( formatDate(acb.getLastRetrip()) ).append("</td></tr>\n");
94                          sb.append("<tr><td>Last reset</td><td>").append( formatDate(acb.getLastReset()) ).append("</td></tr>\n");                          sb.append("<tr><td>Last reset</td><td>").append( formatDate(acb.getLastReset()) ).append("</td></tr>\n");
95                                                    
96                          sb.append("<tr><td>Last resetCounters</td><td>").append( formatDate(acb.getLastResetCounters()) ).append("</td></tr>\n");                                                sb.append("<tr><td>Last resetCounters</td><td>").append( formatDate(acb.getLastResetCounters()) ).append("</td></tr>\n");                      
97                  }                  }
98    
99                    if (breaker instanceof LoggingCircuitBreaker) {
100                            LoggingCircuitBreaker lcb = (LoggingCircuitBreaker) breaker;                    
101                            
102                            LinkedList<LoggingCircuitBreaker.LogEntry> list = lcb.getLog();
103                            String headerLink = String.format("<a href=\"%s?command=log&breaker=%s\">Logging</a>", req.getRequestURI(), breaker.getName() );
104    
105                            sb.append("<tr><th colspan=\"2\">").append(headerLink).append("</th></tr>\n");
106                            
107                            int max = list.size() > 10 ? 10 : list.size();                  
108                            for (int i=0; i<max; i++) {
109                                    LoggingCircuitBreaker.LogEntry entry = list.get(i);
110                                    sb.append("<tr><td colspan=\"2\">");
111                                    sb.append( formatDate(entry.time) ).append(" : ").append(entry.event);                          
112                                    sb.append("</td></tr>");
113                            }
114                    }
115                                    
116                  sb.append("</table>\n");                  sb.append("</table>\n");
117                  sb.append("Current time: ").append( new Date().toString() ).append("<br><br>\n");                  sb.append("Current time: ").append( new Date().toString() ).append("<br><br>\n");
# Line 102  public class ViewCircuitBreaker implemen Line 123  public class ViewCircuitBreaker implemen
123                          if (breaker instanceof AccountingCircuitBreaker ) {                          if (breaker instanceof AccountingCircuitBreaker ) {
124                                  sb.append( actionBuilder(uri, "resetCounters", breaker.getName())).append("<br>\n");                                      sb.append( actionBuilder(uri, "resetCounters", breaker.getName())).append("<br>\n");    
125                          }                          }
126                            if (breaker instanceof LoggingCircuitBreaker ) {
127                                    sb.append( actionBuilder(uri, "clearLog", breaker.getName())).append("<br>\n");
128                            }
129                  } else {                  } else {
130                          sb.append("<i>the CircuitBreakers can only be viewed</i>");                          sb.append("<i>the CircuitBreakers can only be viewed</i>");
131                  }                  }

Legend:
Removed from v.698  
changed lines
  Added in v.1292

  ViewVC Help
Powered by ViewVC 1.1.20