private SingleFieldConstraint createParentFor(final RuleModel m, final FactPattern factPattern, final String fieldName) { int dotPos = fieldName.lastIndexOf('.'); if (dotPos > 0) { SingleFieldConstraint constraint = createNullCheckFieldConstraint(m, factPattern, fieldName.substring(0, dotPos)); factPattern.addConstraint(constraint); return constraint; } return null; }
public void onClick(ClickEvent event) { SingleFieldConstraint con = new SingleFieldConstraint(); con.setConstraintValueType(SingleFieldConstraint.TYPE_PREDICATE); fp.addConstraint(con); modeller.refreshWidget(); popup.hide(); } });
public void onClick(ClickEvent event) { SingleFieldConstraint con = new SingleFieldConstraint(); con.setConstraintValueType(SingleFieldConstraint.TYPE_PREDICATE); fp.addConstraint(con); modeller.refreshWidget(); popup.hide(); } });
public void onChange(ChangeEvent event) { CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.setCompositeJunctionType(composites.getValue(composites.getSelectedIndex())); fp.addConstraint(comp); modeller.refreshWidget(); popup.hide(); } });
public void onChange(ChangeEvent event) { CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.setCompositeJunctionType(composites.getValue(composites.getSelectedIndex())); fp.addConstraint(comp); modeller.refreshWidget(); popup.hide(); } });
@Test public void testMissingValueWhenOperatorExists() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("=="); pattern.addConstraint(constraint); model.lhs = new IPattern[]{pattern}; assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); assertEquals(MISSING_VALUE_WHEN_OPERATOR_IS_SET, validator.getErrors().get(0)); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Person", "age"); }
@Test public void testMissingValueWhenOperatorExists() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("=="); pattern.addConstraint(constraint); model.lhs = new IPattern[]{pattern}; assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); assertEquals(MISSING_VALUE_WHEN_OPERATOR_IS_SET, validator.getErrors().get(0)); verify(constants).FactType0HasAField1ThatHasAnOperatorSetButNoValuePleaseAddAValueOrRemoveTheOperator("Person", "age"); }
@Test public void testMissingValueWhenOperatorExistsIsNotNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("!= null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testMissingValueWhenOperatorExistsIsNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("== null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testMissingValueWhenOperatorExistsIsNotNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("!= null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testMissingValueWhenOperatorExistsIsNull() throws Exception { FactPattern pattern = new FactPattern("Person"); SingleFieldConstraint constraint = new SingleFieldConstraint("age"); constraint.setOperator("== null"); pattern.addConstraint(constraint); CompositeFactPattern not = new CompositeFactPattern(); not.setType("not"); not.addFactPattern(pattern); model.lhs = new IPattern[]{not}; assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
private FactPattern visitFactPattern(FactPattern pattern) { FactPattern clone = new FactPattern(); clone.setBoundName(pattern.getBoundName()); clone.setFactType(pattern.getFactType()); clone.setNegated(pattern.isNegated()); CEPWindow cloneCEPWindow = new CEPWindow(); cloneCEPWindow.setOperator(pattern.getWindow().getOperator()); cloneCEPWindow.setParameters(cloneCEPWindowParameters(pattern.getWindow())); clone.setWindow(cloneCEPWindow); for (FieldConstraint fc : pattern.getFieldConstraints()) { clone.addConstraint((FieldConstraint) visit(fc)); } return clone; }
private FactPattern visitFactPattern(FactPattern pattern) { FactPattern clone = new FactPattern(); clone.setBoundName(pattern.getBoundName()); clone.setFactType(pattern.getFactType()); clone.setNegated(pattern.isNegated()); CEPWindow cloneCEPWindow = new CEPWindow(); cloneCEPWindow.setOperator(pattern.getWindow().getOperator()); cloneCEPWindow.setParameters(cloneCEPWindowParameters(pattern.getWindow())); clone.setWindow(cloneCEPWindow); for (FieldConstraint fc : pattern.getFieldConstraints()) { clone.addConstraint((FieldConstraint) visit(fc)); } return clone; }
private static FactPattern buildFactPattern() { FactPattern fp = new FactPattern(); fp.setBoundName( "$f" ); fp.setFactType( "FactType" ); fp.setNegated( true ); CEPWindow win = new CEPWindow(); win.setOperator( "winOp" ); win.setParameter( "winKey", "winPar" ); fp.setWindow( win ); fp.addConstraint( buildSingleFieldConstraint() ); return fp; }
@Test public void testEmptyLiteralStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_STRING); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("name"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertTrue(validator.isValid()); }
@Test public void testEmptyLiteralNonStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_NUMERIC_INTEGER); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("age"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertFalse(validator.isValid()); }
@Test public void testComparingFieldToExpression() throws Exception { FactPattern f1 = new FactPattern(); f1.setBoundName("f1"); FactPattern f2 = new FactPattern(); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setOperator("=="); constraint.getExpressionValue().appendPart(new ExpressionVariable("field", "java.lang.Number", "Number")); f2.addConstraint(constraint); model.lhs = new IPattern[]{f1, f2}; assertTrue(validator.isValid()); }
@Test public void testEmptyLiteralNonStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_NUMERIC_INTEGER); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("age"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertFalse(validator.isValid()); }
@Test public void testEmptyLiteralStringFieldConstraints() throws Exception { FactPattern f1 = new FactPattern("Applicant"); f1.setBoundName("$a"); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setConstraintValueType(BaseSingleFieldConstraint.TYPE_LITERAL); constraint.setFieldType(DataType.TYPE_STRING); constraint.setFactType("Applicant"); constraint.setOperator("=="); constraint.setFieldName("name"); f1.addConstraint(constraint); model.lhs = new IPattern[]{f1}; assertTrue(validator.isValid()); }
@Test public void testComparingFieldToExpression() throws Exception { FactPattern f1 = new FactPattern(); f1.setBoundName("f1"); FactPattern f2 = new FactPattern(); SingleFieldConstraint constraint = new SingleFieldConstraint(); constraint.setOperator("=="); constraint.getExpressionValue().appendPart(new ExpressionVariable("field", "java.lang.Number", "Number")); f2.addConstraint(constraint); model.lhs = new IPattern[]{f1, f2}; assertTrue(validator.isValid()); }