Search in sources :

Example 76 with AttributeCol52

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

the class AttributeColumnSynchronizerTest method testUpdate2.

@Test
public void testUpdate2() throws VetoException {
    final AttributeCol52 column = spy(new AttributeCol52());
    column.setAttribute(RuleAttributeWidget.SALIENCE_ATTR);
    modelSynchronizer.appendColumn(column);
    final AttributeCol52 edited = new AttributeCol52();
    edited.setWidth(column.getWidth());
    edited.setAttribute(RuleAttributeWidget.SALIENCE_ATTR);
    edited.setHideColumn(true);
    List<BaseColumnFieldDiff> diffs = modelSynchronizer.updateColumn(column, edited);
    assertEquals(1, diffs.size());
    verify(column).diff(edited);
    assertEquals(1, model.getAttributeCols().size());
    assertEquals(RuleAttributeWidget.SALIENCE_ATTR, model.getAttributeCols().get(0).getAttribute());
    assertEquals(3, uiModel.getColumns().size());
    assertTrue(uiModel.getColumns().get(2) instanceof IntegerUiColumn);
    assertEquals(RuleAttributeWidget.SALIENCE_ATTR, uiModel.getColumns().get(2).getHeaderMetaData().get(0).getTitle());
    assertEquals(false, uiModel.getColumns().get(2).isVisible());
}
Also used : AttributeCol52(org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52) BaseColumnFieldDiff(org.drools.workbench.models.guided.dtable.shared.model.BaseColumnFieldDiff) IntegerUiColumn(org.drools.workbench.screens.guided.dtable.client.widget.table.columns.IntegerUiColumn) Test(org.junit.Test)

Example 77 with AttributeCol52

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

the class AttributeColumnSynchronizerTest method testMoveColumnTo_MoveRight.

@Test
public void testMoveColumnTo_MoveRight() throws VetoException {
    final AttributeCol52 column1 = new AttributeCol52();
    column1.setAttribute(RuleAttributeWidget.SALIENCE_ATTR);
    final AttributeCol52 column2 = new AttributeCol52();
    column2.setAttribute(RuleAttributeWidget.AGENDA_GROUP_ATTR);
    modelSynchronizer.appendColumn(column1);
    modelSynchronizer.appendColumn(column2);
    modelSynchronizer.appendRow();
    uiModel.setCellValue(0, 2, new BaseGridCellValue<Integer>(1));
    uiModel.setCellValue(0, 3, new BaseGridCellValue<String>("smurf"));
    assertEquals(2, model.getAttributeCols().size());
    assertEquals(column1, model.getAttributeCols().get(0));
    assertEquals(column2, model.getAttributeCols().get(1));
    assertEquals(1, model.getData().get(0).get(2).getNumericValue());
    assertEquals("smurf", model.getData().get(0).get(3).getStringValue());
    assertEquals(4, uiModel.getColumns().size());
    final GridColumn<?> uiModelColumn1_1 = uiModel.getColumns().get(2);
    final GridColumn<?> uiModelColumn2_1 = uiModel.getColumns().get(3);
    assertEquals(RuleAttributeWidget.SALIENCE_ATTR, uiModelColumn1_1.getHeaderMetaData().get(0).getTitle());
    assertEquals(RuleAttributeWidget.AGENDA_GROUP_ATTR, uiModelColumn2_1.getHeaderMetaData().get(0).getTitle());
    assertTrue(uiModelColumn1_1 instanceof IntegerUiColumn);
    assertTrue(uiModelColumn2_1 instanceof StringUiColumn);
    assertEquals(2, uiModelColumn1_1.getIndex());
    assertEquals(3, uiModelColumn2_1.getIndex());
    assertEquals(1, uiModel.getRow(0).getCells().get(uiModelColumn1_1.getIndex()).getValue().getValue());
    assertEquals("smurf", uiModel.getRow(0).getCells().get(uiModelColumn2_1.getIndex()).getValue().getValue());
    uiModel.moveColumnTo(3, uiModelColumn1_1);
    assertEquals(2, model.getAttributeCols().size());
    assertEquals(column2, model.getAttributeCols().get(0));
    assertEquals(column1, model.getAttributeCols().get(1));
    assertEquals("smurf", model.getData().get(0).get(2).getStringValue());
    assertEquals(1, model.getData().get(0).get(3).getNumericValue());
    assertEquals(4, uiModel.getColumns().size());
    final GridColumn<?> uiModelColumn1_2 = uiModel.getColumns().get(2);
    final GridColumn<?> uiModelColumn2_2 = uiModel.getColumns().get(3);
    assertEquals(RuleAttributeWidget.AGENDA_GROUP_ATTR, uiModelColumn1_2.getHeaderMetaData().get(0).getTitle());
    assertEquals(RuleAttributeWidget.SALIENCE_ATTR, uiModelColumn2_2.getHeaderMetaData().get(0).getTitle());
    assertTrue(uiModelColumn1_2 instanceof StringUiColumn);
    assertTrue(uiModelColumn2_2 instanceof IntegerUiColumn);
    assertEquals(3, uiModelColumn1_2.getIndex());
    assertEquals(2, uiModelColumn2_2.getIndex());
    assertEquals("smurf", uiModel.getRow(0).getCells().get(uiModelColumn1_2.getIndex()).getValue().getValue());
    assertEquals(1, uiModel.getRow(0).getCells().get(uiModelColumn2_2.getIndex()).getValue().getValue());
}
Also used : AttributeCol52(org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52) StringUiColumn(org.drools.workbench.screens.guided.dtable.client.widget.table.columns.StringUiColumn) IntegerUiColumn(org.drools.workbench.screens.guided.dtable.client.widget.table.columns.IntegerUiColumn) Test(org.junit.Test)

