From 6d02abf52a009277691a764fd865646fd8554837 Mon Sep 17 00:00:00 2001 From: Jiri Pinkas Date: Thu, 13 Aug 2015 10:57:43 +0200 Subject: [PATCH] enhanced dashboard, now contains list of errors --- CHANGELOG.txt | 3 + pom.xml | 2 +- .../controller/DashboardController.java | 25 ++++++++- .../sitemonitoring/push/CheckResultDto.java | 2 +- .../sitemonitoring/service/InitDbService.java | 2 +- .../service/UpgradeService.java | 5 ++ src/main/webapp/admin/checks.xhtml | 5 +- src/main/webapp/admin/dashboard.xhtml | 56 ++++++++++++------- .../resources/components/check-icon.xhtml | 22 ++++++++ src/main/webapp/template.xhtml | 16 +----- 10 files changed, 97 insertions(+), 41 deletions(-) create mode 100644 src/main/webapp/resources/components/check-icon.xhtml diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 14a8e05..613cf33 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,6 @@ +13.8.2015: version 2.2.1 ++ enhanced dashboard, now contains list of errors + 12.8.2015: version 2.2.0 + dashboard + checks split to multiple pages diff --git a/pom.xml b/pom.xml index 6037c53..92d4eb6 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 net.sf.sitemonitoring sitemonitoring - 2.2.0 + 2.2.1 war diff --git a/src/main/java/net/sf/sitemonitoring/controller/DashboardController.java b/src/main/java/net/sf/sitemonitoring/controller/DashboardController.java index 5b6ed6e..d70b2f6 100644 --- a/src/main/java/net/sf/sitemonitoring/controller/DashboardController.java +++ b/src/main/java/net/sf/sitemonitoring/controller/DashboardController.java @@ -1,5 +1,6 @@ package net.sf.sitemonitoring.controller; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -17,10 +18,25 @@ @ViewScoped @Data public class DashboardController { + + @Data + public class CheckAndCheckResultDto { + private Check check; + private CheckResultDto checkResultDto; + public CheckAndCheckResultDto(Check check, CheckResultDto checkResultDto) { + this.check = check; + this.checkResultDto = checkResultDto; + } + } private Map lastResults; private List checks; + + /** + * contains only erroneous results + */ + private Map checksWithResults; @ManagedProperty("#{checkResultService}") private CheckResultService checkResultService; @@ -30,7 +46,14 @@ public class DashboardController { public void loadChecks() { checks = checkService.findAll(); + checksWithResults = new HashMap(); lastResults = checkResultService.getLastResults(checks); + for (Check check : checks) { + CheckResultDto lastResult = lastResults.get(check.getId()); + if(lastResult.getSuccess() != null && lastResult.getSuccess() == false) { + checksWithResults.put(check.getId(), new CheckAndCheckResultDto(check, lastResult)); + } + } } public int successCount() { @@ -52,5 +75,5 @@ public int failureCount() { } return result; } - + } diff --git a/src/main/java/net/sf/sitemonitoring/push/CheckResultDto.java b/src/main/java/net/sf/sitemonitoring/push/CheckResultDto.java index 038525d..4395bbe 100644 --- a/src/main/java/net/sf/sitemonitoring/push/CheckResultDto.java +++ b/src/main/java/net/sf/sitemonitoring/push/CheckResultDto.java @@ -17,7 +17,7 @@ public class CheckResultDto { private Date finishDate; private long responseTime; - + public String getDateInterval() { if (startDate == null && finishDate == null) { return ""; diff --git a/src/main/java/net/sf/sitemonitoring/service/InitDbService.java b/src/main/java/net/sf/sitemonitoring/service/InitDbService.java index 7e1b5b3..221f7a4 100644 --- a/src/main/java/net/sf/sitemonitoring/service/InitDbService.java +++ b/src/main/java/net/sf/sitemonitoring/service/InitDbService.java @@ -43,7 +43,7 @@ public void init() throws Exception { } System.out.println("*** DATABASE INIT STARTED ***"); configuration = new Configuration(); - configuration.setMonitoringVersion("2.2.0"); + configuration.setMonitoringVersion("2.2.1"); configuration.setEmailSubject("sitemonitoring error"); configuration.setEmailBody("check name:{CHECK-NAME}\n\ncheck url: {CHECK-URL}\n\nerror:\n{ERROR}"); configuration.setDefaultSingleCheckInterval(5); diff --git a/src/main/java/net/sf/sitemonitoring/service/UpgradeService.java b/src/main/java/net/sf/sitemonitoring/service/UpgradeService.java index 1714a79..f8ba0fc 100644 --- a/src/main/java/net/sf/sitemonitoring/service/UpgradeService.java +++ b/src/main/java/net/sf/sitemonitoring/service/UpgradeService.java @@ -116,6 +116,11 @@ public void upgradeDatabase(Configuration configuration) { configurationService.saveExcludingPassword(configuration); configuration = configurationService.find(); } + if (configuration.getMonitoringVersion().equals("2.2.0")) { + configuration.setMonitoringVersion("2.2.1"); + configurationService.saveExcludingPassword(configuration); + configuration = configurationService.find(); + } } private void update(String sql) { diff --git a/src/main/webapp/admin/checks.xhtml b/src/main/webapp/admin/checks.xhtml index ccfe2a6..d94b6e5 100644 --- a/src/main/webapp/admin/checks.xhtml +++ b/src/main/webapp/admin/checks.xhtml @@ -83,10 +83,7 @@ - - - - + #{check.name} diff --git a/src/main/webapp/admin/dashboard.xhtml b/src/main/webapp/admin/dashboard.xhtml index 7d65bfc..15cfc64 100644 --- a/src/main/webapp/admin/dashboard.xhtml +++ b/src/main/webapp/admin/dashboard.xhtml @@ -2,7 +2,8 @@ xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:p="http://primefaces.org/ui" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" - xmlns:f="http://xmlns.jcp.org/jsf/core"> + xmlns:f="http://xmlns.jcp.org/jsf/core" + xmlns:components="http://xmlns.jcp.org/jsf/composite/components"> @@ -13,26 +14,43 @@ -
+

Quick overview:

-

Quick overview:

- - - - - - - #{dashboardController.successCount()} - - - - - - #{dashboardController.failureCount()} - - -
+ + + + + + #{dashboardController.successCount()}x + + + + + #{dashboardController.failureCount()}x + + + + +

All errors:

+ + + + + + + #{checkWithResult.check.name}: + + + #{checkWithResult.check.name}: + + + #{checkWithResult.checkResultDto.result} +
+
+
+
+
\ No newline at end of file diff --git a/src/main/webapp/resources/components/check-icon.xhtml b/src/main/webapp/resources/components/check-icon.xhtml new file mode 100644 index 0000000..8d66d27 --- /dev/null +++ b/src/main/webapp/resources/components/check-icon.xhtml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/template.xhtml b/src/main/webapp/template.xhtml index eaaf338..f5d18e9 100644 --- a/src/main/webapp/template.xhtml +++ b/src/main/webapp/template.xhtml @@ -22,21 +22,9 @@
- + - - - - - - - - - - - - - +