TSK-1168: made interfaces of entities clonable
This commit is contained in:
parent
b79c4891e3
commit
9013eaa573
|
@ -177,4 +177,11 @@ public interface Classification extends ClassificationSummary {
|
|||
* @return the ClassificationSummary object for the current classification
|
||||
*/
|
||||
ClassificationSummary asSummary();
|
||||
|
||||
/**
|
||||
* Duplicates this Classification
|
||||
*
|
||||
* @return a copy of this Classification
|
||||
*/
|
||||
Classification clone();
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ package pro.taskana.classification.api.models;
|
|||
* Interface for ClassificationSummaries. This is a specific short model-object which only requieres
|
||||
* the most important informations. Specific ones can be load afterwards via ID.
|
||||
*/
|
||||
public interface ClassificationSummary {
|
||||
public interface ClassificationSummary extends Cloneable {
|
||||
|
||||
/**
|
||||
* Gets the id of the classification.
|
||||
|
@ -63,8 +63,8 @@ public interface ClassificationSummary {
|
|||
String getParentKey();
|
||||
|
||||
/**
|
||||
* Gets the service level of the classification. It is a String in ISO-8601 duration
|
||||
* format. See the parse() method of {@code Duration} for details.
|
||||
* Gets the service level of the classification. It is a String in ISO-8601 duration format. See
|
||||
* the parse() method of {@code Duration} for details.
|
||||
*
|
||||
* @return the service level
|
||||
*/
|
||||
|
@ -139,4 +139,11 @@ public interface ClassificationSummary {
|
|||
* @return custom8
|
||||
*/
|
||||
String getCustom8();
|
||||
|
||||
/**
|
||||
* Duplicates this ClassificationSummary
|
||||
*
|
||||
* @return a copy of this ClassificationSummary
|
||||
*/
|
||||
ClassificationSummary clone();
|
||||
}
|
||||
|
|
|
@ -16,30 +16,12 @@ public class ClassificationImpl extends ClassificationSummaryImpl implements Cla
|
|||
|
||||
public ClassificationImpl() {}
|
||||
|
||||
public ClassificationImpl(ClassificationImpl classification) {
|
||||
this.id = classification.getId();
|
||||
this.key = classification.getKey();
|
||||
this.parentId = classification.getParentId();
|
||||
this.parentKey = classification.getParentKey();
|
||||
this.category = classification.getCategory();
|
||||
this.type = classification.getType();
|
||||
this.domain = classification.getDomain();
|
||||
this.isValidInDomain = classification.getIsValidInDomain();
|
||||
this.created = classification.getCreated();
|
||||
this.modified = classification.getModified();
|
||||
this.name = classification.getName();
|
||||
this.description = classification.getDescription();
|
||||
this.priority = classification.getPriority();
|
||||
this.serviceLevel = classification.getServiceLevel();
|
||||
this.applicationEntryPoint = classification.getApplicationEntryPoint();
|
||||
this.custom1 = classification.getCustom1();
|
||||
this.custom2 = classification.getCustom2();
|
||||
this.custom3 = classification.getCustom3();
|
||||
this.custom4 = classification.getCustom4();
|
||||
this.custom5 = classification.getCustom5();
|
||||
this.custom6 = classification.getCustom6();
|
||||
this.custom7 = classification.getCustom7();
|
||||
this.custom8 = classification.getCustom8();
|
||||
private ClassificationImpl(ClassificationImpl copyFrom) {
|
||||
super(copyFrom);
|
||||
isValidInDomain = copyFrom.isValidInDomain;
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
description = copyFrom.description;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -119,10 +101,14 @@ public class ClassificationImpl extends ClassificationSummaryImpl implements Cla
|
|||
return (other instanceof ClassificationImpl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassificationImpl clone() {
|
||||
return new ClassificationImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
super.hashCode(), isValidInDomain, created, modified, description);
|
||||
return Objects.hash(super.hashCode(), isValidInDomain, created, modified, description);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -29,6 +29,28 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
|
|||
|
||||
public ClassificationSummaryImpl() {}
|
||||
|
||||
protected ClassificationSummaryImpl(ClassificationSummaryImpl copyFrom) {
|
||||
id = copyFrom.id;
|
||||
applicationEntryPoint = copyFrom.applicationEntryPoint;
|
||||
category = copyFrom.category;
|
||||
domain = copyFrom.domain;
|
||||
key = copyFrom.key;
|
||||
name = copyFrom.name;
|
||||
parentId = copyFrom.parentId;
|
||||
parentKey = copyFrom.parentKey;
|
||||
priority = copyFrom.priority;
|
||||
serviceLevel = copyFrom.serviceLevel;
|
||||
type = copyFrom.type;
|
||||
custom1 = copyFrom.custom1;
|
||||
custom2 = copyFrom.custom2;
|
||||
custom3 = copyFrom.custom3;
|
||||
custom4 = copyFrom.custom4;
|
||||
custom5 = copyFrom.custom5;
|
||||
custom6 = copyFrom.custom6;
|
||||
custom7 = copyFrom.custom7;
|
||||
custom8 = copyFrom.custom8;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return id;
|
||||
|
@ -97,16 +119,28 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
|
|||
return parentKey;
|
||||
}
|
||||
|
||||
public void setParentKey(String parentKey) {
|
||||
this.parentKey = parentKey;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getServiceLevel() {
|
||||
return serviceLevel;
|
||||
}
|
||||
|
||||
public void setServiceLevel(String serviceLevel) {
|
||||
this.serviceLevel = serviceLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getApplicationEntryPoint() {
|
||||
return this.applicationEntryPoint;
|
||||
}
|
||||
|
||||
public void setApplicationEntryPoint(String applicationEntryPoint) {
|
||||
this.applicationEntryPoint = applicationEntryPoint;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPriority() {
|
||||
return priority;
|
||||
|
@ -188,22 +222,15 @@ public class ClassificationSummaryImpl implements ClassificationSummary {
|
|||
this.custom8 = custom8;
|
||||
}
|
||||
|
||||
public void setApplicationEntryPoint(String applicationEntryPoint) {
|
||||
this.applicationEntryPoint = applicationEntryPoint;
|
||||
}
|
||||
|
||||
public void setServiceLevel(String serviceLevel) {
|
||||
this.serviceLevel = serviceLevel;
|
||||
}
|
||||
|
||||
public void setParentKey(String parentKey) {
|
||||
this.parentKey = parentKey;
|
||||
}
|
||||
|
||||
protected boolean canEqual(Object other) {
|
||||
return (other instanceof ClassificationSummaryImpl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClassificationSummaryImpl clone() {
|
||||
return new ClassificationSummaryImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
|
|
|
@ -57,4 +57,11 @@ public interface Attachment extends AttachmentSummary {
|
|||
* @return the AttachmentSummary object for the current attachment
|
||||
*/
|
||||
AttachmentSummary asSummary();
|
||||
|
||||
/**
|
||||
* Duplicates this Attachment
|
||||
*
|
||||
* @return a copy of this Attachment
|
||||
*/
|
||||
Attachment clone();
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import pro.taskana.classification.api.models.ClassificationSummary;
|
|||
* Interface for AttachmentSummaries. This is a specific short model-object which only contains the
|
||||
* most important information.
|
||||
*/
|
||||
public interface AttachmentSummary {
|
||||
public interface AttachmentSummary extends Cloneable {
|
||||
|
||||
/**
|
||||
* Gets the id of the attachment.
|
||||
|
@ -65,4 +65,11 @@ public interface AttachmentSummary {
|
|||
* @return received Instant
|
||||
*/
|
||||
Instant getReceived();
|
||||
|
||||
/**
|
||||
* Duplicates this AttachmentSummary
|
||||
*
|
||||
* @return a copy of this AttachmentSummary
|
||||
*/
|
||||
AttachmentSummary clone();
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory;
|
|||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||
|
||||
/** ObjectReference entity. */
|
||||
public class ObjectReference {
|
||||
public class ObjectReference implements Cloneable {
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ObjectReference.class);
|
||||
private String id;
|
||||
private String company;
|
||||
|
@ -16,6 +16,44 @@ public class ObjectReference {
|
|||
private String type;
|
||||
private String value;
|
||||
|
||||
public ObjectReference() {}
|
||||
|
||||
private ObjectReference(ObjectReference copyFrom) {
|
||||
id = copyFrom.id;
|
||||
company = copyFrom.company;
|
||||
system = copyFrom.system;
|
||||
systemInstance = copyFrom.systemInstance;
|
||||
type = copyFrom.type;
|
||||
value = copyFrom.value;
|
||||
}
|
||||
|
||||
public static void validate(ObjectReference objectReference, String objRefType, String objName)
|
||||
throws InvalidArgumentException {
|
||||
LOGGER.debug("entry to validateObjectReference()");
|
||||
// check that all values in the ObjectReference are set correctly
|
||||
if (objectReference == null) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("ObectReferenc %s of %s must not be null.", objRefType, objName));
|
||||
} else if (objectReference.getCompany() == null || objectReference.getCompany().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("Company of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getSystem() == null || objectReference.getSystem().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("System of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getSystemInstance() == null
|
||||
|| objectReference.getSystemInstance().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("SystemInstance of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getType() == null || objectReference.getType().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("Type of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getValue() == null || objectReference.getValue().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("Value of %s of %s must not be empty", objRefType, objName));
|
||||
}
|
||||
LOGGER.debug("exit from validateObjectReference()");
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
@ -64,31 +102,9 @@ public class ObjectReference {
|
|||
this.value = value;
|
||||
}
|
||||
|
||||
public static void validate(ObjectReference objectReference, String objRefType, String objName)
|
||||
throws InvalidArgumentException {
|
||||
LOGGER.debug("entry to validateObjectReference()");
|
||||
// check that all values in the ObjectReference are set correctly
|
||||
if (objectReference == null) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("ObectReferenc %s of %s must not be null.", objRefType, objName));
|
||||
} else if (objectReference.getCompany() == null || objectReference.getCompany().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("Company of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getSystem() == null || objectReference.getSystem().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("System of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getSystemInstance() == null
|
||||
|| objectReference.getSystemInstance().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("SystemInstance of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getType() == null || objectReference.getType().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("Type of %s of %s must not be empty", objRefType, objName));
|
||||
} else if (objectReference.getValue() == null || objectReference.getValue().length() == 0) {
|
||||
throw new InvalidArgumentException(
|
||||
String.format("Value of %s of %s must not be empty", objRefType, objName));
|
||||
}
|
||||
LOGGER.debug("exit from validateObjectReference()");
|
||||
@Override
|
||||
protected ObjectReference clone() {
|
||||
return new ObjectReference(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -187,4 +187,11 @@ public interface Task extends TaskSummary {
|
|||
* @return classificationCategory
|
||||
*/
|
||||
String getClassificationCategory();
|
||||
|
||||
/**
|
||||
* Duplicates this Task
|
||||
*
|
||||
* @return a copy of this Task
|
||||
*/
|
||||
Task clone();
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package pro.taskana.task.api.models;
|
|||
import java.time.Instant;
|
||||
|
||||
/** TaskComment-Interface to specify TaskComment Attributes. */
|
||||
public interface TaskComment {
|
||||
public interface TaskComment extends Cloneable {
|
||||
|
||||
/**
|
||||
* Gets the id of the task comment.
|
||||
|
@ -33,11 +33,8 @@ public interface TaskComment {
|
|||
*/
|
||||
String getTextField();
|
||||
|
||||
/**
|
||||
* Sets the text field of the task comment.
|
||||
*
|
||||
/** Sets the text field of the task comment. */
|
||||
* @param textField the text field
|
||||
*/
|
||||
void setTextField(String textField);
|
||||
|
||||
/**
|
||||
|
@ -54,6 +51,10 @@ public interface TaskComment {
|
|||
*/
|
||||
Instant getModified();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Duplicates this TaskComment
|
||||
*
|
||||
* @return a copy of this TaskComment
|
||||
*/
|
||||
TaskComment clone();
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ import pro.taskana.workbasket.api.models.WorkbasketSummary;
|
|||
* Interface for TaskSummary. This is a specific short model-object which only contains the most
|
||||
* important information.
|
||||
*/
|
||||
public interface TaskSummary {
|
||||
public interface TaskSummary extends Cloneable {
|
||||
|
||||
/**
|
||||
* Gets the id of the task.
|
||||
|
@ -192,4 +192,11 @@ public interface TaskSummary {
|
|||
* @throws InvalidArgumentException if num has not a value of "1", "2" ... "16"
|
||||
*/
|
||||
String getCustomAttribute(String num) throws InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Duplicates this TaskSummary
|
||||
*
|
||||
* @return a copy of this TaskSummary
|
||||
*/
|
||||
TaskSummary clone();
|
||||
}
|
||||
|
|
|
@ -18,6 +18,11 @@ public class AttachmentImpl extends AttachmentSummaryImpl implements Attachment
|
|||
|
||||
public AttachmentImpl() {}
|
||||
|
||||
private AttachmentImpl(AttachmentImpl copyFrom) {
|
||||
super(copyFrom);
|
||||
customAttributes = new HashMap<>(copyFrom.customAttributes);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> getCustomAttributes() {
|
||||
if (customAttributes == null) {
|
||||
|
@ -49,6 +54,11 @@ public class AttachmentImpl extends AttachmentSummaryImpl implements Attachment
|
|||
return (!(other instanceof AttachmentImpl));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AttachmentImpl clone() {
|
||||
return new AttachmentImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(super.hashCode(), customAttributes);
|
||||
|
|
|
@ -22,6 +22,17 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
|
|||
|
||||
AttachmentSummaryImpl() {}
|
||||
|
||||
protected AttachmentSummaryImpl(AttachmentSummaryImpl copyFrom) {
|
||||
id = copyFrom.id;
|
||||
taskId = copyFrom.taskId;
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
classificationSummary = copyFrom.classificationSummary;
|
||||
objectReference = copyFrom.objectReference;
|
||||
channel = copyFrom.channel;
|
||||
received = copyFrom.received;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see pro.taskana.impl.AttachmentSummary#getId()
|
||||
|
@ -96,6 +107,10 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
|
|||
return channel;
|
||||
}
|
||||
|
||||
public void setChannel(String channel) {
|
||||
this.channel = channel;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see pro.taskana.impl.AttachmentSummary#getClassification()
|
||||
|
@ -122,10 +137,6 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
|
|||
this.received = received;
|
||||
}
|
||||
|
||||
public void setChannel(String channel) {
|
||||
this.channel = channel;
|
||||
}
|
||||
|
||||
// auxiliary method to enable MyBatis access to classificationSummary
|
||||
@SuppressWarnings("unused")
|
||||
public ClassificationSummaryImpl getClassificationSummaryImpl() {
|
||||
|
@ -142,6 +153,11 @@ public class AttachmentSummaryImpl implements AttachmentSummary {
|
|||
return (!(other instanceof AttachmentSummaryImpl));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AttachmentSummaryImpl clone() {
|
||||
return new AttachmentSummaryImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
|
|
|
@ -14,6 +14,17 @@ public class TaskCommentImpl implements TaskComment {
|
|||
private Instant created;
|
||||
private Instant modified;
|
||||
|
||||
public TaskCommentImpl() {}
|
||||
|
||||
private TaskCommentImpl(TaskCommentImpl copyFrom) {
|
||||
id = copyFrom.id;
|
||||
taskId = copyFrom.taskId;
|
||||
textField = copyFrom.textField;
|
||||
creator = copyFrom.creator;
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return id;
|
||||
|
@ -45,6 +56,10 @@ public class TaskCommentImpl implements TaskComment {
|
|||
return textField;
|
||||
}
|
||||
|
||||
public void setTextField(String textField) {
|
||||
this.textField = textField;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
|
@ -63,23 +78,18 @@ public class TaskCommentImpl implements TaskComment {
|
|||
this.modified = modified;
|
||||
}
|
||||
|
||||
public void setTextField(String textField) {
|
||||
this.textField = textField;
|
||||
}
|
||||
|
||||
protected boolean canEqual(Object other) {
|
||||
return (other instanceof TaskCommentImpl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaskCommentImpl clone() {
|
||||
return new TaskCommentImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
id,
|
||||
taskId,
|
||||
textField,
|
||||
creator,
|
||||
created,
|
||||
modified);
|
||||
return Objects.hash(id, taskId, textField, creator, created, modified);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -29,6 +29,14 @@ public class TaskImpl extends TaskSummaryImpl implements Task {
|
|||
|
||||
public TaskImpl() {}
|
||||
|
||||
private TaskImpl(TaskImpl copyFrom) {
|
||||
super(copyFrom);
|
||||
customAttributes = new HashMap<>(copyFrom.customAttributes);
|
||||
callbackInfo = new HashMap<>(copyFrom.callbackInfo);
|
||||
callbackState = copyFrom.callbackState;
|
||||
attachments = new ArrayList<>(copyFrom.attachments);
|
||||
}
|
||||
|
||||
public CallbackState getCallbackState() {
|
||||
return callbackState;
|
||||
}
|
||||
|
@ -170,6 +178,14 @@ public class TaskImpl extends TaskSummaryImpl implements Task {
|
|||
return attachments;
|
||||
}
|
||||
|
||||
public void setAttachments(List<Attachment> attachments) {
|
||||
if (attachments != null) {
|
||||
this.attachments = attachments;
|
||||
} else if (this.attachments == null) {
|
||||
this.attachments = new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaskSummary asSummary() {
|
||||
TaskSummaryImpl taskSummary = new TaskSummaryImpl();
|
||||
|
@ -246,14 +262,6 @@ public class TaskImpl extends TaskSummaryImpl implements Task {
|
|||
((ClassificationSummaryImpl) this.classificationSummary).setCategory(classificationCategory);
|
||||
}
|
||||
|
||||
public void setAttachments(List<Attachment> attachments) {
|
||||
if (attachments != null) {
|
||||
this.attachments = attachments;
|
||||
} else if (this.attachments == null) {
|
||||
this.attachments = new ArrayList<>();
|
||||
}
|
||||
}
|
||||
|
||||
public String getClassificationId() {
|
||||
return classificationSummary == null ? null : classificationSummary.getId();
|
||||
}
|
||||
|
@ -262,6 +270,11 @@ public class TaskImpl extends TaskSummaryImpl implements Task {
|
|||
return (other instanceof TaskImpl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaskImpl clone() {
|
||||
return new TaskImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
|
|
|
@ -64,6 +64,48 @@ public class TaskSummaryImpl implements TaskSummary {
|
|||
|
||||
public TaskSummaryImpl() {}
|
||||
|
||||
protected TaskSummaryImpl(TaskSummaryImpl copyFrom) {
|
||||
id = copyFrom.id;
|
||||
externalId = copyFrom.externalId;
|
||||
created = copyFrom.created;
|
||||
claimed = copyFrom.claimed;
|
||||
completed = copyFrom.completed;
|
||||
modified = copyFrom.modified;
|
||||
planned = copyFrom.planned;
|
||||
due = copyFrom.due;
|
||||
name = copyFrom.name;
|
||||
creator = copyFrom.creator;
|
||||
note = copyFrom.note;
|
||||
description = copyFrom.description;
|
||||
priority = copyFrom.priority;
|
||||
state = copyFrom.state;
|
||||
classificationSummary = copyFrom.classificationSummary;
|
||||
workbasketSummary = copyFrom.workbasketSummary;
|
||||
businessProcessId = copyFrom.businessProcessId;
|
||||
parentBusinessProcessId = copyFrom.parentBusinessProcessId;
|
||||
owner = copyFrom.owner;
|
||||
primaryObjRef = copyFrom.primaryObjRef;
|
||||
isRead = copyFrom.isRead;
|
||||
isTransferred = copyFrom.isTransferred;
|
||||
attachmentSummaries = new ArrayList<>(copyFrom.attachmentSummaries);
|
||||
custom1 = copyFrom.custom1;
|
||||
custom2 = copyFrom.custom2;
|
||||
custom3 = copyFrom.custom3;
|
||||
custom4 = copyFrom.custom4;
|
||||
custom5 = copyFrom.custom5;
|
||||
custom6 = copyFrom.custom6;
|
||||
custom7 = copyFrom.custom7;
|
||||
custom8 = copyFrom.custom8;
|
||||
custom9 = copyFrom.custom9;
|
||||
custom10 = copyFrom.custom10;
|
||||
custom11 = copyFrom.custom11;
|
||||
custom12 = copyFrom.custom12;
|
||||
custom13 = copyFrom.custom13;
|
||||
custom14 = copyFrom.custom14;
|
||||
custom15 = copyFrom.custom15;
|
||||
custom16 = copyFrom.custom16;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see pro.taskana.TaskSummary#getTaskId()
|
||||
|
@ -99,6 +141,10 @@ public class TaskSummaryImpl implements TaskSummary {
|
|||
return creator;
|
||||
}
|
||||
|
||||
public void setCreator(String creator) {
|
||||
this.creator = creator;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see pro.taskana.TaskSummary#getCreated()
|
||||
|
@ -276,6 +322,10 @@ public class TaskSummaryImpl implements TaskSummary {
|
|||
return attachmentSummaries;
|
||||
}
|
||||
|
||||
public void setAttachmentSummaries(List<AttachmentSummary> attachmentSummaries) {
|
||||
this.attachmentSummaries = attachmentSummaries;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see pro.taskana.TaskSummary#getDomain()
|
||||
|
@ -422,14 +472,6 @@ public class TaskSummaryImpl implements TaskSummary {
|
|||
}
|
||||
}
|
||||
|
||||
public void setAttachmentSummaries(List<AttachmentSummary> attachmentSummaries) {
|
||||
this.attachmentSummaries = attachmentSummaries;
|
||||
}
|
||||
|
||||
public void setCreator(String creator) {
|
||||
this.creator = creator;
|
||||
}
|
||||
|
||||
// utility method to allow mybatis access to workbasketSummary
|
||||
public WorkbasketSummaryImpl getWorkbasketSummaryImpl() {
|
||||
return (WorkbasketSummaryImpl) workbasketSummary;
|
||||
|
@ -605,6 +647,11 @@ public class TaskSummaryImpl implements TaskSummary {
|
|||
return (other instanceof TaskSummaryImpl);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TaskSummaryImpl clone() {
|
||||
return new TaskSummaryImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
|
|
|
@ -126,4 +126,11 @@ public interface Workbasket extends WorkbasketSummary {
|
|||
* @return the WorkbasketSummary object for the current work basket
|
||||
*/
|
||||
WorkbasketSummary asSummary();
|
||||
|
||||
/**
|
||||
* Duplicates this Workbasket
|
||||
*
|
||||
* @return a copy of this Workbasket
|
||||
*/
|
||||
Workbasket clone();
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ package pro.taskana.workbasket.api.models;
|
|||
*
|
||||
* @author bbr
|
||||
*/
|
||||
public interface WorkbasketAccessItem {
|
||||
public interface WorkbasketAccessItem extends Cloneable {
|
||||
|
||||
/**
|
||||
* Returns the current id of the WorkbasketAccessItem.
|
||||
|
@ -315,4 +315,11 @@ public interface WorkbasketAccessItem {
|
|||
* @param permCustom12 specifies whether custom12 permission is granted
|
||||
*/
|
||||
void setPermCustom12(boolean permCustom12);
|
||||
|
||||
/**
|
||||
* Duplicates this WorkbasketAccessItem
|
||||
*
|
||||
* @return a copy of this WorkbasketAccessItem
|
||||
*/
|
||||
WorkbasketAccessItem clone();
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import pro.taskana.workbasket.api.WorkbasketType;
|
|||
* Interface for WorkbasketSummary. This is a specific short model-object which only contains the
|
||||
* most important information.
|
||||
*/
|
||||
public interface WorkbasketSummary {
|
||||
public interface WorkbasketSummary extends Cloneable {
|
||||
|
||||
/**
|
||||
* Gets the id of the workbasket.
|
||||
|
@ -119,4 +119,11 @@ public interface WorkbasketSummary {
|
|||
* @return the workbasket's markedForDeletion property
|
||||
*/
|
||||
boolean isMarkedForDeletion();
|
||||
|
||||
/**
|
||||
* Duplicates this WorkbasketSummary
|
||||
*
|
||||
* @return a copy of this WorkbasketSummary
|
||||
*/
|
||||
WorkbasketSummary clone();
|
||||
}
|
||||
|
|
|
@ -30,8 +30,31 @@ public class WorkbasketAccessItemImpl implements WorkbasketAccessItem {
|
|||
private boolean permCustom11;
|
||||
private boolean permCustom12;
|
||||
|
||||
public WorkbasketAccessItemImpl() {
|
||||
super();
|
||||
public WorkbasketAccessItemImpl() {}
|
||||
|
||||
private WorkbasketAccessItemImpl(WorkbasketAccessItemImpl copyFrom) {
|
||||
id = copyFrom.id;
|
||||
workbasketId = copyFrom.workbasketId;
|
||||
workbasketKey = copyFrom.workbasketKey;
|
||||
accessId = copyFrom.accessId;
|
||||
accessName = copyFrom.accessName;
|
||||
permRead = copyFrom.permRead;
|
||||
permOpen = copyFrom.permOpen;
|
||||
permAppend = copyFrom.permAppend;
|
||||
permTransfer = copyFrom.permTransfer;
|
||||
permDistribute = copyFrom.permDistribute;
|
||||
permCustom1 = copyFrom.permCustom1;
|
||||
permCustom2 = copyFrom.permCustom2;
|
||||
permCustom3 = copyFrom.permCustom3;
|
||||
permCustom4 = copyFrom.permCustom4;
|
||||
permCustom5 = copyFrom.permCustom5;
|
||||
permCustom6 = copyFrom.permCustom6;
|
||||
permCustom7 = copyFrom.permCustom7;
|
||||
permCustom8 = copyFrom.permCustom8;
|
||||
permCustom9 = copyFrom.permCustom9;
|
||||
permCustom10 = copyFrom.permCustom10;
|
||||
permCustom11 = copyFrom.permCustom11;
|
||||
permCustom12 = copyFrom.permCustom12;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -406,6 +429,11 @@ public class WorkbasketAccessItemImpl implements WorkbasketAccessItem {
|
|||
this.permCustom12 = permCustom12;
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketAccessItemImpl clone() {
|
||||
return new WorkbasketAccessItemImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(
|
||||
|
|
|
@ -14,6 +14,12 @@ public class WorkbasketImpl extends WorkbasketSummaryImpl implements Workbasket
|
|||
|
||||
public WorkbasketImpl() {}
|
||||
|
||||
private WorkbasketImpl(WorkbasketImpl copyFrom) {
|
||||
super(copyFrom);
|
||||
created = copyFrom.created;
|
||||
modified = copyFrom.modified;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Instant getCreated() {
|
||||
return created;
|
||||
|
@ -99,6 +105,11 @@ public class WorkbasketImpl extends WorkbasketSummaryImpl implements Workbasket
|
|||
return Objects.equals(created, other.created) && Objects.equals(modified, other.modified);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketImpl clone() {
|
||||
return new WorkbasketImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "WorkbasketImpl [id="
|
||||
|
|
|
@ -27,6 +27,25 @@ public class WorkbasketSummaryImpl implements WorkbasketSummary {
|
|||
|
||||
public WorkbasketSummaryImpl() {}
|
||||
|
||||
protected WorkbasketSummaryImpl(WorkbasketSummaryImpl copyFrom) {
|
||||
id = copyFrom.id;
|
||||
key = copyFrom.key;
|
||||
name = copyFrom.name;
|
||||
description = copyFrom.description;
|
||||
owner = copyFrom.owner;
|
||||
domain = copyFrom.domain;
|
||||
type = copyFrom.type;
|
||||
custom1 = copyFrom.custom1;
|
||||
custom2 = copyFrom.custom2;
|
||||
custom3 = copyFrom.custom3;
|
||||
custom4 = copyFrom.custom4;
|
||||
orgLevel1 = copyFrom.orgLevel1;
|
||||
orgLevel2 = copyFrom.orgLevel2;
|
||||
orgLevel3 = copyFrom.orgLevel3;
|
||||
orgLevel4 = copyFrom.orgLevel4;
|
||||
markedForDeletion = copyFrom.markedForDeletion;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see pro.taskana.impl.WorkbasketSummary#getId()
|
||||
|
@ -286,6 +305,11 @@ public class WorkbasketSummaryImpl implements WorkbasketSummary {
|
|||
&& Objects.equals(orgLevel4, other.orgLevel4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkbasketSummaryImpl clone() {
|
||||
return new WorkbasketSummaryImpl(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "WorkbasketSummaryImpl [id="
|
||||
|
|
Loading…
Reference in New Issue