actualOwner = TaskModelProvider.getFactory().newUser(); actualOwner.readExternal(in); createdBy = TaskModelProvider.getFactory().newUser(); createdBy.readExternal(in); createdOn = new Date(in.readLong()); activationTime = new Date(in.readLong()); expirationTime = new Date(in.readLong());
vars.put("now", new Date()); InternalPeopleAssignments assignments = (InternalPeopleAssignments) TaskModelProvider.getFactory().newPeopleAssignments(); List<OrganizationalEntity> ba = new ArrayList<OrganizationalEntity>(); User user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId("Administrator"); ba.add(user); User user2 = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user2).setId("Administrator"); po.add(user2); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); InternalContent content = (InternalContent) TaskModelProvider.getFactory().newContent(); taskService.addContent(taskId, content); long contentId = content.getId(); content = (InternalContent) taskService.getContentById(contentId); Object unmarshallObject = ContentMarshallerHelper.unmarshall(content.getContent(), null); checkContentSubjectAndBody(unmarshallObject); task = (InternalTask) taskService.getTaskById(taskId); assertThat(task.getTaskData().getStatus()).isEqualTo(Status.Failed); assertThat(task.getDeadlines().getStartDeadlines().size()).isEqualTo(0); assertThat(task.getDeadlines().getEndDeadlines().size()).isEqualTo(0);
@Test(timeout=10000) public void testDelayedEmailNotificationOnDeadlineContentSingleObject() throws Exception { CountDownTaskEventListener countDownListener = new CountDownTaskEventListener(1, false, true); addCountDownListner(countDownListener); Map<String, Object> vars = new HashMap<String, Object>(); vars.put("now", new Date()); Reader reader = new InputStreamReader(getClass().getResourceAsStream(MvelFilePath.DeadlineWithNotificationContentSingleObject)); Task task = (Task) TaskFactory.evalTask(reader, vars); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); InternalContent content = (InternalContent) TaskModelProvider.getFactory().newContent(); ContentData marshalledObject = ContentMarshallerHelper.marshal(task, "'singleobject'", null); content.setContent(marshalledObject.getContent()); taskService.addContent(taskId, content); long contentId = content.getId(); content = (InternalContent) taskService.getContentById(contentId); Object unmarshallObject = ContentMarshallerHelper.unmarshall(content.getContent(), null); assertThat(unmarshallObject.toString()).isEqualTo("'singleobject'"); // emails should not be set yet assertThat(((MockNotificationListener)notificationListener).getEventsRecieved().size()).isEqualTo(0); countDownListener.waitTillCompleted(); // 1 email with two recipients should now exist assertThat(((MockNotificationListener)notificationListener).getEventsRecieved().size()).isEqualTo(1); } @Test(timeout=10000)
Language lang = TaskModelProvider.getFactory().newLanguage(); lang.setMapkey("en-UK"); EmailNotificationHeader header = emailNotification.getEmailHeaders().get(lang); long expirationTime = deadlines.getStartDeadlines().get(0).getDate().getTime() - System.currentTimeMillis();
protected Task createTaskBasedOnWorkItemParams(KieSession session, WorkItem workItem) { InternalTask task = (InternalTask) TaskModelProvider.getFactory().newTask(); String taskName = (String) workItem.getParameter("NodeName"); CaseData caseFile = null; I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage(locale); ((InternalI18NText) text).setText(taskName); I18NText descText = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) descText).setLanguage(locale); ((InternalI18NText) descText).setText(description); I18NText subjectText = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) subjectText).setLanguage(locale); ((InternalI18NText) subjectText).setText(comment); InternalTaskData taskData = (InternalTaskData) TaskModelProvider.getFactory().newTaskData(); taskData.setWorkItemId(workItem.getId()); taskData.setProcessInstanceId(workItem.getProcessInstanceId()); User user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId(createdBy); taskData.setCreatedBy(user);
taskDeadline = TaskModelProvider.getFactory().newDeadline(); if (businessCalendar != null) { taskDeadline.setDate(businessCalendar.calculateBusinessTimeAsDate(expiresAt)); } else { taskDeadline.setDate(new Date(System.currentTimeMillis() + TimeUtils.parseTimeString(expiresAt))); logger.debug("Calculated date of execution is {} and current date {}", taskDeadline.getDate(), new Date()); List<Escalation> escalations = new ArrayList<Escalation>(); Escalation escalation = TaskModelProvider.getFactory().newEscalation(); escalations.add(escalation);
Language lang = TaskModelProvider.getFactory().newLanguage(); lang.setMapkey(entry.getKey()); EmailNotificationHeader header = headers.get(lang); User user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId(header.getFrom()); msg.setFrom( new InternetAddress(userInfo.getEmailForEntity(user))); User user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId(header.getReplyTo()); msg.setReplyTo( new InternetAddress[] { vars.put("doc", variables); vars.put("processInstanceId", task.getTaskData().getProcessInstanceId()); vars.put("processSessionId", task.getTaskData().getProcessSessionId()); vars.put("workItemId", task.getTaskData().getWorkItemId()); vars.put("expirationTime", task.getTaskData().getExpirationTime()); vars.put("taskId", task.getId()); msg.setSentDate( new Date() );
taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); List<Comment> comments = taskService.getAllCommentsByTaskId(taskId); assertNotNull(comments); assertEquals(0, comments.size()); Comment comment = TaskModelProvider.getFactory().newComment(); ((InternalComment)comment).setAddedAt(new Date()); ((InternalComment)comment).setAddedBy(user); ((InternalComment)comment).setText("Simple test comment"); taskService.addComment(taskId, comment); comments = taskService.getAllCommentsByTaskId(taskId); Task task1 = taskService.getTaskById(taskId); assertEquals(Status.InProgress, task1.getTaskData().getStatus()); assertEquals("Darth Vader", task1.getTaskData().getActualOwner().getId()); Task task2 = taskService.getTaskById(taskId); assertEquals(Status.Completed, task2.getTaskData().getStatus()); assertEquals("Darth Vader", task2.getTaskData().getActualOwner().getId());
str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsBusinessAdministrator("Bobba Fet", "en-UK"); Attachment attach = TaskModelProvider.getFactory().newAttachment(); ((InternalAttachment)attach).setAccessType(AccessType.Inline); ((InternalAttachment)attach).setAttachedAt(new Date()); ((InternalAttachment)attach).setName("My first doc"); ((InternalAttachment)attach).setContentType("String"); Content content = TaskModelProvider.getFactory().newContent(); ((InternalContent)content).setContent(ContentMarshallerHelper.marshallContent(task, "This is my first inline document", null)); long attachId = taskService.addAttachment(taskSum.getId(), attach, content); Assert.assertNotEquals(0, attachId); Assert.assertNotNull(attachmentById); Attachment attach2 = TaskModelProvider.getFactory().newAttachment(); ((InternalAttachment)attach2).setAccessType(AccessType.Inline); ((InternalAttachment)attach2).setAttachedAt(new Date()); ((InternalAttachment)attach2).setName("My second doc"); ((InternalAttachment)attach2).setContentType("String"); Content content2 = TaskModelProvider.getFactory().newContent(); ((InternalContent)content2).setContent(ContentMarshallerHelper.marshallContent(task, "This is my second inline document", null));
str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsBusinessAdministrator("Bobba Fet", "en-UK"); TaskSummary taskSum = tasks.get(0); Comment comment = TaskModelProvider.getFactory().newComment(); ((InternalComment)comment).setAddedAt(TODAY); User user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId("Troll"); ((InternalComment)comment).setAddedBy(user); ((InternalComment)comment).setText(txt); Long commentId = taskService.addComment(taskSum.getId().longValue(), comment); assertNotNull(commentId); assertTrue(commentId.longValue() > 0l); assertEquals(txt, commentById.getText()); Comment comment2 = TaskModelProvider.getFactory().newComment(); ((InternalComment)comment2).setAddedAt(new Date()); User user2 = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user2).setId("Master"); ((InternalComment)comment2).setAddedBy(user2);
vars.put("now", new Date()); InternalComment comment = (InternalComment) TaskModelProvider.getFactory().newComment(); comment.setId(42); comment.setText(payload); comment.setAddedAt(new Date()); User user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId("Case"); comment.setAddedBy(user); InternalAttachment attach = (InternalAttachment) TaskModelProvider.getFactory().newAttachment(); attach.setId(10); attach.setName("virus"); attach.setContentType("ROM"); attach.setAttachedAt(new Date()); user = TaskModelProvider.getFactory().newUser(); ((InternalOrganizationalEntity) user).setId("Wintermute"); attach.setAttachedBy(user); verifyThatAllFieldsAreFilledOrUnsupported(xmlTask.getTaskData().getAttachments().get(0), Attachment.class); verifyThatAllFieldsAreFilledOrUnsupported(xmlTask.getTaskData().getComments().get(0), Comment.class); verifyThatXmlFieldsAreFilled(realTask.getTaskData(), xmlTask.getTaskData(), TaskData.class, "taskInputVariables", "taskOutputVariables");
taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); taskService.start(taskId, "Darth Vader"); taskService.getTaskById(taskId); Task task1 = taskService.getTaskById(taskId); assertEquals(Status.InProgress, task1.getTaskData().getStatus()); assertEquals("Darth Vader", task1.getTaskData().getActualOwner().getId()); Task task2 = taskService.getTaskById(taskId); assertEquals(Status.Failed, task2.getTaskData().getStatus()); assertEquals(AccessType.Inline, ((InternalTaskData) task2.getTaskData()).getFaultAccessType()); assertEquals("type", task2.getTaskData().getFaultType()); FaultData data = TaskModelProvider.getFactory().newFaultData(); data.setAccessType(AccessType.Inline); data.setType("type");
@Test public void testNominateToGroup() { String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { businessAdministrators = [ new User('Darth Vader'), new User('Bobba Fet') ] } ),"; str += "name = 'This is my task name'})"; Task task = TaskFactory.evalTask(new StringReader(str)); taskService.addTask(task, new HashMap<String, Object>()); long taskId = task.getId(); List<OrganizationalEntity> potentialGroups = new ArrayList<OrganizationalEntity>(); Group group = TaskModelProvider.getFactory().newGroup(); ((InternalOrganizationalEntity) group).setId("Knights Templer"); potentialGroups.add(group); taskService.nominate(taskId, "Darth Vader", potentialGroups); //shouldn't affect the assignments Task task1 = taskService.getTaskById(taskId); assertTrue(task1.getPeopleAssignments().getPotentialOwners().contains(group)); assertEquals(task1.getTaskData().getStatus(), Status.Ready); }
final List<OperationCommand> commands = operations.get(operation); Task task = persistenceContext.findTask(taskId); if (deploymentId != null && !deploymentId.equals(task.getTaskData().getDeploymentId())) { throw new IllegalStateException("Task instance " + task.getId() + " is owned by another deployment expected " + task.getTaskData().getDeploymentId() + " found " + deploymentId); User user = persistenceContext.findUser(userId); OrganizationalEntity targetEntity = null; if (targetEntityId != null && !targetEntityId.equals("")) { targetEntity = persistenceContext.findOrgEntity(targetEntityId); if (data != null) { FaultData faultData = ContentMarshallerHelper.marshalFault(task, data, null); Content content = TaskModelProvider.getFactory().newContent(); ((InternalContent)content).setContent(faultData.getContent()); persistenceContext.persistContent(content);
private User createUser(String userId) { if( userId == null ) { return null; } return TaskModelProvider.getFactory().newUser(userId); }
Task task = TaskFactory.evalTask(new StringReader(str)); List<I18NText> names = new ArrayList<I18NText>(); I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage("en-UK"); ((InternalI18NText) text).setText(taskName); names.add(text); ((InternalTask)task).setNames(names); taskService.addTask(task, new HashMap<String, Object>()); List<TaskSummary> tasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); assertEquals(1, tasks.size()); assertEquals(taskName, tasks.get(0).getName()); Task newTask = taskService.getTaskById(tasks.get(0).getId()); List<I18NText> updatedNames = new ArrayList<I18NText>(); I18NText updatedName = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) updatedName).setLanguage(newTask.getNames().get(0).getLanguage()); ((InternalI18NText) updatedName).setText("New task name"); updatedNames.add(updatedName); taskService.setTaskNames(newTask.getId(), updatedNames); List<TaskSummary> newTasks = taskService.getTasksAssignedAsPotentialOwner("Bobba Fet", "en-UK"); newTask = taskService.getTaskById(newTasks.get(0).getId()); assertEquals("New task name", newTask.getNames().get(0).getText());
@Test public void testLongDescription() { // BZ-1107473 String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new User('Darth Vader') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 1000; i++) { sb.append("a"); } String comment = sb.toString(); // NOTE: AbstractHTWorkItemHandler stores "Comment" parameter as 'Description' List<I18NText> descriptions = new ArrayList<I18NText>(); I18NText descText = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) descText).setLanguage("en-UK"); ((InternalI18NText) descText).setText(comment); descriptions.add(descText); ((InternalTask)task).setDescriptions(descriptions); taskService.addTask(task, new HashMap<String, Object>()); // Fails if shortText is longer than 255 long taskId = task.getId(); Task resultTask = taskService.getTaskById(taskId); List<I18NText> resultDescriptions = resultTask.getDescriptions(); InternalI18NText resultDescription = (InternalI18NText)resultDescriptions.get(0); assertEquals(1000, resultDescription.getText().length()); // This is text // 6.1.x no longer uses shortText in API and Taskorm.xml so no assert. }
public void deleteFault(long taskId, String userId) { Task task = persistenceContext.findTask(taskId); long contentId = task.getTaskData().getFaultContentId(); Content content = persistenceContext.findContent(contentId); FaultData data = TaskModelProvider.getFactory().newFaultData(); persistenceContext.removeContent(content); persistenceContext.setFaultToTask(null, data, task); }
public void deleteOutput(long taskId, String userId) { Task task = persistenceContext.findTask(taskId); long contentId = task.getTaskData().getOutputContentId(); Content content = persistenceContext.findContent(contentId); Map<String, Object> initialContent = new HashMap<>(); ContentMarshallerContext context = TaskContentRegistry.get().getMarshallerContext(task); Object unmarshalledObject = ContentMarshallerHelper.unmarshall(content.getContent(), context.getEnvironment(), context.getClassloader()); if(unmarshalledObject != null && unmarshalledObject instanceof Map){ // set initial content before updating with this params initialContent.putAll((Map<String, Object>)unmarshalledObject); } taskEventSupport.fireBeforeTaskOutputVariablesChanged(task, this.context, initialContent); ContentData data = TaskModelProvider.getFactory().newContentData(); persistenceContext.removeContent(content); persistenceContext.setOutputToTask(null, data, task); taskEventSupport.fireAfterTaskOutputVariablesChanged(task, this.context, null); }
public long addTask(Task task, ContentData contentData) { taskEventSupport.fireBeforeTaskAdded(task, context); persistenceContext.persistTask(task); resolveTaskDetailsForTaskProperties(task); if (contentData != null) { Content content = TaskModelProvider.getFactory().newContent(); ((InternalContent) content).setContent(contentData.getContent()); persistenceContext.persistContent(content); persistenceContext.setDocumentToTask(content, contentData, task); } taskEventSupport.fireAfterTaskAdded(task, context); return task.getId(); }