/** * Fire UI initialization event to all registered {@link UIInitListener}s. * * @param ui * the initialized {@link UI} */ public void fireUIInitListeners(UI ui) { UIInitEvent initEvent = new UIInitEvent(ui, this); uiInitListeners.forEach(listener -> listener.uiInit(initEvent)); }
@Override public void serviceInit(ServiceInitEvent event) { // Session event.getSource().addSessionInitListener(e -> { // DeviceInfo registry is available if (e.getSession().getAttribute(DeviceInfoRegistry.class) == null) { e.getSession().setAttribute(DeviceInfoRegistry.class, new DefaultDeviceInfoRegistry()); } }); // UI init event.getSource().addUIInitListener(e -> { if (e.getUI().getSession() != null) { // configure DeviceInfo final DeviceInfoRegistry registry = e.getUI().getSession().getAttribute(DeviceInfoRegistry.class); if (registry != null && !registry.hasDeviceInfo(e.getUI())) { final VaadinRequest request = VaadinRequest.getCurrent(); if (request != null) { registry.setDeviceInfo(e.getUI(), DeviceInfo.create(e.getUI(), request)); // log LOGGER.debug(() -> "A DeviceInfo was configured for UI with id [" + e.getUI().getUIId() + "]"); } } } }); }
@Override public void serviceInit(ServiceInitEvent event) { event.getSource().addUIInitListener(e -> { e.getUI().addBeforeEnterListener(new SecuredRouteBeforeEnterListener()); LOGGER.debug(() -> "Secured route before enter listener setted up"); }); }