Example 78 with AttributeCol52

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

the class GuidedDecisionTableTest method testGetType.

@Test
@SuppressWarnings("serial")
public void testGetType() {
    final GuidedDecisionTable52 model = new GuidedDecisionTable52();
    final ModuleDataModelOracle loader = ModuleDataModelOracleBuilder.newModuleOracleBuilder(new RawMVELEvaluator()).addFact("Driver").addField(new ModelField("age", Integer.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_NUMERIC_INTEGER)).addField(new ModelField("name", String.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_STRING)).addField(new ModelField("date", Date.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_DATE)).addField(new ModelField("approved", Boolean.class.getName(), ModelField.FIELD_CLASS_TYPE.REGULAR_CLASS, ModelField.FIELD_ORIGIN.DECLARED, FieldAccessorsAndMutators.BOTH, DataType.TYPE_BOOLEAN)).end().build();
    // Emulate server-to-client conversions
    final AsyncPackageDataModelOracle oracle = getOracle();
    final PackageDataModelOracleBaselinePayload dataModel = new PackageDataModelOracleBaselinePayload();
    dataModel.setModelFields(loader.getModuleModelFields());
    populateDataModelOracle(mock(Path.class), model, oracle, dataModel);
    final ColumnUtilities utils = new ColumnUtilities(model, oracle);
    final AttributeCol52 salienceAttribute = new AttributeCol52();
    salienceAttribute.setAttribute("salience");
    final AttributeCol52 enabledAttribute = new AttributeCol52();
    enabledAttribute.setAttribute("enabled");
    model.getAttributeCols().add(salienceAttribute);
    model.getAttributeCols().add(enabledAttribute);
    final Pattern52 p1 = new Pattern52();
    final ConditionCol52 conditionColName = new ConditionCol52();
    p1.setBoundName("c1");
    p1.setFactType("Driver");
    conditionColName.setFactField("name");
    conditionColName.setOperator("==");
    conditionColName.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    p1.getChildColumns().add(conditionColName);
    final ConditionCol52 conditionColAge = new ConditionCol52();
    conditionColAge.setFactField("age");
    conditionColAge.setOperator("==");
    conditionColAge.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    p1.getChildColumns().add(conditionColAge);
    final ConditionCol52 conditionColDate = new ConditionCol52();
    conditionColDate.setFactField("date");
    conditionColDate.setOperator("==");
    conditionColDate.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    p1.getChildColumns().add(conditionColDate);
    final ConditionCol52 conditionColApproved = new ConditionCol52();
    conditionColApproved.setFactField("approved");
    conditionColApproved.setOperator("==");
    conditionColApproved.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    p1.getChildColumns().add(conditionColApproved);
    final ConditionCol52 conditionColAge2 = new ConditionCol52();
    conditionColAge2.setFactField("age");
    conditionColAge2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    p1.getChildColumns().add(conditionColAge2);
    model.getConditions().add(p1);
    final ActionSetFieldCol52 a = new ActionSetFieldCol52();
    a.setBoundName("c1");
    a.setFactField("name");
    model.getActionCols().add(a);
    final ActionSetFieldCol52 a2 = new ActionSetFieldCol52();
    a2.setBoundName("c1");
    a2.setFactField("age");
    model.getActionCols().add(a2);
    final ActionInsertFactCol52 ins = new ActionInsertFactCol52();
    ins.setBoundName("x");
    ins.setFactType("Driver");
    ins.setFactField("name");
    model.getActionCols().add(ins);
    final ActionInsertFactCol52 ins_ = new ActionInsertFactCol52();
    ins_.setBoundName("x");
    ins_.setFactType("Driver");
    ins_.setFactField("age");
    model.getActionCols().add(ins_);
    assertEquals(DataType.TYPE_NUMERIC_INTEGER, utils.getType(salienceAttribute));
    assertEquals(DataType.TYPE_BOOLEAN, utils.getType(enabledAttribute));
    assertEquals(DataType.TYPE_STRING, utils.getType(conditionColName));
    assertEquals(DataType.TYPE_NUMERIC_INTEGER, utils.getType(conditionColAge));
    assertEquals(DataType.TYPE_DATE, utils.getType(conditionColDate));
    assertEquals(DataType.TYPE_BOOLEAN, utils.getType(conditionColApproved));
    assertEquals(DataType.TYPE_STRING, utils.getType(a));
    assertEquals(DataType.TYPE_NUMERIC_INTEGER, utils.getType(a2));
    assertEquals(DataType.TYPE_STRING, utils.getType(ins));
    assertEquals(DataType.TYPE_NUMERIC_INTEGER, utils.getType(ins_));
    assertEquals(DataType.TYPE_STRING, utils.getType(conditionColAge2));
}
Also used : AsyncPackageDataModelOracle(org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle) Path(org.uberfire.backend.vfs.Path) ColumnUtilities(org.drools.workbench.screens.guided.dtable.client.widget.table.utilities.ColumnUtilities) GuidedDecisionTable52(org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52) ActionInsertFactCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52) ModuleDataModelOracle(org.kie.soup.project.datamodel.oracle.ModuleDataModelOracle) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) Date(java.util.Date) AttributeCol52(org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52) ConditionCol52(org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52) Pattern52(org.drools.workbench.models.guided.dtable.shared.model.Pattern52) ModelField(org.kie.soup.project.datamodel.oracle.ModelField) PackageDataModelOracleBaselinePayload(org.kie.workbench.common.services.datamodel.model.PackageDataModelOracleBaselinePayload) RawMVELEvaluator(org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator) Test(org.junit.Test)

