|
3 | 3 | <body> |
4 | 4 |
|
5 | 5 | <div th:fragment="alert-detail" |
6 | | - th:with="source=${alert.getSource()}, destination=${alert.getDestination()}"> |
| 6 | + th:with="source=${alert.getTarget()}, destination=${alert.getAdversary()}"> |
7 | 7 | <table> |
8 | 8 | <thead> |
9 | 9 | <tr> |
|
30 | 30 |
|
31 | 31 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
32 | 32 | th:if="${source != null && !#strings.isEmpty(source.getHost())}"> |
33 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Source Hostname:'"></td> |
| 33 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Target Hostname:'"></td> |
34 | 34 | <td style="vertical-align: top;" th:text="${source.getHost()}"></td> |
35 | 35 | </tr> |
36 | 36 |
|
37 | 37 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
38 | 38 | th:if="${source != null && !#strings.isEmpty(source.getIp())}"> |
39 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Source Ip:'"></td> |
| 39 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Target Ip:'"></td> |
40 | 40 | <td style="vertical-align: top;" th:text="${source.getIp()}"></td> |
41 | 41 | </tr> |
42 | 42 |
|
43 | 43 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
44 | 44 | th:if="${source != null && source.getPort() != null && source.getPort() > 0}"> |
45 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Source Port:'"></td> |
| 45 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Target Port:'"></td> |
46 | 46 | <td style="vertical-align: top;" th:text="${source.getPort()}"></td> |
47 | 47 | </tr> |
48 | 48 |
|
49 | 49 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
50 | 50 | th:if="${source != null && !#strings.isEmpty(source.getUser())}"> |
51 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Source User:'"></td> |
| 51 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Target User:'"></td> |
52 | 52 | <td style="vertical-align: top;" th:text="${source.getUser()}"></td> |
53 | 53 | </tr> |
54 | 54 |
|
55 | 55 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
56 | | - th:if="${source != null && !#strings.isEmpty(source.getCountry())}"> |
57 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Source Country:'"></td> |
58 | | - <td style="vertical-align: top;" th:text="${source.getCountry()}"></td> |
| 56 | + th:if="${source != null && source.getGeolocation() != null && !#strings.isEmpty(source.getGeolocation().getCountry())}"> |
| 57 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Target Country:'"></td> |
| 58 | + <td style="vertical-align: top;" th:text="${source.getGeolocation().getCountry()}"></td> |
59 | 59 | </tr> |
60 | 60 |
|
61 | 61 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
62 | | - th:if="${source != null && !#strings.isEmpty(source.getCity())}"> |
63 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Source City:'"></td> |
64 | | - <td style="vertical-align: top;" th:text="${source.getCity()}"></td> |
| 62 | + th:if="${source != null && source.getGeolocation() != null && !#strings.isEmpty(source.getGeolocation().getCity())}"> |
| 63 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Target City:'"></td> |
| 64 | + <td style="vertical-align: top;" th:text="${source.getGeolocation().getCity()}"></td> |
65 | 65 | </tr> |
66 | 66 |
|
67 | 67 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
68 | 68 | th:if="${destination != null && !#strings.isEmpty(destination.getHost())}"> |
69 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Destination Hostname:'"></td> |
| 69 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Adversary Hostname:'"></td> |
70 | 70 | <td style="vertical-align: top;" th:text="${destination.getHost()}"></td> |
71 | 71 | </tr> |
72 | 72 |
|
73 | 73 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
74 | 74 | th:if="${destination != null && !#strings.isEmpty(destination.getIp())}"> |
75 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Destination Ip:'"></td> |
| 75 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Adversary Ip:'"></td> |
76 | 76 | <td style="vertical-align: top;" th:text="${destination.getIp()}"></td> |
77 | 77 | </tr> |
78 | 78 |
|
79 | 79 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
80 | 80 | th:if="${destination != null && destination.getPort() != null && destination.getPort() > 0}"> |
81 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Destination Port:'"></td> |
| 81 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Adversary Port:'"></td> |
82 | 82 | <td style="vertical-align: top;" th:text="${destination.getPort()}"></td> |
83 | 83 | </tr> |
84 | 84 |
|
85 | 85 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
86 | 86 | th:if="${destination != null && !#strings.isEmpty(destination.getUser())}"> |
87 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Destination User:'"></td> |
| 87 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Adversary User:'"></td> |
88 | 88 | <td style="vertical-align: top;" th:text="${destination.getUser()}"></td> |
89 | 89 | </tr> |
90 | 90 |
|
91 | 91 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
92 | | - th:if="${destination != null && !#strings.isEmpty(destination.getCountry())}"> |
93 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Destination Country:'"></td> |
94 | | - <td style="vertical-align: top;" th:text="${destination.getCountry()}"></td> |
| 92 | + th:if="${destination != null && destination.getGeolocation() != null && !#strings.isEmpty(destination.getGeolocation().getCountry())}"> |
| 93 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Adversary Country:'"></td> |
| 94 | + <td style="vertical-align: top;" th:text="${destination.getGeolocation().getCountry()}"></td> |
95 | 95 | </tr> |
96 | 96 |
|
97 | 97 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
98 | | - th:if="${destination != null && !#strings.isEmpty(destination.getCity())}"> |
99 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Destination City:'"></td> |
100 | | - <td style="vertical-align: top;" th:text="${destination.getCity()}"></td> |
101 | | - </tr> |
102 | | - |
103 | | - <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
104 | | - th:if="${!#strings.isEmpty(alert.getProtocol())}"> |
105 | | - <td style="font-weight: bold;vertical-align: top;" th:text="'Protocol:'"></td> |
106 | | - <td style="vertical-align: top;" th:text="${alert.getProtocol()}"></td> |
| 98 | + th:if="${destination != null && destination.getGeolocation() != null && !#strings.isEmpty(destination.getGeolocation().getCity())}"> |
| 99 | + <td style="font-weight: bold;vertical-align: top;" th:text="'Adversary City:'"></td> |
| 100 | + <td style="vertical-align: top;" th:text="${destination.getGeolocation().getCity()}"></td> |
107 | 101 | </tr> |
108 | 102 |
|
109 | 103 | <tr style="font-family:Roboto, sans-serif;font-size: 13px" |
|
0 commit comments