Examples of FieldBindingDescr


Examples of org.drools.lang.descr.FieldBindingDescr

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

        final FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                           "x" );
        pattern.addConstraint( fieldBindingDescr );

        final FieldBindingDescr fieldBindingDescr2 = new FieldBindingDescr( "price",
                                                                            "y" );
        pattern.addConstraint( fieldBindingDescr2 );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

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

        FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                     "x" );
        pattern.addConstraint( fieldBindingDescr );
        fieldBindingDescr = new FieldBindingDescr( "price",
                                                   "y" );
        pattern.addConstraint( fieldBindingDescr );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

        ruleDescr.setLhs( lhs );

        final PatternDescr pattern1 = new PatternDescr( Cheese.class.getName() );
        lhs.addDescr( pattern1 );

        final FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "type",
                                                                           "$type" );

        final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "stilton" ) );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

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

        FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                     "x" );
        pattern.addConstraint( fieldBindingDescr );
        fieldBindingDescr = new FieldBindingDescr( "price",
                                                   "y" );
        pattern.addConstraint( fieldBindingDescr );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

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

        final FieldBindingDescr fieldBindingDescr = new FieldBindingDescr( "price",
                                                                           "x" );
        pattern.addConstraint( fieldBindingDescr );

        final FieldBindingDescr fieldBindingDescr2 = new FieldBindingDescr( "price",
                                                                            "y" );
        pattern.addConstraint( fieldBindingDescr2 );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

    public void testBuildRuleBuildContextBaseDescr() {
        // $total : Integer() from accumulate( Cheese( $price : price ) init( int x = 0; ) action( x += $price ) result( new Integer( x ) ) )
        AccumulateDescr accumDescr = new DescrFactory().createAccumulate();
       
        FieldBindingDescr price = new FieldBindingDescr( "price", "$price" );
        PatternDescr cheeseDescr = new PatternDescr( "org.drools.Cheese" );
        cheeseDescr.addConstraint( price );
        accumDescr.setInputPattern( cheeseDescr );
       
        accumDescr.setInitCode( "int x = 0;" );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

     * @return
     */
    private Declaration createDeclarationObject(final RuleBuildContext context,
                                                final String identifier,
                                                final Pattern pattern) {
        final FieldBindingDescr implicitBinding = new FieldBindingDescr( identifier,
                                                                         identifier );

        final Declaration declaration = new Declaration( identifier,
                                                         pattern );

        final InternalReadAccessor extractor = getFieldReadAccessor( context,
                                                                     implicitBinding,
                                                                     pattern.getObjectType(),
                                                                     implicitBinding.getFieldName(),
                                                                     declaration,
                                                                     false );

        if ( extractor == null ) {
            return null;
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

        List colList = personPattern.getDescrs();
        assertEquals( 3,
                      colList.size() );
       
        // first, we have a field binding
        FieldBindingDescr fbd = (FieldBindingDescr) colList.get( 0 );
        assertEquals( "$bf",
                      fbd.getIdentifier() );
        assertEquals( "name",
                      fbd.getFieldName() );
       
        // then, we have a field constraint
        FieldConstraintDescr fieldConstraintDescr = (FieldConstraintDescr) colList.get( 1 );
        assertEquals( "name",
                      fieldConstraintDescr.getFieldName() );                       
        RestrictionConnectiveDescr root = (RestrictionConnectiveDescr) fieldConstraintDescr.getRestriction();
        assertEquals( 1,
                      root.getRestrictions().size() );
        RestrictionConnectiveDescr or = (RestrictionConnectiveDescr) root.getRestrictions().get( 0 );
        assertEquals( RestrictionConnectiveDescr.OR,
                      or.getConnective() );
       
        List restrictionList = or.getRestrictions();

        assertEquals( 3,
                      restrictionList.size() );

        // first we have a literal restriction
        LiteralRestrictionDescr litDescr = (LiteralRestrictionDescr) restrictionList.get( 0 );
        assertEquals( "==",
                      litDescr.getEvaluator() );
        assertEquals( "yyy",
                      litDescr.getText() );

        // second, we have another literal restriction
        litDescr = (LiteralRestrictionDescr) restrictionList.get( 1 );
        assertEquals( "!=",
                      litDescr.getEvaluator() );
        assertEquals( "zzz",
                      litDescr.getText() );
       
        ReturnValueRestrictionDescr retDescr = (ReturnValueRestrictionDescr) restrictionList.get( 2 );
        assertEquals( "!=",
                      retDescr.getEvaluator() );
       
        LispForm lispForm = ( LispForm ) retDescr.getContent();
        assertEquals("(+ 2 3)", lispForm.toString() );                        

        // ----------------
        // this is how it would be compatible to our core engine
        PredicateDescr predicateDescr = (PredicateDescr) colList.get( 2 );
       
        lispForm = ( LispForm ) predicateDescr.getContent();
        assertEquals("(< 1 2)", lispForm.toString() );               

        // -----------------
        // Parse the second column
        PatternDescr hobbyPattern = (PatternDescr) lhsList.get( 1 );
        assertEquals( "$c",
                      hobbyPattern.getIdentifier() );
        assertEquals( "hobby",
                      hobbyPattern.getObjectType() );

        colList = hobbyPattern.getDescrs();
        assertEquals( 3,
                      colList.size() );

        fbd = (FieldBindingDescr) colList.get( 0 );
        assertEquals( "$bf2",
                      fbd.getIdentifier() );
        assertEquals( "type",
                      fbd.getFieldName() );
       
        fieldConstraintDescr = (FieldConstraintDescr) colList.get( 1 );
        restrictionList = fieldConstraintDescr.getRestrictions();

        assertEquals( "type",
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

        lhs = new AndDescr();
        ruleDescr.setLhs( lhs );
       
        pattern = new PatternDescr( Cheese.class.getName()  );
        lhs.addDescr( pattern );      
        pattern.addConstraint( new FieldBindingDescr( "type", "$type" ) );
       
        pattern = new PatternDescr( "query1" );
        lhs.addDescr( pattern );
        pattern.addConstraint( new LiteralDescr( "bobba",
                                                 LiteralDescr.TYPE_STRING ) );
View Full Code Here

Examples of org.drools.lang.descr.FieldBindingDescr

            if ( previous == null ) {
                descrString += this.template;
            } else if ( previous instanceof FieldBindingDescr && !(temp instanceof FieldBindingDescr) && !(temp instanceof PredicateDescr) ) {
                final FieldConstraintDescr tempDescr = (FieldConstraintDescr) temp;
                final FieldBindingDescr previousDescr = (FieldBindingDescr) previous;
                if ( tempDescr.getFieldName().equals( previousDescr.getFieldName() ) ) {
                    // as its a binding followed by a field constraint we need to remove
                    // the extra field name                   
                    descrString += this.template.substring( tempDescr.getFieldName().length() + 1 );
                } else {
                    descrString += " , " + this.template;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.