Package org.drools.lang.descr

Examples of org.drools.lang.descr.AndDescr


        RuleDescr rule = pkg.getRules().get( 0 );
        assertEquals( "test",
                      rule.getName() );

        AndDescr lhs = rule.getLhs();
        assertNotNull( lhs );
        assertEquals( 2,
                      lhs.getDescrs().size() );

        PatternDescr a = (PatternDescr) lhs.getDescrs().get( 0 );
        assertEquals( "A",
                      a.getObjectType() );

        OrDescr or = (OrDescr) lhs.getDescrs().get( 1 );
        assertEquals( 3,
                      or.getDescrs().size() );

        AndDescr and1 = (AndDescr) or.getDescrs().get( 0 );
        assertEquals( 2,
                      and1.getDescrs().size() );
        PatternDescr b = (PatternDescr) and1.getDescrs().get( 0 );
        PatternDescr c = (PatternDescr) and1.getDescrs().get( 1 );
        assertEquals( "B",
                      b.getObjectType() );
        assertEquals( "C",
                      c.getObjectType() );

        AndDescr and2 = (AndDescr) or.getDescrs().get( 1 );
        assertEquals( 2,
                      and2.getDescrs().size() );
        PatternDescr d = (PatternDescr) and2.getDescrs().get( 0 );
        PatternDescr e = (PatternDescr) and2.getDescrs().get( 1 );
        assertEquals( "D",
                      d.getObjectType() );
        assertEquals( "E",
                      e.getObjectType() );

        AndDescr and3 = (AndDescr) or.getDescrs().get( 2 );
        assertEquals( 2,
                      and3.getDescrs().size() );
        PatternDescr f = (PatternDescr) and3.getDescrs().get( 0 );
        PatternDescr g = (PatternDescr) and3.getDescrs().get( 1 );
        assertEquals( "F",
                      f.getObjectType() );
        assertEquals( "G",
                      g.getObjectType() );
    }
View Full Code Here


        queryDescr.addParameter( "int",
                                 "$age" );
        queryDescr.addParameter( "String",
                                 "$likes" );
        packageDescr.addRule( queryDescr );
        AndDescr lhs = new AndDescr();
        queryDescr.setLhs( lhs );
        PatternDescr pattern = new PatternDescr( Person.class.getName() );
        lhs.addDescr( pattern );
        pattern.addBinding( new BindingDescr( "$name", "name", true ) );
        pattern.addBinding( new BindingDescr( "$age", "age", true ) );
        pattern.addBinding( new BindingDescr( "$likes", "likes", true ) );

        RuleDescr ruleDescr = new RuleDescr( "rule-1" );
        packageDescr.addRule( ruleDescr );
        lhs = new AndDescr();
        ruleDescr.setLhs( lhs );

        pattern = new PatternDescr( Cheese.class.getName() );
        lhs.addDescr( pattern );
        pattern.addBinding( new BindingDescr( "$type",
                                              "type" ) );

        pattern = new PatternDescr( "query1" );
        pattern.setQuery( true );
        lhs.addDescr( pattern );
        ExprConstraintDescr expr = new ExprConstraintDescr("'bobba'");
        expr.setPosition( 0 );
        expr.setType( Type.POSITIONAL );
        pattern.addConstraint(expr);
       
View Full Code Here

        queryDescr.addParameter( "String",
                                 "$type" );

        packageDescr.addRule( queryDescr );

        final AndDescr lhs = new AndDescr();
        queryDescr.setLhs( lhs );

        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                       "stilton" );
        lhs.addDescr( pattern );

        pattern.addConstraint( new ExprConstraintDescr("type == $type") );

        // Another query, no parameters
        QueryDescr queryDescr2 = new QueryDescr( "query2" );
        packageDescr.addRule( queryDescr2 );
        AndDescr lhs2 = new AndDescr();
        queryDescr2.setLhs( lhs2 );
        PatternDescr pattern2 = new PatternDescr( Cheese.class.getName() );
        lhs2.addDescr( pattern2 );

        builder.addPackage( packageDescr );

        assertLength( 0,
                      builder.getErrors().getErrors() );
View Full Code Here

        assertNull( mockDialect2.getRuleDescr() );

        RuleDescr ruleDescr = new RuleDescr( "test rule" );
        ruleDescr.addAttribute( new AttributeDescr( "dialect",
                                                    "mock" ) );
        ruleDescr.setLhs( new AndDescr() );
        EvalDescr evalDescr = new EvalDescr();
        ruleDescr.getLhs().addDescr( evalDescr );

        PackageDescr pkgDescr = new PackageDescr( "org.pkg1" );
        pkgDescr.addImport( new ImportDescr( "java.util.HashMap" ) );
View Full Code Here

        probs[0] = new MockCompilationProblem();
        probs[1] = new MockCompilationProblem();
        probs[2] = new MockCompilationProblem();

        DescrBuildError err = new DescrBuildError( new RuleDescr( "ruleName" ),
                                                   new AndDescr(),
                                                   probs,
                                                   "IM IN YR EROR" );
        assertNotNull( err.toString() );
        String msg = err.getMessage();
View Full Code Here

        assertEquals( "int total = 0;",
                      accumulatedescr.getInitCode() );
        assertEquals( "new Integer( total ) );",
                      accumulatedescr.getResultCode() );

        AndDescr anddescr = (AndDescr) accumulatedescr.getInput();

        List descrlist = anddescr.getDescrs();

        PatternDescr[] listpattern = (PatternDescr[]) descrlist.toArray( new PatternDescr[descrlist.size()] );

        assertEquals( listpattern[0].getObjectType(),
                      "Milk" );
