private List<BRLVariableColumn> addExplicitColumns() { //Sort column builders by column index to ensure Actions are added in the correct sequence final Set<Integer> sortedIndexes = new TreeSet<Integer>(this.valueBuilders.keySet()); final List<BRLVariableColumn> variableColumns = new ArrayList<BRLVariableColumn>(); for (Integer index : sortedIndexes) { final ParameterizedValueBuilder vb = this.valueBuilders.get(index); final List<BRLVariableColumn> vbVariableColumns = new ArrayList<BRLVariableColumn>(); if (vb instanceof LiteralValueBuilder) { vbVariableColumns.addAll(addLiteralColumn((LiteralValueBuilder) vb)); for (BRLVariableColumn vbVariableColumn : vbVariableColumns) { ((BRLConditionVariableColumn) vbVariableColumn).setHeader(this.columnHeaders.get(index)); } } else { vbVariableColumns.addAll(addBRLFragmentColumn(vb)); for (BRLVariableColumn vbVariableColumn : vbVariableColumns) { ((BRLConditionVariableColumn) vbVariableColumn).setHeader(this.columnHeaders.get(index)); } } variableColumns.addAll(vbVariableColumns); } return variableColumns; }
private void setCompositeColumnHeader(final BRLConditionColumn column) { final List<BRLConditionVariableColumn> columnVariableColumns = column.getChildColumns(); final StringBuilder sb = new StringBuilder(); final List<String> variableColumnHeaders = new ArrayList<>(); sb.append("Converted from ["); for (int i = 0; i < columnVariableColumns.size(); i++) { final BRLConditionVariableColumn variableColumn = columnVariableColumns.get(i); final String header = variableColumn.getHeader(); variableColumnHeaders.add(header); sb.append("'").append(header).append("'"); sb.append(i < columnVariableColumns.size() - 1 ? ", " : ""); } sb.append("]"); column.setHeader(sb.toString()); for (int i = 0; i < columnVariableColumns.size(); i++) { final BRLConditionVariableColumn variableColumn = columnVariableColumns.get(i); variableColumn.setHeader(variableColumnHeaders.get(i)); } }
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; }
BRLConditionVariableColumn variable = new BRLConditionVariableColumn("", DataType.TYPE_BOOLEAN); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); List<BRLConditionVariableColumn> variables = new ArrayList<BRLConditionVariableColumn>(); iv.getFactField(), iv.getOperator()); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); variables[index] = variable;
BRLConditionVariableColumn variable = new BRLConditionVariableColumn("", DataType.TYPE_BOOLEAN); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); List<BRLConditionVariableColumn> variables = new ArrayList<BRLConditionVariableColumn>(); iv.getFactField(), iv.getOperator()); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); variables[index] = variable;
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; } }
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; }
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 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 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 cloneVariable() { final BRLConditionVariableColumn original = new BRLConditionVariableColumn(); original.setHeader("header"); original.setOperator("=="); final BRLConditionVariableColumn clone = plugin.cloneVariable(original); assertEquals("header", clone.getHeader()); assertEquals("==", clone.getOperator()); } }
column.getChildColumns().add(columnV0); column.setHeader("col1"); columnV0.setHeader("col1v0");
column.getChildColumns().add(columnV0); column.setHeader("col1"); columnV0.setHeader("col1v0");