Package org.drools

Examples of org.drools.RuleBase


                                    IOException,
                                    FactException
    {
        WorkingMemory workingMemory;
        List list;
        RuleBase ruleBase;
        RuleBaseLoader ruleBaseLoader;
        RuleSetLoader ruleSetLoader = new RuleSetLoader( );

        // single URL parameter
        ruleSetLoader.addFromUrl( RuleBaseLoaderTest.class.getResource( "simple.java.drl" ) );

        // Get tehe ruleSet to test with
        RuleSetCompiler[] compilers = (RuleSetCompiler[]) ruleSetLoader.getRuleSets( ).values( ).toArray( new RuleSetCompiler[]{} );
        RuleSet ruleSet = compilers[0].getRuleSet( );

        // Try with addFromRuleSet
        ruleBaseLoader = new RuleBaseLoader( );
        ruleBaseLoader.addFromRuleSet( ruleSet );
        ruleBase = ruleBaseLoader.buildRuleBase( );
        workingMemory = ruleBase.newWorkingMemory( );
        list = new ArrayList( );
        workingMemory.setApplicationData( "list",
                                          list );
        workingMemory.assertObject( "help" );
        workingMemory.fireAllRules( );
        assertEquals( "help",
                      list.get( 0 ) );

        // Try with addFromRuleSet

        ruleBaseLoader = new RuleBaseLoader( );
        ruleBaseLoader.addFromRuleSet( new RuleSet[]{ruleSet} );
        ruleBase = ruleBaseLoader.buildRuleBase( );
        workingMemory = ruleBase.newWorkingMemory( );
        list = new ArrayList( );
        workingMemory.setApplicationData( "list",
                                          list );
        workingMemory.assertObject( "help" );
        workingMemory.fireAllRules( );
View Full Code Here


                                   IOException,
                                   FactException
    {
        WorkingMemory workingMemory;
        List list;
        RuleBase ruleBase;
        RuleBaseLoader ruleBaseLoader;
        RuleSetLoader ruleSetLoader = new RuleSetLoader( );

        // single URL parameter
        ruleSetLoader.addFromUrl( RuleBaseLoaderTest.class.getResource( "simple.java.drl" ) );

        // Try with addFromRuleSetLoader
        ruleBaseLoader = new RuleBaseLoader( );
        ruleBaseLoader.addFromRuleSetLoader( ruleSetLoader );
        RuleSetCompiler[] compilers = (RuleSetCompiler[]) ruleSetLoader.getRuleSets( ).values( ).toArray( new RuleSetCompiler[]{} );

        File root = null;
        try
        {
            root = createTempDirectory( );
            File file = new File( root,
                                  "drools.ddj" );
            FileOutputStream fos = new FileOutputStream( file );
            fos.write( compilers[0].getBinaryDeploymentJar( ) );
            fos.close( );

            // Try with URL to Drools Distribution Jar, ddj
            ruleBaseLoader = new RuleBaseLoader( );
            ruleBaseLoader.addFromUrl( file.toURL( ) );
            ruleBase = ruleBaseLoader.buildRuleBase( );
            workingMemory = ruleBase.newWorkingMemory( );
            list = new ArrayList( );
            workingMemory.setApplicationData( "list",
                                              list );
            workingMemory.assertObject( "help" );
            workingMemory.fireAllRules( );
            assertEquals( "help",
                          list.get( 0 ) );

            // Try with URL to Drools Distribution Jar, ddj []
            ruleBaseLoader = new RuleBaseLoader( );
            ruleBaseLoader.addFromUrl( new URL[]{file.toURL( )} );
            ruleBase = ruleBaseLoader.buildRuleBase( );
            workingMemory = ruleBase.newWorkingMemory( );
            list = new ArrayList( );
            workingMemory.setApplicationData( "list",
                                              list );
            workingMemory.assertObject( "help" );
            workingMemory.fireAllRules( );
View Full Code Here

                                   IOException,
                                   FactException
    {
        WorkingMemory workingMemory;
        List list;
        RuleBase ruleBase;
        RuleBaseLoader ruleBaseLoader;
        RuleSetLoader ruleSetLoader = new RuleSetLoader( );

        // single URL parameter
        ruleSetLoader.addFromUrl( RuleBaseLoaderTest.class.getResource( "simple.java.drl" ) );

        // Try with addFromRuleSetLoader
        ruleBaseLoader = new RuleBaseLoader( );
        ruleBaseLoader.addFromRuleSetLoader( ruleSetLoader );
        RuleSetCompiler[] compilers = (RuleSetCompiler[]) ruleSetLoader.getRuleSets( ).values( ).toArray( new RuleSetCompiler[]{} );

        File root = null;
        try
        {           
            // Try with URL to Drools Distribution Jar, ddj
            ruleBaseLoader = new RuleBaseLoader( );
            ruleBaseLoader.addFromByteArray( compilers[0].getBinaryDeploymentJar( ) );
            ruleBase = ruleBaseLoader.buildRuleBase( );
            workingMemory = ruleBase.newWorkingMemory( );
            list = new ArrayList( );
            workingMemory.setApplicationData( "list",
                                              list );
            workingMemory.assertObject( "help" );
            workingMemory.fireAllRules( );
            assertEquals( "help",
                          list.get( 0 ) );

            // Try with URL to Drools Distribution Jar, ddj []
            ruleBaseLoader = new RuleBaseLoader( );
            ruleBaseLoader.addFromByteArray( new byte[][] { compilers[0].getBinaryDeploymentJar( ) } );
            ruleBase = ruleBaseLoader.buildRuleBase( );
            workingMemory = ruleBase.newWorkingMemory( );
            list = new ArrayList( );
            workingMemory.setApplicationData( "list",
                                              list );
            workingMemory.assertObject( "help" );
            workingMemory.fireAllRules( );
View Full Code Here

                                    IOException,
                                    FactException
    {
        WorkingMemory workingMemory;
        List list;
        RuleBase ruleBase;
        RuleBaseLoader ruleBaseLoader;
        RuleSetLoader ruleSetLoader = new RuleSetLoader( );

        // single URL parameter
        ruleSetLoader.addFromUrl( RuleBaseLoaderTest.class.getResource( "simple.java.drl" ) );

        // Try with addFromRuleSetLoader
        ruleBaseLoader = new RuleBaseLoader( );
        ruleBaseLoader.addFromRuleSetLoader( ruleSetLoader );

        RuleSetCompiler[] compilers = (RuleSetCompiler[]) ruleSetLoader.getRuleSets( ).values( ).toArray( new RuleSetCompiler[]{} );

        File root = null;
        try
        {
            root = createTempDirectory( );
            File file = new File( root,
                                  "drools.ddj" );
            FileOutputStream fos = new FileOutputStream( file );
            fos.write( compilers[0].getBinaryDeploymentJar( ) );
            fos.close( );

            // make a conf file to the URL
            File conf = new File( root,
                                  "rule-base.conf" );
            fos = new FileOutputStream( conf );
            fos.write( file.toURL( ).toExternalForm( ).getBytes( ) );
            fos.close( );

            // Try with URL to Distribution conf file
            ruleBaseLoader = new RuleBaseLoader( );
            ruleBaseLoader.addFromUrl( conf.toURL( ) );
            ruleBase = ruleBaseLoader.buildRuleBase( );
            workingMemory = ruleBase.newWorkingMemory( );
            list = new ArrayList( );
            workingMemory.setApplicationData( "list",
                                              list );
            workingMemory.assertObject( "help" );
            workingMemory.fireAllRules( );
            assertEquals( "help",
                          list.get( 0 ) );

            // Try with URL to Distribution conf file
            ruleBaseLoader = new RuleBaseLoader( );
            ruleBaseLoader.addFromUrl( new URL[]{conf.toURL( )} );
            ruleBase = ruleBaseLoader.buildRuleBase( );
            workingMemory = ruleBase.newWorkingMemory( );
            list = new ArrayList( );
            workingMemory.setApplicationData( "list",
                                              list );
            workingMemory.assertObject( "help" );
            workingMemory.fireAllRules( );
View Full Code Here

        ApplicationContext context = new ClassPathXmlApplicationContext("org/drools/spring/examples/helloworld/helloworld.appctx.xml");

        RuleSet ruleSet = (RuleSet) context.getBean("innerPojosRuleSet");
        RuleBaseBuilder builder = new RuleBaseBuilder();
        builder.addRuleSet(ruleSet);
        RuleBase ruleBase = builder.build();

        HelloWorldRunner.run(ruleBase);
    }
View Full Code Here

        ApplicationContext context = new ClassPathXmlApplicationContext("org/drools/spring/examples/helloworld/helloworld.appctx.xml");

        RuleSet ruleSet = (RuleSet) context.getBean("outerPojosRuleSet");
        RuleBaseBuilder builder = new RuleBaseBuilder();
        builder.addRuleSet(ruleSet);
        RuleBase ruleBase = builder.build();

        HelloWorldRunner.run(ruleBase);
    }
View Full Code Here

            RuleSetLoader ruleSetLoader = new RuleSetLoader();          
            ruleSetLoader.addFromUrl( FibonacciExample.class.getResource( args[ 0 ] ) );           
           
            RuleBaseLoader ruleBaseLoader = new RuleBaseLoader();
            ruleBaseLoader.addFromRuleSetLoader(ruleSetLoader);
            RuleBase ruleBase = ruleBaseLoader.buildRuleBase();
              

            WorkingMemory workingMemory;
            Fibonacci fibonacci;
            long start;
            long stop;

            System.err.println( "\nFirst run - code compiled on the fly" );
            workingMemory = ruleBase.newWorkingMemory( );

            fibonacci = new Fibonacci( 50 );
            start = System.currentTimeMillis( );
            workingMemory.assertObject( fibonacci );

            workingMemory.fireAllRules( );
            stop = System.currentTimeMillis( );

            System.err.println( "fibonacci(" + fibonacci.getSequence( )
                                + ") == " + fibonacci.getValue( ) + " took "
                                + ( stop - start ) + "ms" );
            System.err.println( "\nSecond run - code already compiled" );

            workingMemory = ruleBase.newWorkingMemory( );

            fibonacci = new Fibonacci( 50 );
            start = System.currentTimeMillis( );
            workingMemory.assertObject( fibonacci );
View Full Code Here

        RuleSetLoader ruleSetLoader = new RuleSetLoader();          
        ruleSetLoader.addFromUrl( MannersBenchmark.class.getResource( DRL_FILE ) );           
       
        RuleBaseLoader ruleBaseLoader = new RuleBaseLoader(ComplexityConflictResolver.getInstance( ));
        ruleBaseLoader.addFromRuleSetLoader(ruleSetLoader);
        RuleBase ruleBase = ruleBaseLoader.buildRuleBase();        
       
        File dotFile = new File( DOT_FILE );
        System.out.println( "Creating DOT: " + dotFile.getCanonicalPath() + "..." );
       
       
       
        new ReteDumper( ruleBase ).dumpReteToDot( new PrintStream(
            new FileOutputStream( dotFile ) ) );

        this.workingMemory = ruleBase.newWorkingMemory( );
       
        this.workingMemory.addEventListener( new MannersWMEL( ) );
       
        System.out.println( "Reading DAT: " + datFile + "..." );
        this.inputObjects = getInputObjects(
View Full Code Here

        ruleSet.addRule( calculateRule );

        // Build the RuleSet.
        RuleBaseBuilder builder = new RuleBaseBuilder( );
        builder.addRuleSet( ruleSet );
        RuleBase ruleBase = builder.build( );
        WorkingMemory workingMemory = ruleBase.newWorkingMemory( );

        System.out.println( "DUMP RETE" );
        System.out.println( "---------" );
        ReteDumper dumper = new ReteDumper( ruleBase );
        dumper.dumpRete( System.err );
View Full Code Here

            RuleSetLoader ruleSetLoader = new RuleSetLoader();          
            ruleSetLoader.addFromUrl( PetStore.class.getResource( args[0] ) );           
           
            RuleBaseLoader ruleBaseLoader = new RuleBaseLoader();
            ruleBaseLoader.addFromRuleSetLoader(ruleSetLoader);
            RuleBase ruleBase = ruleBaseLoader.buildRuleBase();                 
           

            Vector stock = new Vector( );
            stock.add( new CartItem( "Gold Fish", 5 ) );
            stock.add( new CartItem( "Fish Tank", 25 ) );
View Full Code Here

TOP

Related Classes of org.drools.RuleBase

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.