View Full Code Here

                      ((ImportDescr) imports.get( 1 )).getTarget() );

        RuleDescr ruleDescr = (RuleDescr) packageDescr.getRules().get( 0 );
        assertEquals( "simple_rule1",
                      ruleDescr.getName() );
        AndDescr lhs = ruleDescr.getLhs();
        PatternDescr patternDescr = (PatternDescr) lhs.getDescrs().get( 0 );
        assertEquals( "Person",
                      patternDescr.getObjectType() );
        ExprConstraintDescr expr = ( ExprConstraintDescr ) ((AndDescr)patternDescr.getConstraint()).getDescrs().get( 0 );
        assertEquals( "name == \"darth\"", expr.getExpression() );
       
       
        ruleDescr = (RuleDescr) packageDescr.getRules().get( 1 );
        assertEquals( "simple_rule2",
                      ruleDescr.getName() );
        lhs = ruleDescr.getLhs();
        patternDescr = (PatternDescr) lhs.getDescrs().get( 0 );
        assertEquals( "Person",
                      patternDescr.getObjectType() );
        expr = ( ExprConstraintDescr ) ((AndDescr)patternDescr.getConstraint()).getDescrs().get( 0 );
        assertEquals( "age == 35 || == -3.5", expr.getExpression() );   
       
       
        ruleDescr = (RuleDescr) packageDescr.getRules().get( 2 );
        assertEquals( "simple_rule3",
                      ruleDescr.getName() );
        lhs = ruleDescr.getLhs();
        patternDescr = (PatternDescr) lhs.getDescrs().get( 0 );
        assertEquals( "Person",
                      patternDescr.getObjectType() );
        expr = ( ExprConstraintDescr ) ((AndDescr)patternDescr.getConstraint()).getDescrs().get( 0 );
        assertEquals( "age == 35 || (!= 7.0 && != -70)", expr.getExpression() );     
       
       
        ruleDescr = (RuleDescr) packageDescr.getRules().get( 3 );
        assertEquals( "simple_rule3",
                      ruleDescr.getName() );
        lhs = ruleDescr.getLhs();
        patternDescr = (PatternDescr) lhs.getDescrs().get( 1 );
        assertEquals( "Person",
                      patternDescr.getObjectType() );
        expr = ( ExprConstraintDescr ) ((AndDescr)patternDescr.getConstraint()).getDescrs().get( 0 );
        assertEquals( "name == $s", expr.getExpression() );              

        ruleDescr = (RuleDescr) packageDescr.getRules().get( 4 );
        assertEquals( "simple_rule4",
                      ruleDescr.getName() );
        lhs = ruleDescr.getLhs();
        patternDescr = (PatternDescr) lhs.getDescrs().get( 1 );
        assertEquals( "Person",
                      patternDescr.getObjectType() );
        expr = ( ExprConstraintDescr ) ((AndDescr)patternDescr.getConstraint()).getDescrs().get( 0 );
        assertEquals( "(name == $s) || (age == 35 || (!= 7.0 && != -70))", expr.getExpression() );    
       
       
        ruleDescr = (RuleDescr) packageDescr.getRules().get( 5 );
        assertEquals( "simple_rule5",
                      ruleDescr.getName() );
        lhs = ruleDescr.getLhs();
        patternDescr = (PatternDescr) lhs.getDescrs().get( 1 );
        assertEquals( "Person",
                      patternDescr.getObjectType() );
        expr = ( ExprConstraintDescr ) ((AndDescr)patternDescr.getConstraint()).getDescrs().get( 0 );
        assertEquals( "(name == $s) || ((age != 34) && (age != 37) && (name != \"yoda\"))", expr.getExpression() );          
View Full Code Here

        final QueryDescr queryDescr = (QueryDescr) packageDescr.getRules().get( 0 );
        assertEquals( "my query",
                      queryDescr.getName() );

        final AndDescr lhs = queryDescr.getLhs();
        assertEquals( 1,
                      lhs.getDescrs().size() );
        final PatternDescr patternDescr = (PatternDescr) lhs.getDescrs().get( 0 );
        assertEquals( "Foo",
                      patternDescr.getObjectType() );

    }
View Full Code Here

    @Test
    public void testBuildBigDecimalLiteralConstraint() throws Exception {
        final PackageDescr pkgDescr = new PackageDescr( "org.drools" );
        final RuleDescr ruleDescr = new RuleDescr( "Test Rule" );
        AndDescr andDescr = new AndDescr();
        PatternDescr patDescr = new PatternDescr( "java.math.BigDecimal",
                                                  "$bd" );
        ExprConstraintDescr fcd = new ExprConstraintDescr( "this == 10" );
        patDescr.addConstraint( fcd );
        andDescr.addDescr( patDescr );
        ruleDescr.setLhs( andDescr );
        ruleDescr.setConsequence( "" );
        pkgDescr.addRule( ruleDescr );

        final PackageBuilder pkgBuilder = new PackageBuilder();
View Full Code Here

   
    @Test
    public void testBuildBigIntegerLiteralConstraint() throws Exception {
        final PackageDescr pkgDescr = new PackageDescr( "org.drools" );
        final RuleDescr ruleDescr = new RuleDescr( "Test Rule" );
        AndDescr andDescr = new AndDescr();
        PatternDescr patDescr = new PatternDescr( "java.math.BigInteger",
                                                  "$bd" );
        ExprConstraintDescr fcd = new ExprConstraintDescr( "this==10" );
        patDescr.addConstraint( fcd );
        andDescr.addDescr( patDescr );
        ruleDescr.setLhs( andDescr );
        ruleDescr.setConsequence( "" );
        pkgDescr.addRule( ruleDescr );

        final PackageBuilder pkgBuilder = new PackageBuilder();
View Full Code Here

TOP

Related Classes of org.drools.lang.descr.AndDescr

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.