Search in sources :

Example 36 with ActionSetFieldCol52

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

the class ActionSetFieldColumnSynchronizerTest method testMoveColumnTo_OutOfBounds.

@Test
public void testMoveColumnTo_OutOfBounds() throws VetoException {
    // Add a Pattern to be updated
    final Pattern52 pattern = new Pattern52();
    pattern.setBoundName("$a");
    pattern.setFactType("Applicant");
    final ConditionCol52 condition = new ConditionCol52();
    condition.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL);
    condition.setHeader("col1");
    condition.setFactField("age");
    condition.setOperator("==");
    modelSynchronizer.appendColumn(pattern, condition);
    final ActionSetFieldCol52 column1 = new ActionSetFieldCol52();
    column1.setBoundName("$a");
    column1.setFactField("age");
    column1.setHeader("age");
    final ActionSetFieldCol52 column2 = new ActionSetFieldCol52();
    column2.setBoundName("$a");
    column2.setFactField("name");
    column2.setHeader("name");
    modelSynchronizer.appendColumn(column1);
    modelSynchronizer.appendColumn(column2);
    modelSynchronizer.appendRow();
    uiModel.setCellValue(0, 3, new BaseGridCellValue<Integer>(45));
    uiModel.setCellValue(0, 4, new BaseGridCellValue<String>("Smurf"));
    assertEquals(2, model.getActionCols().size());
    assertEquals(column1, model.getActionCols().get(0));
    assertEquals(column2, model.getActionCols().get(1));
    assertEquals(45, model.getData().get(0).get(3).getNumericValue());
    assertEquals("Smurf", model.getData().get(0).get(4).getStringValue());
    assertEquals(5, uiModel.getColumns().size());
    final GridColumn<?> uiModelColumn1_1 = uiModel.getColumns().get(3);
    final GridColumn<?> uiModelColumn2_1 = uiModel.getColumns().get(4);
    assertEquals("$a", uiModelColumn1_1.getHeaderMetaData().get(0).getTitle());
    assertEquals("age", uiModelColumn1_1.getHeaderMetaData().get(1).getTitle());
    assertEquals("$a", uiModelColumn2_1.getHeaderMetaData().get(0).getTitle());
    assertEquals("name", uiModelColumn2_1.getHeaderMetaData().get(1).getTitle());
    assertTrue(uiModelColumn1_1 instanceof IntegerUiColumn);
    assertTrue(uiModelColumn2_1 instanceof StringUiColumn);
    assertEquals(3, uiModelColumn1_1.getIndex());
    assertEquals(4, uiModelColumn2_1.getIndex());
    assertEquals(45, uiModel.getRow(0).getCells().get(uiModelColumn1_1.getIndex()).getValue().getValue());
    assertEquals("Smurf", uiModel.getRow(0).getCells().get(uiModelColumn2_1.getIndex()).getValue().getValue());
    uiModel.moveColumnTo(0, uiModelColumn1_1);
    assertEquals(2, model.getActionCols().size());
    assertEquals(column1, model.getActionCols().get(0));
    assertEquals(column2, model.getActionCols().get(1));
    assertEquals(45, model.getData().get(0).get(3).getNumericValue());
    assertEquals("Smurf", model.getData().get(0).get(4).getStringValue());
    assertEquals(5, uiModel.getColumns().size());
    final GridColumn<?> uiModelColumn1_2 = uiModel.getColumns().get(3);
    final GridColumn<?> uiModelColumn2_2 = uiModel.getColumns().get(4);
    assertEquals("$a", uiModelColumn1_2.getHeaderMetaData().get(0).getTitle());
    assertEquals("age", uiModelColumn1_2.getHeaderMetaData().get(1).getTitle());
    assertEquals("$a", uiModelColumn2_2.getHeaderMetaData().get(0).getTitle());
    assertEquals("name", uiModelColumn2_2.getHeaderMetaData().get(1).getTitle());
    assertTrue(uiModelColumn1_2 instanceof IntegerUiColumn);
    assertTrue(uiModelColumn2_2 instanceof StringUiColumn);
    assertEquals(3, uiModelColumn1_2.getIndex());
    assertEquals(4, uiModelColumn2_2.getIndex());
    assertEquals(45, uiModel.getRow(0).getCells().get(uiModelColumn1_2.getIndex()).getValue().getValue());
    assertEquals("Smurf", uiModel.getRow(0).getCells().get(uiModelColumn2_2.getIndex()).getValue().getValue());
}
Also used : ConditionCol52(org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52) Pattern52(org.drools.workbench.models.guided.dtable.shared.model.Pattern52) StringUiColumn(org.drools.workbench.screens.guided.dtable.client.widget.table.columns.StringUiColumn) IntegerUiColumn(org.drools.workbench.screens.guided.dtable.client.widget.table.columns.IntegerUiColumn) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) Test(org.junit.Test)

