/******************************************************************************************************************* * * ******************************************************************************************************************/ @PostConstruct public void initialize() { log.info("initialize()"); presentation = presentationBuilder.getPresentation(); propertyRenderers.clear(); propertyRenderers.add(new LuminanceRenderer(presentation)); propertyRenderers.add(new TemperatureRenderer(presentation)); presentation.bind(startNewMeasurementAction, selectedPropertyRendereIndex); presentation.showWaitingOnDisplayList(); displayDiscoveryRequestor.start(new DisplayDiscoveryQueryMessage()); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ public void onDiscoveredDisplays (final @ListensTo @Nonnull DisplayDiscoveryMessage message) { log.info("onDiscoveredDisplays({})", message); displayDiscoveryRequestor.stop(); populateDisplays(message.findDisplays()); presentation.selectFirstDisplay(); presentation.hideWaitingOnDisplayList(); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ public void onArchivedMeasurementsNotified (final @ListensTo @Nonnull UniformityArchiveContentMessage message) { log.info("onArchivedMeasurementsNotified({})", message); archivedMeasurementsRequestor.stop(); populateMeasurementsArchive(message.findMeasurements()); presentation.hideWaitingOnMeasurementsArchive(); presentation.renderDisplayName(selectedDisplay.getDisplay().getDisplayName()); presentation.renderProfileName(selectedDisplay.getProfile().getName()); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ private void refreshPresentation() { if (selectedMeasurements != null) { propertyRenderers.get(selectedPropertyRendereIndex.getValue()).render(selectedMeasurements); presentation.renderDisplayName(selectedMeasurements.getDisplay().getDisplay().getDisplayName()); presentation.renderProfileName(selectedMeasurements.getDisplay().getProfile().getName()); } } }
/******************************************************************************************************************* * * ******************************************************************************************************************/ private void populateDisplays (final @Nonnull Finder<ProfiledDisplay> finder) { final Node presentationModel = new NodePresentationModel(new DefaultSimpleComposite<ProfiledDisplay>(finder)); presentation.populateDisplays(new LookupFilterDecoratorNode(presentationModel, displaysCapabilityInjectorLookupFilter)); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ private void populateMeasurementsArchive (final @Nonnull Finder<UniformityMeasurements> finder) { final Node pm = new NodePresentationModel(new DefaultSimpleComposite<UniformityMeasurements>(finder.sort(BY_DATE_TIME, DESCENDING))); presentation.populateMeasurementsArchive(new LookupFilterDecoratorNode(pm, measurementsCapabilityInjectorLookupFilter)); }
/******************************************************************************************************************* * * ******************************************************************************************************************/ public void render (@Nonnull UniformityMeasurements measurements) { final int columns = measurements.getColumns(); final int rows = measurements.getRows(); final UniformityMeasurement centerMeasurement = measurements.getAt(xy(columns / 2, rows / 2)); final String[][] s = new String[rows][columns]; for (int row = 0; row < rows; row++) { for (int column = 0; column < columns; column++) { s[row][column] = formatMeasurement(centerMeasurement, measurements.getAt(xy(column, row))); } } presentation.populateMeasurements(s); }