protected void destroySession() { //Release existing SessionPresenter editorSessionPresenter.ifPresent(session -> { session.destroy(); editorSessionPresenter = Optional.empty(); }); viewerSessionPresenter.ifPresent(session -> { session.destroy(); viewerSessionPresenter = Optional.empty(); }); editorSessionPresenterInstances.destroyAll(); viewerSessionPresenterInstances.destroyAll(); }
protected void openSession(final ProjectDiagram diagram) { editorSessionPresenter = Optional.of(newSessionEditorPresenter()); editorSessionPresenter.get() .open(diagram, new SessionPresenter.SessionPresenterCallback<Diagram>() { @Override public void afterSessionOpened() { } @Override public void afterCanvasInitialized() { } @Override public void onSuccess() { initialiseKieEditorForSession(diagram); menuSessionItems.bind(getSession()); } @Override public void onError(final ClientRuntimeError error) { onLoadError(error); } }); }
private boolean isSameContext(final AbstractCanvasHandlerEvent event) { final AbstractCanvasHandler sessionHandlerContext = (AbstractCanvasHandler) event.getCanvasHandler(); return null != getHandler() && getHandler().equals(sessionHandlerContext); }
void onRequestSessionRefreshEvent(final @Observes RequestSessionRefreshEvent event) { getSession().ifPresent(session -> { if (session.getSessionUUID().equals(event.getSessionUUID())) { refresh(); } }); }
sessionEditorPresenters = new ManagedInstanceStub<>(sessionEditorPresenter); sessionViewerPresenters = new ManagedInstanceStub<>(sessionViewerPresenter); when(sessionEditorPresenter.getInstance()).thenReturn(editorSession); when(sessionEditorPresenter.withToolbar(anyBoolean())).thenReturn(sessionEditorPresenter); when(sessionEditorPresenter.withPalette(anyBoolean())).thenReturn(sessionEditorPresenter); when(sessionEditorPresenter.displayNotifications(any(Predicate.class))).thenReturn(sessionEditorPresenter); when(sessionEditorPresenter.getView()).thenReturn(sessionPresenterView); doAnswer(invocation -> { Diagram diagram1 = (Diagram) invocation.getArguments()[0]; callback.onSuccess(); return null; }).when(sessionEditorPresenter).open(any(Diagram.class), any(SessionPresenter.SessionPresenterCallback.class)); when(sessionViewerPresenter.getInstance()).thenReturn(viewerSession);
@Test @SuppressWarnings("unchecked") public void testOpen() { Overview overview = open(); verify(view).showLoading(); verify(view).setWidget(eq(sessionPresenterView)); verify(sessionEditorPresenter).withToolbar(eq(false)); verify(sessionEditorPresenter).withPalette(eq(true)); verify(sessionEditorPresenter).open(eq(diagram), any(SessionPresenter.SessionPresenterCallback.class)); verify(presenter).setOriginalHash(anyInt()); verify(view).hideBusyIndicator(); //Verify Overview widget was setup. It'd be nice to just verify(presenter).resetEditorPages(..) but it is protected verify(overviewWidget).setContent(eq(overview), eq(filePath)); verify(kieView).clear(); verify(kieView).addMainEditorPage(eq(view)); verify(kieView).addOverviewPage(eq(overviewWidget), any(com.google.gwt.user.client.Command.class)); verify(presenter).onDiagramLoad(); }
protected SessionEditorPresenter<EditorSession> newSessionEditorPresenter() { final SessionEditorPresenter<EditorSession> presenter = (SessionEditorPresenter<EditorSession>) editorSessionPresenterInstances.get() .withToolbar(false) .withPalette(true) .displayNotifications(type -> true); getView().setWidget(presenter.getView()); return presenter; }
void onScreenMinimizedEvent(@Observes ScreenMinimizedEvent event) { getPalette().onScreenMinimized(event); }
@Override public void refresh() { super.refresh(); getSession().ifPresent(SessionEditorPresenter::clearSelection); }
private void refreshOnEvent(final AbstractCanvasHandlerEvent event) { if (isSameContext(event)) { editor.getCanvasPanel().refresh(); } }
when(sessionItems.getCommands()).thenReturn(editorSessionCommands); when(editorSessionCommands.getValidateSessionCommand()).thenReturn(sessionValidateCommand); when(sessionEditorPresenter.getInstance()).thenReturn(fullSession); when(sessionEditorPresenter.withToolbar(anyBoolean())).thenReturn(sessionEditorPresenter); when(sessionEditorPresenter.withPalette(anyBoolean())).thenReturn(sessionEditorPresenter); when(sessionEditorPresenter.displayNotifications(any())).thenReturn(sessionEditorPresenter); when(sessionEditorPresenter.getView()).thenReturn(presenterView); doAnswer(new Answer() { @Override return null; }).when(sessionEditorPresenter).open(any(Diagram.class), any(SessionPresenter.SessionPresenterCallback.class)); when(diagram.getMetadata()).thenReturn(metadata);
void onScreenMaximizedEvent(@Observes ScreenMaximizedEvent event) { getPalette().onScreenMaximized(event); }
@Test @SuppressWarnings("unchecked") public void testCloseEditor() { SessionPresenter sessionPresenter = mock(SessionPresenter.class); presenter.setEditorSessionPresenter(sessionEditorPresenter); presenter.doClose(); verify(getMenuSessionItems(), times(1)).destroy(); verify(sessionEditorPresenter, times(1)).destroy(); verify(sessionPresenter, never()).clear(); }