Example 79 with AttributeCol52

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

the class SystemControlledColumnValuesSynchronizerTest method setUp.

@Before
public void setUp() throws Exception {
    salienceAttribute = new AttributeCol52();
    salienceAttribute.setAttribute(RuleAttributeWidget.SALIENCE_ATTR);
    resolvedHitMetadata = new MetadataCol52();
    resolvedHitMetadata.setMetadata(GuidedDecisionTable52.HitPolicy.RESOLVED_HIT_METADATA_NAME);
    model.setHitPolicy(GuidedDecisionTable52.HitPolicy.RESOLVED_HIT);
    modelSynchronizer.appendColumn(salienceAttribute);
    modelSynchronizer.appendColumn(resolvedHitMetadata);
    rowsCount = 0;
}
Also used : AttributeCol52(org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52) MetadataCol52(org.drools.workbench.models.guided.dtable.shared.model.MetadataCol52) Before(org.junit.Before)

Example 80 with AttributeCol52

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

the class GuidedDecisionTableGeneratorListenerTest method testDurationWarnings.

@Test
public void testDurationWarnings() {
    final ConversionResult result = new ConversionResult();
    final List<DataListener> listeners = new ArrayList<DataListener>();
    final GuidedDecisionTableGeneratorListener listener = new GuidedDecisionTableGeneratorListener(result, dmo);
    listeners.add(listener);
    // Convert
    final ExcelParser parser = new ExcelParser(listeners);
    final InputStream is = this.getClass().getResourceAsStream("DurationWarnings.xls");
    try {
        parser.parseFile(is);
    } finally {
        try {
            is.close();
        } catch (IOException ioe) {
            fail(ioe.getMessage());
        }
    }
    // Check conversion results
    assertEquals(2, result.getMessages().size());
    assertEquals(ConversionMessageType.WARNING, result.getMessages().get(0).getMessageType());
    assertFalse(result.getMessages().get(0).getMessage().indexOf("Duration is not an long literal, in cell C7") == -1);
    assertEquals(ConversionMessageType.WARNING, result.getMessages().get(1).getMessageType());
    assertFalse(result.getMessages().get(1).getMessage().indexOf("Duration is not an long literal, in cell C8") == -1);
    // Check basics
    List<GuidedDecisionTable52> dtables = listener.getGuidedDecisionTables();
    assertNotNull(dtables);
    assertEquals(1, dtables.size());
    GuidedDecisionTable52 dtable = dtables.get(0);
    assertEquals("DurationWarningsTest", dtable.getTableName());
    assertEquals(GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY, dtable.getTableFormat());
    // Check expanded columns
    List<BaseColumn> columns = dtable.getExpandedColumns();
    assertNotNull(columns);
    assertEquals(3, columns.size());
    assertTrue(columns.get(0) instanceof RowNumberCol52);
    assertTrue(columns.get(1) instanceof DescriptionCol52);
    assertTrue(columns.get(2) instanceof AttributeCol52);
    // Check attribute column
    AttributeCol52 attrCol2 = ((AttributeCol52) columns.get(2));
    assertEquals(GuidedDecisionTable52.DURATION_ATTR, attrCol2.getAttribute());
    assertFalse(attrCol2.isUseRowNumber());
    assertFalse(attrCol2.isReverseOrder());
    // Check data
    assertEquals(2, dtable.getData().size());
    assertTrue(isRowEquivalent(new Object[] { 1, "Rule 1", 0 }, dtable.getData().get(0)));
    assertTrue(isRowEquivalent(new Object[] { 2, "Rule 2", 0 }, dtable.getData().get(1)));
}
Also used : GuidedDecisionTable52(org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52) InputStream(java.io.InputStream) ArrayList(java.util.ArrayList) IOException(java.io.IOException) AttributeCol52(org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52) ConversionResult(org.drools.workbench.models.guided.dtable.shared.conversion.ConversionResult) DescriptionCol52(org.drools.workbench.models.guided.dtable.shared.model.DescriptionCol52) ExcelParser(org.drools.decisiontable.parser.xls.ExcelParser) DataListener(org.drools.template.parser.DataListener) BaseColumn(org.drools.workbench.models.guided.dtable.shared.model.BaseColumn) RowNumberCol52(org.drools.workbench.models.guided.dtable.shared.model.RowNumberCol52) Test(org.junit.Test)

