public List<Content> getAllContentByTaskId(long taskId) { Task task = persistenceContext.findTask(taskId); long inputContentId = task.getTaskData().getDocumentContentId(); long outputContentId = task.getTaskData().getOutputContentId(); long faultContentId = task.getTaskData().getFaultContentId(); List<Content> allContent = new ArrayList<Content>(); allContent.add(persistenceContext.findContent(inputContentId)); allContent.add(persistenceContext.findContent(outputContentId)); allContent.add(persistenceContext.findContent(faultContentId)); return allContent; }
@SuppressWarnings("unchecked") private Map<String, Object> getVariables(TaskContext ctx, TaskPersistenceContext persistenceContext, Task task, TaskData taskData) { Map<String, Object> variables; Content content = persistenceContext.findContent(taskData.getDocumentContentId()); if (content != null) { ContentMarshallerContext mContext = ctx.getTaskContentService().getMarshallerContext(task); Object objectFromBytes = ContentMarshallerHelper.unmarshall(content.getContent(), mContext.getEnvironment(), mContext.getClassloader()); if (objectFromBytes instanceof Map) { variables = (Map<String, Object>) objectFromBytes; } else { variables = new HashMap<String, Object>(); variables.put("content", objectFromBytes); } } else { variables = Collections.emptyMap(); } return variables; }
@SuppressWarnings("unchecked") public Map<String, Object> execute(Context cntxt ) { TaskContext context = (TaskContext) cntxt; Task taskById = context.getTaskQueryService().getTaskInstanceById(taskId); if (taskById == null) { throw new IllegalStateException("Unable to find task with id " + taskId); } TaskContentService contentService = context.getTaskContentService(); Content contentById = contentService.getContentById(taskById.getTaskData().getDocumentContentId()); ContentMarshallerContext mContext = contentService.getMarshallerContext(taskById); Object unmarshalledObject = ContentMarshallerHelper.unmarshall(contentById.getContent(), mContext.getEnvironment(), mContext.getClassloader()); if (!(unmarshalledObject instanceof Map)) { logger.debug(" The Task Content is not of type Map, it was: {} so packaging it into new map under Content key ", unmarshalledObject.getClass()); Map<String, Object> content = new HashMap<String, Object>(); content.put("Content", unmarshalledObject); return content; } Map<String, Object> content = (Map<String, Object>) unmarshalledObject; return content; }
public int removeTasks(List<TaskSummary> tasks) { int removedTasks = 0; for (TaskSummary sum : tasks) { long taskId = sum.getId(); // Only remove archived tasks Task task = persistenceContext.findTask(taskId); if (task != null) { Content content = persistenceContext.findContent(task.getTaskData().getDocumentContentId()); Content outputContent = persistenceContext.findContent(task.getTaskData().getOutputContentId()); if (((InternalTask) task).isArchived()) { persistenceContext.remove(task); if (content != null) { persistenceContext.remove(content); } if (outputContent != null) { persistenceContext.remove(outputContent); } removedTasks++; } else { logger.warn(" The Task cannot be removed if it wasn't archived first !!"); } } } return removedTasks; }
@Override public Task loadTaskVariables(Task task) { // load input if (task.getTaskData().getTaskInputVariables() == null) { Map<String, Object> input = loadContentData(task.getTaskData().getDocumentContentId(), task); ((InternalTaskData)task.getTaskData()).setTaskInputVariables(input); } // load output if (task.getTaskData().getTaskOutputVariables() == null) { Map<String, Object> output = loadContentData(task.getTaskData().getOutputContentId(), task); ((InternalTaskData)task.getTaskData()).setTaskOutputVariables(output); } return task; }
Content content = persistenceContext.findContent(taskData.getDocumentContentId());
assertEquals( AccessType.Inline, ((InternalTaskData) task1.getTaskData()).getDocumentAccessType() ); assertEquals( "java.util.HashMap", task1.getTaskData().getDocumentType() ); long contentId = task1.getTaskData().getDocumentContentId(); assertTrue( contentId != -1 );
assertEquals( AccessType.Inline, ((InternalTaskData) task1.getTaskData()).getDocumentAccessType() ); assertEquals( "java.util.HashMap", task1.getTaskData().getDocumentType() ); long contentId = task1.getTaskData().getDocumentContentId(); assertTrue( contentId != -1 );
this.faultAccessType = internalTaskData.getFaultAccessType(); this.documentContentId = taskData.getDocumentContentId(); this.outputType = taskData.getOutputType(); this.outputContentId = taskData.getOutputContentId();
@Test public void testNewTaskWithContent() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; ContentData data = ContentMarshallerHelper.marshal(null, "content", null); Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, data); long taskId = task.getId(); // Task should be assigned to the single potential owner and state set to Reserved Task task1 = taskService.getTaskById(taskId); assertEquals(AccessType.Inline, ((InternalTaskData) task1.getTaskData()).getDocumentAccessType()); assertEquals("java.lang.String", task1.getTaskData().getDocumentType()); long contentId = task1.getTaskData().getDocumentContentId(); assertTrue(contentId != -1); Content content = taskService.getContentById(contentId); Object unmarshalledObject = ContentMarshallerHelper.unmarshall(content.getContent(), null); assertEquals("content", unmarshalledObject.toString()); xmlRoundTripContent(content); }
@Test public void testNewTaskWithLargeContent() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; String largeContent = ""; for (int i = 0; i < 1000; i++) { largeContent += i + "xxxxxxxxx"; } ContentData data = ContentMarshallerHelper.marshal(null, largeContent, null); Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, data); long taskId = task.getId(); // Task should be assigned to the single potential owner and state set to Reserved Task task1 = taskService.getTaskById(taskId); assertEquals(AccessType.Inline, ((InternalTaskData) task1.getTaskData()).getDocumentAccessType()); assertEquals("java.lang.String", task1.getTaskData().getDocumentType()); long contentId = task1.getTaskData().getDocumentContentId(); assertTrue(contentId != -1); Content content = taskService.getContentById(contentId); Object unmarshalledObject = ContentMarshallerHelper.unmarshall(content.getContent(), null); assertEquals(largeContent, unmarshalledObject.toString()); xmlRoundTripContent(content); }
long contentId = task.getTaskData().getDocumentContentId(); assertTrue(contentId != -1);
assertEquals(AccessType.Inline, ((InternalTaskData) task.getTaskData()).getDocumentAccessType()); assertEquals(task.getTaskData().getProcessSessionId(), TestStatefulKnowledgeSession.testSessionId.intValue()); long contentId = task.getTaskData().getDocumentContentId(); assertTrue(contentId != -1);
long inputContentId = task.getTaskData().getDocumentContentId(); if (inputContentId != -1) { Content content = contentService.getContentById(inputContentId);
TaskSummary techInterview = tasks.get(0); Task techInterviewTask = taskService.getTaskById(techInterview.getId()); Content contentById = taskService.getContentById(techInterviewTask.getTaskData().getDocumentContentId()); assertNotNull(contentById); contentById = taskService.getContentById(createProposalTask.getTaskData().getDocumentContentId()); assertNotNull(contentById); taskContent = (Map<String, Object>) ContentMarshallerHelper.unmarshall(contentById.getContent(), null); contentById = taskService.getContentById(signContractTask.getTaskData().getDocumentContentId()); assertNotNull(contentById); taskContent = (Map<String, Object>) ContentMarshallerHelper.unmarshall(contentById.getContent(), null);
long contentId = task.getTaskData().getDocumentContentId(); assertTrue(contentId != -1);
assertEquals(AccessType.Inline, ((InternalTaskData) task.getTaskData()).getDocumentAccessType()); assertEquals(task.getTaskData().getProcessSessionId(), TestStatefulKnowledgeSession.testSessionId.intValue()); long contentId = task.getTaskData().getDocumentContentId(); assertTrue(contentId != -1);
genTaskData.setProcessSessionId(kieTaskData.getProcessSessionId()); genTaskData.setDocumentType(kieTaskData.getDocumentType()); genTaskData.setDocumentContentId(kieTaskData.getDocumentContentId()); genTaskData.setOutputType(kieTaskData.getOutputType()); genTaskData.setOutputContentId(kieTaskData.getOutputContentId());