Search in sources :

Example 81 with BaseColumn

use of org.drools.workbench.models.guided.dtable.shared.model.BaseColumn in project drools-wb by kiegroup.

the class DTableUpdateManager method newColumn.

public void newColumn(final GuidedDecisionTable52 model, final HeaderMetaData headerMetaData, final FactTypes factTypes, final int columnIndex) throws BuildException {
    PortablePreconditions.checkNotNull("model", model);
    PortablePreconditions.checkNotNull("headerMetaData", headerMetaData);
    PortablePreconditions.checkNotNull("fieldTypes", factTypes);
    PortablePreconditions.checkNotNull("columnIndex", columnIndex);
    final BuilderFactory builderFactory = new BuilderFactory(new VerifierColumnUtilities(model, headerMetaData, factTypes), index, model, headerMetaData, configuration);
    final Column column = builderFactory.getColumnBuilder().with(columnIndex).build();
    analyzer.newColumn(column);
    int rowIndex = 0;
    for (final List<DTCellValue52> row : model.getData()) {
        final BaseColumn baseColumn = model.getExpandedColumns().get(columnIndex);
        final Rule rule = index.getRules().where(Rule.index().is(rowIndex)).select().first();
        builderFactory.getCellBuilder().with(columnIndex).with(baseColumn).with(rule).with(row).build();
        rowIndex++;
    }
    analyzer.resetChecks();
    analyzer.analyze();
}
Also used : BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) Column(org.drools.workbench.services.verifier.api.client.index.Column) BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) Rule(org.drools.workbench.services.verifier.api.client.index.Rule) VerifierColumnUtilities(org.drools.workbench.services.verifier.plugin.client.builders.VerifierColumnUtilities) DTCellValue52(org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52) BuilderFactory(org.drools.workbench.services.verifier.plugin.client.builders.BuilderFactory)

Example 82 with BaseColumn

use of org.drools.workbench.models.guided.dtable.shared.model.BaseColumn in project drools-wb by kiegroup.

the class ActionSetFieldColumnSynchronizer method isActionSetFieldFragment.

private boolean isActionSetFieldFragment(final List<? extends MetaData> metaData) {
    if (!metaData.stream().allMatch((c) -> (c instanceof MoveColumnToMetaData))) {
        return false;
    }
    if (!metaData.stream().map(c -> (MoveColumnToMetaData) c).allMatch(c -> c.getColumn() instanceof ActionSetFieldCol52)) {
        return false;
    }
    final BaseColumn firstColumnInFragment = ((MoveColumnToMetaData) metaData.get(0)).getColumn();
    final BaseColumn lastColumnInFragment = ((MoveColumnToMetaData) metaData.get(metaData.size() - 1)).getColumn();
    final int firstColumnIndex = model.getExpandedColumns().indexOf(firstColumnInFragment);
    final int lastColumnIndex = model.getExpandedColumns().indexOf(lastColumnInFragment);
    return lastColumnIndex - firstColumnIndex == metaData.size() - 1;
}
Also used : ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) VetoException(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.ModelSynchronizer.VetoException) List(java.util.List) Dependent(javax.enterprise.context.Dependent) BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) LimitedEntryCol(org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryCol) BaseColumnFieldDiff(org.drools.workbench.models.guided.dtable.shared.model.BaseColumnFieldDiff) Collections(java.util.Collections) OptionalInt(java.util.OptionalInt) BaseColumnFieldDiffImpl(org.drools.workbench.models.guided.dtable.shared.model.BaseColumnFieldDiffImpl) BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52)

Example 83 with BaseColumn

use of org.drools.workbench.models.guided.dtable.shared.model.BaseColumn in project drools-wb by kiegroup.

the class ModelSynchronizerImpl method moveColumnsTo.

@Override
@SuppressWarnings("unchecked")
public void moveColumnsTo(final int targetColumnIndex, final List<GridColumn<?>> columns) throws VetoException {
    // Generate meta-data to handle moves
    final List<MoveColumnToMetaData> metaData = new ArrayList<MoveColumnToMetaData>();
    for (int index = 0; index < columns.size(); index++) {
        final GridColumn<?> column = columns.get(index);
        final int sourceColumnIndex = uiModel.getColumns().indexOf(column);
        if (sourceColumnIndex == targetColumnIndex) {
            throw new MoveVetoException();
        }
        final BaseColumn modelColumn = model.getExpandedColumns().get(sourceColumnIndex);
        metaData.add(new MoveColumnToMetaDataImpl(sourceColumnIndex, targetColumnIndex + index, modelColumn));
    }
    Synchronizer handler = null;
    for (Synchronizer synchronizer : synchronizers) {
        if (synchronizer.handlesMoveColumnsTo(metaData)) {
            handler = synchronizer;
            break;
        }
    }
    if (handler == null) {
        throw new MoveVetoException();
    }
    handler.moveColumnsTo(metaData);
}
Also used : Synchronizer(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.Synchronizer) ModelSynchronizer(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.ModelSynchronizer) ArrayList(java.util.ArrayList) BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) MoveColumnToMetaData(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.impl.ConditionColumnSynchronizer.MoveColumnToMetaData) MoveColumnToMetaDataImpl(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.impl.ConditionColumnSynchronizer.MoveColumnToMetaDataImpl)

