public InMemorySessionFactory(RuntimeEnvironment environment, String owner) { this.environment = environment; this.kbase = environment.getKieBase(); this.owner = owner; }
public void dispose() { manager.disposeRuntimeEngine(runtime); }
@Override public void onDispose(RuntimeEngine runtime) { if (runtime.getTaskService() instanceof EventService) { ((EventService)runtime.getTaskService()).clearTaskEventListeners();; } } });
@Test public void testScriptTaskFromKjarByName() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(GROUP_ID, ARTIFACT_ID, VERSION) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
@Test public void testScriptTaskFromClasspathContainer() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newClasspathKmoduleDefaultBuilder() .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
@Test public void testNoSecurityManager() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newEmptyBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine runtime = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(runtime); manager.disposeRuntimeEngine(runtime); }
private RuntimeEnvironment createEnvironment() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .entityManagerFactory(emf) .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("adhoc-subprocess.bpmn2"), ResourceType.BPMN2) .get(); return environment; } }
@Test(expected=UnsupportedOperationException.class) public void testAuditServiceNotAvailable() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultInMemoryBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2) .addAsset(ResourceFactory.newClassPathResource("BPMN2-UserTask.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment); assertNotNull(manager); // ksession for process instance #1 // since there is no process instance yet we need to get new session RuntimeEngine runtime = manager.getRuntimeEngine(ProcessInstanceIdContext.get()); runtime.getAuditService(); }
protected void createRuntimeManagers(String processV1, String processV2) { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .entityManagerFactory(emf) .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource(processV1), ResourceType.BPMN2) .get(); managerV1 = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment, DEPLOYMENT_ID_V1); RuntimeEnvironment environment2 = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .entityManagerFactory(emf) .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource(processV2), ResourceType.BPMN2) .get(); managerV2 = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment2, DEPLOYMENT_ID_V2); } }
@Test public void testCreationOfDuplicatedManagers() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); try { RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); fail("Should fail as it's not allowed to have singleton manager with same identifier"); } catch (IllegalStateException e) { } manager.close(); // now it is possible to load the manager again manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); }
private RuntimeEnvironment createEnvironment() { RuntimeEnvironmentBuilder builder = RuntimeEnvironmentBuilder.Factory.get() .newEmptyBuilder() .addEnvironmentEntry(EnvironmentName.TRANSACTION_MANAGER, new NoOpTransactionManager()) .addConfiguration("drools.processSignalManagerFactory", DefaultSignalManagerFactory.class.getName()) .addConfiguration("drools.processInstanceManagerFactory", DefaultProcessInstanceManagerFactory.class.getName()) .registerableItemsFactory(new SimpleRegisterableItemsFactory()) .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-ScriptTask.bpmn2"), ResourceType.BPMN2); return builder.get(); }
private void createRuntimeManager(RuntimeEnvironment environment, RuntimeEnvironment environment2) { if ("singleton".equals(strategy)) { managerV1 = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment, DEPLOYMENT_ID_V1); managerV2 = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment2, DEPLOYMENT_ID_V2); } else if ("processinstance".equals(strategy)) { managerV1 = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment, DEPLOYMENT_ID_V1); managerV2 = RuntimeManagerFactory.Factory.get().newPerProcessInstanceRuntimeManager(environment2, DEPLOYMENT_ID_V2); } assertNotNull(managerV1); assertNotNull(managerV2); } }
@After public void teardown() { if (manager != null) { manager.close(); } }
@Test public void testScriptTaskFromKjarByNameNamedKbaseKsession() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(GROUP_ID, ARTIFACT_ID, VERSION, "defaultKieBase", "defaultKieSession") .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
@Test public void testScriptTaskFromClasspathContainerNamedKbaseKsession() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newClasspathKmoduleDefaultBuilder("defaultKieBase", "defaultKieSession") .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
private RuntimeEnvironment createEnvironment() { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .entityManagerFactory(emf) .userGroupCallback(userGroupCallback) .addAsset(ResourceFactory.newClassPathResource("BPMN2-IntermediateCatchEventSignalWithRef.bpmn2"), ResourceType.BPMN2) .addAsset(ResourceFactory.newClassPathResource("BPMN2-UserTask.bpmn2"), ResourceType.BPMN2) .get(); return environment; } }
@After public void teardown() { if (manager != null) { manager.close(); } }
@Test public void testCustomTaskFromKjar() { KieServices ks = KieServices.Factory.get(); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION)) .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("customtask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }
private RuntimeEnvironment createEnvironment(NodeLeftCountDownProcessEventListener countDownListener) { RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder() .entityManagerFactory(emf) .userGroupCallback(userGroupCallback) .registerableItemsFactory(new DefaultRegisterableItemsFactory(){ @Override public List<ProcessEventListener> getProcessEventListeners(RuntimeEngine runtime) { List<ProcessEventListener> listeners = super.getProcessEventListeners(runtime); listeners.add(countDownListener); return listeners; } }) .addAsset(ResourceFactory.newClassPathResource("BPMN2-TimerInitFailure.bpmn2"), ResourceType.BPMN2) .get(); return environment; } }
@Test public void testScriptTaskFromKjarUsingNamedKbaseKsession() { KieServices ks = KieServices.Factory.get(); RuntimeEnvironment environment = RuntimeEnvironmentBuilder.Factory.get() .newDefaultBuilder(ks.newReleaseId(GROUP_ID, ARTIFACT_ID, VERSION), "defaultKieBase", "defaultKieSession") .userGroupCallback(userGroupCallback) .get(); manager = RuntimeManagerFactory.Factory.get().newSingletonRuntimeManager(environment); assertNotNull(manager); RuntimeEngine engine = manager.getRuntimeEngine(EmptyContext.get()); assertNotNull(engine); Map<String, Object> params = new HashMap<String, Object>(); ProcessInstance processInstance = engine.getKieSession().startProcess("ScriptTask", params); assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState()); }