@RequestMapping(value="/deploy", method=RequestMethod.POST) public String deploy(@RequestParam("id")String id, @RequestParam(value="strategy", defaultValue="SINGLETON") String strategy) { String outcome = "Deployment " + id + " deployed successfully"; String[] gav = id.split(":"); KModuleDeploymentUnit unit = new KModuleDeploymentUnit(gav[0], gav[1], gav[2], null, null, strategy); deploymentService.deploy(unit); return outcome; }
@Test public void testFindReusableSubProcesses() { assertNotNull(deploymentService); DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); String theString = "ParentProcess"; assertNotNull(theString); Collection<String> reusableProcesses = bpmn2Service.getReusableSubProcesses(deploymentUnit.getIdentifier(), theString); assertNotNull(reusableProcesses); assertEquals(1, reusableProcesses.size()); assertEquals("signal", reusableProcesses.iterator().next()); }
@Before public void prepare() { assertNotNull(deploymentService); deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); }
@Test public void deploymentObjectsTest() throws Exception { Assume.assumeFalse(getType().equals(TestType.YAML)); KModuleDeploymentUnit kDepUnit = new KModuleDeploymentUnit("org", "jar", "1.0", "kbase", "ksession" ); kDepUnit.setStrategy(RuntimeStrategy.PER_PROCESS_INSTANCE); depUnit.setStrategy(kDepUnit.getStrategy()); depUnit.setStatus(JaxbDeploymentStatus.NONEXISTENT); depUnitList.getDeploymentUnitList().add(depUnit); depUnit.setStatus(JaxbDeploymentStatus.DEPLOY_FAILED); depUnit.setStrategy(RuntimeStrategy.PER_PROCESS_INSTANCE); depUnitList.getDeploymentUnitList().add(depUnit);
@Test public void itemRefIssue(){ assertNotNull(deploymentService); DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); String processId = "itemrefissue"; Map<String, String> processData = bpmn2Service.getProcessVariables(deploymentUnit.getIdentifier(), processId); assertNotNull(processData); }
@Before public void prepare() { assertNotNull(deploymentService); deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); }
@Test public void deploymentObjectsTest() throws Exception { Assume.assumeFalse(getType().equals(TestType.YAML)); KModuleDeploymentUnit kDepUnit = new KModuleDeploymentUnit("org", "jar", "1.0", "kbase", "ksession"); kDepUnit.setStrategy(RuntimeStrategy.PER_PROCESS_INSTANCE); depUnit.setStrategy(kDepUnit.getStrategy()); depUnit.setStatus(JaxbDeploymentStatus.NONEXISTENT); depUnitList.getDeploymentUnitList().add(depUnit); depUnit.setStatus(JaxbDeploymentStatus.DEPLOY_FAILED); depUnit.setStrategy(RuntimeStrategy.PER_PROCESS_INSTANCE); depUnitList.getDeploymentUnitList().add(depUnit);
public static void main(String[] args) { ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args); if (args.length > 1) { try { System.out.println("Params available trying to deploy " + args); DeploymentService deploymentService = (DeploymentService) ctx.getBean("deploymentService"); KModuleDeploymentUnit unit = new KModuleDeploymentUnit(args[0], args[1], args[2]); deploymentService.deploy(unit); } catch (Throwable e) { System.out.println("Error when deploying = " + e.getMessage()); } } } }
@Test public void testStartProcess() throws InterruptedException { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); Map<String, Object> params = new HashMap<String, Object>(); params.put("expiresAt", "2s"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "timer-test.timer-process", params); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNotNull(pi); Thread.sleep(3000); pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Before public void prepare() { assertNotNull(deploymentService); deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); }
@Test public void testStartProcess() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); boolean isDeployed = deploymentService.isDeployed(deploymentUnit.getIdentifier()); assertTrue(isDeployed); assertNotNull(processService); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "customtask"); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Before public void prepare() { assertNotNull(deploymentService); deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); }
@Test public void testStartProcessWithParms() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); boolean isDeployed = deploymentService.isDeployed(deploymentUnit.getIdentifier()); assertTrue(isDeployed); assertNotNull(processService); Map<String, Object> params = new HashMap<String, Object>(); params.put("id", "test"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "customtask", params); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(processInstanceId); assertNull(pi); }
@Test public void testStartProcessAfterDeactivation() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); boolean isDeployed = deploymentService.isDeployed(deploymentUnit.getIdentifier()); assertTrue(isDeployed); assertNotNull(processService); deploymentService.deactivate(deploymentUnit.getIdentifier()); try { processService.startProcess(deploymentUnit.getIdentifier(), "customtask"); fail("Deployment is deactivated so cannot start new process instances"); } catch (Exception e) { assertEquals("org.jbpm.services.api.DeploymentActiveFoundException: Deployment org.jbpm.test:test-module:1.0.0 is not active", e.getMessage()); } }
@Test public void testDeploymentOfProcessesBySync() throws Exception { CoundDownDeploymentListener countDownListener = configureListener(1); DeploymentStore store = new DeploymentStore(); store.setCommandService(commandService); Collection<DeployedUnit> deployed = deploymentService.getDeployedUnits(); assertNotNull(deployed); assertEquals(0, deployed.size()); KModuleDeploymentUnit unit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); store.enableDeploymentUnit(unit); units.add(unit); countDownListener.waitTillCompleted(10000); deployed = deploymentService.getDeployedUnits(); assertNotNull(deployed); assertEquals(1, deployed.size()); }
@Test public void testHumanTaskProcess() throws IOException { assertNotNull(deploymentService); DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); units.add(deploymentUnit); assertEquals(3, processTasks.size()); Map<String, String> processData = bpmn2Service.getProcessVariables(deploymentUnit.getIdentifier(), processId); assertEquals(3, processData.keySet().size()); Map<String, String> taskInputMappings = bpmn2Service.getTaskInputMappings(deploymentUnit.getIdentifier(), processId, "Write a Document" ); assertEquals(3, taskInputMappings.keySet().size());
@Test public void testStartProcessWithParmsWithCorrelationKey() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); Map<String, Object> params = new HashMap<String, Object>(); params.put("id", "test"); CorrelationKey key = KieInternalServices.Factory.get().newCorrelationKeyFactory().newCorrelationKey("my business key"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "customtask", key, params); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(key); assertNull(pi); }
@Test public void testStartProcessWithCorrelationKey() { assertNotNull(deploymentService); KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentService.deploy(deploymentUnit); units.add(deploymentUnit); assertNotNull(processService); CorrelationKey key = KieInternalServices.Factory.get().newCorrelationKeyFactory().newCorrelationKey("my business key"); long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "customtask", key); assertNotNull(processInstanceId); ProcessInstance pi = processService.getProcessInstance(key); assertNull(pi); }
@Test public void testHiringProcessData() throws IOException { assertNotNull(deploymentService); DeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); units.add(deploymentUnit); assertEquals(4, processTasks.size()); Map<String, String> processData = bpmn2Service.getProcessVariables(deploymentUnit.getIdentifier(), processId); assertEquals(9, processData.keySet().size()); Map<String, String> taskInputMappings = bpmn2Service.getTaskInputMappings(deploymentUnit.getIdentifier(), processId, "HR Interview" ); assertEquals(4, taskInputMappings.keySet().size()); assertEquals("java.lang.String", taskInputMappings.get("TaskName")); assertEquals("Object", taskInputMappings.get("GroupId"));
private void testProcessWithStrategy(RuntimeStrategy strategy) { KModuleDeploymentUnit deploymentUnit = new KModuleDeploymentUnit(GROUP_ID, ARTIFACT_ID, VERSION); deploymentUnit.setStrategy(strategy); deploymentService.deploy(deploymentUnit); String userId = "john"; Long processInstanceId = processService.startProcess(deploymentUnit.getIdentifier(), "hiring"); List<Long> taskIdList = runtimeDataService.getTasksByProcessInstanceId(processInstanceId); Assertions.assertThat(taskIdList).hasSize(1); long taskId = taskIdList.get(0); userTaskService.claim(taskId, userId); userTaskService.start(taskId, userId); userTaskService.complete(taskId, userId, null); List<Status> taskStatus = new ArrayList<Status>(); taskStatus.add(Status.Completed); taskStatus.add(Status.Created); taskStatus.add(Status.InProgress); taskStatus.add(Status.Reserved); List<TaskSummary> taskSummaryList = runtimeDataService.getTasksByStatusByProcessInstanceId(processInstanceId, taskStatus, null); Assertions.assertThat(taskSummaryList).hasSize(1); processService.abortProcessInstance(processInstanceId); ProcessInstanceDesc pi = runtimeDataService.getProcessInstanceById(processInstanceId); assertNotNull(pi); assertEquals(ProcessInstance.STATE_ABORTED, pi.getState().intValue()); }