in functions/CDDLatencyDashboard/src/main/java/com/amazonaws/greengrass/cddlatencydashboard/vaadin/LatencyDashboardView.java [73:96]
public void messageFromCloud(ImmutableMessageFromCloudEvent immutableMessageFromCloudEvent) {
synchronized (LatencyDashboardView.class) {
try {
getUI().ifPresent(ui -> ui.access(() -> {
Latencies latencies = jsonHelper.fromJson(Latencies.class, immutableMessageFromCloudEvent.getMessage().getBytes());
latencyList.add(latencies);
if (latencyGrid.getColumns().size() == 0) {
latencyGrid.removeAllColumns();
IntStream.range(0, latencies.getLatencies().size())
.forEachOrdered(index -> latencyGrid.addColumn(rowValue -> rowValue.getLatencies().get(index).getValue())
.setHeader(latencies.getLatencies().get(index).getName()));
}
latencyGrid.getDataProvider().refreshAll();
latencyGrid.scrollToEnd();
}));
} catch (UIDetachedException e) {
// Client probably disconnected, ignore
} catch (Exception e) {
// Do not throw exceptions in event bus subscriber methods
}
}
}