Package org.drools.lang.descr

Examples of org.drools.lang.descr.FromDescr


    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] )",
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] )",
View Full Code Here

    public void testSimpleAccessorWithFrom() throws Exception {

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

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

        assertNull( ((FieldAccessDescr) accessor.getInvokers().get( 0 )).getArgument() );
View Full Code Here

    public void testSimpleAccessorAndArgWithFrom() throws Exception {

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

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

        assertNotNull( ((FieldAccessDescr) accessor.getInvokers().get( 0 )).getArgument() );
View Full Code Here

    }

    public void testComplexChainedAcessor() throws Exception {
        final RuleDescr rule = parseResource( "test_ComplexChainedCallWithFrom.drl" ).rule();
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final AccessorDescr accessor = (AccessorDescr) from.getDataSource();

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

        assertEquals( "doIt1( foo,bar,42,\"hello\",{ a => \"b\"}, [a, \"b\", 42] ).doIt2(bar, [a, \"b\", 42]).field[\"key\"]",
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();
        From from = null;
        try {
            // This builder is re-usable in other dialects, so specify by name
            MVELDialect dialect = (MVELDialect) context.getDialect( "mvel" );
View Full Code Here

        final LinkedList parents = this.xmlPackageReader.getParents();
        final ListIterator ite = parents.listIterator( parents.size() );
        ite.previous();
        final Object parent = ite.previous();

        final FromDescr fromSource = (FromDescr) parent;
        final CharStream charStream = new ANTLRStringStream( expression.trim() );
        final DRLLexer lexer = new DRLLexer( charStream );
        final TokenStream tokenStream = new CommonTokenStream( lexer );
        final DRLParser parser = new DRLParser( tokenStream );

        try {
            final DeclarativeInvokerDescr declarativeInvoker = parser.from_source( fromSource );
            fromSource.setDataSource( declarativeInvoker );
        } catch ( final RecognitionException e ) {
            throw new SAXParseException( "<" + localName + "> must have a valid expression content ",
                                         this.xmlPackageReader.getLocator() );
        }
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() );
View Full Code Here

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "test_SimpleMethodCallWithFrom.drl" );
        assertFalse( parser.getErrors().toString(),
                     parser.hasErrors() );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final MVELExprDescr method = (MVELExprDescr) from.getDataSource();

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

        final RuleDescr rule = (RuleDescr) parseResource( "rule",
                                                          "test_SimpleFunctionCallWithFrom.drl" );
        assertFalse( parser.getErrors().toString(),
                     parser.hasErrors() );
        final PatternDescr pattern = (PatternDescr) rule.getLhs().getDescrs().get( 0 );
        final FromDescr from = (FromDescr) pattern.getSource();
        final MVELExprDescr func = (MVELExprDescr) from.getDataSource();

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

TOP

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

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.