@Deprecated public class DualAttachmentDataFileSystemPrimaryLocal extends Object implements AttachmentDataFileSystem
AttachmentDataFileSystem
which stores the attachment data in both
local file system using HierarchicalMultiStreamAttachmentDataFileSystem
and remote FileStore using FileStoreAttachmentDataFileSystem
.
This strategy ensures local file system is the primary storage: a WRITE operation is only successful if WRITE to local file system is successful.
Operations that require a READ/WRITE/DELETE to FileStore will be run in a background thread with a new hibernate transaction. Other transactions that don't request to FileStore will be run in the same transactional thread.
Constructor and Description |
---|
DualAttachmentDataFileSystemPrimaryLocal(AttachmentDataFileSystem localAttachmentDataFileSystem,
AttachmentDataFileSystem cloudAttachmentDataFileSystem,
org.springframework.transaction.PlatformTransactionManager transactionManager,
SynchronizationManager synchronizationManager,
com.atlassian.spring.container.LazyComponentReference<AttachmentManager> attachmentManager)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
boolean |
dataExistsForAttachment(Attachment attachment)
Deprecated.
Indicates whether the filesystem contains data for the given attachment
|
void |
deleteAllAttachmentVersions(Attachment attachment,
ContentEntityObject contentEntity)
Deprecated.
Delete all data corresponding to all versions of the given attachment
|
void |
deleteSingleAttachmentVersion(Attachment attachment,
ContentEntityObject contentEntity)
Deprecated.
Delete the data corresponding to a single attachment version
|
void |
deleteSingleAttachmentVersion(Attachment attachment,
ContentEntityObject contentEntity,
AttachmentDataStreamType dataStreamType)
Deprecated.
Delete the data of the specified stream type corresponding to a single attachment version
|
AttachmentDataStream |
getAttachmentData(Attachment attachment,
AttachmentDataStreamType dataStreamType)
Deprecated.
Fetches the data for a given attachment version and data stream type
|
AttachmentDataStream |
getAttachmentData(Attachment attachment,
AttachmentDataStreamType dataStreamType,
Optional<RangeRequest> range)
Deprecated.
Fetches the specified range of data for a given attachment version and data stream type
|
void |
moveAttachment(Attachment oldAttachment,
Attachment newAttachment,
ContentEntityObject newContentEntity)
Deprecated.
Move all data relating to one attachment to a new directory corresponding to the given new attachment and
content entity.
|
void |
moveAttachments(ContentEntityObject contentEntity,
Space oldSpace,
Space newSpace)
Deprecated.
Move all data for all versions of all attachments corresponding to the given content entity in the given
space, to the same entity in a different space.
|
void |
moveDataForAttachmentVersion(Attachment sourceAttachmentVersion,
Attachment targetAttachmentVersion)
Deprecated.
Move the data associated with one attachment version, to being associated with a different attachment version
|
void |
prepareForMigrationTo()
Deprecated.
Prepare the data store for a migration from another type of data store.
|
boolean |
saveAttachmentData(Attachment attachment,
AttachmentDataStream dataStream,
boolean overwrite)
Deprecated.
Save new data corresponding to the given attachment.
|
public DualAttachmentDataFileSystemPrimaryLocal(AttachmentDataFileSystem localAttachmentDataFileSystem, AttachmentDataFileSystem cloudAttachmentDataFileSystem, org.springframework.transaction.PlatformTransactionManager transactionManager, SynchronizationManager synchronizationManager, com.atlassian.spring.container.LazyComponentReference<AttachmentManager> attachmentManager)
public boolean saveAttachmentData(Attachment attachment, AttachmentDataStream dataStream, boolean overwrite)
AttachmentDataFileSystem
saveAttachmentData
in interface AttachmentDataFileSystem
attachment
- The attachment to which the data should be associateddataStream
- The new dataoverwrite
- If true, any existing data will be overwritten. If false, does nothing if data already exists.public AttachmentDataStream getAttachmentData(Attachment attachment, AttachmentDataStreamType dataStreamType)
AttachmentDataFileSystem
getAttachmentData
in interface AttachmentDataFileSystem
attachment
- The attachment version for which the data is to be fetcheddataStreamType
- The type of the data stream to be fetchedAttachmentDataStream
containing the resultpublic AttachmentDataStream getAttachmentData(Attachment attachment, AttachmentDataStreamType dataStreamType, Optional<RangeRequest> range)
AttachmentDataFileSystem
getAttachmentData
in interface AttachmentDataFileSystem
attachment
- The attachment version for which the data is to be fetcheddataStreamType
- The type of the data stream to be fetchedrange
- The range of the data stream to be fetchedAttachmentDataStream
containing the resultpublic boolean dataExistsForAttachment(Attachment attachment)
AttachmentDataFileSystem
dataExistsForAttachment
in interface AttachmentDataFileSystem
public void deleteSingleAttachmentVersion(Attachment attachment, ContentEntityObject contentEntity)
AttachmentDataFileSystem
deleteSingleAttachmentVersion
in interface AttachmentDataFileSystem
attachment
- The attachment whose data should be deletedcontentEntity
- The content entity associated with the attachmentpublic void deleteSingleAttachmentVersion(Attachment attachment, ContentEntityObject contentEntity, AttachmentDataStreamType dataStreamType)
AttachmentDataFileSystem
deleteSingleAttachmentVersion
in interface AttachmentDataFileSystem
attachment
- The attachment whose data should be deletedcontentEntity
- The content entity associated with the attachmentdataStreamType
- The attachment stream typepublic void deleteAllAttachmentVersions(Attachment attachment, ContentEntityObject contentEntity)
AttachmentDataFileSystem
deleteAllAttachmentVersions
in interface AttachmentDataFileSystem
attachment
- the attachment whose data is to be deletedcontentEntity
- The content entity associated with the attachmentpublic void moveAttachment(Attachment oldAttachment, Attachment newAttachment, ContentEntityObject newContentEntity)
AttachmentDataFileSystem
moveAttachment
in interface AttachmentDataFileSystem
oldAttachment
- The attachment whose data is to be movednewAttachment
- The attachment to which the data should be moved tonewContentEntity
- The content entity corresponding to the new attachmentpublic void moveDataForAttachmentVersion(Attachment sourceAttachmentVersion, Attachment targetAttachmentVersion)
AttachmentDataFileSystem
moveDataForAttachmentVersion
in interface AttachmentDataFileSystem
sourceAttachmentVersion
- The attachment version containing the datatargetAttachmentVersion
- The attachment version to which the data should be movedpublic void moveAttachments(ContentEntityObject contentEntity, Space oldSpace, Space newSpace)
AttachmentDataFileSystem
moveAttachments
in interface AttachmentDataFileSystem
contentEntity
- The content entity whose attachment data is to be movedoldSpace
- The original space of the content entitynewSpace
- The new space of the content entitypublic void prepareForMigrationTo()
AttachmentDataFileSystem
prepareForMigrationTo
in interface AttachmentDataFileSystem
Copyright © 2003–2020 Atlassian. All rights reserved.