Package org.drools

Examples of org.drools.StatefulSession


            "</process>");
        builder.addRuleFlow(source);
        Package pkg = builder.getPackage();
        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
        ruleBase.addPackage( pkg );
        StatefulSession session = ruleBase.newStatefulSession();
        ProcessInstance processInstance = session.startProcess("org.drools.event");
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());

        session = SerializationHelper.getSerialisedStatefulSession(session);
        processInstance = session.getProcessInstance(processInstance.getId());
        ((InternalWorkingMemory) session).getProcessRuntime().signalEvent("MyEvent", "MyValue");
        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
        assertEquals("MyValue", ((VariableScopeInstance)
        ((org.jbpm.process.instance.ProcessInstance) processInstance).getContextInstance(
        VariableScope.VARIABLE_SCOPE)).getVariable("MyVar"));
View Full Code Here


            "</process>");
        builder.addRuleFlow(source);
        Package pkg = builder.getPackage();
        RuleBase ruleBase = RuleBaseFactory.newRuleBase();
        ruleBase.addPackage( pkg );
        StatefulSession session = ruleBase.newStatefulSession();
        ProcessInstance processInstance = session.startProcess("org.drools.event");
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());

        session = SerializationHelper.getSerialisedStatefulSession(session);
        processInstance = session.getProcessInstance(processInstance.getId());
        ((InternalWorkingMemory) session).getProcessRuntime().signalEvent("MyEvent", "MyValue");
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
    }
View Full Code Here

    }
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    StatefulSession session = ruleBase.newStatefulSession();
    List<Message> myList = new ArrayList<Message>();
    session.setGlobal("myList", myList);

    assertEquals(0, myList.size());
       
    Person jack = new Person();
        jack.setName("Jack");
        session.insert(jack);
        session.fireAllRules();
        assertEquals(2, myList.size());
        assertEquals("Jack", myList.get(0));
        assertEquals("SomeString", myList.get(1));
  }
View Full Code Here

    }
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    StatefulSession session = ruleBase.newStatefulSession();
    List<Message> myList = new ArrayList<Message>();
    session.setGlobal("myList", myList);

    assertEquals(0, myList.size());
       
    ((InternalWorkingMemory) session).getProcessRuntime().signalEvent("myEvent", "Jack");
        session.fireAllRules();
        assertEquals(2, myList.size());
        assertEquals("Jack", myList.get(0));
        assertEquals("SomeString", myList.get(1));
  }
View Full Code Here

  }

  public void FIXMEtestTimer() {
        AbstractRuleBase ruleBase = (AbstractRuleBase) RuleBaseFactory.newRuleBase();
        ExecutorService executorService = new DefaultExecutorService();
        final StatefulSession workingMemory = new ReteooStatefulSession(1, ruleBase, executorService);
        executorService.setCommandExecutor( new CommandExecutor( workingMemory ) );

        RuleFlowProcessInstance processInstance = new RuleFlowProcessInstance() {
      private static final long serialVersionUID = 510l;
      public void signalEvent(String type, Object event) {
            if ("timerTriggered".equals(type)) {
              TimerInstance timer = (TimerInstance) event;
                System.out.println("Timer " + timer.getId() + " triggered");
                counter++;
            }
          }
        };
        processInstance.setKnowledgeRuntime(((InternalWorkingMemory) workingMemory).getKnowledgeRuntime());
        processInstance.setId(1234);
        ((InternalProcessRuntime) ((InternalWorkingMemory) workingMemory).getProcessRuntime()).getProcessInstanceManager()
          .internalAddProcessInstance(processInstance);

        new Thread(new Runnable() {
      public void run() {
            workingMemory.fireUntilHalt();        
      }
        }).start();

        TimerManager timerManager = ((InternalProcessRuntime) ((InternalWorkingMemory) workingMemory).getProcessRuntime()).getTimerManager();
        TimerInstance timer = new TimerInstance();
View Full Code Here

    }
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    final StatefulSession session = ruleBase.newStatefulSession();
    List<Message> myList = new ArrayList<Message>();
    session.setGlobal("myList", myList);
   
    new Thread(new Runnable() {
      public void run() {
            session.fireUntilHalt();        
      }
        }).start();
   
        ProcessInstance processInstance = ( ProcessInstance )
          session.startProcess("org.drools.timer");
        assertEquals(0, myList.size());
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session).getProcessRuntime()).getTimerManager().getTimers().size());
        session.halt();
       
        final StatefulSession session2 = getSerialisedStatefulSession( session );
        myList = (List<Message>) session2.getGlobal( "myList" );
    new Thread(new Runnable() {
      public void run() {
            session2.fireUntilHalt();        
      }
        }).start();
        processInstance = ( ProcessInstance ) session2.getProcessInstance( processInstance.getId() );
       
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session2).getProcessRuntime()).getTimerManager().getTimers().size());

        // test that the delay works
        try {
            Thread.sleep(400);
        } catch (InterruptedException e) {
            // do nothing
        }
        assertEquals(0, myList.size());
       
        // test that the period works
        try {
          Thread.sleep(1300);
        } catch (InterruptedException e) {
          // do nothing
        }
        assertEquals(5, myList.size());
        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
       
        session2.halt();
  }
