Search in sources :

Example 1 with ScenarioExpressionCellTextAreaSingletonDOMElementFactory

use of org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory in project drools-wb by kiegroup.

the class AbstractScenarioSimulationTest method setup.

@Before
public void setup() {
    settingsLocal = new Settings();
    backgroundLocal = new Background();
    scenarioWithIndexLocal = new ArrayList<>();
    scenarioGridWidgetSpy = spy(new ScenarioGridWidget() {

        {
            this.scenarioGridPanel = scenarioGridPanelMock;
        }
    });
    backgroundGridWidgetSpy = spy(new ScenarioGridWidget() {

        {
            this.scenarioGridPanel = backgroundGridPanelMock;
        }
    });
    when(simulationMock.getScesimModelDescriptor()).thenReturn(simulationDescriptorMock);
    when(simulationMock.getScenarioWithIndex()).thenReturn(scenarioWithIndexLocal);
    when(backgroundMock.getScesimModelDescriptor()).thenReturn(simulationDescriptorMock);
    when(simulationRunResultMock.getScenarioWithIndex()).thenReturn(scenarioWithIndexLocal);
    GridData.Range range = new GridData.Range(FIRST_INDEX_LEFT, FIRST_INDEX_RIGHT - 1);
    collectionEditorSingletonDOMElementFactoryTest = new CollectionEditorSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock, scenarioSimulationContextLocal, viewsProviderMock);
    scenarioCellTextAreaSingletonDOMElementFactorySpy = spy(new ScenarioCellTextAreaSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock));
    scenarioHeaderTextBoxSingletonDOMElementFactorySpy = spy(new ScenarioHeaderTextBoxSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock));
    scenarioExpressionCellTextAreaSingletonDOMElementFactorySpy = spy(new ScenarioExpressionCellTextAreaSingletonDOMElementFactory(scenarioGridPanelMock, scenarioGridLayerMock, scenarioGridMock));
    scenarioGridModelMock = spy(new ScenarioGridModel(false) {

        {
            this.abstractScesimModel = simulationMock;
            this.columns = gridColumns;
            this.rows = rowsMock;
            this.collectionEditorSingletonDOMElementFactory = collectionEditorSingletonDOMElementFactoryTest;
            this.scenarioCellTextAreaSingletonDOMElementFactory = scenarioCellTextAreaSingletonDOMElementFactorySpy;
            this.scenarioHeaderTextBoxSingletonDOMElementFactory = scenarioHeaderTextBoxSingletonDOMElementFactorySpy;
            this.scenarioExpressionCellTextAreaSingletonDOMElementFactory = scenarioExpressionCellTextAreaSingletonDOMElementFactorySpy;
            this.eventBus = eventBusMock;
        }

        @Override
        protected void commonAddColumn(int index, GridColumn<?> column) {
        // 
        }

        @Override
        protected void commonAddColumn(final int index, final GridColumn<?> column, ExpressionIdentifier ei) {
        // 
        }

        @Override
        protected void commonAddRow(int rowIndex) {
        // 
        }

        @Override
        public List<GridColumn<?>> getColumns() {
            return columns;
        }

        @Override
        public Range getInstanceLimits(int columnIndex) {
            return range;
        }

        @Override
        public int getFirstIndexLeftOfGroup(String groupName) {
            return FIRST_INDEX_LEFT;
        }

        @Override
        public int getFirstIndexRightOfGroup(String groupName) {
            return FIRST_INDEX_RIGHT;
        }

        @Override
        public GridColumn<?> getSelectedColumn() {
            return gridColumnMock;
        }

        @Override
        public void deleteColumn(final GridColumn<?> column) {
        // 
        }

        @Override
        public Range deleteRow(int rowIndex) {
            return range;
        }

        @Override
        public void insertRowGridOnly(final int rowIndex, final GridRow row, final Scenario scenario) {
        // 
        }

        @Override
        public void insertRow(int rowIndex, GridRow row) {
        }

        @Override
        public List<GridRow> getRows() {
            return rowsMock;
        }

        @Override
        public Range setCellValue(int rowIndex, int columnIndex, GridCellValue<?> value) {
            return range;
        }

        @Override
        public void validateInstanceHeaderUpdate(String instanceHeaderCellValue, int columnIndex, boolean isADataType) {
        // 
        }

        @Override
        public void validatePropertyHeaderUpdate(String propertyHeaderCellValue, int columnIndex, boolean isPropertyType) {
        // 
        }
    });
    when(scenarioGridMock.getEventBus()).thenReturn(eventBusMock);
    when(scenarioGridMock.getModel()).thenReturn(scenarioGridModelMock);
    when(scenarioGridMock.getLayer()).thenReturn(scenarioGridLayerMock);
    when(scenarioGridMock.getType()).thenReturn(ScenarioSimulationModel.Type.RULE);
    when(scenarioGridMock.getGridWidget()).thenReturn(GridWidget.SIMULATION);
    when(scenarioGridLayerMock.getScenarioGrid()).thenReturn(scenarioGridMock);
    when(scenarioGridPanelMock.getScenarioGridLayer()).thenReturn(scenarioGridLayerMock);
    when(scenarioGridPanelMock.getScenarioGrid()).thenReturn(scenarioGridMock);
    when(backgroundGridMock.getEventBus()).thenReturn(eventBusMock);
    when(backgroundGridMock.getModel()).thenReturn(backgroundGridModelMock);
    when(backgroundGridMock.getLayer()).thenReturn(backgroundGridLayerMock);
    when(backgroundGridMock.getType()).thenReturn(ScenarioSimulationModel.Type.RULE);
    when(backgroundGridMock.getGridWidget()).thenReturn(GridWidget.BACKGROUND);
    when(backgroundGridModelMock.getGridWidget()).thenReturn(GridWidget.BACKGROUND);
    when(backgroundGridLayerMock.getScenarioGrid()).thenReturn(backgroundGridMock);
    when(backgroundGridPanelMock.getScenarioGridLayer()).thenReturn(backgroundGridLayerMock);
    when(backgroundGridPanelMock.getScenarioGrid()).thenReturn(backgroundGridMock);
    final Point2D computedLocation = mock(Point2D.class);
    when(computedLocation.getX()).thenReturn(0.0);
    when(computedLocation.getY()).thenReturn(0.0);
    when(scenarioGridMock.getComputedLocation()).thenReturn(computedLocation);
    scenarioSimulationContextLocal = new ScenarioSimulationContext(scenarioGridWidgetSpy, backgroundGridWidgetSpy);
    scenarioSimulationContextLocal.setScenarioSimulationEditorPresenter(scenarioSimulationEditorPresenterMock);
    scenarioSimulationContextLocal.getStatus().setSimulation(simulationMock);
    scenarioSimulationContextLocal.getStatus().setBackground(backgroundMock);
    scenarioSimulationContextLocal.getStatus().setFullPackage(FULL_PACKAGE);
    scenarioSimulationContextLocal.setScenarioSimulationEditorPresenter(scenarioSimulationEditorPresenterMock);
    scenarioSimulationContextLocal.setDataObjectFieldsMap(dataObjectFieldsMapMock);
    when(backgroundGridWidgetSpy.getScenarioSimulationContext()).thenReturn(scenarioSimulationContextLocal);
    when(scenarioGridWidgetSpy.getScenarioSimulationContext()).thenReturn(scenarioSimulationContextLocal);
    when(scenarioSimulationEditorPresenterMock.getView()).thenReturn(scenarioSimulationViewMock);
    when(scenarioSimulationEditorPresenterMock.getModel()).thenReturn(scenarioSimulationModelMock);
    scenarioSimulationContextLocal.setScenarioSimulationEditorPresenter(scenarioSimulationEditorPresenterMock);
    when(scenarioSimulationEditorPresenterMock.getDataManagementStrategy()).thenReturn(dataManagementStrategyMock);
    when(scenarioSimulationEditorPresenterMock.getContext()).thenReturn(scenarioSimulationContextLocal);
    when(simulationMock.cloneModel()).thenReturn(clonedSimulationMock);
    when(backgroundMock.cloneModel()).thenReturn(clonedBackgroundMock);
    scenarioSimulationContextLocal.getStatus().setSimulation(simulationMock);
    when(scenarioSimulationModelMock.getSimulation()).thenReturn(simulationMock);
    when(scenarioSimulationModelMock.getBackground()).thenReturn(backgroundMock);
    when(scenarioSimulationModelMock.getSettings()).thenReturn(settingsLocal);
    when(scenarioCommandRegistryManagerMock.undo(scenarioSimulationContextLocal)).thenReturn(CommandResultBuilder.SUCCESS);
    when(scenarioCommandRegistryManagerMock.redo(scenarioSimulationContextLocal)).thenReturn(CommandResultBuilder.SUCCESS);
    appendRowCommandMock = spy(new AppendRowCommand(GridWidget.SIMULATION) {

        {
            this.restorableStatus = scenarioSimulationContextLocal.getStatus();
        }

        @Override
        public CommandResult<ScenarioSimulationViolation> execute(ScenarioSimulationContext context) {
            return CommandResultBuilder.SUCCESS;
        }

        @Override
        public CommandResult<ScenarioSimulationViolation> undo(ScenarioSimulationContext context) {
            return CommandResultBuilder.SUCCESS;
        }
    });
    when(informationHeaderMetaDataMock.getTitle()).thenReturn(MULTIPART_VALUE);
    when(informationHeaderMetaDataMock.getColumnGroup()).thenReturn(COLUMN_GROUP);
    when(propertyHeaderMetaDataMock.getMetadataType()).thenReturn(ScenarioHeaderMetaData.MetadataType.PROPERTY);
    when(propertyHeaderMetaDataMock.getTitle()).thenReturn(GRID_PROPERTY_TITLE);
    when(propertyHeaderMetaDataMock.getColumnGroup()).thenReturn(GRID_COLUMN_GROUP);
    when(propertyHeaderMetaDataMock.getColumnId()).thenReturn(GRID_COLUMN_ID);
    when(headerMetaDatasMock.get(anyInt())).thenReturn(informationHeaderMetaDataMock);
    when(gridColumnMock.getHeaderMetaData()).thenReturn(headerMetaDatasMock);
    when(gridColumnMock.getInformationHeaderMetaData()).thenReturn(informationHeaderMetaDataMock);
    when(gridColumnMock.getPropertyHeaderMetaData()).thenReturn(propertyHeaderMetaDataMock);
    when(gridColumnMock.getFactIdentifier()).thenReturn(factIdentifierMock);
    settingsLocal.setType(ScenarioSimulationModel.Type.RULE);
    IntStream.range(0, COLUMN_NUMBER).forEach(columnIndex -> {
        gridColumns.add(gridColumnMock);
        factMappingValuesLocal.add(factMappingValueMock);
        factIdentifierSet.add(factIdentifierMock);
        factMappingLocal.add(factMappingMock);
        when(simulationDescriptorMock.getFactMappingByIndex(columnIndex)).thenReturn(factMappingMock);
    });
    when(factIdentifierMock.getClassNameWithoutPackage()).thenReturn(CLASS_NAME);
    when(factIdentifierMock.getPackageWithoutClassName()).thenReturn(FULL_PACKAGE);
    when(factIdentifierMock.getClassName()).thenReturn(FULL_CLASS_NAME);
    when(factIdentifierMock.getName()).thenReturn(FACT_IDENTIFIER_NAME);
    when(simulationDescriptorMock.getFactIdentifiers()).thenReturn(factIdentifierSet);
    when(simulationDescriptorMock.getUnmodifiableFactMappings()).thenReturn(factMappingLocal);
    when(simulationDescriptorMock.getFactMappingsByFactName(anyString())).thenReturn(Stream.empty());
    when(scenarioGridModelMock.nextColumnCount()).thenReturn(factMappingValuesLocal.size());
    when(factMappingMock.getFactIdentifier()).thenReturn(factIdentifierMock);
    when(factMappingMock.getFactAlias()).thenReturn(FACT_ALIAS);
    when(factMappingMock.getGenericTypes()).thenReturn(new ArrayList<>());
    doReturn(factMappingMock).when(simulationDescriptorMock).addFactMapping(anyInt(), anyString(), anyObject(), anyObject());
    when(scenarioSimulationViewMock.getScenarioGridWidget()).thenReturn(scenarioGridWidgetSpy);
}
Also used : ScenarioSimulationContext(org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationContext) AppendRowCommand(org.drools.workbench.screens.scenariosimulation.client.commands.actualcommands.AppendRowCommand) Background(org.drools.scenariosimulation.api.model.Background) Matchers.anyString(org.mockito.Matchers.anyString) GridCellValue(org.uberfire.ext.wires.core.grids.client.model.GridCellValue) GridRow(org.uberfire.ext.wires.core.grids.client.model.GridRow) Scenario(org.drools.scenariosimulation.api.model.Scenario) ScenarioCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioCellTextAreaSingletonDOMElementFactory) ScenarioGridWidget(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridWidget) ScenarioExpressionCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory) Point2D(com.ait.lienzo.client.core.types.Point2D) ScenarioGridModel(org.drools.workbench.screens.scenariosimulation.client.models.ScenarioGridModel) ExpressionIdentifier(org.drools.scenariosimulation.api.model.ExpressionIdentifier) GridData(org.uberfire.ext.wires.core.grids.client.model.GridData) GridColumn(org.uberfire.ext.wires.core.grids.client.model.GridColumn) ScenarioGridColumn(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn) ScenarioSimulationViolation(org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationViolation) ScenarioHeaderTextBoxSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioHeaderTextBoxSingletonDOMElementFactory) Settings(org.drools.scenariosimulation.api.model.Settings) CollectionEditorSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.CollectionEditorSingletonDOMElementFactory) Before(org.junit.Before)

