@Override public String getFieldBinding() { return condition.getBinding(); }
private boolean isPotentialConditionDeletionSafe(final ConditionCol52 condition) { final String binding = condition.getBinding(); if (!(binding == null || binding.isEmpty())) { return !rm.isBoundFactUsed(binding); } return true; }
private boolean isPotentialConditionDeletionSafe(final ConditionCol52 condition) { final String binding = condition.getBinding(); if (!(binding == null || binding.isEmpty())) { return !rm.isBoundFactUsed(binding); } return true; }
@Override public String getBinding() { return editingCol().getBinding(); }
@Override public String getBinding() { return editingCol().getBinding(); }
ColumnLabelWidget makeColumnLabel(final ConditionCol52 conditionColumn) { final StringBuilder labelBuilder = new StringBuilder(); if (conditionColumn.isBound()) { labelBuilder.append(conditionColumn.getBinding()) .append(" : "); } labelBuilder.append(conditionColumn.getHeader()); final ColumnLabelWidget label = newColumnLabelWidget(labelBuilder.toString()); ColumnUtilities.setColumnLabelStyleWhenHidden(label, conditionColumn.isHideColumn()); return label; }
ColumnLabelWidget makeColumnLabel(final ConditionCol52 conditionColumn) { final StringBuilder labelBuilder = new StringBuilder(); if (conditionColumn.isBound()) { labelBuilder.append(conditionColumn.getBinding()) .append(" : "); } labelBuilder.append(conditionColumn.getHeader()); final ColumnLabelWidget label = newColumnLabelWidget(labelBuilder.toString()); ColumnUtilities.setColumnLabelStyleWhenHidden(label, conditionColumn.isHideColumn()); return label; }
public static String toString(final ConditionCol52 conditionCol52) { return new StringBuilder().append("ConditionCol52{") .append("\n") .append("constraintValueType=") .append(conditionCol52.getConstraintValueType()) .append(", factField='") .append(conditionCol52.getFactField()) .append("\n") .append(", fieldType='") .append(conditionCol52.getFieldType()) .append("\n") .append(", operator='") .append(conditionCol52.getOperator()) .append("\n") .append(", valueList='") .append(conditionCol52.getValueList()) .append("\n") .append(", parameters=") .append(conditionCol52.getParameters()) .append(", binding='") .append(conditionCol52.getBinding()) .append("\n") .append('}') .toString(); }
@Override public boolean isFieldBindingValid() { if (!isBindable()) { return true; } final String binding = getBinding(); if ((binding == null || binding.isEmpty())) { return true; } if (!isNewColumn()) { if (binding.equals(originalCondition().getBinding())) { return true; } } return !makeBRLRuleModel().isVariableNameUsed(binding); }
@Override public List<String> getBoundVariablesInScope(final BaseSingleFieldConstraint con) { final Set<String> variables = new HashSet<>(); for (CompositeColumn<? extends BaseColumn> col : dtable.getConditions()) { if (col instanceof Pattern52) { final Pattern52 p = (Pattern52) col; if (p.isBound()) { variables.add(p.getBoundName()); } for (ConditionCol52 cc : p.getChildColumns()) { if (cc.isBound()) { variables.add(cc.getBinding()); } } } else if (col instanceof BRLConditionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLConditionColumn brl = (BRLConditionColumn) col; rm.lhs = brl.getDefinition().toArray(new IPattern[brl.getDefinition().size()]); variables.addAll(rm.getBoundVariablesInScope(con)); } } variables.addAll(super.getBoundVariablesInScope(con)); return new ArrayList<>(variables); }
@Override public boolean isFieldBindingValid() { if (!isBindable()) { return true; } final String binding = getBinding(); if ((binding == null || binding.isEmpty())) { return true; } if (!isNewColumn()) { if (binding.equals(originalCondition().getBinding())) { return true; } } return !makeBRLRuleModel().isVariableNameUsed(binding); }
@Test public void testIsFieldBindingValidWhenBindableEditColumnWithExistingBindingsNoClash() { final ConditionCol52 originalColumn = mock(ConditionCol52.class); doReturn(originalColumn).when(plugin).originalCondition(); doReturn(true).when(plugin).isBindable(); doReturn(false).when(plugin).isNewColumn(); doReturn("$n").when(plugin).getBinding(); doReturn("$n").when(originalColumn).getBinding(); assertTrue(plugin.isFieldBindingValid()); }
@Test public void testIsFieldBindingValidWhenBindableEditColumnWithExistingBindingsWithClash() { final ConditionCol52 originalColumn = mock(ConditionCol52.class); doReturn(originalColumn).when(plugin).originalCondition(); doReturn(true).when(plugin).isBindable(); doReturn(false).when(plugin).isNewColumn(); doReturn("$a").when(plugin).getBinding(); doReturn("$n").when(originalColumn).getBinding(); doReturn(Collections.singletonList(mockFactPattern("$a"))).when(model).getConditions(); assertFalse(plugin.isFieldBindingValid()); }
private void testMakeColumnLabelForAllConditionColumns(final boolean isColumnHidden, final boolean isColumnBound) { Stream.of(ConditionCol52.class, BRLConditionColumn.class) .map(classToMock -> { final ConditionCol52 column = mock(classToMock); final ColumnLabelWidget columnLabel = mockColumnLabelWidget(); doReturn(columnLabel).when(view).newColumnLabelWidget(anyString()); doReturn(column.getClass().toString()).when(column).getHeader(); doReturn(isColumnHidden).when(column).isHideColumn(); doReturn(isColumnBound).when(column).isBound(); doReturn("binding").when(column).getBinding(); return column; }) .forEach(column -> { final ColumnLabelWidget label = view.makeColumnLabel(column); verify(view).newColumnLabelWidget(isColumnBound ? "binding : " + column.getClass().toString() : column.getClass().toString()); testColumnLabelIsHidden(label, isColumnHidden); }); }
@Override public FactPattern getLHSParentFactPatternForBinding(final String var) { for (CompositeColumn<? extends BaseColumn> col : dtable.getConditions()) { if (col instanceof Pattern52) { final Pattern52 p = (Pattern52) col; if (p.isBound() && p.getBoundName().equals(var)) { return new Pattern52FactPatternAdaptor(p); } for (ConditionCol52 cc : p.getChildColumns()) { if (cc.isBound() && cc.getBinding().equals(var)) { return new Pattern52FactPatternAdaptor(p); } } } else if (col instanceof BRLConditionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLConditionColumn brl = (BRLConditionColumn) col; rm.lhs = brl.getDefinition().toArray(new IPattern[brl.getDefinition().size()]); final FactPattern fp = rm.getLHSParentFactPatternForBinding(var); if (fp != null) { return fp; } } } return super.getLHSParentFactPatternForBinding(var); }
@Override public SingleFieldConstraint getLHSBoundField(final String var) { for (CompositeColumn<? extends BaseColumn> col : dtable.getConditions()) { if (col instanceof Pattern52) { final Pattern52 p = (Pattern52) col; for (ConditionCol52 cc : p.getChildColumns()) { if (cc.isBound() && cc.getBinding().equals(var)) { final ConditionCol52FieldConstraintAdaptor sfcAdaptor = new ConditionCol52FieldConstraintAdaptor(cc); sfcAdaptor.setFactType(p.getFactType()); return sfcAdaptor; } } } else if (col instanceof BRLConditionColumn) { //Delegate to super class's implementation final RuleModel rm = new RuleModel(); final BRLConditionColumn brl = (BRLConditionColumn) col; rm.lhs = brl.getDefinition().toArray(new IPattern[brl.getDefinition().size()]); final SingleFieldConstraint sfc = rm.getLHSBoundField(var); if (sfc != null) { return sfc; } } } return super.getLHSBoundField(var); }
private void update(final ConditionCol52 originalColumn, final ConditionCol52 editedColumn) { originalColumn.setConstraintValueType(editedColumn.getConstraintValueType()); originalColumn.setFactField(editedColumn.getFactField()); originalColumn.setFieldType(editedColumn.getFieldType()); originalColumn.setHeader(editedColumn.getHeader()); originalColumn.setOperator(editedColumn.getOperator()); originalColumn.setValueList(editedColumn.getValueList()); originalColumn.setDefaultValue(editedColumn.getDefaultValue()); originalColumn.setHideColumn(editedColumn.isHideColumn()); originalColumn.setParameters(editedColumn.getParameters()); originalColumn.setBinding(editedColumn.getBinding()); if (originalColumn instanceof LimitedEntryCol && editedColumn instanceof LimitedEntryCol) { ((LimitedEntryCol) originalColumn).setValue(((LimitedEntryCol) editedColumn).getValue()); } }
private void update(final ConditionCol52 originalColumn, final ConditionCol52 editedColumn) { originalColumn.setConstraintValueType(editedColumn.getConstraintValueType()); originalColumn.setFactField(editedColumn.getFactField()); originalColumn.setFieldType(editedColumn.getFieldType()); originalColumn.setHeader(editedColumn.getHeader()); originalColumn.setOperator(editedColumn.getOperator()); originalColumn.setValueList(editedColumn.getValueList()); originalColumn.setDefaultValue(editedColumn.getDefaultValue()); originalColumn.setHideColumn(editedColumn.isHideColumn()); originalColumn.setParameters(editedColumn.getParameters()); originalColumn.setBinding(editedColumn.getBinding()); if (originalColumn instanceof LimitedEntryCol && editedColumn instanceof LimitedEntryCol) { ((LimitedEntryCol) originalColumn).setValue(((LimitedEntryCol) editedColumn).getValue()); } }
ConditionCol52 clone(final ConditionCol52 column) { final ConditionCol52 clone; if (tableFormat() == LIMITED_ENTRY) { clone = new LimitedEntryConditionCol52() {{ setValue(cloneDTCellValue(((LimitedEntryCol) column).getValue())); }}; } else { clone = new ConditionCol52(); } clone.setConstraintValueType(column.getConstraintValueType()); clone.setFactField(column.getFactField()); clone.setFieldType(column.getFieldType()); clone.setHeader(column.getHeader()); clone.setOperator(column.getOperator()); clone.setValueList(column.getValueList()); clone.setDefaultValue(cloneDTCellValue(column.getDefaultValue())); clone.setHideColumn(column.isHideColumn()); clone.setParameters(column.getParameters()); clone.setWidth(column.getWidth()); clone.setBinding(column.getBinding()); return clone; }
ConditionCol52 clone(final ConditionCol52 column) { final ConditionCol52 clone; if (tableFormat() == LIMITED_ENTRY) { clone = new LimitedEntryConditionCol52() {{ setValue(cloneDTCellValue(((LimitedEntryCol) column).getValue())); }}; } else { clone = new ConditionCol52(); } clone.setConstraintValueType(column.getConstraintValueType()); clone.setFactField(column.getFactField()); clone.setFieldType(column.getFieldType()); clone.setHeader(column.getHeader()); clone.setOperator(column.getOperator()); clone.setValueList(column.getValueList()); clone.setDefaultValue(cloneDTCellValue(column.getDefaultValue())); clone.setHideColumn(column.isHideColumn()); clone.setParameters(column.getParameters()); clone.setWidth(column.getWidth()); clone.setBinding(column.getBinding()); return clone; }