private String makeUpdateBRLConditionColumnKey(final BRLConditionVariableColumn variable) { StringBuilder key = new StringBuilder(variable.getVarName()).append(":").append(variable.getFieldType()).append(":").append(variable.getFactField()).append(":").append(variable.getFactType()); return key.toString(); }
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; }
private String getType(final BRLConditionVariableColumn 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 BRLConditionVariableColumn //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 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; }
@Test public void testCloneVariable() throws Exception { final BRLConditionVariableColumn variable = makeVariable("variableName", "variableFieldType", "variableFactType", "variableFactField", "variableHeader", false, 999); final BRLConditionVariableColumn clone = plugin.cloneVariable(variable); assertEquals(variable.getVarName(), clone.getVarName()); assertEquals(variable.getFieldType(), clone.getFieldType()); assertEquals(variable.getFactType(), clone.getFactType()); assertEquals(variable.getFactField(), clone.getFactField()); assertEquals(variable.getHeader(), clone.getHeader()); assertEquals(variable.isHideColumn(), clone.isHideColumn()); assertEquals(variable.getWidth(), clone.getWidth()); assertNotSame(variable, clone); }
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; }
baseBRLConditionColumn.getVarName()); List<ValueHolder> peerVariables = peerVariableVisitor.getPeerVariables(); switch (valueHolder.getType()) { case TEMPLATE_KEY: if (oracle.isDependentEnum(baseBRLConditionColumn.getFactType(), baseBRLConditionColumn.getFactField(), valueHolder.getFieldName())) { final BRLConditionVariableColumn vc = getConditionVariableColumnIndex(brl.getChildColumns(),
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 cloneVariable() { final BRLConditionVariableColumn original = new BRLConditionVariableColumn(); original.setHeader("header"); original.setOperator("=="); final BRLConditionVariableColumn clone = plugin.cloneVariable(original); assertEquals("header", clone.getHeader()); assertEquals("==", clone.getOperator()); } }
private GridColumn<?> convertColumn(final BRLConditionVariableColumn column, final GuidedDecisionTablePresenter.Access access, final GuidedDecisionTableView gridWidget) { //Check if the column has an enumeration final String factType = column.getFactType(); final String factField = column.getFactField(); final DataType.DataTypes dataType = columnUtilities.getDataType(column); if (oracle.hasEnums(factType, factField)) { if (OperatorsOracle.operatorRequiresList(column.getOperator())) { return newMultipleSelectEnumColumn(factType, factField, column, access, gridWidget); } else { return newSingleSelectionEnumColumn(factType, factField, dataType, column, access, gridWidget); } } return newColumn(column, access, gridWidget); }
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; }
@Override public List<BaseColumnFieldDiff> diff(BaseColumn otherColumn) { if (otherColumn == null) { return null; } List<BaseColumnFieldDiff> result = conditionCol52SpecificDiff(otherColumn); BRLConditionVariableColumn other = (BRLConditionVariableColumn) otherColumn; // Field: varName. if (!isEqualOrNull(this.getVarName(), other.getVarName())) { result.add(new BaseColumnFieldDiffImpl(FIELD_VAR_NAME, this.getVarName(), other.getVarName())); } // Field: factType. if (!isEqualOrNull(this.getFactType(), other.getFactType())) { result.add(new BaseColumnFieldDiffImpl(FIELD_FACT_TYPE, this.getFactType(), other.getFactType())); } return result; }
@Test public void getDefinedVariables() { doReturn(true).when(plugin).isNewColumn(); doReturn(model).when(presenter).getModel(); doReturn("header").when(editingCol).getHeader(); plugin.generateColumn(); verify(editingCol).setChildColumns(listArgumentCaptor.capture()); final List<BRLConditionVariableColumn> value = listArgumentCaptor.getValue(); assertEquals(1, value.size()); final BRLConditionVariableColumn brlConditionVariableColumn = value.get(0); assertEquals("fieldType", brlConditionVariableColumn.getFieldType()); assertEquals("value", brlConditionVariableColumn.getVarName()); assertEquals("fieldName", brlConditionVariableColumn.getFactField()); assertEquals("in", brlConditionVariableColumn.getOperator()); }
BRLConditionVariableColumn variable = new BRLConditionVariableColumn("", DataType.TYPE_BOOLEAN); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); List<BRLConditionVariableColumn> variables = new ArrayList<BRLConditionVariableColumn>(); variables.add(variable); InterpolationVariable iv = me.getKey(); int index = me.getValue(); BRLConditionVariableColumn variable = new BRLConditionVariableColumn(iv.getVarName(), iv.getDataType(), iv.getFactType(), iv.getFactField(), iv.getOperator()); variable.setHeader(editingCol.getHeader()); variable.setHideColumn(editingCol.isHideColumn()); variables[index] = variable;
final BRLConditionColumn fragment = (BRLConditionColumn) otherDecisionTableConditions; for (BRLConditionVariableColumn var : fragment.getChildColumns()) { final String factType = var.getFactType(); final String fieldName = var.getFactField(); final ActionCol52 linkedActionColumn = getLinkedActionColumn(factType, fieldName,
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; } }
baseBRLConditionColumn.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 BRLConditionVariableColumn getConditionVariableColumnIndex(final List<BRLConditionVariableColumn> definition, final String variableName) { for (BRLConditionVariableColumn vc : definition) { if (vc.getVarName().equals(variableName)) { return vc; } } //This should never happen throw new IllegalArgumentException("Variable '" + variableName + "' not found. This suggests a programming error."); }
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)); } }
public BRLConditionVariableColumn(String varName, String fieldType, String factType, String factField, String operator) { this(varName, fieldType, factType, factField); this.setOperator(operator); }