Examples of LiteralRestrictionDescr


Examples of org.drools.lang.descr.LiteralRestrictionDescr

            return false; // impossible to create extractor
        }

        ValueType vtype = extractor.getValueType();
        String operator = relDescr.getOperator().trim();
        LiteralRestrictionDescr restrictionDescr = buildLiteralRestrictionDescr(context, relDescr, value2, operator, isConstant);

        if (restrictionDescr != null) {
            FieldValue field = getFieldValue(context, vtype, restrictionDescr);
            if (field != null) {
                Constraint constraint = buildLiteralConstraint(context, vtype, field, expr, value1, operator, value2, extractor, restrictionDescr);
                if (constraint != null) {
                    pattern.addConstraint(constraint);
                    return true;
                }
            }
        }

        Restriction restriction = null;
        Declaration[] declarations = null;
        Declaration declr = null;

        if ( value2.indexOf( '(' ) < 0 && value2.indexOf( '.' ) < 0 && value2.indexOf( '[' ) < 0 ) {
            declr = context.getDeclarationResolver().getDeclaration( context.getRule(), value2 );

            if ( declr == null ) {
                // trying to create implicit declaration
                final Pattern thisPattern = (Pattern) context.getBuildStack().peek();
                declr = this.createDeclarationObject( context,
                                                      value2,
                                                      thisPattern );
                if ( declr == null ) {
                    // maybe it was a class literal ?
                    try {
                        final Class< ? > cls = context.getDialect().getTypeResolver().resolveType( value2 );
                        restrictionDescr = new LiteralRestrictionDescr( operator,
                                                                        relDescr.isNegated(),
                                                                        relDescr.getParameters(),
                                                                        cls.getName(),
                                                                        LiteralRestrictionDescr.TYPE_STRING ); // default type
                        restriction = buildLiteralRestriction( context,
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

                                         String rightValue,
                                         String operator,
                                         boolean isRightLiteral) {
        // is it a literal? Does not include enums
        if ( isRightLiteral )
            return new LiteralRestrictionDescr(operator, exprDescr.isNegated(), exprDescr.getParameters(), rightValue, LiteralRestrictionDescr.TYPE_STRING);

        // is it an enum?
        int dotPos = rightValue.lastIndexOf( '.' );
        if ( dotPos >= 0 ) {
            final String mainPart = rightValue.substring( 0,
                                                     dotPos );
            String lastPart = rightValue.substring( dotPos + 1 );
            try {
                context.getDialect().getTypeResolver().resolveType( mainPart );
                if ( lastPart.indexOf( '(' ) < 0 && lastPart.indexOf( '.' ) < 0 && lastPart.indexOf( '[' ) < 0 ) {
                    return new LiteralRestrictionDescr(operator, exprDescr.isNegated(), exprDescr.getParameters(), rightValue, LiteralRestrictionDescr.TYPE_STRING );
                }
            } catch ( ClassNotFoundException e ) {
                // do nothing as this is just probing to see if it was a class, which we now know it isn't :)
            }
        }
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

            Restriction restriction = null;
            // is it a literal? Does not include enums
            if ( isRightLiteral ) {
                restriction = buildLiteralRestriction( context,
                                                       extractor,
                                                       new LiteralRestrictionDescr( operator,
                                                                                    relDescr.isNegated(),
                                                                                    relDescr.getParameters(),
                                                                                    rightValue,
                                                                                    LiteralRestrictionDescr.TYPE_STRING ) ); // default type
                if ( restriction == null ) {
                    // otherwise we just get wierd errors after this point on literals
                    continue;
                }
            } else {
                // is it an enum?
                int dotPos = rightValue.lastIndexOf( '.' );
                if ( dotPos >= 0 ) {
                    final String mainPart = rightValue.substring( 0,
                                                             dotPos );
                    String lastPart = rightValue.substring( dotPos + 1 );
                    try {
                        final Class< ? > cls = context.getDialect().getTypeResolver().resolveType( mainPart );
                        if ( lastPart.indexOf( '(' ) < 0 && lastPart.indexOf( '.' ) < 0 && lastPart.indexOf( '[' ) < 0 ) {
                            restriction = buildLiteralRestriction( context,
                                                                   extractor,
                                                                   new LiteralRestrictionDescr( operator,
                                                                                                relDescr.isNegated(),
                                                                                                relDescr.getParameters(),
                                                                                                rightValue,
                                                                                                LiteralRestrictionDescr.TYPE_STRING ) ); // default type
                        }
                    } catch ( ClassNotFoundException e ) {
                        // do nothing as this is just probing to see if it was a class, which we now know it isn't :)
                    }
                }
            }

            if ( restriction != null ) {
                pattern.addConstraint( new LiteralConstraint( extractor,
                                                              (LiteralRestriction) restriction ) );
                continue;
            }

            Declaration declr = null;
            if ( rightValue.indexOf( '(' ) < 0 && rightValue.indexOf( '.' ) < 0 && rightValue.indexOf( '[' ) < 0 ) {
                declr = context.getDeclarationResolver().getDeclaration( context.getRule(),
                                                                               rightValue );

                if ( declr == null ) {
                    // trying to create implicit declaration
                    final Pattern thisPattern = (Pattern) context.getBuildStack().peek();
                    declr = this.createDeclarationObject( context,
                                                          rightValue,
                                                          thisPattern );
                    if ( declr == null ) {
                        // maybe it was a class literal ?
                        try {
                            final Class< ? > cls = context.getDialect().getTypeResolver().resolveType( rightValue );
                            restriction = buildLiteralRestriction( context,
                                                                   extractor,
                                                                   new LiteralRestrictionDescr( operator,
                                                                                                relDescr.isNegated(),
                                                                                                relDescr.getParameters(),
                                                                                                cls.getName(),
                                                                                                LiteralRestrictionDescr.TYPE_STRING ) ); // default type
                        } catch ( ClassNotFoundException cnfe ) {
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

            Restriction restriction = null;
            // is it a literal? Does not include enums
            if ( isRightLiteral ) {
                restriction = buildLiteralRestriction( context,
                                                       extractor,
                                                       new LiteralRestrictionDescr( operator,
                                                                                    relDescr.isNegated(),
                                                                                    relDescr.getParameters(),
                                                                                    rightValue,
                                                                                    LiteralRestrictionDescr.TYPE_STRING ) ); // default type
                if ( restriction == null ) {
                    // otherwise we just get wierd errors after this point on literals
                    continue;
                }
            } else {
                // is it an enum?
                int dotPos = rightValue.lastIndexOf( '.' );
                if ( dotPos >= 0 ) {
                    final String mainPart = rightValue.substring( 0,
                                                             dotPos );
                    String lastPart = rightValue.substring( dotPos + 1 );
                    try {
                        final Class< ? > cls = context.getDialect().getTypeResolver().resolveType( mainPart );
                        if ( lastPart.indexOf( '(' ) < 0 && lastPart.indexOf( '.' ) < 0 && lastPart.indexOf( '[' ) < 0 ) {
                            restriction = buildLiteralRestriction( context,
                                                                   extractor,
                                                                   new LiteralRestrictionDescr( operator,
                                                                                                relDescr.isNegated(),
                                                                                                relDescr.getParameters(),
                                                                                                rightValue,
                                                                                                LiteralRestrictionDescr.TYPE_STRING ) ); // default type
                        }
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

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

        final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "name" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "stilton" ) );

        pattern.addConstraint( literalDescr );

        ruleDescr.setConsequence( "String result = stilton.getFieldValue( \"name\" ) + \" \" + stilton.getFieldValue( \"price\" );" );
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

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

        final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "stilton" ) );

        pattern.addConstraint( literalDescr );

        ruleDescr.setConsequence( "update(stilton);" );
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

    }

    public void testNumbers() throws Exception {
        // test boolean
        FieldConstraintDescr literalDescr = new FieldConstraintDescr( "booleanPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "true" ) );
        createLiteralRule( literalDescr );

        // test boolean
        literalDescr = new FieldConstraintDescr( "booleanPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "false" ) );
        createLiteralRule( literalDescr );

        // test char
        literalDescr = new FieldConstraintDescr( "charPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "a" ) );
        createLiteralRule( literalDescr );

        // test byte
        literalDescr = new FieldConstraintDescr( "bytePrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "1" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "bytePrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "bytePrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "-1" ) );
        createLiteralRule( literalDescr );

        // test short
        literalDescr = new FieldConstraintDescr( "shortPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "1" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "shortPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "shortPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "-1" ) );
        createLiteralRule( literalDescr );

        // test int
        literalDescr = new FieldConstraintDescr( "intPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "1" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "intPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "intPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "-1" ) );
        createLiteralRule( literalDescr );

        // test long
        literalDescr = new FieldConstraintDescr( "longPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "1" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "longPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "longPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        // test float
        literalDescr = new FieldConstraintDescr( "floatPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "1.1" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "floatPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "floatPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "-1.1" ) );
        createLiteralRule( literalDescr );

        // test double
        literalDescr = new FieldConstraintDescr( "doublePrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "1.1" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "doublePrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "0" ) );
        createLiteralRule( literalDescr );

        literalDescr = new FieldConstraintDescr( "floatPrimitive" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "-1.1" ) );
        createLiteralRule( literalDescr );
    }
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

        final PatternDescr patternDescr = new PatternDescr( Cheese.class.getName(),
                                                            "stilton" );

        final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  null ) );

        patternDescr.addConstraint( literalDescr );

        ruleDescr.setConsequence( "" );
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

        AndDescr lhs = new AndDescr();
        ruleDescr.setLhs( lhs );
        PatternDescr patternDescr = new PatternDescr( Cheese.class.getName(),
                                                      "stilton" );
        FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  null ) );
        patternDescr.addConstraint( literalDescr );
        ruleDescr.setConsequence( "" );

        ruleDescr = new RuleDescr( "rule-1" );
        ruleDescr.setLocation( 42,
                               43 );
        packageDescr.addRule( ruleDescr );
        lhs = new AndDescr();
        ruleDescr.setLhs( lhs );
        patternDescr = new PatternDescr( Cheese.class.getName(),
                                         "stilton" );
        literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "!=",
                                                                  null ) );
        patternDescr.addConstraint( literalDescr );
        ruleDescr.setConsequence( "" );

        ruleDescr = new RuleDescr( "rule-2" );
        ruleDescr.setLocation( 42,
                               43 );
        packageDescr.addRule( ruleDescr );
        lhs = new AndDescr();
        ruleDescr.setLhs( lhs );
        patternDescr = new PatternDescr( Cheese.class.getName(),
                                         "stilton" );

        literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "!=",
                                                                  null ) );

        patternDescr.addConstraint( literalDescr );
        ruleDescr.setConsequence( "" );
View Full Code Here

Examples of org.drools.lang.descr.LiteralRestrictionDescr

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

        final FieldConstraintDescr literalDescr = new FieldConstraintDescr( "type" );
        literalDescr.addRestriction( new LiteralRestrictionDescr( "==",
                                                                  "stilton" ) );

        pattern1.addConstraint( fieldBindingDescr );
        pattern1.addConstraint( literalDescr );
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.