java.lang.Object | |
↳ | com.atlassian.jira.issue.attachment.DualAttachmentStore |
AttachmentStore implementation that wraps around two AttachmentStores (a file system implementation, and a remote Blobstore implementation), and handles delegating to them appropriately given dark feature flags.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | FS_ONLY | ||||||||||
String | FS_PRIMARY | ||||||||||
String | REMOTE_ONLY | ||||||||||
String | REMOTE_PRIMARY |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Checks that the Attachment directory of the given issue is right to go - writable, accessible etc.
| |||||||||||
Checks that the temporary directory for attachment uploads is right to go - writable, accessible etc.
| |||||||||||
Delete the specified attachment.
| |||||||||||
Delete the container for attachments for a given issue.
| |||||||||||
Health status for this component.
| |||||||||||
Retrieve data for a given attachment.
| |||||||||||
Get the attachment directory for the given attachment base directory, project key, and issue key.
| |||||||||||
Returns the physical directory of the attachments for the given issue.
| |||||||||||
Returns the physical directory of the attachments for the given issue.
| |||||||||||
Returns the physical File for the given Attachment.
| |||||||||||
Returns the physical File for the given Attachment.
| |||||||||||
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.
| |||||||||||
Returns the old legacy file name for thumbnails.
| |||||||||||
Returns the physical directory of the thumbnails for the given issue, creating if necessary.
| |||||||||||
Just like the attachments themselves, thumbnails can succumb to file system encoding problems.
| |||||||||||
Returns the file handle for the given attachment's thumbnail.
| |||||||||||
Moves an attachment from its current issue under a new one
| |||||||||||
Store attachment data for a given attachment.
| |||||||||||
Store attachment data for a given attachment.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.atlassian.jira.issue.attachment.AttachmentStore
|
Checks that the Attachment directory of the given issue is right to go - writable, accessible etc. Will create it if necessary.
issue | the issue whose attachment directory to check. |
---|
AttachmentException |
---|
Checks that the temporary directory for attachment uploads is right to go - writable, accessible etc.
AttachmentException |
---|
Delete the specified attachment.
Delete the container for attachments for a given issue. For file systems, this means the attachment directory for that issue.
issue | The issue to delete attachments for. |
---|
Health status for this component. Specifically the errors that cause the attachment subsystem to fail.
Retrieve data for a given attachment.
metaData | attachment metadata, used to determine the logical key under which to store the attachment data |
---|---|
inputStreamProcessor | Function that processes the attachment data. |
AttachmentRuntimeException
in case of error.
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-ketattachmentDirectory | base of attachments |
---|---|
projectKey | the project key the issue belongs to |
issueKey | the issue key for the issue |
Returns the physical directory of the attachments for the given issue. This will create it if necessary.
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 physical directory of the attachments for the given issue. This will create it if necessary.
issue | the issue whose attachment directory you want |
---|
Returns the physical File for the given Attachment. This method performs better as it does not need to look up the issue object.
issue | the issue the attachment belongs to. |
---|---|
attachment | the attachment. |
DataAccessException |
---|
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.
attachment | the attachment. |
---|
DataAccessException |
---|
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 Importadapter | 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 old legacy file name for thumbnails. http://jira.atlassian.com/browse/JRA-23311
attachment | the attachment in play |
---|
Returns the physical directory of the thumbnails for the given issue, creating if necessary.
issue | the issue whose thumbnail directory you want |
---|
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
attachment | the attachment for which to get the thumbnail file |
---|
Returns the file handle for the given attachment's thumbnail. This method performs
better than getThumbnailFile(Attachment)
if you already have the issue.
issue | the issue to which the attachment belongs |
---|---|
attachment | the attachment for which to get the thumbnail file |
Moves an attachment from its current issue under a new one
metaData | attachment metadata, used to determine the logical key of the attachment to be moved. |
---|---|
newIssueKey | the key of the new issue under which the attachment will reside. |
AttachmentRuntimeException
in case of error.
Store attachment data for a given attachment.
metadata | attachment metadata, used to determine the logical key under which to store the attachment data |
---|---|
source | source data. It is assumed that the file will exist during the attachment process (i.e. relatively long lived). |
Store attachment data for a given attachment.
metadata | attachment metadata, used to determine the logical key under which to store the attachment data |
---|---|
source | source data. The attachment store will close this stream when it has completed. The stream will be closed once the operation is complete. |
AttachmentRuntimeException
in case of error.