Package org.kie.api.runtime.rule

Examples of org.kie.api.runtime.rule.FactHandle


         StatefulKnowledgeSession ksession = createKnowledgeSession( kbase );

         for ( int i = 0; i < 20; i++ ) {
             Object object = new Object();
             ksession.insert( object );
             FactHandle factHandle = ksession.getFactHandle( object );
             assertNotNull( factHandle );
             assertEquals( object,
                           ksession.getObject( factHandle ) );
         }
         ksession.dispose();
View Full Code Here


         List list = new ArrayList();
         session.setGlobal( "list",
                            list );
         final Cheese mycheese = new Cheese( "cheddar",
                                             4 );
         FactHandle handle = session.insert( mycheese );
         session.fireAllRules();

         assertEquals( 2,
                       list.size() );
         assertTrue( list.contains( "rule 4" ) );
         assertTrue( list.contains( "rule 2b" ) );

         //Test 2nd level (parent) to make sure rule honors the extend rule
         list = new ArrayList();
         session.setGlobal( "list",
                            list );
         session.delete( handle );
         final Cheese mycheese2 = new Cheese( "notcheddar",
                                              4 );
         FactHandle handle2 = session.insert( mycheese2 );
         session.fireAllRules();

         assertEquals( "rule 4",
                       list.get( 0 ) );
         assertEquals( 1,
                       list.size() );

         //Test 3 levels of inheritance, all levels
         list = new ArrayList();
         session.setGlobal( "list",
                            list );
         session.delete( handle2 );
         final Cheese mycheese3 = new Cheese( "stilton",
                                              6 );
         FactHandle handle3 = session.insert( mycheese3 );
         session.fireAllRules();
         //System.out.println(list.toString());
         assertEquals( "rule 3",
                       list.get( 0 ) );
         assertEquals( 1,
                       list.size() );

         //Test 3 levels of inheritance, third only
         list = new ArrayList();
         session.setGlobal( "list",
                            list );
         session.delete( handle3 );
         final Cheese mycheese4 = new Cheese( "notstilton",
                                              6 );
         FactHandle handle4 = session.insert( mycheese4 );
         session.fireAllRules();
         //System.out.println(((List) session.getGlobal( "list" )).toString());
         assertTrue( ((List) session.getGlobal( "list" )).size() == 0 );

         //Test 3 levels of inheritance, 2nd only
         list = new ArrayList();
         session.setGlobal( "list",
                            list );
         session.delete( handle4 );
         final Cheese mycheese5 = new Cheese( "stilton",
                                              7 );
         FactHandle handle5 = session.insert( mycheese5 );
         session.fireAllRules();
         //System.out.println(((List) session.getGlobal( "list" )).toString());
         assertEquals( 0,
                       list.size() );
View Full Code Here

             ksession.setGlobal( "results",
                                 results );

             final Cheese mycheese = new Cheese( "cheddar",
                                                 4 );
             FactHandle handle = ksession.insert( mycheese );
             ksession.fireAllRules();

             assertEquals( 1,
                           results.size() );
             assertEquals( "1",
View Full Code Here

         final Person bigCheese = new Person( "big cheese" );
         final Cheese cheddar = new Cheese( "cheddar",
                                            15 );
         bigCheese.setCheese( cheddar );

         final FactHandle bigCheeseHandle = ksession.insert( bigCheese );
         final FactHandle cheddarHandle = ksession.insert( cheddar );
         ksession.fireAllRules();

         ArgumentCaptor<org.kie.api.event.rule.ObjectUpdatedEvent> arg = ArgumentCaptor.forClass( org.kie.api.event.rule.ObjectUpdatedEvent.class );
         verify( wmel, times( 2 ) ).objectUpdated( arg.capture() );
View Full Code Here

         KnowledgeBase kbase = getKnowledgeBase();
         StatefulKnowledgeSession ksession = createKnowledgeSession( kbase );
         DefaultFactHandle helloHandle = (DefaultFactHandle) ksession.insert( "hello" );
         DefaultFactHandle goodbyeHandle = (DefaultFactHandle) ksession.insert( "goodbye" );

         FactHandle key = new DefaultFactHandle( helloHandle.toExternalForm() );
         assertEquals( "hello",
                       ksession.getObject( key ) );

         key = new DefaultFactHandle( goodbyeHandle.toExternalForm() );
         assertEquals( "goodbye",
View Full Code Here

         final Cell cell1 = new Cell( 9 );
         final Cell cell = new Cell( 0 );

         session.insert( cell1 );
         FactHandle cellHandle = session.insert( cell );

         session = SerializationHelper.getSerialisedStatefulKnowledgeSession( session,
                                                                              true );

         session.fireAllRules();
View Full Code Here

         session.setGlobal( "list",
                            list );

         final Cheese cheddar = new Cheese( "cheddar",
                                            5 );
         final FactHandle h = session.insert( cheddar );

         session.fireAllRules();

         // just one added
         assertEquals( "got cheese",
View Full Code Here

         ksession.insert( rn );

         final Guess guess = new Guess();
         guess.setValue( new Integer( 5 ) );

         final FactHandle handle = ksession.insert( guess );

         ksession.fireAllRules();

         // HIGHER
         assertEquals( 1,
View Full Code Here

         wm.addEventListener( wmel );

         final Cheese stilton = new Cheese( "stilton",
                                            15 );

         final FactHandle stiltonHandle = wm.insert( stilton );

         ArgumentCaptor<org.kie.api.event.rule.ObjectInsertedEvent> oic = ArgumentCaptor.forClass( org.kie.api.event.rule.ObjectInsertedEvent.class );
         verify( wmel ).objectInserted( oic.capture() );
         assertSame( stiltonHandle,
                     oic.getValue().getFactHandle() );
View Full Code Here

         final Cheese stilton = new Cheese( "stilton",
                                            7 );
         final Cheese muzzarella = new Cheese( "muzzarella",
                                               9 );
         final int sum = stilton.getPrice() + muzzarella.getPrice();
         final FactHandle stiltonHandle = ksession.insert( stilton );
         final FactHandle muzzarellaHandle = ksession.insert( muzzarella );

         ksession.fireAllRules();

         assertEquals( sum,
                       stilton.getPrice() );
View Full Code Here

TOP

Related Classes of org.kie.api.runtime.rule.FactHandle

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.