private CompositeFieldConstraint visitCompositeFieldConstraint(CompositeFieldConstraint cfc) { CompositeFieldConstraint clone = new CompositeFieldConstraint(); clone.compositeJunctionType = cfc.compositeJunctionType; if ( cfc.constraints != null ) { clone.constraints = new FieldConstraint[cfc.constraints.length]; for ( int i = 0; i < cfc.constraints.length; i++ ) { FieldConstraint fc = cfc.constraints[i]; clone.constraints[i] = (FieldConstraint) visit( fc ); } } return clone; }
/** * This will add a top level constraint. */ public void addConstraint(final FieldConstraint constraint) { if ( constraintList == null ) constraintList = new CompositeFieldConstraint(); this.constraintList.addConstraint( constraint ); }
private CompositeFieldConstraint visitCompositeFieldConstraint(CompositeFieldConstraint cfc) { CompositeFieldConstraint clone = new CompositeFieldConstraint(); clone.compositeJunctionType = cfc.compositeJunctionType; if ( cfc.constraints != null ) { clone.constraints = new FieldConstraint[cfc.constraints.length]; for ( int i = 0; i < cfc.constraints.length; i++ ) { FieldConstraint fc = cfc.constraints[i]; clone.constraints[i] = (FieldConstraint) visit( fc ); } } return clone; }
/** * This will add a top level constraint. */ public void addConstraint(final FieldConstraint constraint) { if ( constraintList == null ) constraintList = new CompositeFieldConstraint(); this.constraintList.addConstraint( constraint ); }
@Test public void testCompositeType() { CompositeFieldConstraint con = new CompositeFieldConstraint(); assertEquals(null, con.compositeJunctionType); }
@Test public void testRemoveConstraint() { final CompositeFieldConstraint p = new CompositeFieldConstraint(); final SingleFieldConstraint x = new SingleFieldConstraint( "x" ); p.addConstraint( x ); final CompositeFieldConstraint y = new CompositeFieldConstraint( ); p.addConstraint( y ); assertEquals( 2, p.constraints.length ); p.removeConstraint( 1 ); assertEquals( 1, p.constraints.length ); assertEquals( x, p.constraints[0] ); }
y.setBoundName( "y" ); final SingleFieldConstraint[] cons = new SingleFieldConstraint[2]; y.constraintList = new CompositeFieldConstraint(); y.constraintList.constraints = cons; cons[0] = new SingleFieldConstraint( "age" ); final SingleFieldConstraint[] cons2 = new SingleFieldConstraint[1]; cons2[0] = new SingleFieldConstraint(); other.constraintList = new CompositeFieldConstraint(); other.constraintList.constraints = cons2;
@Test public void testScopedVariablesWithCompositeFact() { RuleModel m = new RuleModel(); FactPattern p = new FactPattern(); CompositeFieldConstraint cf = new CompositeFieldConstraint(); cf.addConstraint( new SingleFieldConstraint( "x" ) ); p.addConstraint( cf ); SingleFieldConstraint sf = new SingleFieldConstraint( "q" ); sf.setFieldBinding( "abc" ); p.addConstraint( sf ); SingleFieldConstraint sf2 = new SingleFieldConstraint( "q" ); sf2.setFieldBinding( "qed" ); cf.addConstraint( sf2 ); m.addLhsItem( p ); List vars = m.getAllVariables(); assertEquals( 1, vars.size() ); assertEquals( "abc", vars.get( 0 ) ); }
y.constraintList = new CompositeFieldConstraint(); y.constraintList.constraints = cons; cons[0] = new SingleFieldConstraint( "age" );
@Test public void testAddConstraint() { final CompositeFieldConstraint p = new CompositeFieldConstraint(); final SingleFieldConstraint x = new SingleFieldConstraint( "x" ); p.addConstraint( x ); assertEquals( 1, p.constraints.length ); assertEquals( x, p.constraints[0] ); final SingleFieldConstraint y = new SingleFieldConstraint( "y" ); p.addConstraint( y ); assertEquals( 2, p.constraints.length ); assertEquals( x, p.constraints[0] ); assertEquals( y, p.constraints[1] ); }
@Test public void testWithCompositeNesting() { final FactPattern p = new FactPattern(); final SingleFieldConstraint x = new SingleFieldConstraint( "x" ); p.addConstraint( x ); assertEquals( 1, p.constraintList.constraints.length ); assertEquals( x, p.constraintList.constraints[0] ); final CompositeFieldConstraint y = new CompositeFieldConstraint(); y.addConstraint( new SingleFieldConstraint("y") ); y.addConstraint( new SingleFieldConstraint("z") ); p.addConstraint( y ); assertEquals( 2, p.constraintList.constraints.length ); assertEquals( x, p.constraintList.constraints[0] ); assertEquals( y, p.constraintList.constraints[1] ); }
y.setBoundName( "y" ); final SingleFieldConstraint[] cons = new SingleFieldConstraint[2]; y.constraintList = new CompositeFieldConstraint(); y.constraintList.constraints = cons; cons[0] = new SingleFieldConstraint( "age" ); final SingleFieldConstraint[] cons2 = new SingleFieldConstraint[1]; cons2[0] = new SingleFieldConstraint(); other.constraintList = new CompositeFieldConstraint(); other.constraintList.constraints = cons2; String varTypeString = model.getLHSBindingType( "qbc" );
fp0.setFactType( "FT0" ); CompositeFieldConstraint cfc0 = new CompositeFieldConstraint(); cfc0.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR; fp0.setFactType( "FT1" ); CompositeFieldConstraint cfc1 = new CompositeFieldConstraint(); cfc1.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR;
CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR; p.addConstraint( comp ); comp.addConstraint( Y ); CompositeFieldConstraint comp2 = new CompositeFieldConstraint(); comp2.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_AND; final SingleFieldConstraint Q1 = new SingleFieldConstraint();
CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR; p.addConstraint( comp ); comp.addConstraint( Y ); CompositeFieldConstraint comp2 = new CompositeFieldConstraint(); comp2.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_AND; final SingleFieldConstraint Q1 = new SingleFieldConstraint();
CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_AND; p.addConstraint( comp );
CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR; p.addConstraint( comp );
CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR; p.addConstraint( comp );
CompositeFieldConstraint comp = new CompositeFieldConstraint(); comp.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_AND; p.addConstraint( comp );
fp0.setFactType( "FT0" ); CompositeFieldConstraint cfc0 = new CompositeFieldConstraint(); cfc0.compositeJunctionType = CompositeFieldConstraint.COMPOSITE_TYPE_OR;