use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools by kiegroup.
the class GuidedDTDRLPersistenceTest method testRHS.
@Test
public void testRHS() {
GuidedDTDRLPersistence p = new GuidedDTDRLPersistence();
String[] row = new String[] { "1", "desc", "a", "a condition", "actionsetfield1", "actionupdatefield2", "retract", "actioninsertfact1", "actioninsertfact2" };
List<BaseColumn> allColumns = new ArrayList<BaseColumn>();
allColumns.add(new RowNumberCol52());
allColumns.add(new DescriptionCol52());
allColumns.add(new MetadataCol52());
allColumns.add(new ConditionCol52());
List<ActionCol52> cols = new ArrayList<ActionCol52>();
ActionSetFieldCol52 asf1 = new ActionSetFieldCol52();
asf1.setBoundName("a");
asf1.setFactField("field1");
asf1.setType(DataType.TYPE_STRING);
cols.add(asf1);
ActionSetFieldCol52 asf2 = new ActionSetFieldCol52();
asf2.setBoundName("a");
asf2.setFactField("field2");
asf2.setUpdate(true);
asf2.setType(DataType.TYPE_NUMERIC_INTEGER);
cols.add(asf2);
ActionRetractFactCol52 ret = new ActionRetractFactCol52();
cols.add(ret);
ActionInsertFactCol52 ins1 = new ActionInsertFactCol52();
ins1.setBoundName("ins");
ins1.setFactType("Cheese");
ins1.setFactField("price");
ins1.setType(DataType.TYPE_NUMERIC_INTEGER);
cols.add(ins1);
ActionInsertFactCol52 ins2 = new ActionInsertFactCol52();
ins2.setBoundName("ins");
ins2.setFactType("Cheese");
ins2.setFactField("type");
ins2.setType(DataType.TYPE_NUMERIC_INTEGER);
cols.add(ins2);
RuleModel rm = new RuleModel();
allColumns.addAll(cols);
List<DTCellValue52> rowData = DataUtilities.makeDataRowList(row);
TemplateDataProvider rowDataProvider = new GuidedDTTemplateDataProvider(allColumns, rowData);
p.doActions(allColumns, cols, rowDataProvider, rowData, rm);
assertEquals(4, rm.rhs.length);
// examine the set field action that is produced
ActionSetField a1 = (ActionSetField) rm.rhs[0];
assertEquals("a", a1.getVariable());
assertEquals(1, a1.getFieldValues().length);
assertEquals("field1", a1.getFieldValues()[0].getField());
assertEquals("actionsetfield1", a1.getFieldValues()[0].getValue());
assertEquals(DataType.TYPE_STRING, a1.getFieldValues()[0].getType());
ActionSetField a2 = (ActionSetField) rm.rhs[1];
assertEquals("a", a2.getVariable());
assertEquals(1, a2.getFieldValues().length);
assertEquals("field2", a2.getFieldValues()[0].getField());
assertEquals("actionupdatefield2", a2.getFieldValues()[0].getValue());
assertEquals(DataType.TYPE_NUMERIC_INTEGER, a2.getFieldValues()[0].getType());
// examine the retract
ActionRetractFact a3 = (ActionRetractFact) rm.rhs[2];
assertEquals("retract", a3.getVariableName());
// examine the insert
ActionInsertFact a4 = (ActionInsertFact) rm.rhs[3];
assertEquals("Cheese", a4.getFactType());
assertEquals(2, a4.getFieldValues().length);
assertEquals("price", a4.getFieldValues()[0].getField());
assertEquals("actioninsertfact1", a4.getFieldValues()[0].getValue());
assertEquals(DataType.TYPE_NUMERIC_INTEGER, a4.getFieldValues()[0].getType());
assertEquals("type", a4.getFieldValues()[1].getField());
assertEquals("actioninsertfact2", a4.getFieldValues()[1].getValue());
assertEquals(DataType.TYPE_NUMERIC_INTEGER, a4.getFieldValues()[1].getType());
}
use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools by kiegroup.
the class BRLRuleModelTest method testRuleModelWithRHSBoundFactsUsageWithActionSetField.
@Test
public void testRuleModelWithRHSBoundFactsUsageWithActionSetField() {
final GuidedDecisionTable52 dt = new GuidedDecisionTable52();
// Setup Decision Table columns
final Pattern52 p1 = new Pattern52();
p1.setFactType("Driver");
p1.setBoundName("$d");
dt.getConditions().add(p1);
final ActionSetFieldCol52 set = new ActionSetFieldCol52();
set.setBoundName("$d");
set.setFactField("rating");
dt.getActionCols().add(set);
final BRLRuleModel model = new BRLRuleModel(dt);
// Checks
assertTrue(model.isBoundFactUsed("$d"));
assertFalse(model.isBoundFactUsed("$cheese"));
}
use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools-wb by kiegroup.
the class AuditLogEntryCellHelperTest method getSafeHtml_ActionSetField.
@Test
public void getSafeHtml_ActionSetField() {
ActionSetFieldCol52 originalColumn = new ActionSetFieldCol52();
originalColumn.setBoundName("bind1");
originalColumn.setFactField("field1");
originalColumn.setUpdate(false);
originalColumn.setValueList("q,w,e");
originalColumn.setHeader("action1");
originalColumn.setHideColumn(false);
originalColumn.setDefaultValue(new DTCellValue52("def1"));
ActionSetFieldCol52 newColumn = new ActionSetFieldCol52();
newColumn.setBoundName("bind2");
newColumn.setFactField("field2");
newColumn.setUpdate(true);
newColumn.setValueList("a,s,d");
newColumn.setHeader("action2");
newColumn.setHideColumn(true);
newColumn.setDefaultValue(new DTCellValue52("def2"));
List<BaseColumnFieldDiff> diffs = originalColumn.diff(newColumn);
SafeHtml result = helper.getSafeHtml(new UpdateColumnAuditLogEntry("mock user", originalColumn, newColumn, diffs));
assertEquals(getActionHeaderRepre(newColumn.getHeader()) + getDiffRepre(diffs), result.asString());
}
use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools-wb by kiegroup.
the class DefaultWidgetFactory method dataType.
private DataType.DataTypes dataType() {
final ColumnUtilities columnUtilities = columnUtilities();
final DTColumnConfig52 column = getPlugin().editingCol();
if (column instanceof ActionSetFieldCol52) {
return columnUtilities.getDataType(getPlugin().editingPattern(), (ActionSetFieldCol52) column);
} else if (column instanceof ConditionCol52) {
return columnUtilities.getDataType(getPlugin().editingPattern(), (ConditionCol52) column);
} else {
return columnUtilities.getDataType(column);
}
}
use of org.drools.workbench.models.guided.dtable.shared.model.ActionSetFieldCol52 in project drools-wb by kiegroup.
the class ActionSetFieldsPage method isComplete.
@Override
public void isComplete(final Callback<Boolean> callback) {
// Have all Actions been defined?
boolean areActionSetFieldsDefined = true;
for (List<ActionSetFieldCol52> actions : patternToActionsMap.values()) {
for (ActionSetFieldCol52 a : actions) {
if (!getValidator().isActionValid(a)) {
areActionSetFieldsDefined = false;
break;
}
}
}
// Signal Action Set Fields definitions to other pages
final ActionSetFieldsDefinedEvent event = new ActionSetFieldsDefinedEvent(areActionSetFieldsDefined);
actionSetFieldsDefinedEvent.fire(event);
callback.callback(areActionSetFieldsDefined);
}
Aggregations