Package org.drools.lang.descr

Examples of org.drools.lang.descr.AccessorDescr


    public RuleConditionElement build(final RuleBuildContext context,
                                      final BaseDescr descr,
                                      final Pattern prefixPattern) {
        final FromDescr fromDescr = (FromDescr) descr;

        final AccessorDescr accessor = (AccessorDescr) fromDescr.getDataSource();
        DataProvider dataProvider = null;
        try {
            final DroolsMVELFactory factory = new DroolsMVELFactory( context.getDeclarationResolver().getDeclarations(),
                                                                     null,
                                                                     context.getPkg().getGlobals() );

            // This builder is re-usable in other dialects, so specify by name
            MVELDialect dialect = (MVELDialect) context.getDialect( "mvel" );

            String text = (String) accessor.toString();
            Dialect.AnalysisResult analysis = dialect.analyzeExpression( context,
                                                                         descr,
                                                                         text );

            final Serializable expr = dialect.compile( text,
View Full Code Here


    public RuleConditionElement build(final RuleBuildContext context,
                                      final BaseDescr descr,
                                      final Pattern prefixPattern) {
        final FromDescr fromDescr = (FromDescr) descr;

        final AccessorDescr accessor = (AccessorDescr) fromDescr.getDataSource();
        DataProvider dataProvider = null;
        try {
            final DroolsMVELFactory factory = new DroolsMVELFactory( context.getDeclarationResolver().getDeclarations(),
                                                                     null,
                                                                     context.getPkg().getGlobals() );

            // This builder is re-usable in other dialects, so specify by name
            MVELDialect dialect = (MVELDialect) context.getDialect( "mvel" );

            factory.setNextFactory( dialect.getStaticMethodImportResolverFactory() );

            String text = (String) accessor.toString();
            Dialect.AnalysisResult analysis = dialect.analyzeExpression( context,
                                                                         descr,
                                                                         text );

            final Serializable expr = dialect.compile( text,
View Full Code Here

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "rule",
                                                          "test_SimpleMethodCallWithFrom.drl" );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr method = (AccessorDescr) from.getDataSource();

        assertEquals( "something.doIt( foo,bar,42,\"hello\",{ a => \"b\", \"something\" => 42, \"a\" => foo, x => {x=>y}},\"end\", [a, \"b\", 42] )",
                      method.toString() );
    }
View Full Code Here

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "rule",
                                                          "test_SimpleFunctionCallWithFrom.drl" );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr func = (AccessorDescr) from.getDataSource();

        assertEquals( "doIt( foo,bar,42,\"hello\",{ a => \"b\", \"something\" => 42, \"a\" => foo, x => {x=>y}},\"end\", [a, \"b\", 42] )",
                      func.toString() );
    }
View Full Code Here

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "rule",
                                                          "test_SimpleAccessorWithFrom.drl" );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr accessor = (AccessorDescr) from.getDataSource();

        assertNull( ((FieldAccessDescr) accessor.getInvokers().get( 0 )).getArgument() );

        assertEquals( "something.doIt",
                      accessor.toString() );
    }
View Full Code Here

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "rule",
                                                          "test_SimpleAccessorArgWithFrom.drl" );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr accessor = (AccessorDescr) from.getDataSource();

        assertNotNull( ((FieldAccessDescr) accessor.getInvokers().get( 0 )).getArgument() );

        assertEquals( "something.doIt[\"key\"]",
                      accessor.toString() );
    }
View Full Code Here

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "rule",
                                                          "test_ComplexChainedCallWithFrom.drl" );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr accessor = (AccessorDescr) from.getDataSource();

        assertEquals( "doIt1( foo,bar,42,\"hello\",{ a => \"b\"}, [a, \"b\", 42] ).doIt2(bar, [a, \"b\", 42]).field[\"key\"]",
                      accessor.toString() );
    }
View Full Code Here

        RuleDescr obj = (RuleDescr) packageDescr.getRules().get( 0 );
        PatternDescr patterndescr = (PatternDescr) obj.getLhs().getDescrs().get( 0 );
       
        FromDescr from = (FromDescr) patterndescr.getSource();
       
        AccessorDescr accessordescriptor =  (AccessorDescr) from.getDataSource();
        assertEquals( accessordescriptor.getVariableName(), "cheesery" );

        assertEquals( patterndescr.getObjectType(), "Cheese" );
        assertEquals( patterndescr.getIdentifier(), "cheese" );
       
    }
View Full Code Here

    public void testSimpleMethodCallWithFrom() throws Exception {

        final RuleDescr rule = parseResource( "test_SimpleMethodCallWithFrom.drl" ).rule();
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr method = (AccessorDescr) from.getDataSource();

        assertFalse( this.parser.getErrorMessages().toString(),
                     this.parser.hasErrors() );

        assertEquals( "something.doIt( foo,bar,42,\"hello\",{ a => \"b\", \"something\" => 42, \"a\" => foo, x => {x=>y}},\"end\", [a, \"b\", 42] )",
                      method.toString() );
    }
View Full Code Here

    public void testSimpleFunctionCallWithFrom() throws Exception {

        final RuleDescr rule = parseResource( "test_SimpleFunctionCallWithFrom.drl" ).rule();
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr func = (AccessorDescr) from.getDataSource();

        assertFalse( this.parser.getErrorMessages().toString(),
                     this.parser.hasErrors() );

        assertEquals( "doIt( foo,bar,42,\"hello\",{ a => \"b\", \"something\" => 42, \"a\" => foo, x => {x=>y}},\"end\", [a, \"b\", 42] )",
                      func.toString() );
    }
View Full Code Here

TOP

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

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.