Example 2 with ScenarioExpressionCellTextAreaSingletonDOMElementFactory

use of org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory in project drools-wb by kiegroup.

the class ScenarioGridPanelProducer method initializeGrid.

protected void initializeGrid(ScenarioGridLayer scenarioGridLayer, ScenarioGridPanel scenarioGridPanel, AbstractScesimGridModel abstractScesimGridModel, ScenarioSimulationContext scenarioSimulationContext, int defaultDataCellX, int defaultDataCellY) {
    final ScenarioGrid scenarioGrid = new ScenarioGrid(abstractScesimGridModel, scenarioGridLayer, new ScenarioGridRenderer(false), scenarioContextMenuRegistry);
    scenarioGridLayer.addScenarioGrid(scenarioGrid);
    scenarioGridPanel.add(scenarioGridLayer);
    scenarioGrid.setScenarioSimulationContext(scenarioSimulationContext);
    scenarioGrid.setDefaultSelectedDataCell(defaultDataCellX, defaultDataCellY);
    abstractScesimGridModel.setCollectionEditorSingletonDOMElementFactory(new CollectionEditorSingletonDOMElementFactory(scenarioGridPanel, scenarioGridLayer, scenarioGridLayer.getScenarioGrid(), scenarioSimulationContext, viewsProvider));
    abstractScesimGridModel.setScenarioCellTextAreaSingletonDOMElementFactory(new ScenarioCellTextAreaSingletonDOMElementFactory(scenarioGridPanel, scenarioGridLayer, scenarioGridLayer.getScenarioGrid()));
    abstractScesimGridModel.setScenarioHeaderTextBoxSingletonDOMElementFactory(new ScenarioHeaderTextBoxSingletonDOMElementFactory(scenarioGridPanel, scenarioGridLayer, scenarioGridLayer.getScenarioGrid()));
    abstractScesimGridModel.setScenarioExpressionCellTextAreaSingletonDOMElementFactory(new ScenarioExpressionCellTextAreaSingletonDOMElementFactory(scenarioGridPanel, scenarioGridLayer, scenarioGridLayer.getScenarioGrid()));
    final ScenarioSimulationKeyboardEditHandler scenarioSimulationKeyboardEditHandler = new ScenarioSimulationKeyboardEditHandler(scenarioGridLayer);
    final ScenarioInvokeContextMenuForSelectedCell invokeContextMenuKeyboardOperation = new ScenarioInvokeContextMenuForSelectedCell(scenarioGridLayer, scenarioContextMenuRegistry);
    final BaseGridWidgetKeyboardHandler handler = new BaseGridWidgetKeyboardHandler(scenarioGridLayer);
    handler.addOperation(scenarioSimulationKeyboardEditHandler, new KeyboardOperationSelectTopLeftCell(scenarioGridLayer), new KeyboardOperationMoveLeft(scenarioGridLayer), new KeyboardOperationMoveRight(scenarioGridLayer), new KeyboardOperationMoveUp(scenarioGridLayer), new KeyboardOperationMoveDown(scenarioGridLayer), new KeyboardOperationSelectBottomRightCell(scenarioGridLayer), invokeContextMenuKeyboardOperation);
    scenarioGridPanel.addKeyDownHandler(handler);
    // Hack to enable PINNED MODE i.e. not draggable
    scenarioGridLayer.enterPinnedMode(scenarioGrid, () -> {
    });
}
Also used : ScenarioGridRenderer(org.drools.workbench.screens.scenariosimulation.client.renderers.ScenarioGridRenderer) KeyboardOperationMoveUp(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.KeyboardOperationMoveUp) BaseGridWidgetKeyboardHandler(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.BaseGridWidgetKeyboardHandler) KeyboardOperationMoveDown(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.KeyboardOperationMoveDown) ScenarioCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioCellTextAreaSingletonDOMElementFactory) ScenarioSimulationKeyboardEditHandler(org.drools.workbench.screens.scenariosimulation.client.handlers.ScenarioSimulationKeyboardEditHandler) ScenarioExpressionCellTextAreaSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory) KeyboardOperationMoveRight(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.KeyboardOperationMoveRight) ScenarioGrid(org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGrid) KeyboardOperationSelectBottomRightCell(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.KeyboardOperationSelectBottomRightCell) KeyboardOperationSelectTopLeftCell(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.KeyboardOperationSelectTopLeftCell) ScenarioInvokeContextMenuForSelectedCell(org.drools.workbench.screens.scenariosimulation.client.handlers.ScenarioInvokeContextMenuForSelectedCell) ScenarioHeaderTextBoxSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioHeaderTextBoxSingletonDOMElementFactory) CollectionEditorSingletonDOMElementFactory(org.drools.workbench.screens.scenariosimulation.client.factories.CollectionEditorSingletonDOMElementFactory) KeyboardOperationMoveLeft(org.uberfire.ext.wires.core.grids.client.widget.grid.impl.KeyboardOperationMoveLeft)