Aggregations

AttributeCol52 (org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52)86 Test (org.junit.Test)55 DTCellValue52 (org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52)30 GuidedDecisionTable52 (org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52)20 BaseColumn (org.drools.workbench.models.guided.dtable.shared.model.BaseColumn)14 ArrayList (java.util.ArrayList)12 ConditionCol52 (org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52)12 DescriptionCol52 (org.drools.workbench.models.guided.dtable.shared.model.DescriptionCol52)10 RowNumberCol52 (org.drools.workbench.models.guided.dtable.shared.model.RowNumberCol52)10 Pattern52 (org.drools.workbench.models.guided.dtable.shared.model.Pattern52)9 ActionInsertFactCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52)8 ActionSetFieldCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52)8 MetadataCol52 (org.drools.workbench.models.guided.dtable.shared.model.MetadataCol52)7 IOException (java.io.IOException)6 InputStream (java.io.InputStream)6 ExcelParser (org.drools.decisiontable.parser.xls.ExcelParser)6 DataListener (org.drools.template.parser.DataListener)6 ConversionResult (org.drools.workbench.models.guided.dtable.shared.conversion.ConversionResult)6 ActionCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionCol52)5 IntegerUiColumn (org.drools.workbench.screens.guided.dtable.client.widget.table.columns.IntegerUiColumn)5