Package org.drools.runtime

Examples of org.drools.runtime.StatelessKnowledgeSession


        Collection<KnowledgePackage> pkgs = kbuilder.getKnowledgePackages();

        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();

        kbase.addKnowledgePackages( pkgs );
        StatelessKnowledgeSession session = kbase.newStatelessKnowledgeSession();

        return session;
    }
View Full Code Here


      Collection<Object> facts, HashMap<String, Object> globals,
      ILogger logger) throws DroolsParserException, IOException {

    // Create a new stateless session
    log.info("Creating new working memory");
    StatelessKnowledgeSession workingMemory = preBuiltKnowledgeBase
    .newStatelessKnowledgeSession();

    log.info("Checking for globals");
    if (globals != null) {
      for (String o : globals.keySet()) {
        log.info("Inserting global name: " + o + " value:"
            + globals.get(o));
        workingMemory.setGlobal(o, globals.get(o));
      }
    }
    // Add the logger
    log.info("Inserting handle to logger (via global)");
    workingMemory.setGlobal("log", logger);

    log.info("Using facts:" + facts);

    log
    .info("==================== Calling Rule Engine ====================");

    // Fire using the facts
    workingMemory.execute(facts);

    log.info("==================== Rules Complete ====================");

  }
View Full Code Here

        initChangeScanner();
        Set<String> packageNames = new HashSet<String>();
        packageNames.add("ping.test/1.0.0-SNAPSHOT");
        if (true) {
            KnowledgeAgent kagent = getKnowledgeAgent("ping.test/1.0.0-SNAPSHOT");
            StatelessKnowledgeSession s = kagent.newStatelessKnowledgeSession();
//      List facts=new ArrayList();
//      facts.add("ping");
            s.execute(Arrays.asList(CommandFactory.newGetObjects(), CommandFactory.newFireAllRules()));
//      for (Object x : facts) {
//        System.out.println("fact-"+x);
//      }
        }
        if (false) {
            StatefulKnowledgeSession s = createStatefulSession(packageNames);
//      List facts=new ArrayList();
//      facts.add("ping");
            org.drools.runtime.rule.FactHandle fact1 = s.insert("ping");
            s.fireAllRules();
            System.out.println(fact1.toString());
//      for (Object x : facts) {
//        System.out.println(x);
//      }
            s.dispose();
        }
        ResourceFactory.getResourceChangeNotifierService().stop();
        ResourceFactory.getResourceChangeScannerService().stop();
    }
View Full Code Here

    @Test
    public void testNoNodeKSessions() throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/no-node-beans.xml" );

        List<String> list = new ArrayList<String>();
        StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) context.getBean( "ksession1" );
        kstateless.setGlobal( "list",
                              list );
        kstateless.execute( new Person( "Darth",
                                        "Cheddar",
                                        50 ) );
        assertEquals( 1,
                      list.size() );
View Full Code Here

    @Test
    public void testSimpleKSessions() throws Exception {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );

        List<String> list = new ArrayList<String>();
        StatelessKnowledgeSession kstateless = (StatelessKnowledgeSession) context.getBean( "ksession1" );
        kstateless.setGlobal( "list",
                              list );
        kstateless.execute( new Person( "Darth",
                                        "Cheddar",
                                        50 ) );
        assertEquals( 2,
                      list.size() );
View Full Code Here

    public void testNode() {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( "org/drools/container/spring/beans.xml" );

        GridNode node = (GridNode) context.getBean( "node1" );
        List<String> list = new ArrayList<String>();
        StatelessKnowledgeSession kstateless = node.get( "stateless1",
                                                         StatelessKnowledgeSession.class );
        assertNotNull( "can't obtain session named: stateless1",
                       kstateless );
        kstateless.setGlobal( "list",
                              list );
        kstateless.execute( new Person( "Darth",
                                        "Cheddar",
                                        50 ) );
        assertEquals( 2,
                      list.size() );
View Full Code Here

        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        KnowledgeAgent kagent = this.createKAgent( kbase );

        applyChangeSet( kagent, ResourceFactory.newUrlResource( fxml.toURI().toURL() ) );

        StatelessKnowledgeSession ksession = kagent.newStatelessKnowledgeSession();
        List<String> list = new ArrayList<String>();
        ksession.setGlobal( "list",
                            list );
        ksession.execute( "hello" );

        assertEquals( 2,
                      list.size() );
        assertTrue( list.contains( "rule1" ) );
        assertTrue( list.contains( "rule2" ) );

        list.clear();

        fileManager.write( "rule1.drl",
                           createDefaultRule( "rule3" ) );
       
        scan(kagent);

        ksession.execute( "hello" );

        assertEquals( 2,
                      list.size() );

        assertTrue( list.contains( "rule3" ) );
View Full Code Here

        KnowledgeAgent kagent = this.createKAgent( kbase );
       
        applyChangeSet(kagent, ResourceFactory.newUrlResource( fxml.toURI().toURL() ) );

        StatelessKnowledgeSession ksession = kagent.newStatelessKnowledgeSession();

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

        ksession.execute( new InsertObjectCommand( "hello" ) );

        assertEquals( 2,
                      list.size() );
        assertTrue( list.contains( "rule1" ) );
        assertTrue( list.contains( "rule2" ) );
View Full Code Here

        }
    }

    public void execute(int repNr) {
        for (int i = 0; i < sessionNumber; i++) {
            StatelessKnowledgeSession session = kbase.newStatelessKnowledgeSession();
        }
    }
View Full Code Here

       
        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase( kconf );
        kbase.addKnowledgePackages( kbuilder.getKnowledgePackages() );

        kbase    = SerializationHelper.serializeObject( kbase );
        final StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();

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

        final Person p1 = new Person( "p1",
                                      "stilton" );
        final Person p2 = new Person( "p2",
                                      "cheddar" );
        final Person p3 = new Person( "p3",
                                      "stilton" );

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

        ksession.execute( Arrays.asList( new Object[]{p1, stilton, p2, cheddar, p3} ) );

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

TOP

Related Classes of org.drools.runtime.StatelessKnowledgeSession

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.