public void messageFromCloud()

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
            }
        }
    }