// Copy values from one (transient) model column into another private void populateModelColumn( final ActionSetFieldCol col, final ActionSetFieldCol editingCol) { col.setBoundName(editingCol.getBoundName()); col.setType(editingCol.getType()); col.setFactField(editingCol.getFactField()); col.setHeader(editingCol.getHeader()); col.setValueList(editingCol.getValueList()); col.setDefaultValue(editingCol.getDefaultValue()); col.setHideColumn(editingCol.isHideColumn()); col.setUpdate(editingCol.isUpdate()); }
// public void testGetCol() { // GuidedDecisionTable dt = new GuidedDecisionTable(); // AttributeCol at1 = new AttributeCol(); // ConditionCol condition1 = new ConditionCol(); // ActionCol action1 = new ActionInsertFactCol(); // dt.attributeCols.add(at1); // dt.conditionCols.add(condition1); // dt.actionCols.add(action1); // // assertEquals(at1, dt.getColumnConfiguration(0)); // assertEquals(condition1, dt.getColumnConfiguration(1)); // assertEquals(action1, dt.getColumnConfiguration(2)); // // // AttributeCol at2 = new AttributeCol(); // dt.attributeCols.add(at2); // assertEquals(at1, dt.getColumnConfiguration(0)); // assertEquals(at2, dt.getColumnConfiguration(1)); // assertEquals(condition1, dt.getColumnConfiguration(2)); // assertEquals(action1, dt.getColumnConfiguration(3)); // // ConditionCol condition2 = new ConditionCol(); // dt.conditionCols.add(condition2); // // assertEquals(at1, dt.getColumnConfiguration(0)); // assertEquals(at2, dt.getColumnConfiguration(1)); // assertEquals(condition1, dt.getColumnConfiguration(2)); // assertEquals(condition2, dt.getColumnConfiguration(3)); // assertEquals(action1, dt.getColumnConfiguration(4)); // // ActionCol action2 = new ActionInsertFactCol(); // dt.actionCols.add(action2); // assertEquals(at1, dt.getColumnConfiguration(0)); // assertEquals(at2, dt.getColumnConfiguration(1)); // assertEquals(condition1, dt.getColumnConfiguration(2)); // assertEquals(condition2, dt.getColumnConfiguration(3)); // assertEquals(action1, dt.getColumnConfiguration(4)); // assertEquals(action2, dt.getColumnConfiguration(5)); // // // // dt.attributeCols = new ArrayList(); // assertEquals(condition1, dt.getColumnConfiguration(0)); // assertEquals(condition2, dt.getColumnConfiguration(1)); // assertEquals(action1, dt.getColumnConfiguration(2)); // assertEquals(action2, dt.getColumnConfiguration(3)); // // dt.conditionCols = new ArrayList(); // assertEquals(action1, dt.getColumnConfiguration(0)); // assertEquals(action2, dt.getColumnConfiguration(1)); // // // // // // // } @Test public void testValueLists() { TypeSafeGuidedDecisionTable dt = new TypeSafeGuidedDecisionTable(); // add cols for LHS ConditionCol c1 = new ConditionCol(); c1.setBoundName("c1"); c1.setFactType("Driver"); c1.setFactField("name"); c1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); dt.getConditionCols().add(c1); ConditionCol c1_ = new ConditionCol(); c1_.setBoundName("c1"); c1_.setFactType("Driver"); c1_.setFactField("name"); c1_.setConstraintValueType(BaseSingleFieldConstraint.TYPE_RET_VALUE); dt.getConditionCols().add(c1_); ConditionCol c1__ = new ConditionCol(); c1__.setBoundName("c1"); c1__.setFactType("Driver"); c1__.setFactField("name"); c1__.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); c1__.setValueList("one,two,three"); dt.getConditionCols().add(c1__); ConditionCol c2 = new ConditionCol(); c2.setBoundName("c2"); c2.setFactType("Driver"); c2.setFactField("nothing"); c2.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); dt.getConditionCols().add(c2); ActionSetFieldCol asf = new ActionSetFieldCol(); asf.setBoundName("c1"); asf.setFactField("name"); dt.getActionCols().add(asf); ActionInsertFactCol ins = new ActionInsertFactCol(); ins.setBoundName("x"); ins.setFactField("rating"); ins.setFactType("Person"); dt.getActionCols().add(ins); ActionInsertFactCol ins_ = new ActionInsertFactCol(); ins_.setBoundName("x"); ins_.setFactField("rating"); ins_.setFactType("Person"); ins_.setValueList("one,two,three"); dt.getActionCols().add(ins_); ActionSetFieldCol asf_ = new ActionSetFieldCol(); asf_.setBoundName("c1"); asf_.setFactField("goo"); dt.getActionCols().add(asf_); ActionSetFieldCol asf__ = new ActionSetFieldCol(); asf__.setBoundName("c1"); asf__.setFactField("goo"); asf__.setValueList("one,two,three"); dt.getActionCols().add(asf__); SuggestionCompletionEngine sce = new SuggestionCompletionEngine(); sce.putDataEnumList("Driver.name", new String[] {"bob", "michael"}); sce.putDataEnumList("Person.rating", new String[] {"1", "2"}); String[] r = dt.getValueList(c1, sce); assertEquals(2, r.length); assertEquals("bob", r[0]); assertEquals("michael", r[1]); assertEquals(0, dt.getValueList(c1_, sce).length); r = dt.getValueList(c1__, sce); assertEquals(3, r.length); assertEquals("one", r[0]); assertEquals("two", r[1]); assertEquals("three", r[2]); assertEquals(0, dt.getValueList(c2, sce).length); r = dt.getValueList(asf, sce); assertEquals(2, r.length); assertEquals("bob", r[0]); assertEquals("michael", r[1]); r = dt.getValueList(ins, sce); assertEquals(2, r.length); assertEquals("1", r[0]); assertEquals("2", r[1]); r = dt.getValueList(ins_, sce); assertEquals(3, r.length); assertEquals("one", r[0]); assertEquals("two", r[1]); assertEquals("three", r[2]); assertEquals(0, dt.getValueList(asf_, sce).length); r = dt.getValueList(asf__, sce); assertEquals(3, r.length); assertEquals("one", r[0]); assertEquals("two", r[1]); assertEquals("three", r[2]); AttributeCol at = new AttributeCol(); at.setAttribute("no-loop"); dt.getAttributeCols().add(at); r = dt.getValueList(at, sce); assertEquals(2, r.length); assertEquals("true", r[0]); assertEquals("false", r[1]); at.setAttribute("enabled"); assertEquals(2, dt.getValueList(at, sce).length); at.setAttribute("salience"); assertEquals(0, dt.getValueList(at, sce).length); }