public ResourceType getResourceType(String activityId) { Activity activity = activityManager.getActivity(new DefaultPlaceRequest(activityId), false); if (activity != null) { if (activity instanceof PerspectiveActivity) { return PERSPECTIVE; } if (activity instanceof WorkbenchScreenActivity) { return SCREEN; } if (activity instanceof WorkbenchEditorActivity) { return EDITOR; } if (activity instanceof SplashScreenActivity) { return EDITOR; } if (activity instanceof PopupActivity) { return POPUP; } } return ResourceType.UNKNOWN; } }
public ResourceType getResourceType(String activityId) { Activity activity = activityManager.getActivity(new DefaultPlaceRequest(activityId), false); if (activity != null) { if (activity instanceof PerspectiveActivity) { return PERSPECTIVE; } if (activity instanceof WorkbenchScreenActivity) { return SCREEN; } if (activity instanceof WorkbenchEditorActivity) { return EDITOR; } if (activity instanceof SplashScreenActivity) { return EDITOR; } if (activity instanceof PopupActivity) { return POPUP; } } return ResourceType.UNKNOWN; } }
@Before public void setUp() { when(mockPerspectiveManager.getLivePerspectiveDefinition()).thenReturn(panelManagerPerspectiveDefinition); panelManagerPerspectiveDefinition.setContextDefinition(perspectiveContextDefinition); when(mockActivityManager.getActivity(ContextActivity.class, perspectiveContextDefinition.getPlace())).thenReturn(perspectiveContextActivity); when(mockPartView.getPresenter()).thenReturn(mockPartPresenter); when(mockPartPresenter.getDefinition()).thenReturn(partPresenterPartDefinition); }
@Before public void setUp() { when(mockPerspectiveManager.getLivePerspectiveDefinition()).thenReturn(panelManagerPerspectiveDefinition); panelManagerPerspectiveDefinition.setContextDefinition(perspectiveContextDefinition); when(mockActivityManager.getActivity(ContextActivity.class, perspectiveContextDefinition.getPlace())).thenReturn(perspectiveContextActivity); when(mockPartView.getPresenter()).thenReturn(mockPartPresenter); when(mockPartPresenter.getDefinition()).thenReturn(partPresenterPartDefinition); }
private void buildPerspectiveContext() { final ContextDefinition contextDefinition = perspectiveManager.getLivePerspectiveDefinition().getContextDefinition(); final ContextDisplayMode contextDisplayMode = perspectiveManager.getLivePerspectiveDefinition().getContextDisplayMode(); if (contextDefinition != null && contextDisplayMode == SHOW) { final ContextActivity activity = activityManager.getActivity(ContextActivity.class, contextDefinition.getPlace()); if (activity != null) { perspectiveContext = activity; } } }
@Test public void knownContextualPartsShouldResolveToTheirOwnContext() throws Exception { AbstractMultiPartWorkbenchPanelPresenter<?> presenter = getPresenterToTest(); final ContextActivity myContextActivity = mock(ContextActivity.class); when(mockActivityManager.getActivity(ContextActivity.class, new DefaultPlaceRequest("myContextId"))).thenReturn(myContextActivity); presenter.addPart(mockPartPresenter, "myContextId"); final ContextActivity resolvedContextActivity = presenter.resolveContext(partPresenterPartDefinition); assertSame(myContextActivity, resolvedContextActivity); }
public void onPerspectiveChange(final PerspectiveChange perspectiveChange) { final Activity activity = activityManager.getActivity(perspectiveChange.getPlaceRequest()); if (activity != null && activity.isType(ActivityResourceType.PERSPECTIVE.name())) { addPerspectiveMenus((PerspectiveActivity) activity); } view.selectMenuItem(perspectiveChange.getPlaceRequest().getIdentifier()); }
public void onPerspectiveChange(final PerspectiveChange perspectiveChange) { final Activity activity = activityManager.getActivity(perspectiveChange.getPlaceRequest()); if (activity != null && activity.isType(ActivityResourceType.PERSPECTIVE.name())) { addPerspectiveMenus((PerspectiveActivity) activity); } selectMenuItem(perspectiveChange.getPlaceRequest().getIdentifier()); }
@Test public void knownContextualPartsShouldResolveToTheirOwnContext() throws Exception { AbstractMultiPartWorkbenchPanelPresenter<?> presenter = getPresenterToTest(); final ContextActivity myContextActivity = mock(ContextActivity.class); when(mockActivityManager.getActivity(ContextActivity.class, new DefaultPlaceRequest("myContextId"))).thenReturn(myContextActivity); presenter.addPart(mockPartPresenter, "myContextId"); final ContextActivity resolvedContextActivity = presenter.resolveContext(partPresenterPartDefinition); assertSame(myContextActivity, resolvedContextActivity); }
@Test public void testSetupEnableDisableContextMenuItem() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(view).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(view, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(view).enableContextMenuItem(anyString(), eq(false)); }
@Test public void testAddContextMenuWithoutPermission() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(false); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(presenter, never()).addContextMenuItem(anyString(), anyString(), anyString(), anyString(), any(Command.class), any(MenuPosition.class)); }
@Test public void testSetupEnableDisableContextMenuItem() { final String contextLabel = "contextLabel"; final String perspectiveId = "perspectiveId"; final Menus contextMenus = MenuFactory.newSimpleItem(contextLabel).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(perspectiveId); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, perspectiveId)); verify(presenter).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(presenter, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(presenter).enableContextMenuItem(anyString(), eq(false)); }
@Test public void presenterShouldFreeRemovedParts() throws Exception { AbstractMultiPartWorkbenchPanelPresenter<?> presenter = getPresenterToTest(); ContextActivity fakeContextActivity = mock(ContextActivity.class); when(mockActivityManager.getActivity(eq(ContextActivity.class), any(PlaceRequest.class))).thenReturn(fakeContextActivity); presenter.addPart(mockPartPresenter, "randomContextId"); presenter.removePart(mockPartPresenter.getDefinition()); // if the part we added and removed is now unknown, we should get the perspective's context assertSame(perspectiveContextActivity, presenter.resolveContext(mockPartView.getPresenter().getDefinition())); }
@Test public void testSetupEnableDisableContextMenuItem() { final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(view).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(view, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(view).enableContextMenuItem(anyString(), eq(false)); }
@Test public void testAddContextMenuWithPermission() { final MenuPosition position = MenuPosition.LEFT; final Menus contextMenus = MenuFactory.newSimpleItem(NAME).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(PERSPECTIVE_ID); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, PERSPECTIVE_ID)); verify(authzManager).authorize(contextMenus.getItems().get(0), identity); verify(view).clearContextMenu(); verify(presenter).addContextMenuItem(eq(PERSPECTIVE_ID), anyString(), eq(NAME), isNull(String.class), any(Command.class), eq(position)); }
@Test public void presenterShouldFreeRemovedParts() throws Exception { AbstractMultiPartWorkbenchPanelPresenter<?> presenter = getPresenterToTest(); ContextActivity fakeContextActivity = mock(ContextActivity.class); when(mockActivityManager.getActivity(eq(ContextActivity.class), any(PlaceRequest.class))).thenReturn(fakeContextActivity); presenter.addPart(mockPartPresenter, "randomContextId"); presenter.removePart(mockPartPresenter.getDefinition()); // if the part we added and removed is now unknown, we should get the perspective's context assertSame(perspectiveContextActivity, presenter.resolveContext(mockPartView.getPresenter().getDefinition())); }
@Test public void testSetupEnableDisableContextMenuItem() { final String contextLabel = "contextLabel"; final String perspectiveId = "perspectiveId"; final Menus contextMenus = MenuFactory.newSimpleItem(contextLabel).endMenu().build(); final PerspectiveActivity activity = mock(PerspectiveActivity.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); when(activity.getIdentifier()).thenReturn(perspectiveId); when(activity.getMenus()).thenReturn(contextMenus); when(activity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); when(authzManager.authorize(contextMenus.getItems().get(0), identity)).thenReturn(true); when(activityManager.getActivity(placeRequest)).thenReturn(activity); presenter.onPerspectiveChange(new PerspectiveChange(placeRequest, null, contextMenus, perspectiveId)); verify(presenter).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(true); verify(presenter, times(2)).enableContextMenuItem(anyString(), eq(true)); contextMenus.getItems().get(0).setEnabled(false); verify(presenter).enableContextMenuItem(anyString(), eq(false)); }
@Override public void setDefinition(final PanelDefinition definition) { super.setDefinition(definition); final ContextDisplayMode perspectiveContextDisplayMode = perspectiveManager.getLivePerspectiveDefinition().getContextDisplayMode(); if (definition.getContextDefinition() != null && perspectiveContextDisplayMode == SHOW && definition.getContextDisplayMode() == SHOW) { final ContextActivity activity = activityManager.getActivity(ContextActivity.class, definition.getContextDefinition().getPlace()); if (activity != null) { panelContext = activity; } } buildPerspectiveContext(); }
/** * If there is a panel context, it overrides the perspective context. */ @Test public void unknownPartsShouldResolveToPanelContextWhenThereIsOne() throws Exception { AbstractMultiPartWorkbenchPanelPresenter<?> presenter = getPresenterToTest(); ContextDefinition panelContextDefinition = new ContextDefinitionImpl(new DefaultPlaceRequest("panelDefinition")); ContextActivity panelContextActivity = mock(ContextActivity.class); when(mockActivityManager.getActivity(ContextActivity.class, new DefaultPlaceRequest("panelDefinition"))).thenReturn(panelContextActivity); panelPresenterPanelDefinition.setContextDefinition(panelContextDefinition); presenter.setDefinition(panelPresenterPanelDefinition); final ContextActivity resolvedContextActivity = presenter.resolveContext(new PartDefinitionImpl(new DefaultPlaceRequest("randomUnknownPlace"))); assertSame(panelContextActivity, resolvedContextActivity); }
/** * If there is a panel context, it overrides the perspective context. */ @Test public void unknownPartsShouldResolveToPanelContextWhenThereIsOne() throws Exception { AbstractMultiPartWorkbenchPanelPresenter<?> presenter = getPresenterToTest(); ContextDefinition panelContextDefinition = new ContextDefinitionImpl(new DefaultPlaceRequest("panelDefinition")); ContextActivity panelContextActivity = mock(ContextActivity.class); when(mockActivityManager.getActivity(ContextActivity.class, new DefaultPlaceRequest("panelDefinition"))).thenReturn(panelContextActivity); panelPresenterPanelDefinition.setContextDefinition(panelContextDefinition); presenter.setDefinition(panelPresenterPanelDefinition); final ContextActivity resolvedContextActivity = presenter.resolveContext(new PartDefinitionImpl(new DefaultPlaceRequest("randomUnknownPlace"))); assertSame(panelContextActivity, resolvedContextActivity); }