protected SessionViewerPresenter<ViewerSession> newSessionViewerPresenter() { final SessionViewerPresenter<ViewerSession> presenter = (SessionViewerPresenter<ViewerSession>) viewerSessionPresenterInstances.get() .withToolbar(false) .withPalette(false) .displayNotifications(type -> true); getView().setWidget(presenter.getView()); return presenter; }
protected void openReadOnlySession(final ProjectDiagram diagram) { viewerSessionPresenter = Optional.of(newSessionViewerPresenter()); viewerSessionPresenter.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); } }); }
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(); }
}).when(sessionEditorPresenter).open(any(Diagram.class), any(SessionPresenter.SessionPresenterCallback.class)); when(sessionViewerPresenter.getInstance()).thenReturn(viewerSession); when(sessionViewerPresenter.withToolbar(anyBoolean())).thenReturn(sessionViewerPresenter); when(sessionViewerPresenter.withPalette(anyBoolean())).thenReturn(sessionViewerPresenter); when(sessionViewerPresenter.displayNotifications(any(Predicate.class))).thenReturn(sessionViewerPresenter); when(sessionViewerPresenter.getView()).thenReturn(sessionPresenterView); doAnswer(invocation -> { Diagram diagram1 = (Diagram) invocation.getArguments()[0]; callback.onSuccess(); return null; }).when(sessionViewerPresenter).open(any(Diagram.class), any(SessionPresenter.SessionPresenterCallback.class)); when(versionRecordManager.getPathToLatest()).thenReturn(filePath);
@Test @SuppressWarnings("unchecked") public void testOpenReadOnly() { when(presenter.isReadOnly()).thenReturn(true); Overview overview = open(); verify(view).showLoading(); verify(presenter).setOriginalHash(anyInt()); verify(view).setWidget(eq(sessionPresenterView)); verify(sessionViewerPresenter).withToolbar(eq(false)); verify(sessionViewerPresenter).withPalette(eq(false)); 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(); assertEquals(sessionViewerPresenter, presenter.getSessionPresenter()); }