1 |
package dk.thoerup.curcuitbreaker.web; |
package dk.thoerup.circuitbreaker.web; |
2 |
|
|
3 |
import java.util.Date; |
import java.util.Date; |
4 |
|
|
5 |
import javax.servlet.http.HttpServletRequest; |
import javax.servlet.http.HttpServletRequest; |
6 |
import javax.servlet.http.HttpServletResponse; |
import javax.servlet.http.HttpServletResponse; |
7 |
|
|
8 |
import dk.thoerup.curcuitbreaker.AccountingCircuitBreaker; |
import dk.thoerup.circuitbreaker.AccountingCircuitBreaker; |
9 |
import dk.thoerup.curcuitbreaker.CircuitBreaker; |
import dk.thoerup.circuitbreaker.CircuitBreaker; |
10 |
import dk.thoerup.curcuitbreaker.CircuitBreakerManager; |
import dk.thoerup.circuitbreaker.CircuitBreakerManager; |
11 |
|
|
12 |
public class ViewCircuitBreaker implements Command { |
public class ViewCircuitBreaker implements Command { |
13 |
|
|
45 |
return sb.toString(); |
return sb.toString(); |
46 |
} |
} |
47 |
|
|
48 |
|
public String formatDate(long date) { |
49 |
|
if (date == 0L) { |
50 |
|
return "-"; |
51 |
|
} else { |
52 |
|
return new Date(date).toString(); |
53 |
|
} |
54 |
|
} |
55 |
|
|
56 |
public String execute(HttpServletRequest req, HttpServletResponse resp) { |
public String execute(HttpServletRequest req, HttpServletResponse resp) { |
57 |
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker( req.getParameter("breaker")); |
CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker( req.getParameter("breaker")); |
58 |
String uri = req.getRequestURI(); |
String uri = req.getRequestURI(); |
70 |
sb.append("<b>Attributes:</b>\n"); |
sb.append("<b>Attributes:</b>\n"); |
71 |
sb.append("<table border=\"1\" cellspacing=0>"); |
sb.append("<table border=\"1\" cellspacing=0>"); |
72 |
sb.append("<tr><td>Name </td><td>").append(breaker.getName()).append("</td></tr>\n"); |
sb.append("<tr><td>Name </td><td>").append(breaker.getName()).append("</td></tr>\n"); |
73 |
sb.append("<tr><td>State </td><td><b>").append( breaker ).append("</b></td></tr>\n"); |
sb.append("<tr><td>State </td><td><b>").append( getStateBar(breaker) ).append("</b></td></tr>\n"); |
74 |
sb.append("<tr><td>Type </td><td>").append(breaker.getClass().getSimpleName() ).append("</td></tr>\n"); |
sb.append("<tr><td>Type </td><td>").append(breaker.getClass().getSimpleName() ).append("</td></tr>\n"); |
75 |
sb.append("<tr><td>Notifier </td><td>").append(breaker.getNotifierName()).append("</td></tr>\n"); |
sb.append("<tr><td>Notifier </td><td>").append(breaker.getNotifierName()).append("</td></tr>\n"); |
76 |
sb.append("<tr><td>Failure count </td><td>").append(breaker.getFailureCount()).append("</td></tr>\n"); |
sb.append("<tr><td>Failure count </td><td>").append(breaker.getFailureCount()).append("</td></tr>\n"); |
85 |
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"); |
86 |
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"); |
87 |
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"); |
88 |
sb.append("<tr><td>Last trip</td><td>").append( new Date(acb.getLastTrip()).toString() ).append("</td></tr>\n"); |
sb.append("<tr><td>Last failure</td><td>").append( formatDate(acb.getLastFailure()) ).append("</td></tr>\n"); |
89 |
sb.append("<tr><td>Last reset</td><td>").append( new Date(acb.getLastResetCounters()).toString() ).append("</td></tr>\n"); |
sb.append("<tr><td>Last trip</td><td>").append( formatDate(acb.getLastTrip()) ).append("</td></tr>\n"); |
90 |
|
sb.append("<tr><td>Last reset</td><td>").append( formatDate(acb.getLastReset()) ).append("</td></tr>\n"); |
91 |
|
|
92 |
|
sb.append("<tr><td>Last resetCounters</td><td>").append( formatDate(acb.getLastResetCounters()) ).append("</td></tr>\n"); |
93 |
} |
} |
94 |
|
|
95 |
sb.append("</table><br>\n"); |
sb.append("</table>\n"); |
96 |
|
sb.append("Current time: ").append( new Date().toString() ).append("<br><br>\n"); |
97 |
|
|
98 |
sb.append("<b>Operations:</b>\n"); |
sb.append("<b>Operations:</b>\n"); |
99 |
if ( !readOnly ) { |
if ( !readOnly ) { |