Example 37 with ActionSetFieldCol52

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

the class BRLConditionColumnSynchronizerTest method checkBRLFragmentConditionCannotBeDeletedWithAction.

@Test
public void checkBRLFragmentConditionCannotBeDeletedWithAction() throws VetoException {
    final BRLConditionColumn column = new BRLConditionColumn();
    column.setDefinition(Collections.singletonList(new FactPattern("Applicant") {

        {
            setBoundName("$a");
        }
    }));
    final BRLConditionVariableColumn columnV0 = new BRLConditionVariableColumn("$age", DataType.TYPE_NUMERIC_INTEGER, "Applicant", "age");
    column.getChildColumns().add(columnV0);
    column.setHeader("col1");
    columnV0.setHeader("col1v0");
    modelSynchronizer.appendColumn(column);
    final ActionSetFieldCol52 action = new ActionSetFieldCol52() {

        {
            setBoundName("$a");
            setFactField("age");
            setHeader("action1");
        }
    };
    modelSynchronizer.appendColumn(action);
    try {
        modelSynchronizer.deleteColumn(column);
        fail("Deletion of the column should have been vetoed.");
    } catch (VetoDeletePatternInUseException veto) {
    // This is expected
    } catch (VetoException veto) {
        fail("VetoDeletePatternInUseException was expected.");
    }
    assertEquals(4, model.getExpandedColumns().size());
    assertTrue(model.getExpandedColumns().get(0) instanceof RowNumberCol52);
    assertTrue(model.getExpandedColumns().get(1) instanceof DescriptionCol52);
    assertEquals(columnV0, model.getExpandedColumns().get(2));
    assertEquals(action, model.getExpandedColumns().get(3));
}
Also used : BRLConditionColumn(org.drools.workbench.models.guided.dtable.shared.model.BRLConditionColumn) VetoException(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.ModelSynchronizer.VetoException) DescriptionCol52(org.drools.workbench.models.guided.dtable.shared.model.DescriptionCol52) FactPattern(org.drools.workbench.models.datamodel.rule.FactPattern) BRLConditionVariableColumn(org.drools.workbench.models.guided.dtable.shared.model.BRLConditionVariableColumn) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) VetoDeletePatternInUseException(org.drools.workbench.screens.guided.dtable.client.widget.table.model.synchronizers.ModelSynchronizer.VetoDeletePatternInUseException) RowNumberCol52(org.drools.workbench.models.guided.dtable.shared.model.RowNumberCol52) Test(org.junit.Test)

Example 38 with ActionSetFieldCol52

use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools by kiegroup.

the class GuidedDTModelConversionTest method testConversionPatternGrouping.

