public Integer execute(Context context) { StatefulKnowledgeSession ksession = (StatefulKnowledgeSession) ((RegistryContext) context).lookup( KieSession.class ); WorkflowProcessInstance processInstance = (WorkflowProcessInstance) ksession.getProcessInstance(piId); return (Integer) processInstance.getVariable("x"); } });
@Test public void createProcessInstanceAndGetStartDate() throws Exception { StatefulKnowledgeSession ksession = reloadKnowledgeSession(); long processId= ksession.createProcessInstance("org.jbpm.processinstance.helloworld", null).getId(); assertEquals(0, ksession.getProcessInstances().size()); RuleFlowProcessInstance processInstance = (RuleFlowProcessInstance) ksession.getProcessInstance(processId); assertNotNull("Process " + processId + " exist!", processInstance); assertNotNull("Process start at " + processInstance.getStartDate(), processInstance.getStartDate()); ksession.dispose(); }
public Void execute(Context context) { StatefulKnowledgeSession ksession = (StatefulKnowledgeSession) ((RegistryContext) context).lookup( KieSession.class ); WorkflowProcessInstance processInstance = (WorkflowProcessInstance) ksession.getProcessInstance(piId); processInstance.setVariable("x", 0); return null; } });
/** * Helper functions */ private void assertProcessInstancesExist(long[] processId) { StatefulKnowledgeSession ksession = reloadKnowledgeSession(); for (long id : processId) { assertNotNull("Process instance " + id + " should not exist!", ksession.getProcessInstance(id)); } }
private void assertProcessInstancesNotExist(long[] processId) { StatefulKnowledgeSession ksession = reloadKnowledgeSession(); for (long id : processId) { assertNull(ksession.getProcessInstance(id)); } }
public Void execute(Context context) { StatefulKnowledgeSession ksession = (StatefulKnowledgeSession) ((RegistryContext) context).lookup( KieSession.class ); ((ProcessInstanceImpl) ksession.getProcessInstance(processInstance.getId())).updateProcess(process); return null; } });
public Long execute(Context context) { StatefulKnowledgeSession ksession = (StatefulKnowledgeSession) ((RegistryContext) context).lookup(KieSession.class); WorkflowProcessInstance realProcessInstance = (WorkflowProcessInstance) ksession.getProcessInstance(processInstance.getId()); subProcessNodeInstance.setProcessInstance(realProcessInstance); if (dynamicContext == null) { subProcessNodeInstance.setNodeInstanceContainer(realProcessInstance); } else { DynamicNodeInstance realDynamicContext = findDynamicContext(realProcessInstance, dynamicContext.getUniqueId()); subProcessNodeInstance.setNodeInstanceContainer(realDynamicContext); } return executeSubProcess((StatefulKnowledgeSessionImpl) ksession, processId, parameters, processInstance, subProcessNodeInstance); } });
public Void execute(Context context) { StatefulKnowledgeSession ksession = (StatefulKnowledgeSession) ((RegistryContext) context).lookup(KieSession.class); WorkflowProcessInstance realProcessInstance = (WorkflowProcessInstance) ksession.getProcessInstance(processInstance.getId()); workItemNodeInstance.setProcessInstance(realProcessInstance); if (dynamicContext == null) { workItemNodeInstance.setNodeInstanceContainer(realProcessInstance); } else { DynamicNodeInstance realDynamicContext = findDynamicContext(realProcessInstance, dynamicContext.getUniqueId()); workItemNodeInstance.setNodeInstanceContainer(realDynamicContext); } workItemNodeInstance.addEventListeners(); executeWorkItem((StatefulKnowledgeSessionImpl) ksession, workItem, workItemNodeInstance); return null; } });
processInstance = ksession.getProcessInstance(processInstanceId); Assert.assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState()); processVar = (NonSerializableClass) ((WorkflowProcessInstance) processInstance).getVariable(VAR_NAME);
@Test public void testPersistenceState() { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( new ClassPathResource( "StateProcess.rf" ), ResourceType.DRF ); InternalKnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); kbase.addPackages( kbuilder.getKnowledgePackages() ); StatefulKnowledgeSession ksession = JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env ); long id = ksession.getIdentifier(); ProcessInstance processInstance = ksession.startProcess( "org.drools.test.TestProcess" ); logger.debug( "Started process instance {}", processInstance.getId() ); ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env ); ksession.insert(new ArrayList<Object>()); ksession.fireAllRules(); ksession = JPAKnowledgeService.loadStatefulKnowledgeSession( id, kbase, null, env ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNull( processInstance ); }
ksession.getWorkItemManager().completeWorkItem(handler.getWorkItem().getId(), results); assertNull( ksession.getProcessInstance(processInstance.getId())); } finally {
processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNull( processInstance );
processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNull( processInstance );
@Test public void signalEventTest() { String processId = "signalProcessTest"; String eventType = "myEvent"; RuleFlowProcess process = ProcessCreatorForHelp.newSimpleEventProcess( processId, eventType ); KieBase kbase = createKieBase(process); StatefulKnowledgeSession crmPersistentSession = createSession(kbase); RuleFlowProcessInstance processInstance = (RuleFlowProcessInstance) crmPersistentSession.startProcess( processId ); long processInstanceId = processInstance.getId(); Assert.assertEquals( ProcessInstance.STATE_ACTIVE, processInstance.getState() ); crmPersistentSession = createSession(kbase); crmPersistentSession.signalEvent( eventType, null ); processInstance = (RuleFlowProcessInstance) crmPersistentSession.getProcessInstance( processInstanceId ); Assert.assertNull( processInstance ); }
processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertEquals( 1, ksession.getObjects().size() );
processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertEquals( origNumObjects + 1, ksession.getObjects().size() );
processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNotNull( processInstance ); processInstance = ksession.getProcessInstance( processInstance.getId() ); assertNull( "Process did not complete.", processInstance );
@Test public void createProcessStartItDisposeAndLoadItAgain() { String processId = "minimalProcess"; String workName = "MyWork"; KieBase kbase = createKieBase(ProcessCreatorForHelp.newProcessWithOneWork( processId, workName )); StatefulKnowledgeSession ksession = createSession(kbase); long ksessionId = ksession.getIdentifier(); DummyWorkItemHandler handler = new DummyWorkItemHandler(); ksession.getWorkItemManager() .registerWorkItemHandler(workName, handler); long process1Id = ksession.startProcess(processId).getId(); ksession = disposeAndReloadSession(ksession, ksessionId, kbase); ksession.getWorkItemManager().registerWorkItemHandler(workName, handler); long workItemId = handler.getLatestWorkItem().getId(); ksession.getWorkItemManager().completeWorkItem(workItemId, null); Assert.assertNotNull(ksession); Assert.assertNull( ksession.getProcessInstance( process1Id ) ); }
ksession1.getWorkItemManager().completeWorkItem( workItem1Id, null ); Assert.assertNull( ksession1.getProcessInstance( process1Id ) ); ksession2.getWorkItemManager().completeWorkItem( workItem2Id, null ); Assert.assertNull( ksession2.getProcessInstance( process2Id ) );
Map<String, Object> variables = ksession.execute(new GenericCommand<Map<String, Object>>() { public Map<String, Object> execute(Context context) { StatefulKnowledgeSession ksession = ((KnowledgeCommandContext) context).getStatefulKnowledgesession(); ProcessInstance processInstance = (ProcessInstance) ksession.getProcessInstance(piId); VariableScopeInstance variableScope = (VariableScopeInstance) processInstance.getContextInstance(VariableScope.VARIABLE_SCOPE); Map<String, Object> variables = variableScope.getVariables(); return variables; } });