Refine search
private WorkItemImpl prepareWorkItemWithTaskVariables(final String taskDescriptionParam) { final WorkItemImpl workItem = new WorkItemImpl(); workItem.setName("Human Task"); workItem.setParameter("NodeName", "TaskName ${task.taskData.processInstanceId}"); workItem.setParameter("Comment", taskDescriptionParam); workItem.setParameter("Priority", "10"); workItem.setParameter("ActorId", "Darth Vader"); workItem.setProcessInstanceId(10); return workItem; }
private static void executeWorkItem(StatefulKnowledgeSessionImpl ksession, WorkItemImpl workItem, WorkItemNodeInstance workItemNodeInstance) { ProcessEventSupport eventSupport = ((InternalProcessRuntime) ksession.getProcessRuntime()).getProcessEventSupport(); eventSupport.fireBeforeNodeTriggered(workItemNodeInstance, ksession); ((WorkItemManager) ksession.getWorkItemManager()).internalExecuteWorkItem(workItem); workItemNodeInstance.internalSetWorkItemId(workItem.getId()); eventSupport.fireAfterNodeTriggered(workItemNodeInstance, ksession); }
public static WorkItem readWorkItem(MarshallerReaderContext context, JBPMMessages.WorkItem _workItem, boolean includeVariables) throws IOException { WorkItemImpl workItem = new WorkItemImpl(); workItem.setId( _workItem.getId() ); workItem.setProcessInstanceId( _workItem.getProcessInstancesId() ); workItem.setName( _workItem.getName() ); workItem.setState( _workItem.getState() ); workItem.setDeploymentId(_workItem.getDeploymentId()); workItem.setNodeId(_workItem.getNodeId()); workItem.setNodeInstanceId(_workItem.getNodeInstanceId()); if ( includeVariables ) { for ( JBPMMessages.Variable _variable : _workItem.getVariableList() ) { try { Object value = unmarshallVariableValue( context, _variable ); workItem.setParameter( _variable.getName(), value ); } catch ( ClassNotFoundException e ) { throw new IllegalArgumentException( "Could not reload parameter " + _variable.getName() + " for work item " + _workItem ); } } } return workItem; }
@Test public void testValidaRequiredParameters() throws Exception { try { WorkItemImpl workItem = new WorkItemImpl(); workItem.setParameter("firstParam", "testValue"); workItem.setParameter("thirdParam", "testValue"); testHandler.executeWorkItem(workItem, testManager); } catch (Exception e) { fail("Required parameters have been set. No exception should be thrown: " + e.getMessage()); } }
private Product getProduct(String id) throws Exception { WorkItemManager manager = new TestWorkItemManager(); WorkItemImpl workItem = new WorkItemImpl(); workItem.setParameter(JPAWorkItemHandler.P_ACTION, JPAWorkItemHandler.GET_ACTION); workItem.setParameter(JPAWorkItemHandler.P_TYPE, "org.jbpm.process.workitem.jpa.Product"); workItem.setParameter(JPAWorkItemHandler.P_ID, id); UserTransaction ut = getUserTransaction(); ut.begin(); handler.executeWorkItem(workItem, manager); ut.commit(); Map<String, Object> results = ((TestWorkItemManager) manager).getResults(workItem.getId()); Product product = (Product) results.get(JPAWorkItemHandler.P_RESULT); return product; }
protected Task createTaskBasedOnWorkItemParams(KieSession session, WorkItem workItem) { InternalTask task = (InternalTask) TaskModelProvider.getFactory().newTask(); String taskName = (String) workItem.getParameter("NodeName"); CaseData caseFile = null; String locale = (String) workItem.getParameter("Locale"); if (locale == null) { locale = "en-UK"; String formName = (String) workItem.getParameter("TaskName"); if(formName != null){ task.setFormName(formName); if (session.getProcessInstance(workItem.getProcessInstanceId()) != null) { taskData.setProcessId(session.getProcessInstance(workItem.getProcessInstanceId()).getProcess().getId()); String deploymentId = ((WorkItemImpl) workItem).getDeploymentId(); taskData.setDeploymentId(deploymentId);
@Test public void testAssignTaskstakeholders() { String taskStakeholderId = "espiegelberg"; Task task = TaskModelProvider.getFactory().newTask(); InternalPeopleAssignments peopleAssignments = peopleAssignmentHelper.getNullSafePeopleAssignments(task); WorkItem workItem = new WorkItemImpl(); workItem.setParameter(PeopleAssignmentHelper.TASKSTAKEHOLDER_ID, taskStakeholderId); peopleAssignmentHelper.assignTaskStakeholders(workItem, peopleAssignments); assertEquals(1, peopleAssignments.getTaskStakeholders().size()); OrganizationalEntity organizationalEntity1 = peopleAssignments.getTaskStakeholders().get(0); assertTrue(organizationalEntity1 instanceof User); assertEquals(taskStakeholderId, organizationalEntity1.getId()); }
@Test public void testWithTempFile() throws Exception { TestWorkItemManager manager = new TestWorkItemManager(); WorkItemImpl workItem = new WorkItemImpl(); workItem.setId(123L); filesList.add(tempFileTwo); workItem.setParameter("Archive", "testfile.txt"); workItem.setParameter("Files", filesList); assertEquals(1, manager.getResults().size()); assertTrue(manager.getResults().containsKey(workItem.getId()));
@Test public void testSetDeadlinesNotCompletedReassign() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotCompletedReassign", "[users:john]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getEndDeadlines().size()); assertEquals(0, deadlines.getStartDeadlines().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); // check deadline expiration time assertNotNull(deadlines.getEndDeadlines().get(0).getDate()); long expirationTime = deadlines.getEndDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }
if (workItem.getParameter("AutoComplete") != null) { autoComplete = Boolean.parseBoolean(workItem.getParameter("AutoComplete").toString()); String cmdClass = (String) workItem.getParameter("CommandClass"); if (cmdClass == null) { cmdClass = this.commandClass; ctxCMD.setData("workItem", workItem); ctxCMD.setData("processInstanceId", getProcessInstanceId(workItem)); ctxCMD.setData("deploymentId", ((WorkItemImpl)workItem).getDeploymentId());
@Test(expected = WorkItemHandlerRuntimeException.class) public void testXmlToObjectInvalidParams() { WorkItemManager manager = new TestWorkItemManager(); WorkItemImpl workItem = new WorkItemImpl(); handler.executeWorkItem(workItem, manager); Map<String, Object> results = ((TestWorkItemManager) manager).getResults(workItem.getId()); assertNotNull(results); assertEquals(0, results); }
protected String getDeploymentId(CommandContext ctx) { String deploymentId = (String) ctx.getData("DeploymentId"); if (deploymentId != null) { return deploymentId; } WorkItem workItem = (WorkItem) ctx.getData("workItem"); if (workItem != null) { deploymentId = (String) workItem.getParameter("DeploymentId"); if (deploymentId == null) { deploymentId = ((WorkItemImpl)workItem).getDeploymentId(); } } return deploymentId; }
@Test public void testAssignBusinessAdministratorsChangedDefaults() { peopleAssignmentHelper = new PeopleAssignmentHelper("myadmin", "mygroup"); Task task = TaskModelProvider.getFactory().newTask(); PeopleAssignments peopleAssignments = peopleAssignmentHelper.getNullSafePeopleAssignments(task); WorkItem workItem = new WorkItemImpl(); peopleAssignmentHelper.assignBusinessAdministrators(workItem, peopleAssignments); assertEquals(2, peopleAssignments.getBusinessAdministrators().size()); OrganizationalEntity organizationalEntity1 = peopleAssignments.getBusinessAdministrators().get(0); assertTrue(organizationalEntity1 instanceof User); assertEquals("myadmin", organizationalEntity1.getId()); OrganizationalEntity organizationalEntity2 = peopleAssignments.getBusinessAdministrators().get(1); assertTrue(organizationalEntity2 instanceof Group); assertEquals("mygroup", organizationalEntity2.getId()); }
protected WorkItem createWorkItem(WorkItemNode workItemNode) { Work work = workItemNode.getWork(); workItem = new WorkItemImpl(); ((WorkItem) workItem).setName(work.getName()); ((WorkItem) workItem).setProcessInstanceId(getProcessInstance().getId()); ((WorkItem) workItem).setParameters(new HashMap<String, Object>(work.getParameters()));
@Test public void testScheduleAndRunJobWithWorkItem() throws Exception { JobRequestInstance jobRequestInstance = createJobRequestInstance(); final WorkItemImpl workItem = new WorkItemImpl(); workItem.setId(1); workItem.setName("testWorkItemName"); workItem.setDeploymentId("test-1.0.0"); workItem.setState(1); jobRequestInstance.getData().put("workItem", workItem); Long jobId = jobServicesClient.scheduleRequest(jobRequestInstance); assertNotNull(jobId); assertTrue(jobId.longValue() > 0); KieServerSynchronization.waitForJobToFinish(jobServicesClient, jobId); final RequestInfoInstance jobRequest = jobServicesClient.getRequestById(jobId, true, true); assertNotNull(jobRequest); assertEquals(jobId, jobRequest.getId()); assertEquals(STATUS.DONE.toString(), jobRequest.getStatus()); assertEquals(PRINT_OUT_COMMAND, jobRequest.getCommandName()); assertNotNull(jobRequest.getData().get("workItem")); }
@Test public void testFTPUploadInvalidParams() throws Exception { TestWorkItemManager manager = new TestWorkItemManager(); WorkItemImpl workItem = new WorkItemImpl(); workItem.setId(123L); FTPUploadWorkItemHandler handler = new FTPUploadWorkItemHandler(); handler.setLogThrownException(true); handler.setFTPClient(client); handler.setConnection(connection); handler.executeWorkItem(workItem, manager); assertNotNull(manager.getResults()); assertEquals(0, manager.getResults().size()); } }
@Test public void testClass() { GenericCamelWorkitemHandler handler = new GenericCamelWorkitemHandler("class", "FQCN"); final WorkItem workItem = new WorkItemImpl(); workItem.setParameter("FQCN", getClass().getCanonicalName()); workItem.setParameter("method", "testMethod"); WorkItemManager manager = new DefaultWorkItemManager(null); handler.executeWorkItem(workItem, manager); Assert.assertTrue(called); } }
public void internalExecuteWorkItem( WorkItem workItem ) { Environment env = this.kruntime.getEnvironment(); WorkItemInfo workItemInfo = new WorkItemInfo( workItem, env ); PersistenceContext context = getPersistenceContext(); workItemInfo = (WorkItemInfo) context.persist( workItemInfo ); ((WorkItemImpl) workItem).setId( workItemInfo.getId() ); if ( this.workItems == null ) { this.workItems = new HashMap<Long, WorkItemInfo>(); } workItems.put( workItem.getId(), workItemInfo ); WorkItemHandler handler = (WorkItemHandler) this.workItemHandlers.get( workItem.getName() ); if ( handler != null ) { handler.executeWorkItem( workItem, this ); } else { throwWorkItemNotFoundException( workItem ); } }
@Override public void internalExecuteWorkItem(WorkItem workItem) { Environment env = this.kruntime.getEnvironment(); // EntityManager em = (EntityManager) env.get(EnvironmentName.CMD_SCOPED_ENTITY_MANAGER); WorkItemInfo workItemInfo = new WorkItemInfo(workItem, env); // em.persist(workItemInfo); PersistenceContext context = ((PersistenceContextManager) env.get( EnvironmentName.PERSISTENCE_CONTEXT_MANAGER )).getCommandScopedPersistenceContext(); context.persist( workItemInfo ); ((WorkItemImpl) workItem).setId(workItemInfo.getId()); workItemInfo.transform(); context.merge(workItemInfo); WorkItemHandler handler = (WorkItemHandler) this.workItemHandlers.get(workItem.getName()); if (handler != null) { handler.executeWorkItem(workItem, this); workItemInfo.transform(); context.merge(workItemInfo); } else { throwWorkItemNotFoundException( workItem ); } }
private WorkItem internalGetWorkItem(PersistentWorkItem workItemInfo) { Environment env = kruntime.getEnvironment(); InternalKnowledgeBase ruleBase = (InternalKnowledgeBase) kruntime.getKieBase(); WorkItem workItem = ((WorkItemInfo) workItemInfo).getWorkItem(env, ruleBase); ((WorkItemImpl) workItem).setId(workItemInfo.getId()); return workItem; }