Class DefaultWebAttachmentManager

java.lang.Object
com.atlassian.jira.web.util.DefaultWebAttachmentManager
All Implemented Interfaces:
WebAttachmentManager

public class DefaultWebAttachmentManager extends Object implements WebAttachmentManager
  • Constructor Details

  • Method Details

    • createAttachment

      public ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, ApplicationUser remoteUser, Issue issue, String fileParamName, Map<String,Object> attachmentProperties) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      Create an issue's attachment.
      Specified by:
      createAttachment in interface WebAttachmentManager
      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

      public ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, ApplicationUser remoteUser, org.ofbiz.core.entity.GenericValue issue, String fileParamName, Map<String,Object> attachmentProperties) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      Create an issue's attachment.
      Specified by:
      createAttachment in interface WebAttachmentManager
      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
    • createTemporaryAttachment

      public TemporaryAttachment createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project, String formToken) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      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
      Specified by:
      createTemporaryAttachment in interface WebAttachmentManager
      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

      public TemporaryAttachment createTemporaryAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, Issue issue, Project project) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      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
      Specified by:
      createTemporaryAttachment in interface WebAttachmentManager
      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

      public TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project, String formToken) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      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
      Specified by:
      createTemporaryAttachment in interface WebAttachmentManager
      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.
    • createTemporaryAttachment

      public TemporaryAttachment createTemporaryAttachment(InputStream stream, String fileName, String contentType, long size, Issue issue, Project project) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      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
      Specified by:
      createTemporaryAttachment in interface WebAttachmentManager
      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

      public boolean validateAttachmentIfExists(webwork.multipart.MultiPartRequestWrapper requestWrapper, String fileParamName, boolean required) throws AttachmentException
      Description copied from interface: WebAttachmentManager
      Determine whether an attachment exists and is valid (i.e. non-zero and contains no invalid characters)
      Specified by:
      validateAttachmentIfExists in interface WebAttachmentManager
      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