View Full Code Here

    }
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    final StatefulSession session = ruleBase.newStatefulSession();
    List<Message> myList = new ArrayList<Message>();
    session.setGlobal("myList", myList);
   
    new Thread(new Runnable() {
      public void run() {
            session.fireUntilHalt();        
      }
        }).start();
   
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("x", 800);
    params.put("y", 200);
        ProcessInstance processInstance = ( ProcessInstance )
          session.startProcess("org.drools.timer", params);
        assertEquals(0, myList.size());
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session).getProcessRuntime()).getTimerManager().getTimers().size());
        session.halt();
       
        final StatefulSession session2 = getSerialisedStatefulSession( session );
        myList = (List<Message>) session2.getGlobal( "myList" );
    new Thread(new Runnable() {
      public void run() {
            session2.fireUntilHalt();        
      }
        }).start();
        processInstance = ( ProcessInstance ) session2.getProcessInstance( processInstance.getId() );
       
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session2).getProcessRuntime()).getTimerManager().getTimers().size());

        // test that the delay works
        try {
            Thread.sleep(400);
        } catch (InterruptedException e) {
            // do nothing
        }
        assertEquals(0, myList.size());
       
        // test that the period works
        try {
          Thread.sleep(1300);
        } catch (InterruptedException e) {
          // do nothing
        }
        assertEquals(5, myList.size());
        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
       
        session2.halt();
  }
View Full Code Here

    builder.addRuleFlow(source);
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    final StatefulSession session = ruleBase.newStatefulSession();
    List<String> myList = new ArrayList<String>();
    session.setGlobal("myList", myList);
   
    new Thread(new Runnable() {
      public void run() {
            session.fireUntilHalt();        
      }
        }).start();
   
        ProcessInstance processInstance = ( ProcessInstance )
          session.startProcess("org.drools.timer");
        assertEquals(0, myList.size());
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session).getProcessRuntime()).getTimerManager().getTimers().size());
       
        session.halt();
       
        final StatefulSession session2 = getSerialisedStatefulSession( session );
        myList = (List<String>) session2.getGlobal( "myList" );
       
    new Thread(new Runnable() {
      public void run() {
            session2.fireUntilHalt();        
      }
        }).start();
   
        processInstance = ( ProcessInstance ) session2.getProcessInstance( processInstance.getId() );
       
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session2).getProcessRuntime()).getTimerManager().getTimers().size());

        try {
            Thread.sleep(400);
        } catch (InterruptedException e) {
            // do nothing
        }
        assertEquals(1, myList.size());
       
        session2.halt();
  }
View Full Code Here

    builder.addRuleFlow(source);
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    final StatefulSession session = ruleBase.newStatefulSession();
    List<String> myList = new ArrayList<String>();
    session.setGlobal("myList", myList);
   
    new Thread(new Runnable() {
      public void run() {
            session.fireUntilHalt();        
      }
        }).start();
   
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("x", 300);
        ProcessInstance processInstance = ( ProcessInstance )
          session.startProcess("org.drools.timer", params);
        assertEquals(0, myList.size());
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session).getProcessRuntime()).getTimerManager().getTimers().size());
       
        session.halt();
       
        final StatefulSession session2 = getSerialisedStatefulSession( session );
        myList = (List<String>) session2.getGlobal( "myList" );
       
    new Thread(new Runnable() {
      public void run() {
            session2.fireUntilHalt();        
      }
        }).start();
   
        processInstance = ( ProcessInstance ) session2.getProcessInstance( processInstance.getId() );
       
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session2).getProcessRuntime()).getTimerManager().getTimers().size());

        try {
            Thread.sleep(400);
        } catch (InterruptedException e) {
            // do nothing
        }
        assertEquals(1, myList.size());
       
        session2.halt();
  }
View Full Code Here

    builder.addRuleFlow(source);
   
    Package pkg = builder.getPackage();
    RuleBase ruleBase = RuleBaseFactory.newRuleBase();
    ruleBase.addPackage( pkg );
    final StatefulSession session = ruleBase.newStatefulSession();
    List<String> myList = new ArrayList<String>();
    session.setGlobal("myList", myList);
    session.getWorkItemManager().registerWorkItemHandler("Human Task", new DoNothingWorkItemHandler());
   
    new Thread(new Runnable() {
      public void run() {
            session.fireUntilHalt();        
      }
        }).start();
   
        ProcessInstance processInstance = ( ProcessInstance )
          session.startProcess("org.drools.timer");
        assertEquals(0, myList.size());
        assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session).getProcessRuntime()).getTimerManager().getTimers().size());
       
        session.halt();
       
        final StatefulSession session2 = getSerialisedStatefulSession( session );
        myList = (List<String>) session2.getGlobal( "myList" );
       
    new Thread(new Runnable() {
      public void run() {
            session2.fireUntilHalt();        
      }
        }).start();
   
        processInstance = ( ProcessInstance ) session2.getProcessInstance( processInstance.getId() );
       
        assertEquals(1, ((InternalProcessRuntime) ((InternalWorkingMemory) session2).getProcessRuntime()).getTimerManager().getTimers().size());

        try {
            Thread.sleep(400);
        } catch (InterruptedException e) {
            // do nothing
        }
        assertEquals(1, myList.size());
       
        session2.halt();
  }
View Full Code Here

TOP

Related Classes of org.drools.StatefulSession

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.