com.atlassian.jira.web.util
Class DefaultWebAttachmentManager

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

public class DefaultWebAttachmentManager
extends Object
implements WebAttachmentManager


Constructor Summary
DefaultWebAttachmentManager(AttachmentManager attachmentManager, I18nHelper.BeanFactory beanFactory, JiraAuthenticationContext authenticationContext, TemporaryAttachmentsMonitorLocator locator, AttachmentService service)
           
 
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)
          Create an issue's attachment.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultWebAttachmentManager

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

createAttachment

public ChangeItemBean createAttachment(webwork.multipart.MultiPartRequestWrapper requestWrapper,
                                       com.atlassian.crowd.embedded.api.User 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,
                                       com.atlassian.crowd.embedded.api.User 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)
                                              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)
                                              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


Copyright © 2002-2012 Atlassian. All Rights Reserved.