public static <T extends UI> T getCurrent(Class<T> clazz) { final T ui = (T) UI.getCurrent(); if (ui == null || !ui.isAttached()) { throw new IllegalStateException("UI is either null or not attached. Ensure it is invoked from within a VaadinRequest"); } return ui; }
@Override public void messageCleared(final Message message) { if (ui.isAttached()) { ui.access(() -> eventBus.fireEvent(new MessageEvent(message, true))); } }
@Override public void messageSent(final Message message) { if (ui.isAttached()) { ui.access(() -> eventBus.fireEvent(new MessageEvent(message, false))); } }
@Override public void messageRemoved(final String id) { if (ui.isAttached()) { ui.access(() -> eventBus.fireEvent(new MessageEvent(id, true))); } } }
@Before public void setUp() { Context ctx = mock(Context.class); User usr = mock(User.class); when(ctx.getUser()).thenReturn(usr); when(usr.getName()).thenReturn("peter"); MgnlContext.setInstance(ctx); this.ui = mock(UI.class); doReturn(true).when(ui).isAttached(); doAnswer(invocation -> { final Runnable task = invocation.getArgumentAt(0, Runnable.class); task.run(); return null; }).when(ui).access(any(Runnable.class)); }
.filter(UI::isConnectorEnabled) .forEach(ui -> { if (ui.isAttached()) { ui.access(callback); } else {
public static ZoneId extractUserTimeZoneIdOrNull(final UI ui) { // Verify if a ui is provided, still attached and has a session if (ui != null && ui.isAttached() && ui.getSession() != null && ui.getSession().getSession() != null) { // Only the wrapped session has the attribute set, the VaadinSession does not! return (ZoneId) ui.getSession().getSession().getAttribute(CentralizedDateTimeFormat.SESSION_PROPERTY_TIMEZONE_ID); } return null; } }
@Before public void setUp() { this.context = mock(Context.class); User usr = mock(User.class); when(context.getUser()).thenReturn(usr); MgnlContext.setInstance(context); this.componentProvider = mock(ComponentProvider.class); when(componentProvider.getComponent(eq(SystemContext.class))).thenReturn(new MockContext()); this.eventBus = new SimpleEventBus(); this.events = new ArrayList<>(); final UI ui = mock(UI.class); doReturn(true).when(ui).isAttached(); doAnswer(invocation -> { final Runnable task = invocation.getArgumentAt(0, Runnable.class); task.run(); return null; }).when(ui).access(any(Runnable.class)); this.dispatcher = new LocalTaskDispatcher(eventBus, ui, context, componentProvider); eventBus.addHandler(TaskEvent.class, new CollectingTaskEventHandler(events)); }
@Override public void onTaskEvent(final TaskEvent taskEvent) { if (!ui.isAttached()) { return;