@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (!(obj instanceof TaskData)) return false; TaskData other = (TaskData) obj; if (actualOwner == null) { if (other.actualOwner != null) return false; } else if (!actualOwner.equals(other.actualOwner)) { return false; } if (createdBy == null) { if (other.createdBy != null) return false; } else if (!createdBy.equals(other.createdBy)) { return false; } if (createdOn == null) { if (other.createdOn != null) return false; } else if (createdOn.getTime() != other.createdOn.getTime()) return false; if (expirationTime == null) { if (other.expirationTime != null) return false; } else if (expirationTime.getTime() != other.expirationTime.getTime()) return false; if (skipable != other.skipable) return false; if (workItemId != other.workItemId) return false; if (status == null) { if (other.status != null) return false; } else if (!status.equals(other.status)) return false; if (previousStatus == null) { if (other.previousStatus != null) return false; } else if (!previousStatus.equals(other.previousStatus)) return false; if (activationTime == null) { if (other.activationTime != null) return false; } else if (activationTime.getTime() != other.activationTime.getTime()) return false; if (workItemId != other.workItemId) return false; if (documentAccessType == null) { if (other.documentAccessType != null) return false; } else if (!documentAccessType.equals(other.documentAccessType)) return false; if (documentContentId != other.documentContentId) return false; if (documentType == null) { if (other.documentType != null) return false; } else if (!documentType.equals(other.documentType)) return false; // I think this is OK! if (parentId != other.parentId) return false; return CollectionUtils.equals(attachments, other.attachments) && CollectionUtils.equals(comments, other.comments); }
public void testPeopleAssignmentQueries() { Map vars = new HashMap(); vars.put("users", users); vars.put("groups", groups); Reader reader = new InputStreamReader(getClass().getResourceAsStream("../../QueryData_TasksOwned.mvel")); List<Task> tasks = (List<Task>) eval(reader, vars); for (Task task : tasks) { taskSession.addTask(task, null); } reader = new InputStreamReader( getClass().getResourceAsStream("../../QueryResults_PeopleAssignmentQuerries.mvel")); Map<String, List<TaskSummary>> expected = (Map<String, List<TaskSummary>>) eval(reader, vars); List<TaskSummary> actual = client.getTasksAssignedAsTaskInitiator(users.get("darth").getId(), "es_CL"); assertEquals(1, actual.size()); assertTrue(CollectionUtils.equals(expected.get("darth"), actual)); actual = client.getTasksAssignedAsBusinessAdministrator(users.get("steve").getId(), "es_CL"); assertTrue(CollectionUtils.equals(expected.get("steve"), actual)); actual = client.getTasksAssignedAsExcludedOwner(users.get("liz").getId(), "es_CL"); assertEquals(2, actual.size()); assertTrue(CollectionUtils.equals(expected.get("liz"), actual)); actual = client.getTasksAssignedAsPotentialOwner(users.get("bobba").getId(), "es_CL"); assertEquals(3, actual.size()); assertTrue(CollectionUtils.equals(expected.get("bobba"), actual)); actual = client.getTasksAssignedAsRecipient(users.get("sly").getId(), "es_CL"); assertEquals(1, actual.size()); assertTrue(CollectionUtils.equals(expected.get("sly"), actual)); }
@SuppressWarnings("unchecked") public void testTasksOwnedQueryWithI18N() throws Exception { Map<String, Object> vars = new HashMap(); vars.put("users", users); vars.put("groups", groups); // Reader reader; Reader reader = new InputStreamReader(getClass().getResourceAsStream("../../QueryData_TasksOwned.mvel")); List<Task> tasks = (List<Task>) eval(reader, vars); for (Task task : tasks) { client.addTask(task, null); } // Test UK I18N reader = new InputStreamReader( getClass().getResourceAsStream("../../QueryResults_TasksOwnedInEnglish.mvel")); Map<String, List<TaskSummary>> expected = (Map<String, List<TaskSummary>>) eval(reader, vars); List<TaskSummary> actual = client.getTasksOwned(users.get("peter").getId(), "es_CL"); assertEquals(3, actual.size()); assertTrue(CollectionUtils.equals(expected.get("peter"), actual)); actual = client.getTasksOwned(users.get("steve").getId(), "es_CL"); assertEquals(2, actual.size()); assertTrue(CollectionUtils.equals(expected.get("steve"), actual)); actual = client.getTasksOwned(users.get("darth").getId(), "es_CL"); assertEquals(1, actual.size()); assertTrue(CollectionUtils.equals(expected.get("darth"), actual)); // Test DK I18N reader = new InputStreamReader( getClass().getResourceAsStream("../../QueryResults_TasksOwnedInGerman.mvel")); expected = (Map<String, List<TaskSummary>>) eval(reader, vars); actual = client.getTasksOwned(users.get("peter").getId(), "en-DK"); assertEquals(3, actual.size()); assertTrue(CollectionUtils.equals(expected.get("peter"), actual)); actual = client.getTasksOwned(users.get("steve").getId(), "en-DK"); assertEquals(2, actual.size()); assertTrue(CollectionUtils.equals(expected.get("steve"), actual)); actual = client.getTasksOwned(users.get("darth").getId(), "en-DK"); assertEquals(1, actual.size()); assertTrue(CollectionUtils.equals(expected.get("darth"), actual)); }
public void testAddRemoveComment() { Map vars = new HashMap(); vars.put("users", users); vars.put("groups", groups); vars.put("now", new Date()); String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), "; str += "deadlines = new Deadlines(),"; str += "delegation = new Delegation(),"; str += "peopleAssignments = new PeopleAssignments(),"; str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })"; BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler(); Task task = (Task) eval(new StringReader(str), vars); client.addTask(task, null, addTaskResponseHandler); long taskId = addTaskResponseHandler.getTaskId(); Comment comment = new Comment(); Date addedAt = new Date(System.currentTimeMillis()); comment.setAddedAt(addedAt); comment.setAddedBy(users.get("luke")); comment.setText("This is my comment1!!!!!"); BlockingAddCommentResponseHandler addCommentResponseHandler = new BlockingAddCommentResponseHandler(); client.addComment(taskId, comment, addCommentResponseHandler); assertTrue(addCommentResponseHandler.getCommentId() != comment.getId()); BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler(); client.getTask(taskId, getTaskResponseHandler); Task task1 = getTaskResponseHandler.getTask(); assertNotSame(task, task1); assertFalse(task.equals(task1)); List<Comment> comments1 = task1.getTaskData().getComments(); assertEquals(1, comments1.size()); Comment returnedComment = comments1.get(0); assertEquals("This is my comment1!!!!!", returnedComment.getText()); assertEquals(addedAt, returnedComment.getAddedAt()); assertEquals(users.get("luke"), returnedComment.getAddedBy()); assertEquals((long) addCommentResponseHandler.getCommentId(), (long) returnedComment.getId()); // Make the same as the returned tasks, so we can test equals task.getTaskData().setComments(comments1); task.getTaskData().setStatus(Status.Created); assertEquals(task, task1); // test we can have multiple comments comment = new Comment(); addedAt = new Date(System.currentTimeMillis()); comment.setAddedAt(addedAt); comment.setAddedBy(users.get("tony")); comment.setText("This is my comment2!!!!!"); addCommentResponseHandler = new BlockingAddCommentResponseHandler(); client.addComment(taskId, comment, addCommentResponseHandler); getTaskResponseHandler = new BlockingGetTaskResponseHandler(); client.getTask(taskId, getTaskResponseHandler); task1 = getTaskResponseHandler.getTask(); List<Comment> comments2 = task1.getTaskData().getComments(); assertEquals(2, comments2.size()); // make two collections the same and compare comments1.add(comment); assertTrue(CollectionUtils.equals(comments1, comments2)); BlockingDeleteCommentResponseHandler deleteCommentResponseHandler = new BlockingDeleteCommentResponseHandler(); client.deleteComment( taskId, addCommentResponseHandler.getCommentId(), deleteCommentResponseHandler); deleteCommentResponseHandler.waitTillDone(3000); getTaskResponseHandler = new BlockingGetTaskResponseHandler(); client.getTask(taskId, getTaskResponseHandler); task1 = getTaskResponseHandler.getTask(); comments2 = task1.getTaskData().getComments(); assertEquals(1, comments2.size()); assertEquals("This is my comment1!!!!!", comments2.get(0).getText()); }
public void testAddRemoveAttachment() throws Exception { Map vars = new HashMap(); vars.put("users", users); vars.put("groups", groups); vars.put("now", new Date()); String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), "; str += "deadlines = new Deadlines(),"; str += "delegation = new Delegation(),"; str += "peopleAssignments = new PeopleAssignments(),"; str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })"; BlockingAddTaskResponseHandler addTaskResponseHandler = new BlockingAddTaskResponseHandler(); Task task = (Task) eval(new StringReader(str), vars); client.addTask(task, null, addTaskResponseHandler); long taskId = addTaskResponseHandler.getTaskId(); Attachment attachment = new Attachment(); Date attachedAt = new Date(System.currentTimeMillis()); attachment.setAttachedAt(attachedAt); attachment.setAttachedBy(users.get("luke")); attachment.setName("file1.txt"); attachment.setAccessType(AccessType.Inline); attachment.setContentType("txt"); byte[] bytes = "Ths is my attachment text1".getBytes(); Content content = new Content(); content.setContent(bytes); BlockingAddAttachmentResponseHandler addAttachmentResponseHandler = new BlockingAddAttachmentResponseHandler(); client.addAttachment(taskId, attachment, content, addAttachmentResponseHandler); assertTrue(addAttachmentResponseHandler.getAttachmentId() != attachment.getId()); assertTrue(addAttachmentResponseHandler.getContentId() != attachment.getAttachmentContentId()); BlockingGetTaskResponseHandler getTaskResponseHandler = new BlockingGetTaskResponseHandler(); client.getTask(taskId, getTaskResponseHandler); Task task1 = getTaskResponseHandler.getTask(); assertNotSame(task, task1); assertFalse(task.equals(task1)); List<Attachment> attachments1 = task1.getTaskData().getAttachments(); assertEquals(1, attachments1.size()); Attachment returnedAttachment = attachments1.get(0); assertEquals(attachedAt, returnedAttachment.getAttachedAt()); assertEquals(users.get("luke"), returnedAttachment.getAttachedBy()); assertEquals(AccessType.Inline, returnedAttachment.getAccessType()); assertEquals("txt", returnedAttachment.getContentType()); assertEquals("file1.txt", returnedAttachment.getName()); assertEquals(bytes.length, returnedAttachment.getSize()); assertEquals( (long) addAttachmentResponseHandler.getAttachmentId(), (long) returnedAttachment.getId()); assertEquals( (long) addAttachmentResponseHandler.getContentId(), (long) returnedAttachment.getAttachmentContentId()); // Make the same as the returned tasks, so we can test equals task.getTaskData().setAttachments(attachments1); task.getTaskData().setStatus(Status.Created); assertEquals(task, task1); BlockingGetContentResponseHandler getResponseHandler = new BlockingGetContentResponseHandler(); client.getContent(returnedAttachment.getAttachmentContentId(), getResponseHandler); content = getResponseHandler.getContent(); assertEquals("Ths is my attachment text1", new String(content.getContent())); // test we can have multiple attachments attachment = new Attachment(); attachedAt = new Date(System.currentTimeMillis()); attachment.setAttachedAt(attachedAt); attachment.setAttachedBy(users.get("tony")); attachment.setName("file2.txt"); attachment.setAccessType(AccessType.Inline); attachment.setContentType("txt"); bytes = "Ths is my attachment text2".getBytes(); content = new Content(); content.setContent(bytes); addAttachmentResponseHandler = new BlockingAddAttachmentResponseHandler(); client.addAttachment(taskId, attachment, content, addAttachmentResponseHandler); getTaskResponseHandler = new BlockingGetTaskResponseHandler(); client.getTask(taskId, getTaskResponseHandler); task1 = getTaskResponseHandler.getTask(); assertNotSame(task, task1); assertFalse(task.equals(task1)); List<Attachment> attachments2 = task1.getTaskData().getAttachments(); assertEquals(2, attachments2.size()); getResponseHandler = new BlockingGetContentResponseHandler(); client.getContent(addAttachmentResponseHandler.getContentId(), getResponseHandler); content = getResponseHandler.getContent(); assertEquals("Ths is my attachment text2", new String(content.getContent())); // make two collections the same and compare attachment.setSize(26); attachment.setAttachmentContentId(addAttachmentResponseHandler.getContentId()); attachments1.add(attachment); assertTrue(CollectionUtils.equals(attachments2, attachments1)); BlockingDeleteAttachmentResponseHandler deleteCommentResponseHandler = new BlockingDeleteAttachmentResponseHandler(); client.deleteAttachment( taskId, addAttachmentResponseHandler.getAttachmentId(), addAttachmentResponseHandler.getContentId(), deleteCommentResponseHandler); deleteCommentResponseHandler.waitTillDone(3000); Thread.sleep(3000); getTaskResponseHandler = new BlockingGetTaskResponseHandler(); client.getTask(taskId, getTaskResponseHandler); task1 = getTaskResponseHandler.getTask(); attachments2 = task1.getTaskData().getAttachments(); assertEquals(1, attachments2.size()); assertEquals("file1.txt", attachments2.get(0).getName()); }
public void testAddRemoveComment() { Map vars = fillVariables(users, groups); String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { createdOn = now, activationTime = now}), "; str += "deadlines = new Deadlines(),"; str += "delegation = new Delegation(),"; str += "peopleAssignments = new PeopleAssignments(),"; str += "names = [ new I18NText( 'en-UK', 'This is my task name')] })"; Task task = (Task) eval(new StringReader(str), vars); client.addTask(task, null); long taskId = task.getId(); Comment comment = new Comment(); Date addedAt = new Date(System.currentTimeMillis()); comment.setAddedAt(addedAt); comment.setAddedBy(users.get("luke")); comment.setText("This is my comment1!!!!!"); client.addComment(taskId, comment); long commentId = comment.getId(); Task task1 = client.getTask(taskId); // We are reusing this for local clients where the object is the same // assertNotSame(task, task1); // assertFalse(task.equals(task1)); List<Comment> comments1 = task1.getTaskData().getComments(); assertEquals(1, comments1.size()); Comment returnedComment = comments1.get(0); assertEquals("This is my comment1!!!!!", returnedComment.getText()); assertEquals(addedAt, returnedComment.getAddedAt()); assertEquals(users.get("luke"), returnedComment.getAddedBy()); assertEquals(commentId, (long) returnedComment.getId()); // Make the same as the returned tasks, so we can test equals task.getTaskData().setComments(comments1); task.getTaskData().setStatus(Status.Created); assertEquals(task, task1); // test we can have multiple comments comment = new Comment(); addedAt = new Date(System.currentTimeMillis()); comment.setAddedAt(addedAt); comment.setAddedBy(users.get("tony")); comment.setText("This is my comment2!!!!!"); client.addComment(taskId, comment); long commentId2 = comment.getId(); task1 = client.getTask(taskId); List<Comment> comments2 = task1.getTaskData().getComments(); assertEquals(2, comments2.size()); // make two collections the same and compare comments1.add(comment); assertTrue(CollectionUtils.equals(comments1, comments2)); client.deleteComment(taskId, commentId2); task1 = client.getTask(taskId); comments2 = task1.getTaskData().getComments(); assertEquals(1, comments2.size()); assertEquals("This is my comment1!!!!!", comments2.get(0).getText()); }