X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fcore%2Fexecution%2Ftasks%2FUploadAttachments.java;h=e4cefa85a65c27340dbcc987d36c8c920f989ca9;hb=ad602245885ef5a89fa056d33848dc6538b56f34;hp=499e119484a2b77e84c5b6315f3be5a42645e1c6;hpb=44dd5750650b46d9979b4e06e4cc76c0b0003f4f;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/UploadAttachments.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/UploadAttachments.java index 499e11948..e4cefa85a 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/UploadAttachments.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/core/execution/tasks/UploadAttachments.java @@ -5,6 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.argeo.slc.SlcException; import org.argeo.slc.core.attachment.Attachment; import org.argeo.slc.core.attachment.AttachmentUploader; import org.argeo.slc.core.attachment.AttachmentsEnabled; @@ -12,18 +13,30 @@ import org.springframework.core.io.Resource; public class UploadAttachments implements Runnable { private AttachmentUploader attachmentUploader; + private Attachment attachment = null; + private Resource resource = null; private Map attachments = new HashMap(); private List attachTo = new ArrayList(); public void run() { - for (Attachment attachment : attachments.keySet()) { - Resource resource = attachments.get(attachment); - attachmentUploader.upload(attachment, resource); - for (AttachmentsEnabled attachmentsEnabled : attachTo) { - attachmentsEnabled.addAttachment(attachment); - } + if (attachment != null) { + if (resource == null) + throw new SlcException("A resource must be specified."); + uploadAndAdd(attachment, resource); } + for (Attachment attachmentT : attachments.keySet()) { + Resource resourceT = attachments.get(attachmentT); + uploadAndAdd(attachmentT, resourceT); + } + + } + + protected void uploadAndAdd(Attachment attachment, Resource resource) { + attachmentUploader.upload(attachment, resource); + for (AttachmentsEnabled attachmentsEnabled : attachTo) { + attachmentsEnabled.addAttachment(attachment); + } } public void setAttachmentUploader(AttachmentUploader attachmentUploader) { @@ -38,5 +51,12 @@ public class UploadAttachments implements Runnable { this.attachTo = attachTo; } - + public void setAttachment(Attachment attachment) { + this.attachment = attachment; + } + + public void setResource(Resource resource) { + this.resource = resource; + } + }