private List<BRLVariableColumn> addLiteralColumn(final LiteralValueBuilder vb) { final List<BRLVariableColumn> variableColumns = new ArrayList<BRLVariableColumn>(); final BRLConditionVariableColumn parameterColumn = new BRLConditionVariableColumn("", DataType.TYPE_BOOLEAN); variableColumns.add(parameterColumn); //Store DRL fragment for use by GuidedDecisionTableRHSBuilder drlFragments.add(vb.getTemplate()); return variableColumns; }
private List<BRLVariableColumn> addBRLFragmentColumn(final ParameterizedValueBuilder vb) { final List<BRLVariableColumn> variableColumns = new ArrayList<BRLVariableColumn>(); for (String parameter : vb.getParameters()) { final BRLConditionVariableColumn parameterColumn = new BRLConditionVariableColumn(parameter, DataType.TYPE_OBJECT); variableColumns.add(parameterColumn); } //Store DRL fragment for use by GuidedDecisionTableRHSBuilder drlFragments.add(vb.getTemplate()); return variableColumns; }
private List<BRLVariableColumn> addPatternColumn() { //Sort column builders by column index to ensure columns are added in the correct sequence final TreeSet<Integer> sortedIndexes = new TreeSet<Integer>(this.valueBuilders.keySet()); final List<BRLVariableColumn> variableColumns = new ArrayList<BRLVariableColumn>(); //DRL prefix final StringBuffer drl = new StringBuffer(); drl.append(this.colDefPrefix); String sep = ""; //DRL fragment for (Integer index : sortedIndexes) { final ParameterizedValueBuilder vb = this.valueBuilders.get(index); for (String parameter : vb.getParameters()) { final BRLConditionVariableColumn parameterColumn = new BRLConditionVariableColumn(parameter, DataType.TYPE_OBJECT); parameterColumn.setHeader(this.columnHeaders.get(index)); variableColumns.add(parameterColumn); } drl.append(sep).append(vb.getTemplate()); sep = this.andop; } //DRL suffix drl.append(this.colDefSuffix); //Store DRL fragment for use by GuidedDecisionTableRHSBuilder drlFragments.add(drl.toString()); return variableColumns; }
private void setZeroParameterConditionColumnHeader(final BRLConditionColumn column, final List<BRLVariableColumn> allVariableColumns) { final BRLConditionVariableColumn source = findZeroParameterSourceConditionColumn(allVariableColumns); final BRLConditionVariableColumn target = new BRLConditionVariableColumn("", DataType.TYPE_BOOLEAN); column.getChildColumns().add(target); setZeroParameterColumnHeader(column, source, target); }
private BRLConditionVariableColumn makeBRLConditionVariableColumn(final BRLConditionVariableColumn source, final InterpolationVariable iv) { final String varName = source.getVarName(); final String dataType = iv.getDataType() == null ? DataType.TYPE_OBJECT : iv.getDataType(); final String factType = iv.getFactType(); final String factField = iv.getFactField(); BRLConditionVariableColumn target; if (factType != null && factField != null) { target = new BRLConditionVariableColumn(varName, dataType, factType, factField); } else { target = new BRLConditionVariableColumn(varName, dataType); } target.setHeader(source.getHeader()); return target; }
@Test public void testInsertBRLConditionColumn() throws Exception { BRLConditionColumn brlConditionOne = new BRLConditionColumn(); BRLConditionVariableColumn a = new BRLConditionVariableColumn(); BRLConditionVariableColumn b = new BRLConditionVariableColumn(); BRLConditionColumn brlConditionTwo = new BRLConditionColumn(); BRLConditionVariableColumn c = new BRLConditionVariableColumn(); BRLConditionVariableColumn d = new BRLConditionVariableColumn(); brlConditionOne.setChildColumns(Arrays.asList(a, b)); brlConditionTwo.setChildColumns(Arrays.asList(c, d)); model.getConditions().addAll(Arrays.asList(brlConditionOne, brlConditionTwo)); decisionTableAnalyzer.insertColumn(brlConditionTwo); verify(updateManager).newColumn(model, 4); }
public static BRLConditionColumn createBRLConditionColumn() { final BRLConditionColumn brlConditionColumn = new BRLConditionColumn(); final ArrayList<IPattern> definition = new ArrayList<>(); definition.add(mock(IPattern.class)); brlConditionColumn.setDefinition(definition); final ArrayList<BRLConditionVariableColumn> childColumns = new ArrayList<>(); final BRLConditionVariableColumn brlConditionVariableColumn = new BRLConditionVariableColumn(); brlConditionVariableColumn.getFactType(); childColumns.add(brlConditionVariableColumn); brlConditionColumn.setChildColumns(childColumns); return brlConditionColumn; }
public static BRLConditionColumn createBRLConditionColumn() { final BRLConditionColumn brlConditionColumn = new BRLConditionColumn(); final ArrayList<IPattern> definition = new ArrayList<>(); definition.add(mock(IPattern.class)); brlConditionColumn.setDefinition(definition); final ArrayList<BRLConditionVariableColumn> childColumns = new ArrayList<>(); final BRLConditionVariableColumn brlConditionVariableColumn = new BRLConditionVariableColumn(); brlConditionVariableColumn.getFactType(); childColumns.add(brlConditionVariableColumn); brlConditionColumn.setChildColumns(childColumns); return brlConditionColumn; }
@Test(expected = IllegalArgumentException.class) public void testInsertNonExistingColumn() throws Exception { ConditionCol52 a = new ConditionCol52(); ConditionCol52 b = new ConditionCol52(); pattern.setChildColumns(Arrays.asList(a)); BRLConditionColumn brlCondition = new BRLConditionColumn(); BRLConditionVariableColumn c = new BRLConditionVariableColumn(); BRLConditionVariableColumn d = new BRLConditionVariableColumn(); brlCondition.setChildColumns(Arrays.asList(c, d)); model.getConditions().addAll(Arrays.asList(pattern, brlCondition)); decisionTableAnalyzer.insertColumn(b); } }
@Test public void testInsertBRLVariableColumn() throws Exception { ConditionCol52 a = new ConditionCol52(); ConditionCol52 b = new ConditionCol52(); pattern.setChildColumns(Arrays.asList(a, b)); BRLConditionColumn brlCondition = new BRLConditionColumn(); BRLConditionVariableColumn c = new BRLConditionVariableColumn(); BRLConditionVariableColumn d = new BRLConditionVariableColumn(); brlCondition.setChildColumns(Arrays.asList(c, d)); model.getConditions().addAll(Arrays.asList(pattern, brlCondition)); decisionTableAnalyzer.insertColumn(d); verify(updateManager).newColumn(model, 5); }
private BRLConditionVariableColumn makeVariable(final String variableName, final String variableFieldType, final String variableFactType, final String variableFactField, final String variableHeader, final boolean hideColumn, final int width) { final BRLConditionVariableColumn clone = new BRLConditionVariableColumn(variableName, variableFieldType, variableFactType, variableFactField); clone.setHeader(variableHeader); clone.setHideColumn(hideColumn); clone.setWidth(width); return clone; } }
@Test public void testDiffChildColumns() { List<BRLConditionVariableColumn> childColumns1 = Arrays.asList(new BRLConditionVariableColumn("var1", "FieldType1")); column1.setChildColumns(childColumns1); List<BRLConditionVariableColumn> childColumns2 = Arrays.asList(new BRLConditionVariableColumn("var2", "FieldType2")); column2.setChildColumns(childColumns2); List<BaseColumnFieldDiff> diff = column1.diff(column2); assertNotNull(diff); assertEquals(2, diff.size()); assertEquals(FIELD_FIELD_TYPE, diff.get(0).getFieldName()); assertEquals("FieldType1", diff.get(0).getOldValue()); assertEquals("FieldType2", diff.get(0).getValue()); assertEquals(FIELD_VAR_NAME, diff.get(1).getFieldName()); assertEquals("var1", diff.get(1).getOldValue()); assertEquals("var2", diff.get(1).getValue()); }
@Before public void setup() { column1 = new BRLConditionColumn(); List<IPattern> definition1 = Arrays.asList(new FactPattern("Mock")); column1.setDefinition(definition1); List<BRLConditionVariableColumn> childColumns1 = Arrays.asList(new BRLConditionVariableColumn("var", "FieldType")); column1.setChildColumns(childColumns1); column1.setHeader("header"); column1.setHideColumn(false); column2 = new BRLConditionColumn(); List<IPattern> definition2 = Arrays.asList(new FactPattern("Mock")); column2.setDefinition(definition2); List<BRLConditionVariableColumn> childColumns2 = Arrays.asList(new BRLConditionVariableColumn("var", "FieldType")); column2.setChildColumns(childColumns2); column2.setHeader("header"); column2.setHideColumn(false); }
BRLConditionVariableColumn cloneVariable(BRLConditionVariableColumn variable) { final BRLConditionVariableColumn clone = new BRLConditionVariableColumn(variable.getVarName(), variable.getFieldType(), variable.getFactType(), variable.getFactField()); clone.setHeader(variable.getHeader()); clone.setHideColumn(variable.isHideColumn()); clone.setWidth(variable.getWidth()); clone.setOperator(variable.getOperator()); return clone; }
BRLConditionVariableColumn cloneVariable(BRLConditionVariableColumn variable) { final BRLConditionVariableColumn clone = new BRLConditionVariableColumn(variable.getVarName(), variable.getFieldType(), variable.getFactType(), variable.getFactField()); clone.setHeader(variable.getHeader()); clone.setHideColumn(variable.isHideColumn()); clone.setWidth(variable.getWidth()); clone.setOperator(variable.getOperator()); return clone; }
@Test public void checkBRLFragmentConditionCanBeDeletedWithNoAction() throws VetoException { final BRLConditionColumn column = new BRLConditionColumn(); final BRLConditionVariableColumn columnV0 = new BRLConditionVariableColumn("$age", DataType.TYPE_NUMERIC_INTEGER, "Applicant", "age"); final BRLConditionVariableColumn columnV1 = new BRLConditionVariableColumn("$name", DataType.TYPE_STRING, "Applicant", "name"); column.getChildColumns().add(columnV0); column.getChildColumns().add(columnV1); column.setHeader("col1"); columnV0.setHeader("col1v0"); columnV1.setHeader("col1v1"); modelSynchronizer.appendColumn(column); try { modelSynchronizer.deleteColumn(column); } catch (VetoException veto) { fail("Deletion should have been permitted."); } assertEquals(2, model.getExpandedColumns().size()); assertTrue(model.getExpandedColumns().get(0) instanceof RowNumberCol52); assertTrue(model.getExpandedColumns().get(1) instanceof DescriptionCol52); }
@Test public void testAppend1() throws VetoException { //Single Column, single variable final BRLConditionColumn column = new BRLConditionColumn(); 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); assertEquals(3, model.getExpandedColumns().size()); assertEquals(1, model.getConditions().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof IntegerUiColumn); assertEquals(2, uiModel.getColumns().get(2).getHeaderMetaData().size()); assertEquals("$age", uiModel.getColumns().get(2).getHeaderMetaData().get(1).getTitle()); }
@Test public void cloneVariable() { final BRLConditionVariableColumn original = new BRLConditionVariableColumn(); original.setHeader("header"); original.setOperator("=="); final BRLConditionVariableColumn clone = plugin.cloneVariable(original); assertEquals("header", clone.getHeader()); assertEquals("==", clone.getOperator()); } }
public static GuidedDecisionTable52 makeTableWithBRLFragmentConditionColWithPredicate(final String packageName, final Collection<Import> imports, final String tableName) { final GuidedDecisionTable52 dt = new GuidedDecisionTable52(); dt.setPackageName(packageName); dt.getImports().getImports().addAll(imports); dt.setTableName(tableName); final BRLConditionColumn brl = new BRLConditionColumn(); final FactPattern fp1 = new FactPattern(); fp1.setFactType("Applicant"); final SingleFieldConstraint sfc1 = new SingleFieldConstraint(); sfc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_PREDICATE); sfc1.setValue("age = 45"); fp1.addConstraint(sfc1); brl.getDefinition().add(fp1); brl.getChildColumns().add(new BRLConditionVariableColumn("f1", DataType.TYPE_BOOLEAN)); dt.getConditions().add(brl); dt.setData(DataUtilities.makeDataLists(new Object[][]{ new Object[]{"1", "desc", true} })); return dt; }
public static GuidedDecisionTable52 makeTableWithBRLFragmentConditionColWithPredicate(final String packageName, final Collection<Import> imports, final String tableName) { final GuidedDecisionTable52 dt = new GuidedDecisionTable52(); dt.setPackageName(packageName); dt.getImports().getImports().addAll(imports); dt.setTableName(tableName); final BRLConditionColumn brl = new BRLConditionColumn(); final FactPattern fp1 = new FactPattern(); fp1.setFactType("Applicant"); final SingleFieldConstraint sfc1 = new SingleFieldConstraint(); sfc1.setConstraintValueType(BaseSingleFieldConstraint.TYPE_PREDICATE); sfc1.setValue("age = 45"); fp1.addConstraint(sfc1); brl.getDefinition().add(fp1); brl.getChildColumns().add(new BRLConditionVariableColumn("f1", DataType.TYPE_BOOLEAN)); dt.getConditions().add(brl); dt.setData(DataUtilities.makeDataLists(new Object[][]{ new Object[]{"1", "desc", true} })); return dt; }