Package org.drools.runtime

Examples of org.drools.runtime.StatelessKnowledgeSession


        inXml += "    </org.drools.Cheese>";
        inXml += "  </insert-elements>";
        inXml += "  <get-objects out-identifier='list' />";
        inXml += "</batch-execution>";

        StatelessKnowledgeSession ksession = getStatelessKnowledgeSession( ResourceFactory.newByteArrayResource( str.getBytes() ) );
        setExec( ksession );

        String outXml = template.requestBody( "direct:exec",
                                              inXml,
                                              String.class );
View Full Code Here


        inXml += "      <oldPrice>5</oldPrice>";
        inXml += "    </org.drools.Cheese>";
        inXml += "  </insert>";
        inXml += "</batch-execution>";

        StatelessKnowledgeSession ksession = getStatelessKnowledgeSession( ResourceFactory.newByteArrayResource( str.getBytes() ) );
        setExec( ksession );

        String outXml = template.requestBody( "direct:exec",
                                              inXml,
                                              String.class );
View Full Code Here

        }

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

        StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession();
        setExec( ksession );
        List<String> list = new ArrayList<String>();
        ksession.setGlobal( "list",
                            list );
        TestVariable person = new TestVariable( "John Doe" );

        String inXml = "";
        inXml += "<batch-execution>";
View Full Code Here

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

        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();

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

        return session;
    }
View Full Code Here

  {
    final Map<String,Object> globals = ruleInfo.getGlobals();
    final List<Object> objectList = ruleInfo.getDefaultFacts();

    final String sid;
    final StatelessKnowledgeSession head = statelessSessions.poll();
    final StatelessKnowledgeSession statelessSession;
    if (head != null)
    {
      statelessSession = head;
      sid = getId(statelessSession);
      if (LOGGER.isDebugEnabled())
      {
        LOGGER.debug("reusing old stateles session [" + sid + "]");
      }
    }
    else
    {
      statelessSession = ruleBase.newStatelessKnowledgeSession();
      sid = getId(statelessSession);
      if (LOGGER.isDebugEnabled())
      {
        LOGGER.debug("created new stateless session [" + sid + "]");
      }
    }
    RulesContext.clearContext();
    try
    {
      final List<Object> facts = new ArrayList<Object>();
      if (LOGGER.isTraceEnabled())
      {
        LOGGER.trace("adding Message into fact list for stateless session [" + sid + "]");
      }
      facts.add(message);
      if (objectList != null)
      {
        if (LOGGER.isTraceEnabled())
        {
          LOGGER.trace("adding default facts into fact list for stateless session [" + sid + "]");
        }
        facts.addAll(objectList);
      }
      KnowledgeRuntimeLogger statelessRuntimeLogger = getRuntimeLogger(ruleInfo, statelessSession);
      if (statelessRuntimeLogger != null && LOGGER.isDebugEnabled())
      {
        LOGGER.debug("created new runtime logger [" + getId(statelessRuntimeLogger) + "]");
      }
      if (LOGGER.isTraceEnabled())
      {
        LOGGER.trace("setting globals delegate for stateless session [" + sid + "]");
      }
      statelessSession.getGlobals().setDelegate(new StatelessGlobals(globals));
      try
      {
        if (LOGGER.isDebugEnabled())
        {
          LOGGER.debug("calling execute(Iterable) on stateless session [" + sid + "]");
        }
        statelessSession.execute(facts);
      }
      finally
      {
        statelessSession.getGlobals().setDelegate(null);
        if (statelessRuntimeLogger != null)
        {
          if (LOGGER.isDebugEnabled())
          {
            LOGGER.debug("calling close() on runtime logger [" + getId(statelessRuntimeLogger) + "]");
View Full Code Here

        } else {
            if (log.isDebugEnabled()) {
                log.debug("Using stateless rule session");
            }
            // create stateless rule session
            StatelessKnowledgeSession ruleSession =
                    knowledgeBase.newStatelessKnowledgeSession(configuration);

            if (ruleSession == null) {
                throw new LoggedRuntimeException("The created stateless rule session is null", log);
            }
View Full Code Here

        return RuleBaseFactory.newRuleBase( RuleBase.RETEOO,
                                            config );
    }

    public void testSingleObjectAssert() throws Exception {
        StatelessKnowledgeSession session = getSession2( "literal_rule_test.drl" );

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

        session.execute( stilton );

        assertEquals( "stilton",
                      list.get( 0 ) );
    }
View Full Code Here

        assertEquals( "stilton",
                      list.get( 0 ) );
    }

    public void testArrayObjectAssert() throws Exception {
        StatelessKnowledgeSession session = getSession2( "literal_rule_test.drl" );

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

        session.execute( Arrays.asList( new Object[]{stilton} ) );

        assertEquals( "stilton",
                      list.get( 0 ) );
    }
View Full Code Here

        assertEquals( "stilton",
                      list.get( 0 ) );
    }

    public void testCollectionObjectAssert() throws Exception {
        StatelessKnowledgeSession session = getSession2( "literal_rule_test.drl" );

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

        List collection = new ArrayList();
        collection.add( stilton );
        session.execute( collection );

        assertEquals( "stilton",
                      list.get( 0 ) );
    }
View Full Code Here

        str += "    $c.setPrice( 30 ); \n";
        str += "end\n";
       
        Cheese stilton = new Cheese( "stilton", 5 );
       
        StatelessKnowledgeSession ksession = getSession2( ResourceFactory.newByteArrayResource( str.getBytes() ) );
        Command cmd = CommandFactory.newInsertObject( stilton, "outStilton" );
        BatchExecutionResults result = ksession.execute( cmd );
        stilton = ( Cheese ) result.getValue( "outStilton" );
        assertEquals( 30,
                      stilton.getPrice() );      
    }
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.