@Override public void manageScenarioSimulationModelContent(ObservablePath currentPath, ScenarioSimulationModelContent toManage) { model = toManage.getModel(); oracle = oracleFactory.makeAsyncPackageDataModelOracle(currentPath, model, toManage.getDataModel()); }
@Override protected ScenarioSimulationModelContent constructContent(final Path path, final Overview overview) { final PackageDataModelOracle oracle = dataModelService.getDataModel(path); final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload(); final Set<String> consumedFQCNs = new HashSet<>(); //Get FQCN's used by Globals consumedFQCNs.addAll(oracle.getPackageGlobals().values()); //Get FQCN's of collections defined in project settings //they can be used in From Collect expressions consumedFQCNs.addAll(oracle.getModuleCollectionTypes() .entrySet() .stream() .filter(entry -> entry.getValue()) .map(entry -> entry.getKey()) .collect(Collectors.toSet())); DataModelOracleUtilities.populateDataModel(oracle, dataModel, consumedFQCNs); //Signal opening to interested parties resourceOpenedEvent.fire(new ResourceOpenedEvent(path, safeSessionInfo)); return new ScenarioSimulationModelContent(load(path), overview, dataModel); }
@Test public void loadContent() throws Exception { final ScenarioSimulationModelContent scenarioSimulationModelContent = service.loadContent(path); assertNotNull(scenarioSimulationModelContent); assertNotNull(scenarioSimulationModelContent.getDataModel()); assertNotNull(scenarioSimulationModelContent.getModel()); assertNotNull(scenarioSimulationModelContent.getOverview()); verify(resourceOpenedEvent).fire(any(ResourceOpenedEvent.class)); } }
@Override public void manageScenarioSimulationModelContent(ObservablePath currentPath, ScenarioSimulationModelContent toManage) { this.currentPath = currentPath.getOriginal(); model = toManage.getModel(); }
@Before public void setup() { super.setup(); when(oracleMock.getFQCNByFactName(FACT_NAME)).thenReturn(FULL_FACT_CLASSNAME); when(oracleFactoryMock.makeAsyncPackageDataModelOracle(observablePathMock, model, content.getDataModel())).thenReturn(oracleMock); this.dmoDataManagementStrategy = spy(new DMODataManagementStrategy(oracleFactoryMock) { { this.oracle = oracleMock; } }); }
private RemoteCallback<ScenarioSimulationModelContent> getModelSuccessCallback() { return content -> { //Path is set to null when the Editor is closed (which can happen before async calls complete). if (versionRecordManager.getCurrentPath() == null) { return; } packageName = content.getDataModel().getPackageName(); resetEditorPages(content.getOverview()); if(ScenarioSimulationModel.Type.RULE.equals(content.getModel().getSimulation().getSimulationDescriptor().getType())) { dataManagementStrategy = new DMODataManagementStrategy(oracleFactory); } else { dataManagementStrategy = new DMNDataManagementStrategy(dmnTypeService); } dataManagementStrategy.manageScenarioSimulationModelContent(versionRecordManager.getCurrentPath(), content); populateRightPanel(); model = content.getModel(); if (dataManagementStrategy instanceof DMODataManagementStrategy) { importsWidget.setContent(((DMODataManagementStrategy) dataManagementStrategy).getOracle(), model.getImports(), isReadOnly); addImportsTab(importsWidget); } baseView.hideBusyIndicator(); view.setContent(model.getSimulation()); setOriginalHash(getJsonModel(model).hashCode()); }; }
@Test public void manageScenarioSimulationModelContent() { ObservablePath observablePathMock = mock(ObservablePath.class); ScenarioSimulationModelContent scenarioSimulationModelContentMock = mock(ScenarioSimulationModelContent.class); dmnDataManagementStrategy.manageScenarioSimulationModelContent(observablePathMock, scenarioSimulationModelContentMock); verify(observablePathMock, times(1)).getOriginal(); verify(scenarioSimulationModelContentMock, times(1)).getModel(); } }
@Test public void testOnStartup() { final AsyncPackageDataModelOracle oracle = mock(AsyncPackageDataModelOracle.class); when(oracleFactoryMock.makeAsyncPackageDataModelOracle(any(), eq(model), eq(content.getDataModel()))).thenReturn(oracle); presenter.onStartup(mock(ObservablePath.class), mock(PlaceRequest.class)); verify(importsWidgetPresenterMock).setContent(oracle, model.getImports(), false); verify(kieViewMock).addImportsTab(importsWidgetPresenterMock); verify(scenarioSimulationViewMock).showLoading(); verify(scenarioSimulationViewMock).hideBusyIndicator(); }
@Test public void populateRightPanel() { ScenarioSimulationModelContent scenarioSimulationModelContentMock = mock(ScenarioSimulationModelContent.class); ScenarioSimulationModel scenarioSimulationModel = mock(ScenarioSimulationModel.class); when(scenarioSimulationModelContentMock.getModel()).thenReturn(scenarioSimulationModel); Simulation simulationMock = mock(Simulation.class); when(scenarioSimulationModel.getSimulation()).thenReturn(simulationMock); SimulationDescriptor simulationDescriptorMock = mock(SimulationDescriptor.class); when(simulationMock.getSimulationDescriptor()).thenReturn(simulationDescriptorMock); dmnDataManagementStrategy.manageScenarioSimulationModelContent(mock(ObservablePath.class), scenarioSimulationModelContentMock); dmnDataManagementStrategy.populateRightPanel(mock(RightPanelView.Presenter.class), mock(ScenarioGridModel.class)); verify(dmnTypeServiceMock, times(1)).retrieveType(any(), anyString()); }
@Test public void onRunTest() throws Exception { doReturn(new ScenarioSimulationModelContent(model, new Overview(), new PackageDataModelOracleBaselinePayload())).when(scenarioSimulationServiceMock).loadContent(any()); when(scenarioSimulationServiceMock.runScenario(any(), any())).thenReturn(mock(ScenarioSimulationModel.class)); presenter.onStartup(mock(ObservablePath.class), mock(PlaceRequest.class)); presenter.onRunScenario(); verify(scenarioSimulationServiceMock).runScenario(any(), eq(model)); verify(scenarioGridModelMock, times(1)).resetErrors(); verify(scenarioSimulationViewMock, times(1)).refreshContent(any()); verify(scenarioSimulationDocksHandlerMock).expandTestResultsDock(); }
public void setup() { // Mock FileMenuBuilder usage since we cannot use FileMenuBuilderImpl either when(fileMenuBuilderMock.addSave(any(MenuItem.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addCopy(any(ObservablePath.class), any(DefaultFileNameValidator.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addRename(any(Command.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addDelete(any(ObservablePath.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addValidate(any(Command.class))).thenReturn(fileMenuBuilderMock); when(fileMenuBuilderMock.addNewTopLevelMenu(any(MenuItem.class))).thenReturn(fileMenuBuilderMock); when(versionRecordManagerMock.getCurrentPath()).thenReturn(observablePathMock); when(versionRecordManagerMock.getPathToLatest()).thenReturn(observablePathMock); when(workbenchContextMock.getActiveWorkspaceProject()).thenReturn(Optional.empty()); when(gridContextMenuMock.getView()).thenReturn(gridContextMenuViewMock); when(headerGivenContextMenuMock.getView()).thenReturn(headerContextMenuViewMock); this.model = new ScenarioSimulationModel(); model.setSimulation(getSimulation(ScenarioSimulationModel.Type.RULE, "default")); this.content = new ScenarioSimulationModelContent(model, overviewMock, mock(PackageDataModelOracleBaselinePayload.class)); when(scenarioSimulationServiceMock.loadContent(observablePathMock)).thenReturn(content); }