private boolean areOperatorAndValueInvalid(final SingleFieldConstraint singleFieldConstraint) { if (singleFieldConstraint.getConstraintValueType() == BaseSingleFieldConstraint.TYPE_LITERAL) { if (DataType.TYPE_STRING.equals(singleFieldConstraint.getFieldType())) { return false; } } return singleFieldConstraint.getOperator() != null && !singleFieldConstraint.getOperator().equals("== null") && !singleFieldConstraint.getOperator().equals("!= null") && singleFieldConstraint.getValue() == null && singleFieldConstraint.getExpressionValue().isEmpty(); }
private boolean areOperatorAndValueInvalid(final SingleFieldConstraint singleFieldConstraint) { if (singleFieldConstraint.getConstraintValueType() == BaseSingleFieldConstraint.TYPE_LITERAL) { if (DataType.TYPE_STRING.equals(singleFieldConstraint.getFieldType())) { return false; } } return singleFieldConstraint.getOperator() != null && !singleFieldConstraint.getOperator().equals("== null") && !singleFieldConstraint.getOperator().equals("!= null") && singleFieldConstraint.getValue() == null && singleFieldConstraint.getExpressionValue().isEmpty(); }
private boolean isConstraintComplete(final SingleFieldConstraint constr) { if (constr.getConstraintValueType() == BaseSingleFieldConstraint.TYPE_EXPR_BUILDER_VALUE) { return true; } else if (constr instanceof SingleFieldConstraintEBLeftSide) { return true; } else if (constr.getFieldBinding() != null) { return true; } final String operator = constr.getOperator(); final String fieldType = constr.getFieldType(); final String fieldValue = constr.getValue(); if (operator == null) { return false; } if (operator.equals("== null") || operator.equals("!= null")) { return true; } if (DataType.TYPE_STRING.equals(fieldType)) { return true; } return !(fieldValue == null || fieldValue.isEmpty()); }
private Widget operatorDropDown(final SingleFieldConstraint constraint, final FlexTable inner, final int rowIndex, final int colIndex) { final HorizontalPanel dropdownContainer = new HorizontalPanel(); if (!this.readOnly) { final SingleFieldConstraintOperatorSelector operatorSelectorBuilder = GWT.create(SingleFieldConstraintOperatorSelector.class); operatorSelectorBuilder.configure(constraint, () -> constraintValueEditor, this::createValueEditor, this, dropdownContainer, inner, rowIndex, colIndex, getConnectives().getDataModelOracle()); } else { final SmallLabel sl = new SmallLabel("<b>" + (constraint.getOperator() == null ? GuidedRuleEditorResources.CONSTANTS.pleaseChoose() : HumanReadable.getOperatorDisplayName(constraint.getOperator())) + "</b>"); dropdownContainer.add(sl); } return dropdownContainer; }
private Widget operatorDropDown(final SingleFieldConstraint constraint, final FlexTable inner, final int rowIndex, final int colIndex) { final HorizontalPanel dropdownContainer = new HorizontalPanel(); if (!this.readOnly) { final SingleFieldConstraintOperatorSelector operatorSelectorBuilder = GWT.create(SingleFieldConstraintOperatorSelector.class); operatorSelectorBuilder.configure(constraint, () -> constraintValueEditor, this::createValueEditor, this, dropdownContainer, inner, rowIndex, colIndex, getConnectives().getDataModelOracle()); } else { final SmallLabel sl = new SmallLabel("<b>" + (constraint.getOperator() == null ? GuidedRuleEditorResources.CONSTANTS.pleaseChoose() : HumanReadable.getOperatorDisplayName(constraint.getOperator())) + "</b>"); dropdownContainer.add(sl); } return dropdownContainer; }
if (fieldConstraint instanceof SingleFieldConstraint) { SingleFieldConstraint sfc = (SingleFieldConstraint) fieldConstraint; if (sfc.getOperator() != null && sfc.getOperator().equals("!= null")) { int parentPos = fieldName.indexOf(sfc.getFieldName() + "."); if (parentPos >= 0 && !fieldName.substring(parentPos + sfc.getFieldName().length() + 1).contains(".")) {
@Test public void correctWidgetForStringFieldValueInList() { when(constraint.getOperator()).thenReturn("in"); ConstraintValueEditor editor = createEditor(constraint); assertTrue(editor.getConstraintWidget() instanceof LiteralTextBox); }
@Test public void correctWidgetForStringFieldValueNotInList() { when(constraint.getOperator()).thenReturn("not in"); ConstraintValueEditor editor = createEditor(constraint); assertTrue(editor.getConstraintWidget() instanceof LiteralTextBox); }
@Test public void correctWidgetForStringFieldValueNotInList() { when(constraint.getOperator()).thenReturn("not in"); ConstraintValueEditor editor = createEditor(constraint); assertTrue(editor.getConstraintWidget() instanceof LiteralTextBox); }
@Test public void correctWidgetForStringFieldValueInList() { when(constraint.getOperator()).thenReturn("in"); ConstraintValueEditor editor = createEditor(constraint); assertTrue(editor.getConstraintWidget() instanceof LiteralTextBox); }
private void visitSingleFieldConstraint(SingleFieldConstraint sfc) { InterpolationVariable var = new InterpolationVariable(sfc.getValue(), sfc.getFieldType(), (factPattern == null ? "" : factPattern.getFactType()), sfc.getFieldName(), sfc.getOperator()); if (BaseSingleFieldConstraint.TYPE_TEMPLATE == sfc.getConstraintValueType() && !vars.containsKey(var)) { vars.put(var, vars.size()); } //Visit Connection constraints if (sfc.getConnectives() != null) { for (int i = 0; i < sfc.getConnectives().length; i++) { final ConnectiveConstraint cc = sfc.getConnectives()[i]; InterpolationVariable ccVar = new InterpolationVariable(cc.getValue(), cc.getFieldType(), (factPattern == null ? "" : factPattern.getFactType()), cc.getFieldName()); if (BaseSingleFieldConstraint.TYPE_TEMPLATE == cc.getConstraintValueType() && !vars.containsKey(ccVar)) { vars.put(ccVar, vars.size()); } } } }
when(constraint.getFactType()).thenReturn(factType); when(constraint.getFieldName()).thenReturn(fieldName); when(constraint.getOperator()).thenReturn(originalOperator); when(constraint.getValue()).thenReturn(constraintValue); when(testedSelector.getNewOperatorDropdown(OperatorsOracle.STANDARD_OPERATORS, constraint))
@Test public void testAbbreviatedCondition() throws Exception { final String resourcePath = RULES_ROOT + "matchPeopleAbbreviatedCondition.rdrl"; final GuidedEditorContent content = guidedRuleService.loadContent(getPath(resourcePath)); final RuleModel model = content.getModel(); Assertions.assertThat(model.lhs.length).isEqualTo(1); final FactPattern pattern = (FactPattern) model.lhs[0]; final SingleFieldConstraint fieldConstraintOne = (SingleFieldConstraint) pattern.getConstraint(0); Assertions.assertThat(fieldConstraintOne.getConnectives()).hasSize(2); final ConnectiveConstraint fieldConstraintTwo = fieldConstraintOne.getConnectives()[0]; final ConnectiveConstraint fieldConstraintThree = fieldConstraintOne.getConnectives()[1]; Assertions.assertThat(fieldConstraintOne.getFieldName()).isEqualTo("age"); Assertions.assertThat(fieldConstraintOne.getOperator()).isEqualTo(Operator.NOT_EQUAL.getOperatorString()); Assertions.assertThat(fieldConstraintOne.getValue()).isEqualTo("18"); Assertions.assertThat(fieldConstraintTwo.getFieldName()).isEqualTo("age"); Assertions.assertThat(fieldConstraintTwo.getOperator()).isEqualTo("&& " + Operator.LESS.getOperatorString()); Assertions.assertThat(fieldConstraintTwo.getValue()).isEqualTo("25"); Assertions.assertThat(fieldConstraintThree.getFieldName()).isEqualTo("age"); Assertions.assertThat(fieldConstraintThree.getOperator()).isEqualTo("&& " + Operator.GREATER.getOperatorString()); Assertions.assertThat(fieldConstraintThree.getValue()).isEqualTo("15"); final List<ValidationMessage> messages = validateResource(resourcePath); Assertions.assertThat(messages).isEmpty(); }
when(constraint.getFactType()).thenReturn(factType); when(constraint.getFieldName()).thenReturn(fieldName); when(constraint.getOperator()).thenReturn(originalOperator); when(constraint.getValue()).thenReturn(constraintValue); when(testedSelector.getNewOperatorDropdown(OperatorsOracle.STANDARD_OPERATORS, constraint))
final String selected = event.getValue().getValue(); final String selectedText = event.getValue().getDisplayText(); final String originalOperator = constraint.getOperator(); if (Objects.equals(selected, constraint.getOperator())) { return;
@Test public void testAbbreviatedCondition() throws Exception { final String resourcePath = RULES_ROOT + "matchPeopleAbbreviatedCondition.rdrl"; final GuidedEditorContent content = guidedRuleService.loadContent(getPath(resourcePath)); final RuleModel model = content.getModel(); Assertions.assertThat(model.lhs.length).isEqualTo(1); final FactPattern pattern = (FactPattern) model.lhs[0]; final SingleFieldConstraint fieldConstraintOne = (SingleFieldConstraint) pattern.getConstraint(0); Assertions.assertThat(fieldConstraintOne.getConnectives()).hasSize(2); final ConnectiveConstraint fieldConstraintTwo = fieldConstraintOne.getConnectives()[0]; final ConnectiveConstraint fieldConstraintThree = fieldConstraintOne.getConnectives()[1]; Assertions.assertThat(fieldConstraintOne.getFieldName()).isEqualTo("age"); Assertions.assertThat(fieldConstraintOne.getOperator()).isEqualTo(Operator.NOT_EQUAL.getOperatorString()); Assertions.assertThat(fieldConstraintOne.getValue()).isEqualTo("18"); Assertions.assertThat(fieldConstraintTwo.getFieldName()).isEqualTo("age"); Assertions.assertThat(fieldConstraintTwo.getOperator()).isEqualTo("&& " + Operator.LESS.getOperatorString()); Assertions.assertThat(fieldConstraintTwo.getValue()).isEqualTo("25"); Assertions.assertThat(fieldConstraintThree.getFieldName()).isEqualTo("age"); Assertions.assertThat(fieldConstraintThree.getOperator()).isEqualTo("&& " + Operator.GREATER.getOperatorString()); Assertions.assertThat(fieldConstraintThree.getValue()).isEqualTo("15"); final List<ValidationMessage> messages = validateResource(resourcePath); Assertions.assertThat(messages).isEmpty(); }
private void generateNormalFieldRestriction(final SingleFieldConstraint constr, final Map<String, String> parameters) { if (constr instanceof SingleFieldConstraintEBLeftSide) { SingleFieldConstraintEBLeftSide sfexp = (SingleFieldConstraintEBLeftSide) constr; addFieldRestriction(buf, sfexp.getConstraintValueType(), sfexp.getExpressionLeftSide().getGenericType(), sfexp.getOperator(), parameters, sfexp.getValue(), sfexp.getExpressionValue(), true); } else { addFieldRestriction(buf, constr.getConstraintValueType(), constr.getFieldType(), constr.getOperator(), parameters, constr.getValue(), constr.getExpressionValue(), true); } }
private SingleFieldConstraint visitSingleFieldConstraint(SingleFieldConstraint sfc) { SingleFieldConstraint clone = new SingleFieldConstraint(); clone.setConstraintValueType(sfc.getConstraintValueType()); clone.setExpressionValue((ExpressionFormLine) visit(sfc.getExpressionValue())); clone.setFieldBinding(sfc.getFieldBinding()); clone.setFactType(sfc.getFactType()); clone.setFieldName(sfc.getFieldName()); clone.setFieldType(sfc.getFieldType()); clone.setId(sfc.getId()); clone.setOperator(sfc.getOperator()); clone.setParent((FieldConstraint) visit(sfc.getParent())); for (Map.Entry<String, String> entry : sfc.getParameters().entrySet()) { clone.setParameter(entry.getKey(), entry.getValue()); } clone.setValue(sfc.getValue()); if (sfc.getConnectives() != null) { clone.setConnectives(new ConnectiveConstraint[sfc.getConnectives().length]); for (int i = 0; i < sfc.getConnectives().length; i++) { clone.getConnectives()[i] = (ConnectiveConstraint) visit(sfc.getConnectives()[i]); } } return clone; }
private SingleFieldConstraint visitSingleFieldConstraint(SingleFieldConstraint sfc) { SingleFieldConstraint clone = new SingleFieldConstraint(); clone.setConstraintValueType(sfc.getConstraintValueType()); clone.setExpressionValue((ExpressionFormLine) visit(sfc.getExpressionValue())); clone.setFieldBinding(sfc.getFieldBinding()); clone.setFactType(sfc.getFactType()); clone.setFieldName(sfc.getFieldName()); clone.setFieldType(sfc.getFieldType()); clone.setId(sfc.getId()); clone.setOperator(sfc.getOperator()); clone.setParent((FieldConstraint) visit(sfc.getParent())); for (Map.Entry<String, String> entry : sfc.getParameters().entrySet()) { clone.setParameter(entry.getKey(), entry.getValue()); } clone.setValue(sfc.getValue()); if (sfc.getConnectives() != null) { clone.setConnectives(new ConnectiveConstraint[sfc.getConnectives().length]); for (int i = 0; i < sfc.getConnectives().length; i++) { clone.getConnectives()[i] = (ConnectiveConstraint) visit(sfc.getConnectives()[i]); } } return clone; }
constr.getConstraintValueType(), constr.getFieldType(), constr.getOperator(), parameters, constr.getValue(),