Example 84 with BaseColumn

use of org.drools.workbench.models.guided.dtable.shared.model.BaseColumn in project drools-wb by kiegroup.

the class ModelSynchronizerImpl method moveColumnTo.

@Override
@SuppressWarnings("unchecked")
public void moveColumnTo(final int targetColumnIndex, final GridColumn<?> column) throws VetoException {
    final int sourceColumnIndex = uiModel.getColumns().indexOf(column);
    if (sourceColumnIndex == targetColumnIndex) {
        throw new MoveVetoException();
    }
    final BaseColumn modelColumn = model.getExpandedColumns().get(sourceColumnIndex);
    final List<MoveColumnToMetaData> metaData = new ArrayList<MoveColumnToMetaData>() {

        {
            add(new MoveColumnToMetaDataImpl(sourceColumnIndex, targetColumnIndex, modelColumn));
        }
    };
    final List<Synchronizer> handlers = new ArrayList<Synchronizer>();
    for (Synchronizer synchronizer : synchronizers) {
        if (synchronizer.handlesMoveColumnsTo(metaData)) {
            handlers.add(synchronizer);
        }
    }
    if (handlers.isEmpty()) {
        throw new MoveVetoException();
    }
    for (Synchronizer synchronizer : handlers) {
        synchronizer.moveColumnsTo(metaData);
    }
}
Also used : Synchronizer(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.Synchronizer) ModelSynchronizer(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.ModelSynchronizer) ArrayList(java.util.ArrayList) BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) MoveColumnToMetaData(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.impl.ConditionColumnSynchronizer.MoveColumnToMetaData) MoveColumnToMetaDataImpl(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.impl.ConditionColumnSynchronizer.MoveColumnToMetaDataImpl)

Example 85 with BaseColumn

use of org.drools.workbench.models.guided.dtable.shared.model.BaseColumn in project drools-wb by kiegroup.

the class RowSynchronizer method initialiseRowData.

private void initialiseRowData(final int rowIndex) {
    final List<BaseColumn> modelColumns = model.getExpandedColumns();
    final List<DTCellValue52> modelRow = model.getData().get(rowIndex);
    for (int columnIndex = 0; columnIndex < modelColumns.size(); columnIndex++) {
        final BaseColumn modelColumn = modelColumns.get(columnIndex);
        final DTCellValue52 modelCell = makeModelCellValue(modelColumn);
        modelRow.add(modelCell);
        // BaseGridData is sparsely populated; only add values if needed.
        if (modelCell.hasValue()) {
            uiModel.setCellValueInternal(rowIndex, columnIndex, gridWidgetCellFactory.convertCell(modelCell, modelColumn, cellUtilities, columnUtilities));
        }
        uiModel.indexColumn(columnIndex);
        // Set-up SelectionManager for Row Number column, to select entire row.
        if (modelColumn instanceof RowNumberCol52) {
            uiModel.getCell(rowIndex, columnIndex).setSelectionStrategy(RowSelectionStrategy.INSTANCE);
        }
    }
}
Also used : BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) DTCellValue52(org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52) RowNumberCol52(org.drools.workbench.models.guided.dtable.shared.model.RowNumberCol52)

Aggregations

BaseColumn (org.drools.workbench.models.guided.dtable.shared.model.BaseColumn)126 Test (org.junit.Test)72 RowNumberCol52 (org.drools.workbench.models.guided.dtable.shared.model.RowNumberCol52)57 ArrayList (java.util.ArrayList)55 DescriptionCol52 (org.drools.workbench.models.guided.dtable.shared.model.DescriptionCol52)44 DTCellValue52 (org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52)34 ConditionCol52 (org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52)33 ActionCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionCol52)29 GuidedDecisionTable52 (org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52)26 Pattern52 (org.drools.workbench.models.guided.dtable.shared.model.Pattern52)25 List (java.util.List)23 RuleModel (org.drools.workbench.models.datamodel.rule.RuleModel)23 CompositeColumn (org.drools.workbench.models.guided.dtable.shared.model.CompositeColumn)23 BRLConditionColumn (org.drools.workbench.models.guided.dtable.shared.model.BRLConditionColumn)21 RuleNameColumn (org.drools.workbench.models.guided.dtable.shared.model.RuleNameColumn)21 GuidedDTTemplateDataProvider (org.drools.workbench.models.guided.dtable.backend.util.GuidedDTTemplateDataProvider)20 TemplateDataProvider (org.drools.workbench.models.guided.dtable.backend.util.TemplateDataProvider)20 BRLConditionVariableColumn (org.drools.workbench.models.guided.dtable.shared.model.BRLConditionVariableColumn)20 BRLActionColumn (org.drools.workbench.models.guided.dtable.shared.model.BRLActionColumn)19 BRLActionVariableColumn (org.drools.workbench.models.guided.dtable.shared.model.BRLActionVariableColumn)19