TSK-1168: Removed Id from CopyConstructor

This commit is contained in:
Christopher Heiting 2020-04-06 11:10:01 +02:00 committed by Mustapha Zorgati
parent 7d7a9e123e
commit 11bdda1047
23 changed files with 98 additions and 92 deletions

View File

@ -179,7 +179,7 @@ public interface Classification extends ClassificationSummary {
void setCustom8(String custom8);
/**
* Return a summary of the current Classification.
* Return a summary of the current Classification without the id.
*
* @return the ClassificationSummary object for the current classification
*/

View File

@ -141,7 +141,7 @@ public interface ClassificationSummary {
String getCustom8();
/**
* Duplicates this ClassificationSummary.
* Duplicates this ClassificationSummary without the id.
*
* @return a copy of this ClassificationSummary
*/

View File

@ -30,7 +30,6 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
public ClassificationSummaryImpl() {}
protected ClassificationSummaryImpl(ClassificationSummaryImpl copyFrom) {
id = copyFrom.id;
applicationEntryPoint = copyFrom.applicationEntryPoint;
category = copyFrom.category;
domain = copyFrom.domain;

View File

@ -59,7 +59,7 @@ public interface Attachment extends AttachmentSummary {
AttachmentSummary asSummary();
/**
* Duplicates this Attachment.
* Duplicates this Attachment without the id.
*
* @return a copy of this Attachment
*/

View File

@ -67,7 +67,7 @@ public interface AttachmentSummary {
Instant getReceived();
/**
* Duplicates this AttachmentSummary.
* Duplicates this AttachmentSummary without the id.
*
* @return a copy of this AttachmentSummary
*/

View File

@ -19,7 +19,6 @@ public class ObjectReference {
public ObjectReference() {}
private ObjectReference(ObjectReference copyFrom) {
id = copyFrom.id;
company = copyFrom.company;
system = copyFrom.system;
systemInstance = copyFrom.systemInstance;

View File

@ -189,7 +189,7 @@ public interface Task extends TaskSummary {
String getClassificationCategory();
/**
* Duplicates this Task.
* Duplicates this Task without the id.
*
* @return a copy of this Task
*/

View File

@ -55,7 +55,7 @@ public interface TaskComment {
Instant getModified();
/**
* Duplicates this TaskComment.
* Duplicates this TaskComment without the id.
*
* @return a copy of this TaskComment
*/

View File

@ -194,7 +194,7 @@ public interface TaskSummary {
String getCustomAttribute(String num) throws InvalidArgumentException;
/**
* Duplicates this TaskSummary.
* Duplicates this TaskSummary without the id.
*
* @return a copy of this TaskSummary
*/

View File

@ -23,7 +23,6 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
AttachmentSummaryImpl() {}
protected AttachmentSummaryImpl(AttachmentSummaryImpl copyFrom) {
id = copyFrom.id;
taskId = copyFrom.taskId;
created = copyFrom.created;
modified = copyFrom.modified;

View File

@ -17,7 +17,6 @@ public class TaskCommentImpl implements TaskComment {
public TaskCommentImpl() {}
public TaskCommentImpl(TaskCommentImpl copyFrom) {
id = copyFrom.id;
taskId = copyFrom.taskId;
textField = copyFrom.textField;
creator = copyFrom.creator;

View File

@ -65,7 +65,6 @@ public class TaskSummaryImpl implements TaskSummary {
public TaskSummaryImpl() {}
protected TaskSummaryImpl(TaskSummaryImpl copyFrom) {
id = copyFrom.id;
externalId = copyFrom.externalId;
created = copyFrom.created;
claimed = copyFrom.claimed;

View File

@ -100,7 +100,7 @@ public interface Workbasket extends WorkbasketSummary {
void setMarkedForDeletion(boolean markedForDeletion);
/**
* Duplicates this Workbasket.
* Duplicates this Workbasket without the id.
*
* @return a copy of this Workbasket
*/

View File

@ -317,7 +317,7 @@ public interface WorkbasketAccessItem {
void setPermCustom12(boolean permCustom12);
/**
* Duplicates this WorkbasketAccessItem.
* Duplicates this WorkbasketAccessItem without the id.
*
* @return a copy of this WorkbasketAccessItem
*/

View File

@ -121,7 +121,7 @@ public interface WorkbasketSummary {
boolean isMarkedForDeletion();
/**
* Duplicates this WorkbasketSummary.
* Duplicates this WorkbasketSummary without the id.
*
* @return a copy of this WorkbasketSummary
*/

View File

@ -33,7 +33,6 @@ public class WorkbasketAccessItemImpl implements WorkbasketAccessItem {
public WorkbasketAccessItemImpl() {}
private WorkbasketAccessItemImpl(WorkbasketAccessItemImpl copyFrom) {
id = copyFrom.id;
workbasketId = copyFrom.workbasketId;
workbasketKey = copyFrom.workbasketKey;
accessId = copyFrom.accessId;

View File

@ -28,7 +28,6 @@ public class WorkbasketSummaryImpl implements WorkbasketSummary {
public WorkbasketSummaryImpl() {}
protected WorkbasketSummaryImpl(WorkbasketSummaryImpl copyFrom) {
id = copyFrom.id;
key = copyFrom.key;
name = copyFrom.name;
description = copyFrom.description;

View File

@ -5,6 +5,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import org.junit.jupiter.api.Test;
import pro.taskana.classification.internal.models.ClassificationImpl;
import pro.taskana.classification.internal.models.ClassificationSummaryImpl;
class ClassificationModelsCloneTest {
@ -28,16 +29,20 @@ class ClassificationModelsCloneTest {
dummyClassificationForSummaryTest.setPriority(1);
dummyClassificationForSummaryTest.setName("dummyName");
dummyClassificationForSummaryTest.setParentKey("dummyParentKey");
ClassificationSummary dummyClassificationSummary =
dummyClassificationForSummaryTest.asSummary();
ClassificationSummary dummyClassificationSummaryCloned = dummyClassificationSummary.copy();
ClassificationSummaryImpl dummyClassificationSummary =
(ClassificationSummaryImpl) dummyClassificationForSummaryTest.asSummary();
dummyClassificationSummary.setId("dummyId");
ClassificationSummaryImpl dummyClassificationSummaryCloned = dummyClassificationSummary.copy();
assertThat(dummyClassificationSummaryCloned).isNotEqualTo(dummyClassificationSummary);
dummyClassificationSummaryCloned.setId(dummyClassificationSummary.getId());
assertThat(dummyClassificationSummaryCloned).isEqualTo(dummyClassificationSummary);
assertThat(dummyClassificationSummaryCloned).isNotSameAs(dummyClassificationSummary);
}
@Test
void testCloneInClassification() {
Classification dummyClassification = new ClassificationImpl();
ClassificationImpl dummyClassification = new ClassificationImpl();
dummyClassification.setId("dummyId");
dummyClassification.setApplicationEntryPoint("dummyEntryPoint");
dummyClassification.setCategory("dummyCategory");
dummyClassification.setCustom1("dummyCustom1");
@ -55,7 +60,9 @@ class ClassificationModelsCloneTest {
dummyClassification.setPriority(1);
dummyClassification.setName("dummyName");
dummyClassification.setParentKey("dummyParentKey");
Classification dummyClassificationCloned = dummyClassification.copy();
ClassificationImpl dummyClassificationCloned = dummyClassification.copy();
assertThat(dummyClassificationCloned).isNotEqualTo(dummyClassification);
dummyClassificationCloned.setId(dummyClassification.getId());
assertThat(dummyClassificationCloned).isEqualTo(dummyClassification);
assertThat(dummyClassificationCloned).isNotSameAs(dummyClassification);
}

View File

@ -8,7 +8,10 @@ import java.util.Map;
import org.junit.jupiter.api.Test;
import pro.taskana.task.internal.CreateTaskModelHelper;
import pro.taskana.task.internal.models.AttachmentImpl;
import pro.taskana.task.internal.models.AttachmentSummaryImpl;
import pro.taskana.task.internal.models.TaskCommentImpl;
import pro.taskana.task.internal.models.TaskImpl;
import pro.taskana.task.internal.models.TaskSummaryImpl;
class TaskModelsCloneTest {
@ -16,7 +19,7 @@ class TaskModelsCloneTest {
@Test
void testCloneInTaskSummary() {
TaskSummaryImpl dummyTaskSummary = new TaskSummaryImpl();
dummyTaskSummary.setId("dummyId");
Attachment dummyAttachmentForSummaryTestPreClone =
CreateTaskModelHelper.createAttachment("uniqueIdForDeepTest", "uniqueTaskIdForDeepTest");
AttachmentSummary dummyAttachmentSummary = dummyAttachmentForSummaryTestPreClone.asSummary();
@ -24,7 +27,9 @@ class TaskModelsCloneTest {
attachmentSummaries.add(dummyAttachmentSummary);
dummyTaskSummary.setAttachmentSummaries(attachmentSummaries);
TaskSummary dummyTaskSummaryCloned = dummyTaskSummary.copy();
TaskSummaryImpl dummyTaskSummaryCloned = dummyTaskSummary.copy();
assertThat(dummyTaskSummaryCloned).isNotEqualTo(dummyTaskSummary);
dummyTaskSummaryCloned.setId(dummyTaskSummary.getId());
assertThat(dummyTaskSummaryCloned).isEqualTo(dummyTaskSummary);
assertThat(dummyTaskSummaryCloned).isNotSameAs(dummyTaskSummary);
@ -38,7 +43,7 @@ class TaskModelsCloneTest {
@Test
void testCloneInTask() {
Task dummyTask =
TaskImpl dummyTask =
CreateTaskModelHelper.createUnitTestTask(
"dummyTaskId",
"dummyTaskName",
@ -51,7 +56,9 @@ class TaskModelsCloneTest {
dummyCallbackInfoPreClone.put("dummyCallbackKey", "dummyCallbackValue");
dummyTask.setCallbackInfo(dummyCallbackInfoPreClone);
Task dummyTaskCloned = dummyTask.copy();
TaskImpl dummyTaskCloned = dummyTask.copy();
assertThat(dummyTaskCloned).isNotEqualTo(dummyTask);
dummyTaskCloned.setId(dummyTask.getId());
assertThat(dummyTaskCloned).isEqualTo(dummyTask);
assertThat(dummyTaskCloned).isNotSameAs(dummyTask);
@ -64,7 +71,10 @@ class TaskModelsCloneTest {
void testCloneInTaskComment() {
TaskCommentImpl dummyComment = new TaskCommentImpl();
dummyComment.setTextField("dummyTextField");
TaskComment dummyCommentCloned = dummyComment.copy();
dummyComment.setId("dummyId");
TaskCommentImpl dummyCommentCloned = dummyComment.copy();
assertThat(dummyCommentCloned).isNotEqualTo(dummyComment);
dummyCommentCloned.setId(dummyComment.getId());
assertThat(dummyCommentCloned).isEqualTo(dummyComment);
assertThat(dummyCommentCloned).isNotSameAs(dummyComment);
}
@ -79,6 +89,8 @@ class TaskModelsCloneTest {
dummyReference.setType("dummyType");
dummyReference.setValue("dummyValue");
ObjectReference dummyReferenceCloned = dummyReference.copy();
assertThat(dummyReferenceCloned).isNotEqualTo(dummyReference);
dummyReferenceCloned.setId(dummyReference.getId());
assertThat(dummyReferenceCloned).isEqualTo(dummyReference);
assertThat(dummyReferenceCloned).isNotSameAs(dummyReference);
}
@ -87,22 +99,27 @@ class TaskModelsCloneTest {
void testCloneInAttachmentSummary() {
Attachment dummyAttachmentForSummaryTest =
CreateTaskModelHelper.createAttachment("dummyAttachmentId", "dummyTaskId");
AttachmentSummary dummyAttachmentSummary = dummyAttachmentForSummaryTest.asSummary();
AttachmentSummary dummyAttachmentSummaryCloned = dummyAttachmentSummary.copy();
AttachmentSummaryImpl dummyAttachmentSummary =
(AttachmentSummaryImpl) dummyAttachmentForSummaryTest.asSummary();
AttachmentSummaryImpl dummyAttachmentSummaryCloned = dummyAttachmentSummary.copy();
assertThat(dummyAttachmentSummaryCloned).isNotEqualTo(dummyAttachmentSummary);
dummyAttachmentSummaryCloned.setId(dummyAttachmentSummary.getId());
assertThat(dummyAttachmentSummaryCloned).isEqualTo(dummyAttachmentSummary);
assertThat(dummyAttachmentSummaryCloned).isNotSameAs(dummyAttachmentSummary);
}
@Test
void testCloneInAttachment() {
Attachment dummyAttachment =
AttachmentImpl dummyAttachment =
CreateTaskModelHelper.createAttachment("dummyAttachmentId", "dummyTaskId");
Map<String, String> dummyMapPreClone = new HashMap<>();
dummyMapPreClone.put("dummyString1", "dummyString2");
dummyAttachment.setCustomAttributes(dummyMapPreClone);
Attachment dummyAttachmentCloned = dummyAttachment.copy();
AttachmentImpl dummyAttachmentCloned = dummyAttachment.copy();
assertThat(dummyAttachmentCloned).isNotEqualTo(dummyAttachment);
dummyAttachmentCloned.setId(dummyAttachment.getId());
assertThat(dummyAttachmentCloned).isEqualTo(dummyAttachment);
assertThat(dummyAttachmentCloned).isNotSameAs(dummyAttachment);

View File

@ -6,34 +6,13 @@ import java.util.ArrayList;
import pro.taskana.classification.api.models.Classification;
import pro.taskana.classification.internal.models.ClassificationImpl;
import pro.taskana.task.api.models.Attachment;
import pro.taskana.task.api.TaskState;
import pro.taskana.task.internal.models.AttachmentImpl;
import pro.taskana.task.internal.models.TaskImpl;
import pro.taskana.workbasket.internal.models.WorkbasketImpl;
public class CreateTaskModelHelper {
public static TaskImpl createUnitTestTask(
String id, String name, String workbasketKey, Classification classification) {
TaskImpl task = new TaskImpl();
task.setId(id);
task.setExternalId(id);
task.setName(name);
task.setWorkbasketKey(workbasketKey);
task.setDomain("");
task.setAttachments(new ArrayList<>());
Instant now = Instant.now().minus(Duration.ofMinutes(1L));
task.setCreated(now);
task.setModified(now);
if (classification == null) {
classification = createDummyClassification();
}
task.setClassificationSummary(classification.asSummary());
task.setClassificationKey(classification.getKey());
task.setDomain(classification.getDomain());
return task;
}
public static Classification createDummyClassification() {
ClassificationImpl classification = new ClassificationImpl();
classification.setName("dummy-classification");
@ -52,10 +31,32 @@ public class CreateTaskModelHelper {
return workbasket;
}
public static Attachment createAttachment(String id, String taskId) {
public static AttachmentImpl createAttachment(String id, String taskId) {
AttachmentImpl attachment = new AttachmentImpl();
attachment.setId(id);
attachment.setTaskId(taskId);
return attachment;
}
public static TaskImpl createUnitTestTask(
String id, String name, String workbasketKey, Classification classification) {
TaskImpl task = new TaskImpl();
task.setId(id);
task.setExternalId(id);
task.setName(name);
task.setWorkbasketKey(workbasketKey);
task.setDomain("");
task.setAttachments(new ArrayList<>());
Instant now = Instant.now().minus(Duration.ofMinutes(1L));
task.setCreated(now);
task.setModified(now);
task.setState(TaskState.READY);
if (classification == null) {
classification = createDummyClassification();
}
task.setClassificationSummary(classification.asSummary());
task.setClassificationKey(classification.getKey());
task.setDomain(classification.getDomain());
return task;
}
}

View File

@ -6,12 +6,13 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals;
import org.junit.jupiter.api.Test;
import pro.taskana.classification.api.models.Classification;
import pro.taskana.classification.internal.models.ClassificationImpl;
import pro.taskana.common.internal.JunitHelper;
import pro.taskana.task.api.TaskState;
import pro.taskana.task.api.models.ObjectReference;
import pro.taskana.task.api.models.TaskSummary;
import pro.taskana.task.internal.models.TaskImpl;
import pro.taskana.workbasket.api.models.Workbasket;
import pro.taskana.workbasket.internal.models.WorkbasketImpl;
/**
* Unit Test for TaskServiceImpl.
@ -54,28 +55,6 @@ class TaskServiceImplTest {
assertEquals(summaryBefore, summaryAfter);
assertEquals(summaryBefore.hashCode(), summaryAfter.hashCode());
}
static TaskImpl createUnitTestTask(
String id, String name, String workbasketKey, Classification classification) {
TaskImpl task = new TaskImpl();
task.setId(id);
task.setExternalId(id);
task.setName(name);
task.setWorkbasketKey(workbasketKey);
task.setDomain("");
task.setAttachments(new ArrayList<>());
Instant now = Instant.now().minus(Duration.ofMinutes(1L));
task.setCreated(now);
task.setModified(now);
task.setState(TaskState.READY);
if (classification == null) {
classification = createDummyClassification();
}
task.setClassificationSummary(classification.asSummary());
task.setClassificationKey(classification.getKey());
task.setDomain(classification.getDomain());
return task;
}
static Classification createDummyClassification() {
ClassificationImpl classification = new ClassificationImpl();
@ -94,5 +73,4 @@ class TaskServiceImplTest {
workbasket.setName("Workbasket " + id);
return workbasket;
}
}

View File

@ -7,7 +7,6 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;
@ -68,9 +67,8 @@ class TaskTransferrerTest {
void testTransferTaskToDestinationWorkbasketWithoutSecurity()
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
InvalidStateException {
when(internalTaskanaEngineMock.getEngine()).thenReturn(taskanaEngineMock);
when(taskanaEngineMock.getWorkbasketService()).thenReturn(workbasketServiceMock);
doReturn(taskanaEngineMock).when(internalTaskanaEngineMock).getEngine();
doReturn(workbasketServiceMock).when(taskanaEngineMock).getWorkbasketService();
cut = new TaskTransferrer(internalTaskanaEngineMock, taskMapperMock, taskServiceImplMock);
final TaskTransferrer cutSpy = Mockito.spy(cut);
@ -78,12 +76,13 @@ class TaskTransferrerTest {
Workbasket sourceWorkbasket = CreateTaskModelHelper.createWorkbasket("47", "key47");
Classification dummyClassification = CreateTaskModelHelper.createDummyClassification();
TaskImpl task =
CreateTaskModelHelper
.createUnitTestTask("1", "Unit Test Task 1", "key47", dummyClassification);
CreateTaskModelHelper.createUnitTestTask(
"1", "Unit Test Task 1", "key47", dummyClassification);
task.setWorkbasketSummary(sourceWorkbasket.asSummary());
task.setRead(true);
when(workbasketServiceMock.getWorkbasket(destinationWorkbasket.getId()))
.thenReturn(destinationWorkbasket);
doReturn(destinationWorkbasket)
.when(workbasketServiceMock)
.getWorkbasket(destinationWorkbasket.getId());
doReturn(task).when(taskServiceImplMock).getTask(task.getId());
final Task actualTask = cutSpy.transfer(task.getId(), destinationWorkbasket.getId());

View File

@ -6,6 +6,7 @@ import org.junit.jupiter.api.Test;
import pro.taskana.workbasket.internal.models.WorkbasketAccessItemImpl;
import pro.taskana.workbasket.internal.models.WorkbasketImpl;
import pro.taskana.workbasket.internal.models.WorkbasketSummaryImpl;
class WorkbasketModelsCloneTest {
@ -24,15 +25,20 @@ class WorkbasketModelsCloneTest {
dummyWorkbasketForSummaryTest.setOrgLevel3("dummyOrgLevel3");
dummyWorkbasketForSummaryTest.setOrgLevel4("dummyOrgLevel4");
dummyWorkbasketForSummaryTest.setOwner("dummyOwner");
WorkbasketSummary dummyWorkbasketSummary = dummyWorkbasketForSummaryTest.asSummary();
WorkbasketSummary dummyWorkbasketSummaryCloned = dummyWorkbasketSummary.copy();
WorkbasketSummaryImpl dummyWorkbasketSummary =
(WorkbasketSummaryImpl) dummyWorkbasketForSummaryTest.asSummary();
dummyWorkbasketSummary.setId("dummyId");
WorkbasketSummaryImpl dummyWorkbasketSummaryCloned = dummyWorkbasketSummary.copy();
assertThat(dummyWorkbasketSummaryCloned).isNotEqualTo(dummyWorkbasketSummary);
dummyWorkbasketSummaryCloned.setId(dummyWorkbasketSummary.getId());
assertThat(dummyWorkbasketSummaryCloned).isEqualTo(dummyWorkbasketSummary);
assertThat(dummyWorkbasketSummaryCloned).isNotSameAs(dummyWorkbasketSummary);
}
@Test
void testCloneInWorkbasket() {
Workbasket dummyWorkbasket = new WorkbasketImpl();
WorkbasketImpl dummyWorkbasket = new WorkbasketImpl();
dummyWorkbasket.setId("dummyId");
dummyWorkbasket.setCustom1("dummyCustom1");
dummyWorkbasket.setCustom2("dummyCustom2");
dummyWorkbasket.setCustom3("dummyCustom3");
@ -45,14 +51,17 @@ class WorkbasketModelsCloneTest {
dummyWorkbasket.setOrgLevel3("dummyOrgLevel3");
dummyWorkbasket.setOrgLevel4("dummyOrgLevel4");
dummyWorkbasket.setOwner("dummyOwner");
Workbasket dummyWorkbasketCloned = dummyWorkbasket.copy();
WorkbasketImpl dummyWorkbasketCloned = dummyWorkbasket.copy();
assertThat(dummyWorkbasketCloned).isNotEqualTo(dummyWorkbasket);
dummyWorkbasketCloned.setId(dummyWorkbasket.getId());
assertThat(dummyWorkbasketCloned).isEqualTo(dummyWorkbasket);
assertThat(dummyWorkbasketCloned).isNotSameAs(dummyWorkbasket);
}
@Test
void testCloneInWorkbasketAccessItem() {
WorkbasketAccessItem dummyWorkbasketAccessItem = new WorkbasketAccessItemImpl();
WorkbasketAccessItemImpl dummyWorkbasketAccessItem = new WorkbasketAccessItemImpl();
dummyWorkbasketAccessItem.setId("dummyId");
dummyWorkbasketAccessItem.setAccessName("dummyAccessName");
dummyWorkbasketAccessItem.setPermAppend(false);
dummyWorkbasketAccessItem.setPermCustom1(false);
@ -71,7 +80,9 @@ class WorkbasketModelsCloneTest {
dummyWorkbasketAccessItem.setPermOpen(false);
dummyWorkbasketAccessItem.setPermRead(false);
dummyWorkbasketAccessItem.setPermTransfer(false);
WorkbasketAccessItem dummyWorkbasketAccessItemCloned = dummyWorkbasketAccessItem.copy();
WorkbasketAccessItemImpl dummyWorkbasketAccessItemCloned = dummyWorkbasketAccessItem.copy();
assertThat(dummyWorkbasketAccessItemCloned).isNotEqualTo(dummyWorkbasketAccessItem);
dummyWorkbasketAccessItemCloned.setId(dummyWorkbasketAccessItem.getId());
assertThat(dummyWorkbasketAccessItemCloned).isEqualTo(dummyWorkbasketAccessItem);
assertThat(dummyWorkbasketAccessItemCloned).isNotSameAs(dummyWorkbasketAccessItem);
}