Package org.kie.api.runtime.rule

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


            ((StatefulKnowledgeSessionImpl)context.wm).initInitialFact(context.kBase, context);
            context.handles.put( session.getInitialFactHandle().getId(), session.getInitialFactHandle() );
        }

        for ( ProtobufMessages.EntryPoint _ep : _session.getRuleData().getEntryPointList() ) {
            EntryPoint wmep = ((StatefulKnowledgeSessionImpl)context.wm).getEntryPointMap().get(_ep.getEntryPointId());
            readFactHandles( context,
                             _ep,
                             ((InternalWorkingMemoryEntryPoint) wmep).getObjectStore(),
                             pctxs );
            readTruthMaintenanceSystem( context,
View Full Code Here


                                       ObjectStore objectStore,
                                       List<PropagationContext> pctxs) throws IOException,
                                                                          ClassNotFoundException {
        InternalWorkingMemory wm = context.wm;

        EntryPoint entryPoint = ((StatefulKnowledgeSessionImpl)context.wm).getEntryPointMap().get(_ep.getEntryPointId());
       
        // load the handles
        for ( ProtobufMessages.FactHandle _handle : _ep.getHandleList() ) {
            InternalFactHandle handle = readFactHandle( context,
                                                        entryPoint,
View Full Code Here

         rule1 += "end\n";

         KnowledgeBase kbase = loadKnowledgeBaseFromString(rule1);

         final StatefulKnowledgeSession ksession = createKnowledgeSession( kbase );
         final EntryPoint ep = ksession.getEntryPoint( "testep2" );

         List list = new ArrayList();
         ksession.setGlobal( "list",
                             list );

         ksession.insert( new Cheese( "cheddar" ) );
         ksession.fireAllRules();

         Runnable fireUntilHalt = new Runnable() {
             public void run() {
                 ksession.fireUntilHalt();
             }
         };

         Thread t1 = new Thread( fireUntilHalt );
         t1.start();

         Thread.currentThread().sleep( 500 );
         ep.insert( new Person( "darth" ) );
         Thread.currentThread().sleep( 500 );
         ksession.halt();
         t1.join( 5000 );
         boolean alive = t1.isAlive();
         if ( alive ) {
View Full Code Here

         rule1 += "end\n";

         KnowledgeBase kbase = loadKnowledgeBaseFromString(rule1);

         final StatefulKnowledgeSession ksession = createKnowledgeSession( kbase );
         final EntryPoint ep = ksession.getEntryPoint( "testep" );

         List list = new ArrayList();
         ksession.setGlobal( "list",
                             list );

         list.add( new Person( "darth" ) );
         ep.insert( new Cheese( "cheddar" ) );

         ksession.fireAllRules();
         assertEquals( 3,
                       list.size() );
     }
View Full Code Here

        KieBaseConfiguration kbconf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
        kbconf.setOption(EventProcessingOption.STREAM);
        kbconf.setOption( RuleEngineOption.RETEOO );
        KnowledgeBase kbase = loadKnowledgeBaseFromString( kbconf, str );
        final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        final EntryPoint ep = ksession.getEntryPoint( "X" );
        List list = new ArrayList();
        ksession.setGlobal( "list", list );

        Executor executor = Executors.newCachedThreadPool(new ThreadFactory() {
            public Thread newThread(Runnable r) {
                Thread t = new Thread(r);
                t.setDaemon(true);
                return t;
            }
        });

        final int RUN_TIME = 5000; // runs for 10 seconds
        final int THREAD_NR = 2;

        CompletionService<Boolean> ecs = new ExecutorCompletionService<Boolean>(executor);
        ecs.submit(new Callable<Boolean>() {
            public Boolean call() throws Exception {
                try {
                    ksession.fireUntilHalt();
                    return true;
                } catch (Exception e) {
                    errors.add( e );
                    e.printStackTrace();
                    return false;
                }
            }

        });
        for (int i = 0; i < THREAD_NR; i++) {
            ecs.submit(new Callable<Boolean>() {
                public Boolean call() throws Exception {
                    try {
                        final String s = Thread.currentThread().getName();
                        long endTS = System.currentTimeMillis() + RUN_TIME;
                        int j = 0;
                        while( System.currentTimeMillis() < endTS) {
                            ep.insert( new StockTick( j++, s, 0.0, 0 ) );
                            Thread.sleep(1);
                        }
                        return true;
                    } catch (Exception e) {
                        errors.add( e );
View Full Code Here

        kbconfig.setOption(EventProcessingOption.STREAM);

        KnowledgeBase kbase = loadKnowledgeBaseFromString(kbconfig, drl);

        final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
        EntryPoint ep01 = session.getEntryPoint("ep01");

        Runner t = new Runner(session);
        t.start();

        Thread.sleep( 1000 );

        Server hiwaesdk = new Server ("hiwaesdk");
        session.insert( hiwaesdk );
        long LIMIT = 20;

        for ( long i = LIMIT; i > 0; i-- ) {
            ep01.insert ( new IntEvent ( (int) i ) ); //Thread.sleep (0x1); }
            if ( i % 1000 == 0 ) {
                System.out.println( i );
            }
        }
View Full Code Here

        FactType agecar = getKbase().getFactType(packageName,"AgeOfCar");
        FactType amklaims = getKbase().getFactType(packageName,"AmountOfClaims");

        assertEquals( 7, getKSession().getEntryPoints().size() );

        EntryPoint gender_ep = getKSession().getEntryPoint("in_Gender");
            Assert.assertNotNull(gender_ep);
        EntryPoint noclaims_ep = getKSession().getEntryPoint("in_NoOfClaims");
            Assert.assertNotNull(noclaims_ep);
        EntryPoint scrambled_ep = getKSession().getEntryPoint("in_Scrambled");
            Assert.assertNotNull(scrambled_ep);
        EntryPoint domicile_ep = getKSession().getEntryPoint("in_Domicile");
            Assert.assertNotNull(domicile_ep);
        EntryPoint agecar_ep = getKSession().getEntryPoint("in_AgeOfCar");
            Assert.assertNotNull(agecar_ep);
        EntryPoint amklaims_ep = getKSession().getEntryPoint("in_AmountOfClaims");
            Assert.assertNotNull(amklaims_ep);

        gender_ep.insert("M");
        noclaims_ep.insert("> 4");
        scrambled_ep.insert(4);
        domicile_ep.insert("way out");
        agecar_ep.insert(new Double("3.4"));
        amklaims_ep.insert(9);

        getKSession().fireAllRules();

        assertEquals( 6, getKSession().getObjects().size() );
        assertEquals( 1, getKSession().getObjects( new ClassObjectFilter( gender.getFactClass() ) ).size() );
View Full Code Here

    //FIXME I used to keep all null-context fields... but then memory would blow up. Now I keep only the last one, but then I must override that for accumulates...
    public void testAggregate() throws Exception {

        getKSession().getEntryPoint("in_Limit").insert(18);

        EntryPoint ep = getKSession().getEntryPoint("in_Age");
            ep.insert(10);
            ep.insert(20);
            ep.insert(30);
            ep.insert(40);

        getKSession().fireAllRules();

        checkFirstDataFieldOfTypeStatus(getKbase().getFactType(packageName,"Summa"),true,false, null,90.0);
View Full Code Here

        KieBaseConfiguration kbconf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
        kbconf.setOption(EventProcessingOption.STREAM);
        kbconf.setOption( RuleEngineOption.PHREAK );
        KnowledgeBase kbase = loadKnowledgeBaseFromString( kbconf, str );
        final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        final EntryPoint ep = ksession.getEntryPoint( "X" );
        List list = new ArrayList();
        ksession.setGlobal( "list", list );

        Executor executor = Executors.newCachedThreadPool(new ThreadFactory() {
            public Thread newThread(Runnable r) {
                Thread t = new Thread(r);
                t.setDaemon(true);
                return t;
            }
        });

        final int RUN_TIME = 5000; // runs for 10 seconds
        final int THREAD_NR = 2;

        CompletionService<Boolean> ecs = new ExecutorCompletionService<Boolean>(executor);
        ecs.submit(new Callable<Boolean>() {
            public Boolean call() throws Exception {
                try {
                    ksession.fireUntilHalt();
                    return true;
                } catch (Exception e) {
                    errors.add( e );
                    e.printStackTrace();
                    return false;
                }
            }

        });
        for (int i = 0; i < THREAD_NR; i++) {
            ecs.submit(new Callable<Boolean>() {
                public Boolean call() throws Exception {
                    try {
                        final String s = Thread.currentThread().getName();
                        long endTS = System.currentTimeMillis() + RUN_TIME;
                        int j = 0;
                        while( System.currentTimeMillis() < endTS) {
                            ep.insert( new StockTick( j++, s, 0.0, 0 ) );
                            Thread.sleep(1);
                        }
                        return true;
                    } catch (Exception e) {
                        errors.add( e );
View Full Code Here

        kbconfig.setOption(EventProcessingOption.STREAM);

        KnowledgeBase kbase = loadKnowledgeBaseFromString(kbconfig, drl);

        final StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
        EntryPoint ep01 = session.getEntryPoint("ep01");

        Runner t = new Runner(session);
        t.start();

        Thread.sleep( 1000 );

        Server hiwaesdk = new Server ("hiwaesdk");
        session.insert( hiwaesdk );
        long LIMIT = 20;

        for ( long i = LIMIT; i > 0; i-- ) {
            ep01.insert ( new IntEvent ( (int) i ) ); //Thread.sleep (0x1); }
            if ( i % 1000 == 0 ) {
                System.out.println( i );
            }
        }
View Full Code Here

TOP

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

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.