Browse Source

added sorting for email report

Lukas Cerny 4 years ago
parent
commit
cfe648ed6f

+ 8 - 0
src/main/java/cz/senslog/watchdog/domain/SimpleReport.java

@@ -19,4 +19,12 @@ public class SimpleReport {
     public StatusReport getStatus() {
     public StatusReport getStatus() {
         return status;
         return status;
     }
     }
+
+    @Override
+    public String toString() {
+        return "SimpleReport{" +
+                "record=" + record +
+                ", status=" + status +
+                '}';
+    }
 }
 }

+ 3 - 1
src/main/java/cz/senslog/watchdog/messagebroker/email/EmailMessageBroker.java

@@ -67,6 +67,8 @@ public class EmailMessageBroker implements MessageBroker {
 
 
         String reportedTime = report.getCreated().format(ofPattern("yyyy-MM-dd HH:mm:ss"));
         String reportedTime = report.getCreated().format(ofPattern("yyyy-MM-dd HH:mm:ss"));
         final String rowStyle = "border: 1px solid #dddddd; text-align: left; padding: 8px;";
         final String rowStyle = "border: 1px solid #dddddd; text-align: left; padding: 8px;";
+
+        report.getReports().sort(Comparator.comparing(SimpleReport::getStatus).reversed());
         for (SimpleReport simpleReport : report.getReports()) {
         for (SimpleReport simpleReport : report.getReports()) {
             if (simpleReport.getRecord() instanceof ObservationInfo) {
             if (simpleReport.getRecord() instanceof ObservationInfo) {
                 ObservationInfo observation = (ObservationInfo)simpleReport.getRecord();
                 ObservationInfo observation = (ObservationInfo)simpleReport.getRecord();
@@ -76,7 +78,7 @@ public class EmailMessageBroker implements MessageBroker {
                 String unitCell = String.format("%s (%s)", source.getUnit().getName(), source.getUnit().getId());
                 String unitCell = String.format("%s (%s)", source.getUnit().getName(), source.getUnit().getId());
                 String sensorCell = String.format("%s (%s)", source.getSensor().getName(), source.getSensor().getId());
                 String sensorCell = String.format("%s (%s)", source.getSensor().getName(), source.getSensor().getId());
 
 
-                tableWriter.row(rowStyle + (isOk ? "background-color: #CCFFCC" : "background-color: #FFCCCC"))
+                tableWriter.row(rowStyle + "background-color: " + (isOk ? "#CCFFCC" : "#FFCCCC"))
                             .cell(unitCell, rowStyle)
                             .cell(unitCell, rowStyle)
                             .cell(sensorCell, rowStyle)
                             .cell(sensorCell, rowStyle)
                             .cell(observation.getTimestamp().toString(), rowStyle)
                             .cell(observation.getTimestamp().toString(), rowStyle)

+ 0 - 1
src/test/java/cz/senslog/watchdog/messagebroker/email/EmailMessageBrokerTest.java

@@ -9,6 +9,5 @@ class EmailMessageBrokerTest {
     @Test
     @Test
     void send() throws IOException {
     void send() throws IOException {
 
 
-
     }
     }
 }
 }