Package org.drools.compiler.compiler

Examples of org.drools.compiler.compiler.PackageBuilder


        int offset = -1;
        DrlParser parser = new DrlParser(LanguageLevelOption.DRL5);
        Reader reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffset.drl" ) );
       
        PackageDescr packageDescr = parser.parse(reader);
        PackageBuilder packageBuilder = new PackageBuilder();
        packageBuilder.addPackage(packageDescr);
        assertEquals(false, packageBuilder.hasErrors());
        for (Object o: packageDescr.getRules()) {
            RuleDescr rule = (RuleDescr) o;
            if (rule.getName().equals("test")) {
                offset = rule.getConsequenceOffset();
            }
        }
       
        reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffset2.drl" ) );
        packageDescr = parser.parse(reader);
        packageBuilder = new PackageBuilder();
        packageBuilder.addPackage(packageDescr);
        reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffset.drl" ) );
        packageDescr = parser.parse(reader);
        packageBuilder.addPackage(packageDescr);
        assertEquals(false, packageBuilder.hasErrors());
        for (Object o: packageDescr.getRules()) {
            RuleDescr rule = (RuleDescr) o;
            if (rule.getName().equals("test")) {
                assertEquals(offset, rule.getConsequenceOffset());
                return;
View Full Code Here


    @Test
    public void testLargeSetOfImports() throws Exception {
        Reader reader = new InputStreamReader( ConsequenceOffsetTest.class.getResourceAsStream( "test_consequenceOffsetImports.drl" ) );
        DrlParser parser = new DrlParser(LanguageLevelOption.DRL5);
        PackageDescr packageDescr = parser.parse(reader);
        PackageBuilder packageBuilder = new PackageBuilder();
        packageBuilder.addPackage(packageDescr);
        assertEquals(false, packageBuilder.hasErrors());
    }
View Full Code Here

public class UnlinkingTest {

    @Test
    public void multipleJoinsUsingSameOTN() throws Exception {

        final PackageBuilder builder = new PackageBuilder();
        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_LRUnlinking.drl" ) ) );
        final Package pkg = builder.getPackage();

        final RuleBaseConfiguration conf = new RuleBaseConfiguration();
        conf.setPhreakEnabled(true);
        RuleBase ruleBase = RuleBaseFactory.newRuleBase(conf);
View Full Code Here

        for (int i = 0; i < RULE_COUNT; i++) {
            sb.append(LargeRuleBase.getTemplate1("testRule"+i, i));
        }
        System.out.println("Parsing "+RULE_COUNT+" rules");
        PackageBuilder pkgBuilder = new PackageBuilder();
        DrlParser ps = new DrlParser(LanguageLevelOption.DRL5);
        PackageDescr pkgDescr = ps.parse(new StringReader(sb.toString()));

        pkgBuilder.addPackage(pkgDescr);

        Package pkg = pkgBuilder.getPackage();
        ruleBase = RuleBaseFactory.newRuleBase();

        ruleBase.addPackage(pkg);
        return ruleBase;
    }
View Full Code Here

            buf.append(" System.out.println('2');\n");
            buf.append("end\n");
        }       
        Reader source = new StringReader(buf.toString());

        PackageBuilder builder = new PackageBuilder();
        builder.addPackageFromDrl(source);
        Package pkg = builder.getPackage();

        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
        ruleBase.addPackage(pkg);

        SerializationHelper.serializeObject( ruleBase );
View Full Code Here

        System.err.println("Time taken for parsing: "
                + (System.currentTimeMillis() - time));

        time = System.currentTimeMillis();
        PackageBuilder b = new PackageBuilder();
        b.addPackage(pkg);
        assertFalse(b.getErrors().toString(), b.hasErrors());

        System.err.println("Time taken for compiling: "
                + (System.currentTimeMillis() - time));
        time = System.currentTimeMillis();

        Package p = b.getPackage();
        RuleBase rb = RuleBaseFactory.newRuleBase();

        rb.addPackage(p);

        System.err.println("Time taken rete building: "
View Full Code Here

    private static void smallBlobCompile() throws DroolsParserException,
            IOException, Exception {

        /* love you */long time = System.currentTimeMillis();
        PackageBuilder b = new PackageBuilder();
        b.addPackageFromDrl(new StringReader(getHeader()));
        for (int i = 0; i < RULE_COUNT; i++) {
            String name = "x" + i;
            int status = i;

            String r = getTemplate2(name, i, status);
            b.addPackageFromDrl(new StringReader(r));
            if (i % 1000 == 0)
                System.err.println("Rule #" + i);

        }

        assertFalse(b.getErrors().toString(), b.hasErrors());

        System.err.println("Time taken for compiling: "
                + (System.currentTimeMillis() - time));
        time = System.currentTimeMillis();

        Package p = b.getPackage();
        RuleBase rb = RuleBaseFactory.newRuleBase();

        rb.addPackage(p);

        System.err.println("Time taken rete building: "
View Full Code Here

    private static void realisticSmallBlobCompile() throws DroolsParserException,
            IOException, Exception {

        /* love you */long time = System.currentTimeMillis();
        PackageBuilder b = new PackageBuilder();
        b.addPackageFromDrl(new StringReader(getHeader()));

        int count = 0;

        for (int i = 0; i < 2000; i++) {

            String name = "x" + i;
            for (int j = 0; j < 10; j++) {
                count++;
                int status = j;
                String r = getTemplate2(name, count, status);
                b.addPackageFromDrl(new StringReader(r));
                if (count % 1000 == 0)
                    System.err.println("Rule #" + count);
            }

        }

        assertFalse(b.getErrors().toString(), b.hasErrors());

        System.err.println("Time taken for compiling: "
                + (System.currentTimeMillis() - time));
        time = System.currentTimeMillis();

        Package p = b.getPackage();
        RuleBase rb = RuleBaseFactory.newRuleBase();

        rb.addPackage(p);

        System.err.println("Time taken rete building: "
View Full Code Here

            final int ID = i;
            Thread testThread = new Thread() {
                public void run() {
                    try {
                        this.setName( "Thread[" + ID + "]" );
                        PackageBuilder builder = null;
                        try {
                            builder = new PackageBuilder( packageBuilderConfig );
                        } catch ( Throwable t ) {
                            t.printStackTrace();
                            throw new RuntimeException( t );
                        }
                        PackageDescr packageDescr = new PackageDescr( "MyRulebase" );
                        addImports( packageDescr );
                        addFunctions( packageDescr );
                        // added some arbitrary sleep statements to encourage
                        // context switching and hope this provokes exceptions
                        sleep( _SLEEP_TIME_MS );
                        builder.addPackage( packageDescr );
                        sleep( _SLEEP_TIME_MS );
                        builder.getPackage();
                        sleep( _SLEEP_TIME_MS );
                        if ( builder.hasErrors() ) {
                            System.out.println( "ERROR in thread: " + ID );
                            System.out.println( builder.getErrors().toString() );
                            errors.add( builder.getErrors() );
                        }
                    } catch ( Exception e ) {
                        e.printStackTrace();
                        exceptions.add( e );
                    }
View Full Code Here

                "    then\n" +
                "        System.out.println(\"hello\");\n" +
                "end\n";

        PackageBuilder builder = new PackageBuilder();
        builder.addPackageFromDrl(ResourceFactory.newByteArrayResource(str.getBytes()));
        RuleBase rb = RuleBaseFactory.newRuleBase();
        rb.addPackages(builder.getPackages());
        StatelessSession ss = rb.newStatelessSession();
        ss.execute(new Object[]{
                new MyPerson("John", 20, Arrays.asList(
                        new MyPerson("John Jr 1st", 10, Arrays.asList(new MyPerson("John Jr Jr", 4, Collections.<MyPerson>emptyList()))),
                        new MyPerson("John Jr 2nd", 8, Collections.<MyPerson>emptyList())))
View Full Code Here

TOP

Related Classes of org.drools.compiler.compiler.PackageBuilder

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.