com.atlassian.jira.web.util
Interface WebAttachmentManager

All Known Implementing Classes:
DefaultWebAttachmentManager

public interface WebAttachmentManager

Manager for issue attachments.

See Also:
AttachmentManager

Method Summary
 ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, com.atlassian.crowd.embedded.api.User remoteUser, org.ofbiz.core.entity.GenericValue issue, String fileParamName, Map<String,Object> attachmentProperties)
          Deprecated. Use createAttachment(webwork.multipart.MultiPartRequestWrapper, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.issue.Issue, String, java.util.Map) instead. Since v5.0.
 ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, com.atlassian.crowd.embedded.api.User remoteUser, Issue issue, String fileParamName, Map<String,Object> attachmentProperties)
          Create an issue's attachment.
 TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project)
          Creates a temporary attachment on disk.
 TemporaryAttachment createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project)
          Creates a temporary attachment on disk.
 boolean validateAttachmentIfExists(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, boolean required)
          Determine whether an attachment exists and is valid (i.e.
 

Method Detail

createAttachment

ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper,
                                com.atlassian.crowd.embedded.api.User remoteUser,
                                Issue issue,
                                String fileParamName,
                                Map<String,Object> attachmentProperties)
                                throws AttachmentException
Create an issue's attachment.

Parameters:
requestWrapper - eg. obtained from ServletActionContext.getMultiPartRequest()
remoteUser - eg. from JiraWebActionSupport.getLoggedInUser()
issue - Issue to associate attachment with
fileParamName - Name of form parameter specifying filename (in requestWrapper).
attachmentProperties - Arbitrary key:value properties to store with this attachment. Key is a String, value is an Object mappable to a PropertySet. Eg. {"attachment.copyright.licensed" -> Boolean.TRUE}
Throws:
AttachmentException

createAttachment

ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper,
                                com.atlassian.crowd.embedded.api.User remoteUser,
                                org.ofbiz.core.entity.GenericValue issue,
                                String fileParamName,
                                Map<String,Object> attachmentProperties)
                                throws AttachmentException,
                                       org.ofbiz.core.entity.GenericEntityException
Deprecated. Use createAttachment(webwork.multipart.MultiPartRequestWrapper, com.atlassian.crowd.embedded.api.User, com.atlassian.jira.issue.Issue, String, java.util.Map) instead. Since v5.0.

Create an issue's attachment.

Parameters:
requestWrapper - eg. obtained from ServletActionContext.getMultiPartRequest()
remoteUser - eg. from JiraWebActionSupport.getLoggedInUser()
issue - Issue to associate attachment with
fileParamName - Name of form parameter specifying filename (in requestWrapper).
attachmentProperties - Arbitrary key:value properties to store with this attachment. Key is a String, value is an Object mappable to a PropertySet. Eg. {"attachment.copyright.licensed" -> Boolean.TRUE}
Throws:
AttachmentException
org.ofbiz.core.entity.GenericEntityException

createTemporaryAttachment

TemporaryAttachment createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper,
                                              String fileParamName,
                                              Issue issue,
                                              Project project)
                                              throws AttachmentException
Creates a temporary attachment on disk. These attachment generally only live for the duration of a user's session and will also be deleted on exit of the JVM. This method will not create a link to the issue yet, but simply copy the attachment to a temp directory in the attachments folder and store all the relevant details in the returned TemporaryAttachment object

Parameters:
requestWrapper - the wrapper containing getFile() and getFilesystemName() describing the attachment
fileParamName - ame of form parameter specifying filename (in requestWrapper).
issue - The issue that this temporary attachment is for. Can be null when creating a new issue
project - The project where the attachment is to be placed. This is used to do security checks when creating an issue and there is no issue to run a check on. Will be ignored when issue is not null.
Returns:
A TemporaryAttachment containing details about where the temp attachment was created
Throws:
AttachmentException - if there was an error saving the temporary attachment.

createTemporaryAttachment

TemporaryAttachment createTemporaryAttachment(InputStream stream,
                                              String fileName,
                                              String contentType,
                                              long size,
                                              Issue issue,
                                              Project project)
                                              throws AttachmentException
Creates a temporary attachment on disk. These attachment generally only live for the duration of a user's session and will also be deleted on exit of the JVM. This method will not create a link to the issue yet, but simply copy the attachment to a temp directory in the attachments folder and store all the relevant details in the returned TemporaryAttachment object

Parameters:
stream - the input stream for the attachment.
fileName - the name of the attachment.
contentType - the content type of the passed stream.
size - the size of the passed stream.
issue - The issue that this temporary attachment is for. Can be null when creating a new issue.
project - The project where the attachment is to be placed. This is used to do security checks when creating an issue and there is no issue to run a check on. Will be ignored when issue is not null.
Returns:
A TemporaryAttachment containing details about where the temp attachment was created
Throws:
AttachmentException - if there was an error saving the temporary attachment.

validateAttachmentIfExists

boolean validateAttachmentIfExists(webwork.multipart.MultiPartRequestWrapper requestWrapper,
                                   String fileParamName,
                                   boolean required)
                                   throws AttachmentException
Determine whether an attachment exists and is valid (i.e. non-zero and contains no invalid characters)

Parameters:
requestWrapper - the wrapper containing getFile() and getFilesystemName() describing the attachment
fileParamName - the parameter in the wrapper to use to find attachment info
required - whether having an valid and existent attachment is mandatory
Returns:
whether the attachment is valid and exists
Throws:
AttachmentException - if the attachment is zero-length, contains invalid characters, or simply doesn't exist when required


Copyright © 2002-2013 Atlassian. All Rights Reserved.