@Override public void execute() { perspectiveManager.savePerspectiveState(() -> { placeManager.closePlace(perspectiveManager.getCurrentPerspectivePlaceRequest(), () -> doRedirect(getRedirectURL())); }); // request.logout() happens as part of the redirected logout.jsp }
@Test public void logoutCommandTest() { final DefaultWorkbenchFeaturesMenusHelper.LogoutCommand logoutCommand = spy(menusHelper.new LogoutCommand()); logoutCommand.execute(); verify(perspectiveManager).savePerspectiveState(any(Command.class)); }
protected Command getSaveCloneCommand(final DisplayerEditorPopup displayerEditor) { return () -> { perspectiveCoordinator.editOff(); beanManager.destroyBean(displayerEditor); PanelDefinition panelDefinition = panelManager.getPanelForPlace(placeRequest); placeManager.goTo(createPlaceRequest(displayerEditor.getDisplayerSettings()), panelDefinition); perspectiveManager.savePerspectiveState(() -> {}); }; }
protected Command getSaveCloneCommand(final DisplayerEditorPopup displayerEditor) { return () -> { perspectiveCoordinator.editOff(); beanManager.destroyBean(displayerEditor); PanelDefinition panelDefinition = panelManager.getPanelForPlace(placeRequest); placeManager.goTo(createPlaceRequest(displayerEditor.getDisplayerSettings()), panelDefinition); perspectiveManager.savePerspectiveState(() -> {}); }; }
perspectiveManager.savePerspectiveState(new Command() { @Override public void execute() {
protected Command getSaveCommand(final DisplayerEditorPopup displayerEditor, final String currentTitle) { return () -> { // On save perspectiveCoordinator.editOff(); DisplayerSettings newSettings = displayerEditor.getDisplayerSettings(); if (!displayerSettings.equals(newSettings)) { String newTitle = newSettings.getTitle(); if (!currentTitle.equals(newTitle)) { changeTitleEvent.fire(new ChangeTitleWidgetEvent(placeRequest, newSettings.getTitle())); } PanelDefinition panelDefinition = panelManager.getPanelForPlace(placeRequest); beanManager.destroyBean(displayerEditor); placeManager.goTo(createPlaceRequest(newSettings), panelDefinition); placeManager.closePlace(placeRequest); perspectiveManager.savePerspectiveState(() -> {}); } }; }
final ArgumentCaptor<String> redirectURLCaptor = ArgumentCaptor.forClass(String.class); verify(perspectiveManager).savePerspectiveState(postSaveStateCommandCaptor.capture());
@Test public void testSwitchingFromPerspectiveToSelf() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(ozPerspectiveActivity.getIdentifier()).thenReturn("oz_perspective"); // we'll pretend we started in oz when(perspectiveManager.getCurrentPerspective()).thenReturn(ozPerspectiveActivity); final BiParameterizedCommand<Command, PlaceRequest> closeChain = mock(BiParameterizedCommand.class); placeManager.registerPerspectiveCloseChain("oz_perspective", closeChain); placeManager.goTo(ozPerspectivePlace); verify(closeChain, never()).execute(any(), any()); // verify no side effects (should stay put) verify(ozPerspectiveActivity, never()).onOpen(); verify(perspectiveManager, never()).savePerspectiveState(any(Command.class)); verify(perspectiveManager, never()) .switchToPerspective(any(PlaceRequest.class), any(PerspectiveActivity.class), any(ParameterizedCommand.class)); }
@Test public void testSwitchingFromPerspectiveToSelf() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(ozPerspectiveActivity.getIdentifier()).thenReturn("oz_perspective"); // we'll pretend we started in oz when(perspectiveManager.getCurrentPerspective()).thenReturn(ozPerspectiveActivity); final BiParameterizedCommand<Command, PlaceRequest> closeChain = mock(BiParameterizedCommand.class); placeManager.registerPerspectiveCloseChain("oz_perspective", closeChain); placeManager.goTo(ozPerspectivePlace); verify(closeChain, never()).execute(any(), any()); // verify no side effects (should stay put) verify(ozPerspectiveActivity, never()).onOpen(); verify(perspectiveManager, never()).savePerspectiveState(any(Command.class)); verify(perspectiveManager, never()) .switchToPerspective(any(PlaceRequest.class), any(PerspectiveActivity.class), any(ParameterizedCommand.class)); }
protected Command getSaveCommand(final DisplayerEditorPopup displayerEditor, final String currentTitle) { return () -> { // On save perspectiveCoordinator.editOff(); DisplayerSettings newSettings = displayerEditor.getDisplayerSettings(); if (!displayerSettings.equals(newSettings)) { String newTitle = newSettings.getTitle(); if (!currentTitle.equals(newTitle)) { changeTitleEvent.fire(new ChangeTitleWidgetEvent(placeRequest, newSettings.getTitle())); } PanelDefinition panelDefinition = panelManager.getPanelForPlace(placeRequest); beanManager.destroyBean(displayerEditor); placeManager.goTo(createPlaceRequest(newSettings), panelDefinition); placeManager.closePlace(placeRequest); perspectiveManager.savePerspectiveState(() -> {}); } }; }
verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity),
verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity),
/** * Tests the basics of launching a perspective. We call it "empty" because this perspective doesn't have any panels * or parts in its definition. */ @Test public void testLaunchingEmptyPerspective() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); placeManager.goTo(ozPerspectivePlace); // verify perspective changed to oz verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity), any(ParameterizedCommand.class)); verify(ozPerspectiveActivity).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(ozPerspectivePlace)); assertTrue(placeManager.getActivePlaceRequests().contains(ozPerspectivePlace)); assertEquals(ozPerspectiveActivity, placeManager.getActivity(ozPerspectivePlace)); verify(workbenchLayout).onResize(); }
return null; }).when(perspectiveManager).savePerspectiveState(any(Command.class)); doReturn(new DefaultPlaceRequest("lastPlaceRequest")) .when(defaultPerspective).getPlace();
/** * Tests the basics of launching a perspective. We call it "empty" because this perspective doesn't have any panels * or parts in its definition. */ @Test public void testLaunchingEmptyPerspective() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); placeManager.goTo(ozPerspectivePlace); // verify perspective changed to oz verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity), any(ParameterizedCommand.class)); verify(ozPerspectiveActivity).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(ozPerspectivePlace)); assertTrue(placeManager.getActivePlaceRequests().contains(ozPerspectivePlace)); assertEquals(ozPerspectiveActivity, placeManager.getActivity(ozPerspectivePlace)); verify(workbenchLayout).onResize(); }
return null; }).when(perspectiveManager).savePerspectiveState(any(Command.class)); doReturn(new DefaultPlaceRequest("lastPlaceRequest")) .when(defaultPerspective).getPlace();
verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager) .switchToPerspective(any(PlaceRequest.class),
verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager) .switchToPerspective(any(PlaceRequest.class),