@Override public String toString() { return "SelectPlaceEvent [place=" + getPlace() + "]"; } }
private void launchWorkbenchActivityAtPosition(final PlaceRequest place, final WorkbenchActivity activity, final Position position, final PanelDefinition _panel) { if (visibleWorkbenchParts.containsKey(place)) { selectWorkbenchPartEvent.fire(new SelectPlaceEvent(place)); return; } final PartDefinition part = new PartDefinitionImpl(place); final PanelDefinition panel; if (_panel != null) { panel = _panel; } else { panel = panelManager.addWorkbenchPanel(panelManager.getRoot(), position, activity.preferredHeight(), activity.preferredWidth(), null, null); } launchWorkbenchActivityInPanel(place, activity, part, panel); }
@Test public void testLaunchExistingActivityInCustomPanelInsideHTMLElement() throws Exception { HTMLElement customContainer = mock(HTMLElement.class); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(kansas, customContainer); verify(panelManager, never()) .addCustomPanel(customContainer, StaticWorkbenchPanelPresenter.class.getName()); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); }
protected void refreshOnFocus(@Observes final SelectPlaceEvent selectPlaceEvent) { final PlaceRequest place = selectPlaceEvent.getPlace(); if (workspaceProject != null && workspaceProject.getMainModule() != null && place.getIdentifier().equals(LibraryPlaces.PROJECT_SCREEN)) { this.update(); } }
@Test public void testLaunchExistingActivityInCustomPanel() throws Exception { HasWidgets customContainer = mock(HasWidgets.class); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(kansas, customContainer); verify(panelManager, never()) .addCustomPanel(customContainer, StaticWorkbenchPanelPresenter.class.getName()); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); }
public void onDetailsOpen(@Observes SelectPlaceEvent event) { if(event.getPlace().getIdentifier().equals(getDetailsScreenId())){ uberfireDocks.hide(UberfireDockPosition.WEST, getPerspectiveId()); } }
@Test public void testLaunchExistingActivityInCustomPanelInsideHTMLElement() throws Exception { HTMLElement customContainer = mock(HTMLElement.class); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(kansas, customContainer); verify(panelManager, never()) .addCustomPanel(customContainer, StaticWorkbenchPanelPresenter.class.getName()); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); }
void onSelectPlaceEvent(@Observes SelectPlaceEvent event) { final PlaceRequest place = event.getPlace(); // TODO (hbraun): PanelDefinition is not distinct (missing hashcode) for (Map.Entry<PanelDefinition, WorkbenchPanelPresenter> e : new HashSet<>(mapPanelDefinitionToPresenter.entrySet())) { WorkbenchPanelPresenter panelPresenter = e.getValue(); for (PartDefinition part : ensureIterable(panelPresenter.getDefinition().getParts())) { if (part.getPlace().asString().equals(place.asString())) { panelPresenter.selectPart(part); onPanelFocus(e.getKey()); } } } }
@Test public void testLaunchExistingActivityInCustomPanel() throws Exception { HasWidgets customContainer = mock(HasWidgets.class); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(kansas, customContainer); verify(panelManager, never()) .addCustomPanel(customContainer, StaticWorkbenchPanelPresenter.class.getName()); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); }
@Test public void updateNotTheCorrectPlace() throws Exception { final WorkspaceProject workspaceProject = mock(WorkspaceProject.class); doReturn(workspaceProject).when(libraryPlaces).getActiveWorkspace(); doReturn(mock(KieModule.class)).when(workspaceProject).getMainModule(); populatedAssetsScreen.init(); final SelectPlaceEvent selectPlaceEvent = mock(SelectPlaceEvent.class); doReturn(PlaceRequest.NOWHERE).when(selectPlaceEvent).getPlace(); populatedAssetsScreen.refreshOnFocus(selectPlaceEvent); verify(populatedAssetsScreen, never()).update(); }
@Test public void testGoToPlaceWeAreAlreadyAt() throws Exception { when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(kansas, (PanelDefinition) null); // note "refEq" tests equality field by field using reflection. don't read it as "reference equals!" :) verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); }
@Test public void updateDoUpdate() throws Exception { doNothing().when(populatedAssetsScreen).update(); final WorkspaceProject workspaceProject = mock(WorkspaceProject.class); doReturn(workspaceProject).when(libraryPlaces).getActiveWorkspace(); doReturn(mock(KieModule.class)).when(workspaceProject).getMainModule(); populatedAssetsScreen.init(); final SelectPlaceEvent selectPlaceEvent = mock(SelectPlaceEvent.class); final PlaceRequest placeRequest = mock(PlaceRequest.class); doReturn(LibraryPlaces.PROJECT_SCREEN).when(placeRequest).getIdentifier(); doReturn(placeRequest).when(selectPlaceEvent).getPlace(); populatedAssetsScreen.refreshOnFocus(selectPlaceEvent); verify(populatedAssetsScreen).update(); }
@Test public void testGoToPlaceWeAreAlreadyAt() throws Exception { when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(kansas, (PanelDefinition) null); // note "refEq" tests equality field by field using reflection. don't read it as "reference equals!" :) verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); }
@Test public void testGoToPartWeAreAlreadyAt() throws Exception { when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(new PartDefinitionImpl(kansas), null); // note "refEq" tests equality field by field using reflection. don't read it as "reference equals!" :) verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); }
@Test public void testGoToPartWeAreAlreadyAt() throws Exception { when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.goTo(new PartDefinitionImpl(kansas), null); // note "refEq" tests equality field by field using reflection. don't read it as "reference equals!" :) verify(selectWorkbenchPartEvent).fire(refEq(new SelectPlaceEvent(kansas))); verifyNoActivityLaunchSideEffects(kansas, kansasActivity); }
selectPlaceEvent.fire(new SelectPlaceEvent(place));
never()).fire(refEq(new SelectPlaceEvent(partPlace)));
never()).fire(refEq(new SelectPlaceEvent(partPlace)));
final PanelDefinition panel) { if (visibleWorkbenchParts.containsKey(place)) { selectWorkbenchPartEvent.fire(new SelectPlaceEvent(place)); return;
@Test public void addPartToRootPanelShouldWork() throws Exception { PlaceRequest rootPartPlace = new DefaultPlaceRequest("rootPartPlace"); PartDefinition rootPart = new PartDefinitionImpl(rootPartPlace); Menus rootPartMenus = MenuFactory.newContributedMenu("RootPartMenu").endMenu().build(); UIPart rootUiPart = new UIPart("RootUiPart", null, mock(IsWidget.class)); panelManager.addWorkbenchPart(rootPartPlace, rootPart, panelManager.getRoot(), rootPartMenus, rootUiPart, "rootContextId", 100, 200); // the presenter should have been created and configured for the rootPart verify(partPresenter).setWrappedWidget(rootUiPart.getWidget()); verify(partPresenter).setContextId("rootContextId"); // the panel manager should be aware of the place/part mapping for the added part assertEquals(rootPart, panelManager.getPartForPlace(rootPartPlace)); // the panel manager should select the place, firing a general notification verify(selectPlaceEvent).fire(refEq(new SelectPlaceEvent(rootPartPlace))); // the panel manager should have modified the panel or part definitions (this is the responsibility of the parent panel) assertEquals(null, rootPart.getParentPanel()); assertFalse(panelManager.getRoot().getParts().contains(rootPart)); }