Package com.atlassian.jira.web.util
Class DefaultWebAttachmentManager
java.lang.Object
com.atlassian.jira.web.util.DefaultWebAttachmentManager
- All Implemented Interfaces:
WebAttachmentManager
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultWebAttachmentManager(AttachmentManager attachmentManager, I18nHelper.BeanFactory beanFactory, JiraAuthenticationContext authenticationContext, TemporaryAttachmentsMonitorLocator locator, AttachmentService attachmentService, AttachmentConfigStore attachmentConfigStore, AttachmentConfigManager attachmentConfigManager, IssueFactory issueFactory) -
Method Summary
Modifier and TypeMethodDescriptioncreateAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, ApplicationUser remoteUser, Issue issue, String fileParamName, Map<String, Object> attachmentProperties) Create an issue's attachment.createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, ApplicationUser remoteUser, org.ofbiz.core.entity.GenericValue issue, String fileParamName, Map<String, Object> attachmentProperties) Create an issue's attachment.createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project) Creates a temporary attachment on disk.createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project, String formToken) Creates a temporary attachment on disk.createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project) Creates a temporary attachment on disk.createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project, String formToken) Creates a temporary attachment on disk.booleanvalidateAttachmentIfExists(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, boolean required) Determine whether an attachment exists and is valid (i.e.
-
Constructor Details
-
DefaultWebAttachmentManager
public DefaultWebAttachmentManager(AttachmentManager attachmentManager, I18nHelper.BeanFactory beanFactory, JiraAuthenticationContext authenticationContext, TemporaryAttachmentsMonitorLocator locator, AttachmentService attachmentService, AttachmentConfigStore attachmentConfigStore, AttachmentConfigManager attachmentConfigManager, IssueFactory issueFactory)
-
-
Method Details
-
createAttachment
public ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, ApplicationUser remoteUser, Issue issue, String fileParamName, Map<String, Object> attachmentProperties) throws AttachmentExceptionDescription copied from interface:WebAttachmentManagerCreate an issue's attachment.- Specified by:
createAttachmentin interfaceWebAttachmentManager- Parameters:
requestWrapper- eg. obtained fromServletActionContext.getMultiPartRequest()remoteUser- eg. fromJiraWebActionSupport.getLoggedInUser()issue- Issue to associate attachment withfileParamName- 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 aPropertySet. Eg. {"attachment.copyright.licensed" -> Boolean.TRUE}- Throws:
AttachmentException
-
createAttachment
public ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, ApplicationUser remoteUser, org.ofbiz.core.entity.GenericValue issue, String fileParamName, Map<String, Object> attachmentProperties) throws AttachmentExceptionDescription copied from interface:WebAttachmentManagerCreate an issue's attachment.- Specified by:
createAttachmentin interfaceWebAttachmentManager- Parameters:
requestWrapper- eg. obtained fromServletActionContext.getMultiPartRequest()remoteUser- eg. fromJiraWebActionSupport.getLoggedInUser()issue- Issue to associate attachment withfileParamName- 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 aPropertySet. Eg. {"attachment.copyright.licensed" -> Boolean.TRUE}- Throws:
AttachmentException
-
createTemporaryAttachment
public TemporaryAttachment createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project, String formToken) throws AttachmentException Description copied from interface:WebAttachmentManagerCreates 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 returnedTemporaryAttachmentobject- Specified by:
createTemporaryAttachmentin interfaceWebAttachmentManager- Parameters:
requestWrapper- the wrapper containing getFile() and getFilesystemName() describing the attachmentfileParamName- ame of form parameter specifying filename (in requestWrapper).issue- The issue that this temporary attachment is for. Can be null when creating a new issueproject- 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
TemporaryAttachmentcontaining details about where the temp attachment was created - Throws:
AttachmentException- if there was an error saving the temporary attachment.
-
createTemporaryAttachment
public TemporaryAttachment createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project) throws AttachmentException Description copied from interface:WebAttachmentManagerCreates 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 returnedTemporaryAttachmentobject- Specified by:
createTemporaryAttachmentin interfaceWebAttachmentManager- Parameters:
requestWrapper- the wrapper containing getFile() and getFilesystemName() describing the attachmentfileParamName- ame of form parameter specifying filename (in requestWrapper).issue- The issue that this temporary attachment is for. Can be null when creating a new issueproject- 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
TemporaryAttachmentcontaining details about where the temp attachment was created - Throws:
AttachmentException- if there was an error saving the temporary attachment.
-
createTemporaryAttachment
public TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project, String formToken) throws AttachmentException Description copied from interface:WebAttachmentManagerCreates 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 returnedTemporaryAttachmentobject- Specified by:
createTemporaryAttachmentin interfaceWebAttachmentManager- 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
TemporaryAttachmentcontaining details about where the temp attachment was created - Throws:
AttachmentException- if there was an error saving the temporary attachment.
-
createTemporaryAttachment
public TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project) throws AttachmentException Description copied from interface:WebAttachmentManagerCreates 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 returnedTemporaryAttachmentobject- Specified by:
createTemporaryAttachmentin interfaceWebAttachmentManager- 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
TemporaryAttachmentcontaining details about where the temp attachment was created - Throws:
AttachmentException- if there was an error saving the temporary attachment.
-
validateAttachmentIfExists
public boolean validateAttachmentIfExists(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, boolean required) throws AttachmentException Description copied from interface:WebAttachmentManagerDetermine whether an attachment exists and is valid (i.e. non-zero and contains no invalid characters)- Specified by:
validateAttachmentIfExistsin interfaceWebAttachmentManager- Parameters:
requestWrapper- the wrapper containing getFile() and getFilesystemName() describing the attachmentfileParamName- the parameter in the wrapper to use to find attachment inforequired- 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
-