diff --git a/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java b/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java index 0de9393bf..dd85d802a 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java +++ b/lib/taskana-core/src/main/java/pro/taskana/AttachmentSummary.java @@ -36,6 +36,20 @@ public interface AttachmentSummary { */ Instant getModified(); + /** + * Gets the {@link ObjectReference primaryObjectReference} of the attachment. + * + * @return {@link ObjectReference primaryObjectReference} of the attachment + **/ + ObjectReference getObjectReference(); + + /** + * Gets the Channel on which the attachment was received. + * + * @return the channel + **/ + String getChannel(); + /** * Gets the classificationSummary of the attachment. * diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java index 72c2bdc17..d3f6d580f 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentImpl.java @@ -134,6 +134,8 @@ public class AttachmentImpl implements Attachment { summary.setModified(this.modified); summary.setReceived(this.received); summary.setTaskId(this.taskId); + summary.setChannel(this.channel); + summary.setObjectReference(this.objectReference); return summary; } diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java index 8f7d5573b..7de07477e 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/AttachmentSummaryImpl.java @@ -4,6 +4,7 @@ import java.time.Instant; import pro.taskana.AttachmentSummary; import pro.taskana.ClassificationSummary; +import pro.taskana.ObjectReference; /** * The most important fields of the Attachment entity. @@ -15,6 +16,8 @@ public class AttachmentSummaryImpl implements AttachmentSummary { private Instant created; private Instant modified; private ClassificationSummary classificationSummary; + private ObjectReference objectReference; + private String channel; private Instant received; AttachmentSummaryImpl() { @@ -86,6 +89,32 @@ public class AttachmentSummaryImpl implements AttachmentSummary { this.classificationSummary = classificationSummary; } + /* + * (non-Javadoc) + * @see pro.taskana.AttachmentSummary#getObjectReference() + */ + @Override + public ObjectReference getObjectReference() { + return objectReference; + } + + public void setObjectReference(ObjectReference objectReference) { + this.objectReference = objectReference; + } + + /* + * (non-Javadoc) + * @see pro.taskana.AttachmentSummary#getChannel() + */ + @Override + public String getChannel() { + return channel; + } + + public void setChannel(String channel) { + this.channel = channel; + } + // auxiliary method to enable MyBatis access to classificationSummary public ClassificationSummaryImpl getClassificationSummaryImpl() { return (ClassificationSummaryImpl) classificationSummary; @@ -113,10 +142,12 @@ public class AttachmentSummaryImpl implements AttachmentSummary { public int hashCode() { final int prime = 31; int result = 1; + result = prime * result + ((channel == null) ? 0 : channel.hashCode()); result = prime * result + ((classificationSummary == null) ? 0 : classificationSummary.hashCode()); result = prime * result + ((created == null) ? 0 : created.hashCode()); result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((modified == null) ? 0 : modified.hashCode()); + result = prime * result + ((objectReference == null) ? 0 : objectReference.hashCode()); result = prime * result + ((received == null) ? 0 : received.hashCode()); result = prime * result + ((taskId == null) ? 0 : taskId.hashCode()); return result; @@ -176,13 +207,27 @@ public class AttachmentSummaryImpl implements AttachmentSummary { } else if (!taskId.equals(other.taskId)) { return false; } + if (objectReference == null) { + if (other.objectReference != null) { + return false; + } + } else if (!objectReference.equals(other.objectReference)) { + return false; + } + if (channel == null) { + if (other.channel != null) { + return false; + } + } else if (!channel.equals(other.channel)) { + return false; + } return true; } @Override public String toString() { StringBuilder builder = new StringBuilder(); - builder.append("AttachmentSummaryImpl [id="); + builder.append("AttachmentImpl [id="); builder.append(id); builder.append(", taskId="); builder.append(taskId); @@ -192,6 +237,10 @@ public class AttachmentSummaryImpl implements AttachmentSummary { builder.append(modified); builder.append(", classificationSummary="); builder.append(classificationSummary); + builder.append(", objectReference="); + builder.append(objectReference); + builder.append(", channel="); + builder.append(channel); builder.append(", received="); builder.append(received); builder.append("]"); diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java index 070fd8a7d..15ecd8537 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java @@ -741,7 +741,7 @@ public class TaskServiceImpl implements TaskService { Set taskIdSet = taskSummaries.stream().map(TaskSummaryImpl::getTaskId).collect(Collectors.toSet()); String[] taskIdArray = taskIdSet.toArray(new String[0]); - LOGGER.debug("augmentTaskSummariesByContainedSummaries() about to query for attachments "); + LOGGER.debug("augmentTaskSummariesByContainedSummaries() about to query for attachmentSummaries "); List attachmentSummaries = attachmentMapper .findAttachmentSummariesByTaskIds(taskIdArray); diff --git a/lib/taskana-core/src/main/java/pro/taskana/mappings/AttachmentMapper.java b/lib/taskana-core/src/main/java/pro/taskana/mappings/AttachmentMapper.java index 50a614617..a27ec0f09 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/mappings/AttachmentMapper.java +++ b/lib/taskana-core/src/main/java/pro/taskana/mappings/AttachmentMapper.java @@ -74,7 +74,7 @@ public interface AttachmentMapper { }) AttachmentImpl getAttachment(@Param("attachmentId") String attachmentId); - @Select("