public class

DefaultWebAttachmentManager

extends Object
implements WebAttachmentManager
java.lang.Object
   ↳ com.atlassian.jira.web.util.DefaultWebAttachmentManager

Summary

Public Constructors
DefaultWebAttachmentManager(AttachmentManager attachmentManager, I18nHelper.BeanFactory beanFactory, JiraAuthenticationContext authenticationContext, TemporaryAttachmentsMonitorLocator locator, AttachmentService service)
Public Methods
ChangeItemBean createAttachment(MultiPartRequestWrapper requestWrapper, User remoteUser, Issue issue, String fileParamName, Map<StringObject> attachmentProperties)
Create an issue's attachment.
ChangeItemBean createAttachment(MultiPartRequestWrapper requestWrapper, User remoteUser, GenericValue issue, String fileParamName, Map<StringObject> attachmentProperties)
Create an issue's attachment.
TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project, String formToken)
Creates a temporary attachment on disk.
TemporaryAttachment createTemporaryAttachment(MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project)
Creates a temporary attachment on disk.
TemporaryAttachment createTemporaryAttachment(MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project, String formToken)
Creates a temporary attachment on disk.
TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project)
Creates a temporary attachment on disk.
boolean validateAttachmentIfExists(MultiPartRequestWrapper requestWrapper, String fileParamName, boolean required)
Determine whether an attachment exists and is valid (i.e.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.web.util.WebAttachmentManager

Public Constructors

public DefaultWebAttachmentManager (AttachmentManager attachmentManager, I18nHelper.BeanFactory beanFactory, JiraAuthenticationContext authenticationContext, TemporaryAttachmentsMonitorLocator locator, AttachmentService service)

Public Methods

public ChangeItemBean createAttachment (MultiPartRequestWrapper requestWrapper, User remoteUser, Issue issue, String fileParamName, Map<StringObject> attachmentProperties)

Create an issue's attachment.

Parameters
requestWrapper eg. obtained from getMultiPartRequest()
remoteUser eg. from 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}

public ChangeItemBean createAttachment (MultiPartRequestWrapper requestWrapper, User remoteUser, GenericValue issue, String fileParamName, Map<StringObject> attachmentProperties)

Create an issue's attachment.

Parameters
requestWrapper eg. obtained from getMultiPartRequest()
remoteUser eg. from 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}

public TemporaryAttachment createTemporaryAttachment (InputStream stream, String fileName, String contentType, long size, Issue issue, Project project, String formToken)

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

public TemporaryAttachment createTemporaryAttachment (MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project)

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

public TemporaryAttachment createTemporaryAttachment (MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project, String formToken)

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

public TemporaryAttachment createTemporaryAttachment (InputStream stream, String fileName, String contentType, long size, Issue issue, Project project)

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

public boolean validateAttachmentIfExists (MultiPartRequestWrapper requestWrapper, String fileParamName, boolean required)

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