@Test
public void testConversionPatternGrouping() {
    GuidedDecisionTable dt = new GuidedDecisionTable();
    dt.tableName = "michael";
    MetadataCol md = new MetadataCol();
    md.attr = "legacy";
    md.defaultValue = "yes";
    dt.metadataCols.add(md);
    AttributeCol attr = new AttributeCol();
    attr.attr = "salience";
    attr.defaultValue = "66";
    dt.attributeCols.add(attr);
    ConditionCol con = new ConditionCol();
    con.boundName = "f1";
    con.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
    con.factField = "age";
    con.factType = "Driver";
    con.header = "Driver f1 age";
    con.operator = "==";
    dt.conditionCols.add(con);
    ConditionCol con2 = new ConditionCol();
    con2.boundName = "f2";
    con2.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
    con2.factField = "name";
    con2.factType = "Person";
    con2.header = "Person f2 name";
    con2.operator = "==";
    dt.conditionCols.add(con2);
    ConditionCol con3 = new ConditionCol();
    con3.boundName = "f1";
    con3.constraintValueType = BaseSingleFieldConstraint.TYPE_RET_VALUE;
    con3.factField = "rating";
    con3.factType = "Driver";
    con3.header = "Driver rating";
    con3.operator = "==";
    dt.conditionCols.add(con3);
    ConditionCol con4 = new ConditionCol();
    con4.boundName = "f2";
    con4.constraintValueType = BaseSingleFieldConstraint.TYPE_PREDICATE;
    con4.factType = "Person";
    con4.header = "Person f2 not needed";
    con4.factField = "(not needed)";
    dt.conditionCols.add(con4);
    ActionInsertFactCol ins = new ActionInsertFactCol();
    ins.boundName = "ins";
    ins.factType = "Cheese";
    ins.factField = "price";
    ins.type = DataType.TYPE_NUMERIC_INTEGER;
    dt.actionCols.add(ins);
    ActionRetractFactCol ret = new ActionRetractFactCol();
    ret.boundName = "ret1";
    dt.actionCols.add(ret);
    ActionSetFieldCol set = new ActionSetFieldCol();
    set.boundName = "f1";
    set.factField = "goo1";
    set.type = DataType.TYPE_STRING;
    dt.actionCols.add(set);
    ActionSetFieldCol set2 = new ActionSetFieldCol();
    set2.boundName = "f1";
    set2.factField = "goo2";
    set2.defaultValue = "whee";
    set2.type = DataType.TYPE_STRING;
    dt.actionCols.add(set2);
    dt.data = new String[][] { new String[] { "1", "desc", "metar1", "saliencer1", "f1c1r1", "f2c1r1", "f1c2r1", "f2c2r1", "a1r1", "a2r1", "a3r1", "a4r1" }, new String[] { "2", "desc", "metar2", "saliencer2", "f1c1r2", "f2c1r2", "f1c2r2", "f2c2r2", "a1r2", "a2r2", "a3r2", "a4r2" } };
    String[][] expected = new String[][] { new String[] { "1", "desc", "metar1", "saliencer1", "f1c1r1", "f1c2r1", "f2c1r1", "f2c2r1", "a1r1", "ret1", "a3r1", "a4r1" }, new String[] { "2", "desc", "metar2", "saliencer2", "f1c1r2", "f1c2r2", "f2c1r2", "f2c2r2", "a1r2", "ret1", "a3r2", "a4r2" } };
    GuidedDecisionTable52 tsdt = upgrader.upgrade(dt);
    assertEquals("michael", tsdt.getTableName());
    assertEquals(1, tsdt.getMetadataCols().size());
    assertEquals("legacy", tsdt.getMetadataCols().get(0).getMetadata());
    assertEquals("yes", tsdt.getMetadataCols().get(0).getDefaultValue().getStringValue());
    assertEquals(1, tsdt.getAttributeCols().size());
    assertEquals("salience", tsdt.getAttributeCols().get(0).getAttribute());
    assertEquals("66", tsdt.getAttributeCols().get(0).getDefaultValue().getStringValue());
    assertEquals(2, tsdt.getConditions().size());
    assertEquals("f1", tsdt.getConditionPattern("f1").getBoundName());
    assertEquals("Driver", tsdt.getConditionPattern("f1").getFactType());
    assertEquals("f2", tsdt.getConditionPattern("f2").getBoundName());
    assertEquals("Person", tsdt.getConditionPattern("f2").getFactType());
    assertEquals(2, tsdt.getConditionPattern("f1").getChildColumns().size());
    assertEquals(2, tsdt.getConditionPattern("f2").getChildColumns().size());
    assertEquals(BaseSingleFieldConstraint.TYPE_LITERAL, tsdt.getConditionPattern("f1").getChildColumns().get(0).getConstraintValueType());
    assertEquals("age", tsdt.getConditionPattern("f1").getChildColumns().get(0).getFactField());
    assertEquals("Driver", tsdt.getPattern(tsdt.getConditionPattern("f1").getChildColumns().get(0)).getFactType());
    assertEquals("Driver f1 age", tsdt.getConditionPattern("f1").getChildColumns().get(0).getHeader());
    assertEquals("==", tsdt.getConditionPattern("f1").getChildColumns().get(0).getOperator());
    assertEquals(BaseSingleFieldConstraint.TYPE_RET_VALUE, tsdt.getConditionPattern("f1").getChildColumns().get(1).getConstraintValueType());
    assertEquals("rating", tsdt.getConditionPattern("f1").getChildColumns().get(1).getFactField());
    assertEquals("Driver", tsdt.getPattern(tsdt.getConditionPattern("f1").getChildColumns().get(1)).getFactType());
    assertEquals("Driver rating", tsdt.getConditionPattern("f1").getChildColumns().get(1).getHeader());
    assertEquals("==", tsdt.getConditionPattern("f1").getChildColumns().get(1).getOperator());
    assertEquals(BaseSingleFieldConstraint.TYPE_LITERAL, tsdt.getConditionPattern("f2").getChildColumns().get(0).getConstraintValueType());
    assertEquals("name", tsdt.getConditionPattern("f2").getChildColumns().get(0).getFactField());
    assertEquals("Person", tsdt.getPattern(tsdt.getConditionPattern("f2").getChildColumns().get(0)).getFactType());
    assertEquals("Person f2 name", tsdt.getConditionPattern("f2").getChildColumns().get(0).getHeader());
    assertEquals("==", tsdt.getConditionPattern("f2").getChildColumns().get(0).getOperator());
    assertEquals(BaseSingleFieldConstraint.TYPE_PREDICATE, tsdt.getConditionPattern("f2").getChildColumns().get(1).getConstraintValueType());
    assertEquals("(not needed)", tsdt.getConditionPattern("f2").getChildColumns().get(1).getFactField());
    assertEquals("Person", tsdt.getPattern(tsdt.getConditionPattern("f2").getChildColumns().get(1)).getFactType());
    assertEquals("Person f2 not needed", tsdt.getConditionPattern("f2").getChildColumns().get(1).getHeader());
    assertEquals(null, tsdt.getConditionPattern("f2").getChildColumns().get(1).getOperator());
    assertEquals(4, tsdt.getActionCols().size());
    ActionInsertFactCol52 a1 = (ActionInsertFactCol52) tsdt.getActionCols().get(0);
    assertEquals("ins", a1.getBoundName());
    assertEquals("Cheese", a1.getFactType());
    assertEquals("price", a1.getFactField());
    assertEquals(DataType.TYPE_NUMERIC_INTEGER, a1.getType());
    ActionRetractFactCol52 a2 = (ActionRetractFactCol52) tsdt.getActionCols().get(1);
    assertNotNull(a2);
    ActionSetFieldCol52 a3 = (ActionSetFieldCol52) tsdt.getActionCols().get(2);
    assertEquals("f1", a3.getBoundName());
    assertEquals("goo1", a3.getFactField());
    assertEquals(DataType.TYPE_STRING, a3.getType());
    ActionSetFieldCol52 a4 = (ActionSetFieldCol52) tsdt.getActionCols().get(3);
    assertEquals("f1", a4.getBoundName());
    assertEquals("goo2", a4.getFactField());
    assertEquals("whee", a4.getDefaultValue().getStringValue());
    assertEquals(DataType.TYPE_STRING, a4.getType());
    assertEquals(2, tsdt.getData().size());
    for (int i = 0; i < 2; i++) {
        System.out.println("Row-" + i);
        StringBuilder sb = new StringBuilder();
        for (DTCellValue52 c : tsdt.getData().get(i)) {
            sb.append(c.getStringValue() + ", ");
        }
        sb.delete(sb.lastIndexOf(","), sb.length());
        System.out.println(sb.toString());
    }
    assertEquals(new Integer(1), (Integer) tsdt.getData().get(0).get(0).getNumericValue());
    assertEquals("desc", tsdt.getData().get(0).get(1).getStringValue());
    assertEquals("metar1", tsdt.getData().get(0).get(2).getStringValue());
    assertEquals("saliencer1", tsdt.getData().get(0).get(3).getStringValue());
    assertEquals("f1c1r1", tsdt.getData().get(0).get(4).getStringValue());
    assertEquals("f1c2r1", tsdt.getData().get(0).get(5).getStringValue());
    assertEquals("f2c1r1", tsdt.getData().get(0).get(6).getStringValue());
    assertEquals("f2c2r1", tsdt.getData().get(0).get(7).getStringValue());
    assertEquals("a1r1", tsdt.getData().get(0).get(8).getStringValue());
    assertEquals("ret1", tsdt.getData().get(0).get(9).getStringValue());
    assertEquals("a3r1", tsdt.getData().get(0).get(10).getStringValue());
    assertEquals("a4r1", tsdt.getData().get(0).get(11).getStringValue());
    assertEquals(new Integer(2), (Integer) tsdt.getData().get(1).get(0).getNumericValue());
    assertEquals("desc", tsdt.getData().get(1).get(1).getStringValue());
    assertEquals("metar2", tsdt.getData().get(1).get(2).getStringValue());
    assertEquals("saliencer2", tsdt.getData().get(1).get(3).getStringValue());
    assertEquals("f1c1r2", tsdt.getData().get(1).get(4).getStringValue());
    assertEquals("f1c2r2", tsdt.getData().get(1).get(5).getStringValue());
    assertEquals("f2c1r2", tsdt.getData().get(1).get(6).getStringValue());
    assertEquals("f2c2r2", tsdt.getData().get(1).get(7).getStringValue());
    assertEquals("a1r2", tsdt.getData().get(1).get(8).getStringValue());
    assertEquals("ret1", tsdt.getData().get(1).get(9).getStringValue());
    assertEquals("a3r2", tsdt.getData().get(1).get(10).getStringValue());
    assertEquals("a4r2", tsdt.getData().get(1).get(11).getStringValue());
    isRowEquivalent(tsdt.getData().get(0), expected[0]);
    isRowEquivalent(tsdt.getData().get(1), expected[1]);
}
Also used : GuidedDecisionTable(org.drools.workbench.models.guided.dtable.shared.model.legacy.GuidedDecisionTable) GuidedDecisionTable52(org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52) ActionInsertFactCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52) ActionRetractFactCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionRetractFactCol52) DTCellValue52(org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52) MetadataCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.MetadataCol) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) BaseSingleFieldConstraint(org.drools.workbench.models.datamodel.rule.BaseSingleFieldConstraint) ActionInsertFactCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ActionInsertFactCol) AttributeCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.AttributeCol) ActionRetractFactCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ActionRetractFactCol) ConditionCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ConditionCol) ActionSetFieldCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ActionSetFieldCol) Test(org.junit.Test)

