private List<BRLVariableColumn> addLiteralColumn(final LiteralValueBuilder vb) { final List<BRLVariableColumn> variableColumns = new ArrayList<BRLVariableColumn>(); final BRLActionVariableColumn parameterColumn = new BRLActionVariableColumn("", DataType.TYPE_BOOLEAN); variableColumns.add(parameterColumn); //Store DRL fragment for use by GuidedDecisionTableRHSBuilder drlFragments.add(vb.getTemplate()); return variableColumns; }
private String makeUpdateBRLActionColumnKey(final BRLActionVariableColumn variable) { StringBuilder key = new StringBuilder(variable.getVarName()).append(":").append(variable.getFieldType()).append(":").append(variable.getFactField()).append(":").append(variable.getFactType()); return key.toString(); } }
private BRLActionVariableColumn makeBRLActionVariableColumn(final BRLActionVariableColumn 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(); BRLActionVariableColumn target; if (factType != null && factField != null) { target = new BRLActionVariableColumn(varName, dataType, factType, factField); } else { target = new BRLActionVariableColumn(varName, dataType); } target.setHeader(source.getHeader()); return target; }
private String getType(final BRLActionVariableColumn col) { //If the parameter is not bound to a Fact or FactField use the explicit type. This is (currently) //used when a BRL fragment does not contain any Template Keys and a single BRLActionVariableColumn //is created with type SuggestionCompletionEngine.TYPE_BOOLEAN i.e. Limited Entry if (col.getFactType() == null && col.getFactField() == null) { return col.getFieldType(); } //Otherwise lookup from SuggestionCompletionEngine final String factType = col.getFactType(); final String fieldName = col.getFactField(); return getTypeFromDataOracle(factType, fieldName); }
private ActionCol52 getLinkedTemplateKeyColumn(final BRLActionColumn fragment, final String factType, final String fieldName) { for (BRLActionVariableColumn var : fragment.getChildColumns()) { if (factType.equals(var.getFactType()) && fieldName.equals(var.getFactField())) { return var; } } return null; }
@Test public void testDelete() throws VetoException { final BRLActionColumn column = new BRLActionColumn(); final BRLActionVariableColumn columnV0 = new BRLActionVariableColumn("$age", DataType.TYPE_NUMERIC_INTEGER, "Applicant", "age"); final BRLActionVariableColumn columnV1 = new BRLActionVariableColumn("$name", DataType.TYPE_STRING, "Applicant", column.getChildColumns().add(columnV1); column.setHeader("col1"); columnV0.setHeader("col1v0"); columnV1.setHeader("col1v1");
baseBRLActionColumn.getVarName()); List<ValueHolder> peerVariables = peerVariableVisitor.getPeerVariables(); switch (valueHolder.getType()) { case TEMPLATE_KEY: if (oracle.isDependentEnum(baseBRLActionColumn.getFactType(), baseBRLActionColumn.getFactField(), valueHolder.getFieldName())) { final BRLActionVariableColumn vc = getActionVariableColumnIndex(brl.getChildColumns(),
if (templateKey.equals(variableColumn.getVarName())) { final BRLActionVariableColumn source = (BRLActionVariableColumn) variableColumn; final BRLActionVariableColumn target = new BRLActionVariableColumn(templateKey, DataType.TYPE_BOOLEAN); target.setHeader(source.getHeader()); target.setHideColumn(source.isHideColumn()); column.getChildColumns().add(target);
BRLActionVariableColumn variable = new BRLActionVariableColumn("", DataType.TYPE_BOOLEAN); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); List<BRLActionVariableColumn> variables = new ArrayList<BRLActionVariableColumn>(); variables.add(variable); InterpolationVariable iv = me.getKey(); int index = me.getValue(); BRLActionVariableColumn variable = new BRLActionVariableColumn(iv.getVarName(), iv.getDataType(), iv.getFactType(), iv.getFactField()); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); variables[index] = variable;
actionCol0param0.getVarName()); assertEquals("Inser bonus of amount", actionCol0param0.getHeader()); assertEquals(DataType.TYPE_OBJECT, actionCol0param0.getFieldType()); actionCol1param0.getVarName()); assertEquals("retract", actionCol1param0.getHeader()); assertEquals(DataType.TYPE_BOOLEAN, actionCol1param0.getFieldType()); actionCol2param0.getVarName()); assertEquals("retract2", actionCol2param0.getHeader()); assertEquals(DataType.TYPE_BOOLEAN, actionCol2param0.getFieldType());
baseBRLActionColumn.getVarName()); List<ValueHolder> peerVariables = peerVariableVisitor.getPeerVariables(); final int iCol = allColumns.indexOf(vc); final DTCellValue52 dcv = rowData.get(iCol); final String field = vc.getFactField(); currentValueMap.put(field, cellUtilities.asString(dcv));
private BRLActionVariableColumn getActionVariableColumnIndex(final List<BRLActionVariableColumn> definition, final String variableName) { for (BRLActionVariableColumn ac : definition) { if (ac.getVarName().equals(variableName)) { return ac; } } //This should never happen throw new IllegalArgumentException("Variable '" + variableName + "' not found. This suggests a programming error."); }
private void setCompositeColumnHeader(final BRLActionColumn column) { final List<BRLActionVariableColumn> 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 BRLActionVariableColumn 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 BRLActionVariableColumn variableColumn = columnVariableColumns.get(i); variableColumn.setHeader(variableColumnHeaders.get(i)); } }
@Override public void setHideColumn( boolean hideColumn ) { super.setHideColumn( hideColumn ); for ( BRLActionVariableColumn variable : this.childColumns ) { variable.setHideColumn( hideColumn ); } }
@Override public List<BRLVariableColumn> getVariableColumns() { //Sort column builders by column index to ensure columns 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 = addColumn(vb); for (BRLVariableColumn vbVariableColumn : vbVariableColumns) { ((BRLActionVariableColumn) vbVariableColumn).setHeader(this.columnHeaders.get(index)); } variableColumns.addAll(vbVariableColumns); } return variableColumns; }
@Test public void testAppend1() throws VetoException { //Single Column, single variable final BRLActionColumn column = new BRLActionColumn(); final BRLActionVariableColumn columnV0 = new BRLActionVariableColumn("$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.getActionCols().size()); assertEquals(3, uiModel.getColumns().size()); assertTrue(uiModel.getColumns().get(2) instanceof IntegerUiColumn); }
private ActionCol52 getLinkedTemplateKeyColumn(final BRLActionColumn fragment, final String factType, final String fieldName) { for (BRLActionVariableColumn var : fragment.getChildColumns()) { if (factType.equals(var.getFactType()) && fieldName.equals(var.getFactField())) { return var; } } return null; }
private String getType(final BRLActionVariableColumn col) { //If the parameter is not bound to a Fact or FactField use the explicit type. This is (currently) //used when a BRL fragment does not contain any Template Keys and a single BRLActionVariableColumn //is created with type SuggestionCompletionEngine.TYPE_BOOLEAN i.e. Limited Entry if (col.getFactType() == null && col.getFactField() == null) { return col.getFieldType(); } //Otherwise lookup from SuggestionCompletionEngine final String factType = col.getFactType(); final String fieldName = col.getFactField(); return getTypeFromDataOracle(factType, fieldName); }
baseBRLActionColumn.getVarName()); List<ValueHolder> peerVariables = peerVariableVisitor.getPeerVariables(); switch (valueHolder.getType()) { case TEMPLATE_KEY: if (oracle.isDependentEnum(baseBRLActionColumn.getFactType(), baseBRLActionColumn.getFactField(), valueHolder.getFieldName())) { final BRLActionVariableColumn vc = getActionVariableColumnIndex(brl.getChildColumns(),
BRLActionVariableColumn variable = new BRLActionVariableColumn("", DataType.TYPE_BOOLEAN); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); List<BRLActionVariableColumn> variables = new ArrayList<BRLActionVariableColumn>(); variables.add(variable); InterpolationVariable iv = me.getKey(); int index = me.getValue(); BRLActionVariableColumn variable = new BRLActionVariableColumn(iv.getVarName(), iv.getDataType(), iv.getFactType(), iv.getFactField()); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); variables[index] = variable;