Aggregations

CollectionEditorSingletonDOMElementFactory (org.drools.workbench.screens.scenariosimulation.client.factories.CollectionEditorSingletonDOMElementFactory)2 ScenarioCellTextAreaSingletonDOMElementFactory (org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioCellTextAreaSingletonDOMElementFactory)2 ScenarioExpressionCellTextAreaSingletonDOMElementFactory (org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioExpressionCellTextAreaSingletonDOMElementFactory)2 ScenarioHeaderTextBoxSingletonDOMElementFactory (org.drools.workbench.screens.scenariosimulation.client.factories.ScenarioHeaderTextBoxSingletonDOMElementFactory)2 Point2D (com.ait.lienzo.client.core.types.Point2D)1 Background (org.drools.scenariosimulation.api.model.Background)1 ExpressionIdentifier (org.drools.scenariosimulation.api.model.ExpressionIdentifier)1 Scenario (org.drools.scenariosimulation.api.model.Scenario)1 Settings (org.drools.scenariosimulation.api.model.Settings)1 ScenarioSimulationContext (org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationContext)1 ScenarioSimulationViolation (org.drools.workbench.screens.scenariosimulation.client.commands.ScenarioSimulationViolation)1 AppendRowCommand (org.drools.workbench.screens.scenariosimulation.client.commands.actualcommands.AppendRowCommand)1 ScenarioInvokeContextMenuForSelectedCell (org.drools.workbench.screens.scenariosimulation.client.handlers.ScenarioInvokeContextMenuForSelectedCell)1 ScenarioSimulationKeyboardEditHandler (org.drools.workbench.screens.scenariosimulation.client.handlers.ScenarioSimulationKeyboardEditHandler)1 ScenarioGridModel (org.drools.workbench.screens.scenariosimulation.client.models.ScenarioGridModel)1 ScenarioGridRenderer (org.drools.workbench.screens.scenariosimulation.client.renderers.ScenarioGridRenderer)1 ScenarioGrid (org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGrid)1 ScenarioGridColumn (org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridColumn)1 ScenarioGridWidget (org.drools.workbench.screens.scenariosimulation.client.widgets.ScenarioGridWidget)1 Before (org.junit.Before)1