@Deprecated public class

AttachmentUtils

extends Object
java.lang.Object
   ↳ com.atlassian.jira.util.AttachmentUtils

This class is deprecated.
Use AttachmentManager only. Since v6.1

Class Overview

Static utilities for working with the attachment files and their directories.

Summary

Nested Classes
class AttachmentUtils.AttachmentAdapter This class is deprecated. Use AttachmentStore with AttachmentStore.AttachmentAdapter. Since v6.1  
Constants
String THUMBS_SUBDIR Infix for generated thumbnail images.
Public Constructors
AttachmentUtils()
Public Methods
static void checkValidAttachmentDirectory(Issue issue)
Checks that the Attachment directory of the given issue is right to go - writable, accessible etc.
static void checkValidTemporaryAttachmentDirectory()
static File getAttachmentDirectory(String attachmentDirectory, String projectKey, String issueKey)
Get the attachment directory for the given attachment base directory, project key, and issue key.
static File getAttachmentDirectory(Issue issue, boolean createDirectory)
Returns the physical directory of the attachments for the given issue.
static File getAttachmentDirectory(Issue issue)
Returns the physical directory of the attachments for the given issue.
static File getAttachmentFile(Issue issue, Attachment attachment)
Returns the physical File for the given Attachment.
static File getAttachmentFile(Attachment attachment)
Returns the physical File for the given Attachment.
static File getAttachmentFile(AttachmentUtils.AttachmentAdapter attachment, File attachmentDir)
This is intended for cases where you want more control over where the attachment actually lives and you just want something to handle the look up logic for the various possible filenames an attachment can have.
static File getLegacyThumbnailFile(Attachment attachment)
Returns the old legacy file name for thumbnails http://jira.atlassian.com/browse/JRA-23311
static File getTemporaryAttachmentDirectory()
static File getThumbnailDirectory(Issue issue)
Returns the physical directory of the thumbnails for the given issue, creating if necessary.
static File getThumbnailFile(Attachment attachment)
Just like the attachments themselves, thumbnails can succumb to file system encoding problems.
static File getThumbnailFile(Issue issue, Attachment attachment)
Protected Methods
static AttachmentStore getAttachmentStore()
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final String THUMBS_SUBDIR

Infix for generated thumbnail images.

Constant Value: "thumbs"

Public Constructors

public AttachmentUtils ()

Public Methods

public static void checkValidAttachmentDirectory (Issue issue)

Checks that the Attachment directory of the given issue is right to go - writable, accessible etc. Will create it if necessary.

Parameters
issue the issue whose attachment directory to check.
Throws
AttachmentException if the directory is not writable or missing and cannot be created.

public static void checkValidTemporaryAttachmentDirectory ()

public static File getAttachmentDirectory (String attachmentDirectory, String projectKey, String issueKey)

Get the attachment directory for the given attachment base directory, project key, and issue key.

The idea is to encapsulate all of the path-joinery magic to make future refactoring easier if we ever decide to move away from attachment-base/project-key/issue-ket

Parameters
attachmentDirectory base of attachments
projectKey the project key the issue belongs to
issueKey the issue key for the issue
Returns
  • the directory attachments for this issue live in

public static File getAttachmentDirectory (Issue issue, boolean createDirectory)

Returns the physical directory of the attachments for the given issue. This will create it if necessary.

Parameters
issue the issue whose attachment directory you want.
createDirectory If true, and the directory does not currently exist, then the directory is created.
Returns
  • The issue's attachment directory.

public static File getAttachmentDirectory (Issue issue)

Returns the physical directory of the attachments for the given issue. This will create it if necessary.

Parameters
issue the issue whose attachment directory you want.
Returns
  • The issue's attachment directory.

public static File getAttachmentFile (Issue issue, Attachment attachment)

Returns the physical File for the given Attachment. This method performs better as it does not need to look up the issue object.

Parameters
issue the issue the attachment belongs to.
attachment the attachment.
Returns
  • the file.
Throws
DataAccessException on failure getting required attachment info.

public static File getAttachmentFile (Attachment attachment)

Returns the physical File for the given Attachment. If you are calling this on multiple attachments for the same issue, consider using the overriden method that passes in the issue. Else, this goes to the database for each call.

Parameters
attachment the attachment.
Returns
  • the file.
Throws
DataAccessException on failure getting required attachment info.

public static File getAttachmentFile (AttachmentUtils.AttachmentAdapter attachment, File attachmentDir)

This is intended for cases where you want more control over where the attachment actually lives and you just want something to handle the look up logic for the various possible filenames an attachment can have.

In practice, this is just used during Project Import

Parameters
attachment it's not an attachment but it acts like one for our purposes.
attachmentDir the directory the attachments live in. This is different that the system-wide attachment directory. i.e. this would "attachments/MKY/MKY-1" and not just "attachments"
Returns
  • the actual attachment

public static File getLegacyThumbnailFile (Attachment attachment)

Returns the old legacy file name for thumbnails http://jira.atlassian.com/browse/JRA-23311

Parameters
attachment the attacment in play
Returns
  • the full legacy thumbnail file name

public static File getTemporaryAttachmentDirectory ()

public static File getThumbnailDirectory (Issue issue)

Returns the physical directory of the thumbnails for the given issue, creating if necessary.

Parameters
issue the issue whose thumbnail directory you want.
Returns
  • The issue's thumbnail directory.

public static File getThumbnailFile (Attachment attachment)

Just like the attachments themselves, thumbnails can succumb to file system encoding problems. However we are going to regenerate thumbnails by only using the new naming scheme and not the legacy one. We can't do this for attachments, but we can for thumbnails since they are ephemeral objects anyway. http://jira.atlassian.com/browse/JRA-23311

Parameters
attachment the attacment in play
Returns
  • the full thumbnail file name

public static File getThumbnailFile (Issue issue, Attachment attachment)

Protected Methods

protected static AttachmentStore getAttachmentStore ()