Example 39 with ActionSetFieldCol52

use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools by kiegroup.

the class GuidedDTModelConversionTest method testConversion.

@Test
public void testConversion() {
    GuidedDecisionTable dt = new GuidedDecisionTable();
    dt.tableName = "michael";
    MetadataCol md = new MetadataCol();
    md.attr = "legacy";
    md.defaultValue = "yes";
    dt.metadataCols.add(md);
    AttributeCol attr = new AttributeCol();
    attr.attr = "salience";
    attr.defaultValue = "66";
    dt.attributeCols.add(attr);
    ConditionCol con = new ConditionCol();
    con.boundName = "f1";
    con.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
    con.factField = "age";
    con.factType = "Driver";
    con.header = "Driver f1 age";
    con.operator = "==";
    dt.conditionCols.add(con);
    ConditionCol con2 = new ConditionCol();
    con2.boundName = "f1";
    con2.constraintValueType = BaseSingleFieldConstraint.TYPE_LITERAL;
    con2.factField = "name";
    con2.factType = "Driver";
    con2.header = "Driver f1 name";
    con2.operator = "==";
    dt.conditionCols.add(con2);
    ConditionCol con3 = new ConditionCol();
    con3.boundName = "f1";
    con3.constraintValueType = BaseSingleFieldConstraint.TYPE_RET_VALUE;
    con3.factField = "rating";
    con3.factType = "Driver";
    con3.header = "Driver rating";
    con3.operator = "==";
    dt.conditionCols.add(con3);
    ConditionCol con4 = new ConditionCol();
    con4.boundName = "f2";
    con4.constraintValueType = BaseSingleFieldConstraint.TYPE_PREDICATE;
    con4.factType = "Driver";
    con4.header = "Driver 2 pimp";
    con4.factField = "(not needed)";
    dt.conditionCols.add(con4);
    ActionInsertFactCol ins = new ActionInsertFactCol();
    ins.boundName = "ins";
    ins.factType = "Cheese";
    ins.factField = "price";
    ins.type = DataType.TYPE_NUMERIC_INTEGER;
    dt.actionCols.add(ins);
    ActionRetractFactCol ret = new ActionRetractFactCol();
    ret.boundName = "ret1";
    dt.actionCols.add(ret);
    ActionSetFieldCol set = new ActionSetFieldCol();
    set.boundName = "f1";
    set.factField = "goo1";
    set.type = DataType.TYPE_STRING;
    dt.actionCols.add(set);
    ActionSetFieldCol set2 = new ActionSetFieldCol();
    set2.boundName = "f1";
    set2.factField = "goo2";
    set2.defaultValue = "whee";
    set2.type = DataType.TYPE_STRING;
    dt.actionCols.add(set2);
    dt.data = new String[][] { new String[] { "1", "desc", "metar1", "saliencer1", "c1r1", "c2r1", "c3r1", "c4r1", "a1r1", "a2r1", "a3r1", "a4r1" }, new String[] { "2", "desc", "metar2", "saliencer2", "c1r2", "c2r2", "c3r2", "c4r2", "a1r2", "a2r2", "a3r2", "a4r2" } };
    String[][] expected = new String[][] { new String[] { "1", "desc", "metar1", "saliencer1", "c1r1", "c2r1", "c3r1", "c4r1", "a1r1", "ret1", "a3r1", "a4r1" }, new String[] { "2", "desc", "metar2", "saliencer2", "c1r2", "c2r2", "c3r2", "c4r2", "a1r2", "ret1", "a3r2", "a4r2" } };
    GuidedDecisionTable52 tsdt = upgrader.upgrade(dt);
    assertEquals("michael", tsdt.getTableName());
    assertEquals(GuidedDecisionTable52.TableFormat.EXTENDED_ENTRY, tsdt.getTableFormat());
    assertEquals(1, tsdt.getMetadataCols().size());
    assertEquals("legacy", tsdt.getMetadataCols().get(0).getMetadata());
    assertEquals("yes", tsdt.getMetadataCols().get(0).getDefaultValue().getStringValue());
    assertEquals(1, tsdt.getAttributeCols().size());
    assertEquals("salience", tsdt.getAttributeCols().get(0).getAttribute());
    assertEquals("66", tsdt.getAttributeCols().get(0).getDefaultValue().getStringValue());
    assertEquals(2, tsdt.getConditions().size());
    assertEquals("f1", tsdt.getConditionPattern("f1").getBoundName());
    assertEquals("Driver", tsdt.getConditionPattern("f1").getFactType());
    assertEquals("f2", tsdt.getConditionPattern("f2").getBoundName());
    assertEquals("Driver", tsdt.getConditionPattern("f2").getFactType());
    assertEquals(3, tsdt.getConditionPattern("f1").getChildColumns().size());
    assertEquals(1, tsdt.getConditionPattern("f2").getChildColumns().size());
    assertEquals(BaseSingleFieldConstraint.TYPE_LITERAL, tsdt.getConditionPattern("f1").getChildColumns().get(0).getConstraintValueType());
    assertEquals("age", tsdt.getConditionPattern("f1").getChildColumns().get(0).getFactField());
    assertEquals("Driver", tsdt.getPattern(tsdt.getConditionPattern("f1").getChildColumns().get(0)).getFactType());
    assertEquals("Driver f1 age", tsdt.getConditionPattern("f1").getChildColumns().get(0).getHeader());
    assertEquals("==", tsdt.getConditionPattern("f1").getChildColumns().get(0).getOperator());
    assertEquals(BaseSingleFieldConstraint.TYPE_LITERAL, tsdt.getConditionPattern("f1").getChildColumns().get(1).getConstraintValueType());
    assertEquals("name", tsdt.getConditionPattern("f1").getChildColumns().get(1).getFactField());
    assertEquals("Driver", tsdt.getPattern(tsdt.getConditionPattern("f1").getChildColumns().get(1)).getFactType());
    assertEquals("Driver f1 name", tsdt.getConditionPattern("f1").getChildColumns().get(1).getHeader());
    assertEquals("==", tsdt.getConditionPattern("f1").getChildColumns().get(1).getOperator());
    assertEquals(BaseSingleFieldConstraint.TYPE_RET_VALUE, tsdt.getConditionPattern("f1").getChildColumns().get(2).getConstraintValueType());
    assertEquals("rating", tsdt.getConditionPattern("f1").getChildColumns().get(2).getFactField());
    assertEquals("Driver", tsdt.getPattern(tsdt.getConditionPattern("f1").getChildColumns().get(2)).getFactType());
    assertEquals("Driver rating", tsdt.getConditionPattern("f1").getChildColumns().get(2).getHeader());
    assertEquals("==", tsdt.getConditionPattern("f1").getChildColumns().get(2).getOperator());
    assertEquals(BaseSingleFieldConstraint.TYPE_PREDICATE, tsdt.getConditionPattern("f2").getChildColumns().get(0).getConstraintValueType());
    assertEquals("(not needed)", tsdt.getConditionPattern("f2").getChildColumns().get(0).getFactField());
    assertEquals("Driver", tsdt.getPattern(tsdt.getConditionPattern("f2").getChildColumns().get(0)).getFactType());
    assertEquals("Driver 2 pimp", tsdt.getConditionPattern("f2").getChildColumns().get(0).getHeader());
    assertEquals(4, tsdt.getActionCols().size());
    ActionInsertFactCol52 a1 = (ActionInsertFactCol52) tsdt.getActionCols().get(0);
    assertEquals("ins", a1.getBoundName());
    assertEquals("Cheese", a1.getFactType());
    assertEquals("price", a1.getFactField());
    assertEquals(DataType.TYPE_NUMERIC_INTEGER, a1.getType());
    ActionRetractFactCol52 a2 = (ActionRetractFactCol52) tsdt.getActionCols().get(1);
    assertNotNull(a2);
    ActionSetFieldCol52 a3 = (ActionSetFieldCol52) tsdt.getActionCols().get(2);
    assertEquals("f1", a3.getBoundName());
    assertEquals("goo1", a3.getFactField());
    assertEquals(DataType.TYPE_STRING, a3.getType());
    ActionSetFieldCol52 a4 = (ActionSetFieldCol52) tsdt.getActionCols().get(3);
    assertEquals("f1", a4.getBoundName());
    assertEquals("goo2", a4.getFactField());
    assertEquals("whee", a4.getDefaultValue().getStringValue());
    assertEquals(DataType.TYPE_STRING, a4.getType());
    assertEquals(2, tsdt.getData().size());
    isRowEquivalent(tsdt.getData().get(0), expected[0]);
    isRowEquivalent(tsdt.getData().get(1), expected[1]);
}
Also used : GuidedDecisionTable(org.drools.workbench.models.guided.dtable.shared.model.legacy.GuidedDecisionTable) GuidedDecisionTable52(org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52) ActionInsertFactCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52) ActionRetractFactCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionRetractFactCol52) MetadataCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.MetadataCol) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) ActionInsertFactCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ActionInsertFactCol) AttributeCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.AttributeCol) ActionRetractFactCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ActionRetractFactCol) ConditionCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ConditionCol) ActionSetFieldCol(org.drools.workbench.models.guided.dtable.shared.model.legacy.ActionSetFieldCol) Test(org.junit.Test)

