/** * 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); }
public PerspectiveDefinition buildPerspective() { final PerspectiveDefinition perspectiveDefinition = new PerspectiveDefinitionImpl(getDefaultPanelType()); perspectiveDefinition.setName(getId()); final String contextId = getContextId(); if (contextId != null) { perspectiveDefinition.setContextDefinition(new ContextDefinitionImpl(new DefaultPlaceRequest(contextId))); } perspectiveDefinition.setContextDisplayMode(getContextDisplayMode()); final JSPanelDefinition view = getView(obj); final JsArray<JSPartDefinition> parts = view.getParts(); final JsArray<JSPanelDefinition> panels = view.getChildren(); final PanelDefinition root = perspectiveDefinition.getRoot(); buildParts(root, parts); buildPanels(root, panels); return perspectiveDefinition; }
ContextDisplayMode.SHOW)); if (activePanelDef.getContextId() != null) { newPanel.setContextDefinition(new ContextDefinitionImpl(new DefaultPlaceRequest(activePanelDef.getContextId())));
private void buildParts(final PanelDefinition panel, final JsArray<JSPartDefinition> parts) { if (parts != null) { for (int i = 0; i < parts.length(); i++) { final JSPartDefinition part = parts.get(i); final PlaceRequest placeRequest = new DefaultPlaceRequest(part.getPlaceName()); if (part.getParameters() != null) { final JSONObject json = new JSONObject(part.getParameters()); for (final String key : json.keySet()) { placeRequest.addParameter(key, json.get(key).isString().stringValue()); } } final PartDefinition partDefinition = new PartDefinitionImpl(placeRequest); partDefinition.setContextDisplayMode(JSNativePerspective.this.getContextDisplayMode(part.getContextDisplayModeAsString(), ContextDisplayMode.SHOW)); if (part.getContextId() != null) { partDefinition.setContextDefinition(new ContextDefinitionImpl(new DefaultPlaceRequest(part.getContextId()))); } panel.addPart(partDefinition); } } }