Examples of StatefulKnowledgeSession


Examples of org.drools.runtime.StatefulKnowledgeSession

            "  </connections>\n" +
            "\n" +
            "</process>");
        kbuilder.add(new ReaderResource(source), ResourceType.DRF);
        KnowledgeBase kbase = kbuilder.newKnowledgeBase();
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        List<String> list = new ArrayList<String>();
        ksession.setGlobal("list", list);
        TestVariable person = new TestVariable("John Doe");
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("person", person);
        ProcessInstance processInstance =
            ksession.startProcess("org.drools.actions", params);
        assertEquals(1, list.size());
        assertEquals("John Doe", list.get(0));
        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
    }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

            "  </connections>\n" +
            "\n" +
            "</process>");
        kbuilder.add(new ReaderResource(source), ResourceType.DRF);
        KnowledgeBase kbase = kbuilder.newKnowledgeBase();
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        List<String> list = new ArrayList<String>();
        ksession.setGlobal("list", list);
        ProcessInstance processInstance =
            ksession.startProcess("org.drools.actions1");
        assertEquals(1, list.size());
        assertEquals("Action1", list.get(0));
        list.clear();
        processInstance =
          ksession.startProcess("org.drools.actions2");
        assertEquals(1, list.size());
        assertEquals("Action2", list.get(0));
        assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
    }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

            endNode, Node.CONNECTION_DEFAULT_TYPE
        );
       
        ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess(process);
       
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        ksession.startProcess("org.drools.process.process");
        assertTrue(executed);
        assertEquals(0, ksession.getProcessInstances().size());
    }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

            endNode, Node.CONNECTION_DEFAULT_TYPE
        );
       
        ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess(process);
       
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        ksession.getWorkItemManager().registerWorkItemHandler("MyWork", new WorkItemHandler() {
      public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
        System.out.println("Executing work item");
        SubProcessTest.this.workItem = workItem;
      }
      public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
      }
        });
        ksession.startProcess("org.drools.process.process");
        assertNotNull(workItem);
        assertEquals(2, ksession.getProcessInstances().size());
       
        ksession.getWorkItemManager().completeWorkItem(workItem.getId(), null);
        assertEquals(0, ksession.getProcessInstances().size());
    }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

        process.addNode( endNode );

        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess(process);
       
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
        try{
            ksession.startProcess("org.drools.process.process");
            fail("should throw exception");
        } catch (RuntimeException re){
            assertTrue(re.getMessage().contains( nonExistentSubProcessName ));
        }
    }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

        String workName = "Unnexistent Task";
        RuleFlowProcess process = getWorkItemProcess( processId,
                                                      workName );
        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess( process );
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

        Map<String, Object> parameters = new HashMap<String, Object>();
        parameters.put( "UserName",
                        "John Doe" );
        parameters.put( "Person",
                        new Person( "John Doe" ) );

        ProcessInstance processInstance = null;
        try {
            processInstance = ksession.startProcess( "org.drools.actions",
                                                                 parameters );
            Assert.fail( "should fail if WorkItemHandler for" + workName + "is not registered" );
        } catch ( Throwable e ) {

        }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

        String workName = "Unnexistent Task";
        RuleFlowProcess process = getWorkItemProcess( processId,
                                                      workName );
        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess( process );
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

        ksession.getWorkItemManager().registerWorkItemHandler( workName,
                                                               new DoNothingWorkItemHandler() );

        Map<String, Object> parameters = new HashMap<String, Object>();
        parameters.put( "UserName",
                        "John Doe" );
        parameters.put( "Person",
                        new Person( "John Doe" ) );

        ProcessInstance processInstance = ksession.startProcess( "org.drools.actions",
                                                                  parameters );
        long processInstanceId = processInstance.getId();
        Assert.assertEquals( ProcessInstance.STATE_ACTIVE,
                           processInstance.getState() );
        ksession.getWorkItemManager().registerWorkItemHandler( workName,
                                                               null );

        try {
            ksession.abortProcessInstance( processInstanceId );
            Assert.fail( "should fail if WorkItemHandler for" + workName + "is not registered" );
        } catch ( WorkItemHandlerNotFoundException wihnfe ) {

        }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

        pkg.addProcess(process);
        List<KnowledgePackage> pkgs = new ArrayList<KnowledgePackage>();
        pkgs.add( new KnowledgePackageImp( pkg ) );
        kbase.addKnowledgePackages( pkgs );
       
        StatefulKnowledgeSession session = kbase.newStatefulKnowledgeSession();
        final List<ProcessEvent> processEventList = new ArrayList<ProcessEvent>();
        final ProcessEventListener processEventListener = new ProcessEventListener() {

          public void afterNodeLeft(ProcessNodeLeftEvent event) {
        processEventList.add(event);
      }

      public void afterNodeTriggered(ProcessNodeTriggeredEvent event) {
        processEventList.add(event);
      }

      public void afterProcessCompleted(ProcessCompletedEvent event) {
        processEventList.add(event);
      }

      public void afterProcessStarted(ProcessStartedEvent event) {
        processEventList.add(event);
      }

      public void beforeNodeLeft(ProcessNodeLeftEvent event) {
        processEventList.add(event);
      }

      public void beforeNodeTriggered(ProcessNodeTriggeredEvent event) {
        processEventList.add(event);
      }

      public void beforeProcessCompleted(ProcessCompletedEvent event) {
        processEventList.add(event);
      }

      public void beforeProcessStarted(ProcessStartedEvent event) {
        processEventList.add(event);
      }

      public void beforeVariableChanged(ProcessVariableChangedEvent event) {
        processEventList.add(event);
      }

      public void afterVariableChanged(ProcessVariableChangedEvent event) {
        processEventList.add(event);
      }

        };
        session.addEventListener( processEventListener );

        // execute the process
        session.startProcess("org.drools.process.event");
        assertEquals( 16, processEventList.size() );
        assertEquals( "org.drools.process.event", ((ProcessStartedEvent) processEventList.get(0)).getProcessInstance().getProcessId());
        assertEquals( "Start", ((ProcessNodeTriggeredEvent) processEventList.get(1)).getNodeInstance().getNodeName());
        assertEquals( "Start", ((ProcessNodeLeftEvent) processEventList.get(2)).getNodeInstance().getNodeName());
        assertEquals( "Print", ((ProcessNodeTriggeredEvent) processEventList.get(3)).getNodeInstance().getNodeName());
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

  public static final void main(String[] args) {
    try {
     
      KnowledgeBase kbase = createKnowledgeBase();
      StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
      ksession.getWorkItemManager().registerWorkItemHandler("Finder", new FinderWorkItemHandler());
      ksession.getWorkItemManager().registerWorkItemHandler("Archive", new ArchiveWorkItemHandler());
      ksession.getWorkItemManager().registerWorkItemHandler("Exec", new ExecWorkItemHandler());
      ksession.getWorkItemManager().registerWorkItemHandler("Log", new WorkItemHandler() {
        public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
          System.out.println("Log: " + workItem.getParameter("Message"));
          manager.completeWorkItem(workItem.getId(), null);
        }
        public void abortWorkItem(WorkItem arg0, WorkItemManager arg1) {
        }
      });
      EmailWorkItemHandler emailWorkItemHandler = new EmailWorkItemHandler();
      emailWorkItemHandler.setConnection("mail-out.example.com", "25", null, null);
      ksession.getWorkItemManager().registerWorkItemHandler("Email", emailWorkItemHandler);
      TransformWorkItemHandler transformWorkItemHandler = new TransformWorkItemHandler();
      transformWorkItemHandler.registerTransformer(FileTransformer.class);
      ksession.getWorkItemManager().registerWorkItemHandler("Transform", transformWorkItemHandler);
      KnowledgeRuntimeLogger log = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
      ksession.startProcess("com.sample.ruleflow");
      log.close();
     
    } catch (Throwable t) {
      t.printStackTrace();
    }
View Full Code Here

Examples of org.drools.runtime.StatefulKnowledgeSession

            Node.CONNECTION_DEFAULT_TYPE);
        forEachNode.setVariable("child", personDataType);
       
        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
        ((AbstractRuleBase) ((InternalKnowledgeBase) kbase).getRuleBase()).addProcess(process);
        StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();       
       
        Map<String, Object> parameters = new HashMap<String, Object>();
        List<Person> persons = new ArrayList<Person>();
        persons.add(new Person("John Doe"));
        persons.add(new Person("Jane Doe"));
        persons.add(new Person("Jack"));
        parameters.put("persons", persons);
        ksession.startProcess("org.drools.process.foreach", parameters);
        assertEquals(3, myList.size());
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.