Example 40 with ActionSetFieldCol52

use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools by kiegroup.

the class GuidedDTXMLPersistenceTest method testBackwardsCompatibility.

@Test
public void testBackwardsCompatibility() throws Exception {
    String xml = loadResource("ExistingDecisionTable.xml");
    GuidedDecisionTable52 dt_ = GuidedDTXMLPersistence.getInstance().unmarshal(xml);
    assertNotNull(dt_);
    assertEquals("blah", dt_.getTableName());
    assertEquals(1, dt_.getMetadataCols().size());
    assertEquals(1, dt_.getAttributeCols().size());
    assertEquals(2, dt_.getActionCols().size());
    assertEquals(1, dt_.getConditions().size());
    assertEquals(1, dt_.getConditions().get(0).getChildColumns().size());
    assertTrue(dt_.getActionCols().get(1) instanceof ActionSetFieldCol52);
    ActionSetFieldCol52 asf = (ActionSetFieldCol52) dt_.getActionCols().get(1);
    assertEquals("foo", asf.getFactField());
    assertEquals(false, asf.isUpdate());
}
Also used : GuidedDecisionTable52(org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52) ActionSetFieldCol52(org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52) Test(org.junit.Test)

Aggregations

ActionSetFieldCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52)75 Test (org.junit.Test)49 Pattern52 (org.drools.workbench.models.guided.dtable.shared.model.Pattern52)39 ConditionCol52 (org.drools.workbench.models.guided.dtable.shared.model.ConditionCol52)38 ActionInsertFactCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionInsertFactCol52)29 GuidedDecisionTable52 (org.drools.workbench.models.guided.dtable.shared.model.GuidedDecisionTable52)27 LimitedEntryActionSetFieldCol52 (org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryActionSetFieldCol52)23 DTCellValue52 (org.drools.workbench.models.guided.dtable.shared.model.DTCellValue52)16 LimitedEntryConditionCol52 (org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryConditionCol52)16 LimitedEntryActionInsertFactCol52 (org.drools.workbench.models.guided.dtable.shared.model.LimitedEntryActionInsertFactCol52)12 RawMVELEvaluator (org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator)12 PackageDataModelOracleBaselinePayload (org.kie.workbench.common.services.datamodel.model.PackageDataModelOracleBaselinePayload)12 AsyncPackageDataModelOracle (org.kie.workbench.common.widgets.client.datamodel.AsyncPackageDataModelOracle)12 Path (org.uberfire.backend.vfs.Path)12 ModelField (org.kie.soup.project.datamodel.oracle.ModelField)11 ModuleDataModelOracle (org.kie.soup.project.datamodel.oracle.ModuleDataModelOracle)11 BaseColumn (org.drools.workbench.models.guided.dtable.shared.model.BaseColumn)10 ActionCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionCol52)9 ActionRetractFactCol52 (org.drools.workbench.models.guided.dtable.shared.model.ActionRetractFactCol52)8 AttributeCol52 (org.drools.workbench.models.guided.dtable.shared.model.AttributeCol52)8