Package io.jmix.webdav.service.impl
Class WebdavDocumentsManagementServiceImpl
java.lang.Object
io.jmix.webdav.service.impl.WebdavDocumentsManagementServiceImpl
- All Implemented Interfaces:
WebdavDocumentsManagementService
@Component("webdav_WebdavDocumentsManagementService")
public class WebdavDocumentsManagementServiceImpl
extends Object
implements WebdavDocumentsManagementService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationEventPublisherprotected DataManagerprotected WebdavDocumentVersionsManagementServiceprotected jakarta.persistence.EntityManagerprotected FetchPlanRepositoryprotected Metadatastatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected TimeSourceprotected org.springframework.transaction.support.TransactionTemplateprotected WebdavResourceUriToolsprotected WebdavNaturalVersionIdGeneratorprotected WebdavPreconditionsprotected WebdavPropertiesprotected WebdavSecurityToolsprotected WebdavTools -
Constructor Summary
ConstructorsConstructorDescriptionWebdavDocumentsManagementServiceImpl(FetchPlanRepository fetchPlanRepository, WebdavPreconditions webdavPreconditions, WebdavResourceUriTools uriTools, Metadata metadata, DataManager dataManager, WebdavProperties webdavProperties, WebdavSecurityTools webdavSecurityTools, WebdavTools webdavTools, TimeSource timeSource, WebdavDocumentVersionsManagementService documentVersionsManagementService, WebdavNaturalVersionIdGenerator webdavNaturalVersionIdGenerator, org.springframework.context.ApplicationEventPublisher applicationEventPublisher) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidacceptOnlyLastVersionIfVersioningDisabled(WebdavDocument document, MergePolicy<?> mergePolicy, WebdavDocumentVersion lastVersion, List<MergeResultItem<WebdavDocumentVersion>> merged, List<WebdavDocumentVersion> documentVersions) protected Stream<WebdavDocumentVersion>applyMergeOperation(MergeResultItem<WebdavDocumentVersion> resultItem) protected StringbuildEscapedQuery(String query, Character escapeCharacter) protected WebdavDocumentcopySingleWebdavDocument(WebdavDocument sourceDocument, URI destinationUri) copyWebdavDocument(WebdavDocument sourceDocument, URI destinationUri, boolean overwrite, Depth depth) createDocumentCollection(String name, WebdavDocument parentCollection) Creates a document collection inside the given parent collection.createDocumentCollectionByUri(URI documentPath) Creates a document collection by the given URI.Creates a non-versioning document.createNonVersioningDocumentByFileRef(FileRef fileRef, WebdavDocument parent) Creates a non-versioning document.createVersioningDocumentByFileRef(FileRef fileRef) Creates a versioning document.createVersioningDocumentByFileRef(FileRef fileRef, WebdavDocument parent) Creates a versioning document.protected StringescapeLikeClauseParameter(String value, Character escapeCharacter) protected StringescapePath(String path) protected WebdavLockDescriptorinternalCreateLock(WebdavDocument webdavDocument, long timeout) protected WebdavLockDescriptorinternalRefreshLock(WebdavDocument document, long timeout) protected voidinternalRemoveNonCollectionDocument(WebdavDocument webdavDocument) protected booleanisNonVersioningPolicy(MergePolicy<?> mergePolicy) lockDocumentByWebdavDocument(WebdavDocument document) Creates a lock for document with default timeout.lockDocumentByWebdavDocument(WebdavDocument document, long timeout) Creates a lock for document with specific timeout.lockDocumentByWebdavDocumentId(UUID documentId) Creates a lock for document with default timeout.lockDocumentByWebdavDocumentId(UUID documentId, long timeout) Creates a lock for document with specific timeout.lockDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion) Creates a lock for document with default timeout.lockDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, long timeout) Creates a lock for document with specific timeout.lockDocumentByWebdavDocumentVersionId(UUID documentVersionId) Creates a lock for document with default timeout.lockDocumentByWebdavDocumentVersionId(UUID documentVersionId, long timeout) Creates a lock for document with specific timeout.moveWebdavDocument(WebdavDocument sourceDocument, URI destinationUri, boolean overwrite) voidremoveDocumentByWebdavDocument(WebdavDocument webdavDocument) Removes a document.voidremoveDocumentByWebdavDocumentId(UUID documentId) Removes a document.voidremoveDocumentByWebdavDocumentUri(URI documentPath) Removes a document.voidremoveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion) Removes a document.voidremoveDocumentByWebdavDocumentVersionId(UUID documentVersionId) Removes a document.protected voidremoveDocumentCollection(WebdavDocument webdavDocument) Removes a document collections along with all its members.protected voidremoveStandaloneNonCollectionDocument(WebdavDocument webdavDocument) This method is designed to remove standalone document directly (not during removing some collection).protected MergePolicy<WebdavDocumentVersion>resolveEffectiveVersionsMergePolicy(WebdavDocument documentFromUser, WebdavDocument documentFromDb, MergePolicy<WebdavDocumentVersion> exceptionMergePolicy) retrieveAllChildDocumentsByParentDocument(WebdavDocument webdavDocument, FetchPlan fetchPlan) Returns a list containing all descendants of the given document.retrieveAllChildDocumentsByParentDocumentURI(URI parentUri, FetchPlan fetchPlan) Returns a list containing all descendants of the document defined by the given resource path.retrieveAllChildDocumentsByParentPath(String parentPath, FetchPlan fetchPlan) Returns a list containing all descendants of the document defined by the given parent string path.retrieveAllChildDocumentsByParentPath(String parentPath, FetchPlan fetchPlan, boolean softDelete) Returns a list containing all descendants of the document defined by the given parent string path.retrieveDocumentByWebdavDocumentId(UUID documentId) Returns a document by a document id.retrieveDocumentByWebdavDocumentId(UUID documentId, FetchPlan fetchPlan) Returns a document by a document id.retrieveDocumentByWebdavDocumentId(UUID documentId, String fetchPlanName) Returns a document by a document id.retrieveDocumentByWebdavDocumentIdNN(UUID documentId) Returns a document by a document id.retrieveDocumentByWebdavDocumentIdNN(UUID documentId, FetchPlan fetchPlan) Returns a document by a document id.retrieveDocumentByWebdavDocumentIdNN(UUID documentId, String fetchPlanName) Returns a document by a document id.retrieveDocumentByWebdavDocumentUri(URI documentPath) Returns a document by a document URI.retrieveDocumentByWebdavDocumentUri(URI documentPath, FetchPlan fetchPlan) Returns a document by a document URI.retrieveDocumentByWebdavDocumentUri(URI documentPath, String fetchPlanName) Returns a document by a document URI.retrieveDocumentByWebdavDocumentUriNN(URI documentPath) Returns a document by a document URI.retrieveDocumentByWebdavDocumentUriNN(URI documentPath, FetchPlan fetchPlan) Returns a document by a document URI.retrieveDocumentByWebdavDocumentUriNN(URI documentPath, String fetchPlanName) Returns a document by a document URI.retrieveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion) Returns a document by a document version.retrieveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, FetchPlan fetchPlan) Returns document by document version.retrieveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, String fetchPlanName) Returns document by document version.retrieveDocumentByWebdavDocumentVersionId(UUID documentVersionId) Returns a document by a document version id.retrieveDocumentByWebdavDocumentVersionId(UUID documentVersionId, FetchPlan fetchPlan) Returns a document by a document version id.retrieveDocumentByWebdavDocumentVersionId(UUID documentVersionId, String fetchPlanName) Returns a document by a document version id.retrieveDocumentByWebdavDocumentVersionNN(WebdavDocumentVersion documentVersion) Returns a document by a document version.retrieveDocumentByWebdavDocumentVersionNN(WebdavDocumentVersion documentVersion, FetchPlan fetchPlan) Returns a document by a document version.retrieveDocumentByWebdavDocumentVersionNN(WebdavDocumentVersion documentVersion, String fetchPlanName) Returns a document by a document version.retrieveRootDocuments(FetchPlan fetchPlan) Returns a list of documents that virtually belong to the top-level collection.protected voidsetTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) unlockDocumentByWebdavDocument(WebdavDocument document) Removes a lock for document.unlockDocumentByWebdavDocumentId(UUID documentId) Removes a lock for document.unlockDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion) Removes a lock for document.unlockDocumentByWebdavDocumentVersionId(UUID documentVersionId) Removes a lock for document.updateDocumentByConcreteVersions(WebdavDocument document, List<WebdavDocumentVersion> documentVersions, MergePolicy<WebdavDocumentVersion> exceptionMergePolicy) Adds new versions fromdocumentVersionsto document and resolves conflicts.updateDocumentByWebdavDocument(WebdavDocument document, FileRef fileRef) Adds a new document version to a document.updateDocumentByWebdavDocumentId(UUID documentId, FileRef fileRef) Returns document with new added version.updateDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, FileRef fileRef) Adds a new document version to a document.updateDocumentByWebdavDocumentVersionId(UUID documentVersionId, FileRef fileRef) Adds a new document version to a document.updateDocumentVersioning(WebdavDocument document, boolean versioning) Enables or disables a document versioning.updateDocumentVersioning(WebdavDocument document, boolean versioning, FetchPlan fetchPlan) Enables or disables a document versioning.updateDocumentVersioning(WebdavDocument document, boolean versioning, String fetchPlanName) Enables or disables a document versioning.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.webdav.service.WebdavDocumentsManagementService
copyWebdavDocument, moveWebdavDocument
-
Field Details
-
RETRIEVE_WEBDAV_DOCUMENT_BY_WEBDAV_DOCUMENT_VERSION_ID
- See Also:
-
RETRIEVE_WEBDAV_DOCUMENT_BY_PATH_LIKE_ESCAPED_TEMPLATE
- See Also:
-
RETRIEVE_WEBDAV_DOCUMENTS_STARTING_WITH_PATH_ESCAPED_TEMPLATE
- See Also:
-
RETRIEVE_ROOT_WEBDAV_DOCUMENTS
- See Also:
-
fetchPlanRepository
-
webdavPreconditions
-
uriTools
-
metadata
-
dataManager
-
webdavProperties
-
webdavSecurityTools
-
webdavTools
-
timeSource
-
entityManager
protected jakarta.persistence.EntityManager entityManager -
transaction
protected org.springframework.transaction.support.TransactionTemplate transaction -
documentVersionsManagementService
-
webdavNaturalVersionIdGenerator
-
applicationEventPublisher
protected org.springframework.context.ApplicationEventPublisher applicationEventPublisher
-
-
Constructor Details
-
WebdavDocumentsManagementServiceImpl
public WebdavDocumentsManagementServiceImpl(FetchPlanRepository fetchPlanRepository, WebdavPreconditions webdavPreconditions, WebdavResourceUriTools uriTools, Metadata metadata, DataManager dataManager, WebdavProperties webdavProperties, WebdavSecurityTools webdavSecurityTools, WebdavTools webdavTools, TimeSource timeSource, WebdavDocumentVersionsManagementService documentVersionsManagementService, WebdavNaturalVersionIdGenerator webdavNaturalVersionIdGenerator, org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
-
-
Method Details
-
setTransactionManager
@Autowired protected void setTransactionManager(org.springframework.transaction.PlatformTransactionManager transactionManager) -
retrieveDocumentByWebdavDocumentVersionId
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version id.- Specified by:
retrieveDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementService- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentVersionId
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentVersionId(UUID documentVersionId, String fetchPlanName) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version id.- Specified by:
retrieveDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentVersionId
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentVersionId(UUID documentVersionId, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version id.- Specified by:
retrieveDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentId
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document id.- Specified by:
retrieveDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementService- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentIdNN
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document id.- Specified by:
retrieveDocumentByWebdavDocumentIdNNin interfaceWebdavDocumentsManagementService
-
retrieveDocumentByWebdavDocumentId
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentId(UUID documentId, String fetchPlanName) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document id.- Specified by:
retrieveDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentIdNN
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document id.- Specified by:
retrieveDocumentByWebdavDocumentIdNNin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan
-
retrieveDocumentByWebdavDocumentId
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentId(UUID documentId, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document id.- Specified by:
retrieveDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentIdNN
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document id.- Specified by:
retrieveDocumentByWebdavDocumentIdNNin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan
-
retrieveDocumentByWebdavDocumentUri
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document URI.- Specified by:
retrieveDocumentByWebdavDocumentUriin interfaceWebdavDocumentsManagementService- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentUriNN
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document URI.- Specified by:
retrieveDocumentByWebdavDocumentUriNNin interfaceWebdavDocumentsManagementService
-
retrieveDocumentByWebdavDocumentUri
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentUri(URI documentPath, String fetchPlanName) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document URI.- Specified by:
retrieveDocumentByWebdavDocumentUriin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentUriNN
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document URI.- Specified by:
retrieveDocumentByWebdavDocumentUriNNin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan
-
retrieveDocumentByWebdavDocumentUri
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentUri(URI documentPath, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document URI.- Specified by:
retrieveDocumentByWebdavDocumentUriin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentUriNN
Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document URI.- Specified by:
retrieveDocumentByWebdavDocumentUriNNin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan
-
retrieveDocumentByWebdavDocumentVersion
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version.- Specified by:
retrieveDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementService- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentVersionNN
public WebdavDocument retrieveDocumentByWebdavDocumentVersionNN(WebdavDocumentVersion documentVersion) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version.- Specified by:
retrieveDocumentByWebdavDocumentVersionNNin interfaceWebdavDocumentsManagementService
-
retrieveDocumentByWebdavDocumentVersion
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, String fetchPlanName) Description copied from interface:WebdavDocumentsManagementServiceReturns document by document version.- Specified by:
retrieveDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentVersionNN
public WebdavDocument retrieveDocumentByWebdavDocumentVersionNN(WebdavDocumentVersion documentVersion, String fetchPlanName) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version.- Specified by:
retrieveDocumentByWebdavDocumentVersionNNin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan
-
retrieveDocumentByWebdavDocumentVersion
@Nullable public WebdavDocument retrieveDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns document by document version.- Specified by:
retrieveDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan- Returns:
- null if a document is not found
-
retrieveDocumentByWebdavDocumentVersionNN
public WebdavDocument retrieveDocumentByWebdavDocumentVersionNN(WebdavDocumentVersion documentVersion, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a document by a document version.- Specified by:
retrieveDocumentByWebdavDocumentVersionNNin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan
-
retrieveRootDocuments
Description copied from interface:WebdavDocumentsManagementServiceReturns a list of documents that virtually belong to the top-level collection.- Specified by:
retrieveRootDocumentsin interfaceWebdavDocumentsManagementService
-
retrieveAllChildDocumentsByParentDocument
public List<WebdavDocument> retrieveAllChildDocumentsByParentDocument(WebdavDocument webdavDocument, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a list containing all descendants of the given document.- Specified by:
retrieveAllChildDocumentsByParentDocumentin interfaceWebdavDocumentsManagementService
-
retrieveAllChildDocumentsByParentDocumentURI
public List<WebdavDocument> retrieveAllChildDocumentsByParentDocumentURI(URI parentUri, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a list containing all descendants of the document defined by the given resource path.- Specified by:
retrieveAllChildDocumentsByParentDocumentURIin interfaceWebdavDocumentsManagementService
-
retrieveAllChildDocumentsByParentPath
public List<WebdavDocument> retrieveAllChildDocumentsByParentPath(String parentPath, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceReturns a list containing all descendants of the document defined by the given parent string path. Soft-deleted documents are excluded.- Specified by:
retrieveAllChildDocumentsByParentPathin interfaceWebdavDocumentsManagementService- Parameters:
parentPath- full path of the parent directoryfetchPlan- fetch plan for loading- Returns:
- list of found documents.
-
retrieveAllChildDocumentsByParentPath
public List<WebdavDocument> retrieveAllChildDocumentsByParentPath(String parentPath, FetchPlan fetchPlan, boolean softDelete) Description copied from interface:WebdavDocumentsManagementServiceReturns a list containing all descendants of the document defined by the given parent string path.- Specified by:
retrieveAllChildDocumentsByParentPathin interfaceWebdavDocumentsManagementService- Parameters:
parentPath- full path of the parent directoryfetchPlan- fetch plan for loadingsoftDelete- enable\disable soft-delete condition- Returns:
- list of found documents.
-
lockDocumentByWebdavDocumentId
Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with default timeout. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocumentId
Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with specific timeout. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocument
Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with default timeout. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocumentVersionId
Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with default timeout. The document is found by a version id. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocumentVersionId
@Transactional public WebdavDocument lockDocumentByWebdavDocumentVersionId(UUID documentVersionId, long timeout) Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with specific timeout. The document is found by a version id. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocumentVersion
@Transactional public WebdavDocument lockDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion) Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with default timeout. The document is found by a version. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocumentVersion
@Transactional public WebdavDocument lockDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, long timeout) Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with specific timeout. The document is found by a version. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
lockDocumentByWebdavDocument
@Transactional public WebdavDocument lockDocumentByWebdavDocument(WebdavDocument document, long timeout) Description copied from interface:WebdavDocumentsManagementServiceCreates a lock for document with specific timeout. Automatically creates a transaction when the method is called.- Specified by:
lockDocumentByWebdavDocumentin interfaceWebdavDocumentsManagementService- Returns:
- a locked document
-
internalRefreshLock
protected WebdavLockDescriptor internalRefreshLock(@Mutable(fieldName="webdavLockDescriptor") WebdavDocument document, long timeout) -
internalCreateLock
-
unlockDocumentByWebdavDocumentId
Description copied from interface:WebdavDocumentsManagementServiceRemoves a lock for document.- Specified by:
unlockDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementService- Returns:
- a unlocked document
-
unlockDocumentByWebdavDocument
Description copied from interface:WebdavDocumentsManagementServiceRemoves a lock for document.- Specified by:
unlockDocumentByWebdavDocumentin interfaceWebdavDocumentsManagementService- Returns:
- a unlocked document
-
unlockDocumentByWebdavDocumentVersionId
Description copied from interface:WebdavDocumentsManagementServiceRemoves a lock for document. The document is found by document version id.- Specified by:
unlockDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementService- Returns:
- a unlocked document
-
unlockDocumentByWebdavDocumentVersion
Description copied from interface:WebdavDocumentsManagementServiceRemoves a lock for document. The document is found by document version.- Specified by:
unlockDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementService- Returns:
- a unlocked document
-
updateDocumentByConcreteVersions
@Transactional public WebdavDocument updateDocumentByConcreteVersions(WebdavDocument document, List<WebdavDocumentVersion> documentVersions, MergePolicy<WebdavDocumentVersion> exceptionMergePolicy) Description copied from interface:WebdavDocumentsManagementServiceAdds new versions fromdocumentVersionsto document and resolves conflicts. Conflicts occur if last version of changed document is differs from last version of document in database. For conflict solving is used policy fromexceptionMergePolicy.- Specified by:
updateDocumentByConcreteVersionsin interfaceWebdavDocumentsManagementService
-
resolveEffectiveVersionsMergePolicy
protected MergePolicy<WebdavDocumentVersion> resolveEffectiveVersionsMergePolicy(WebdavDocument documentFromUser, WebdavDocument documentFromDb, MergePolicy<WebdavDocumentVersion> exceptionMergePolicy) -
applyMergeOperation
protected Stream<WebdavDocumentVersion> applyMergeOperation(MergeResultItem<WebdavDocumentVersion> resultItem) -
acceptOnlyLastVersionIfVersioningDisabled
protected void acceptOnlyLastVersionIfVersioningDisabled(WebdavDocument document, MergePolicy<?> mergePolicy, WebdavDocumentVersion lastVersion, List<MergeResultItem<WebdavDocumentVersion>> merged, List<WebdavDocumentVersion> documentVersions) -
isNonVersioningPolicy
-
updateDocumentByWebdavDocumentId
Description copied from interface:WebdavDocumentsManagementServiceReturns document with new added version. New version is created by FileDescriptor instance and is set as last version. Document for update is set by id.- Specified by:
updateDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementService
-
updateDocumentByWebdavDocument
Description copied from interface:WebdavDocumentsManagementServiceAdds a new document version to a document. The new version is based on a file reference.- Specified by:
updateDocumentByWebdavDocumentin interfaceWebdavDocumentsManagementService- Returns:
- a updated document with a new last version
-
updateDocumentByWebdavDocumentVersion
public WebdavDocument updateDocumentByWebdavDocumentVersion(WebdavDocumentVersion documentVersion, FileRef fileRef) Description copied from interface:WebdavDocumentsManagementServiceAdds a new document version to a document. The new version is based on a file reference. The document is found by a document version.- Specified by:
updateDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementService- Returns:
- a updated document with a new last version
-
updateDocumentByWebdavDocumentVersionId
public WebdavDocument updateDocumentByWebdavDocumentVersionId(UUID documentVersionId, FileRef fileRef) Description copied from interface:WebdavDocumentsManagementServiceAdds a new document version to a document. The new version is based on a file descriptor. The document is found by a document version id.- Specified by:
updateDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementService- Returns:
- a updated document with a new last version
-
createVersioningDocumentByFileRef
Description copied from interface:WebdavDocumentsManagementServiceCreates a versioning document. The document will contain a version based on file reference. The document will not have a parent document specified, which means that it will be shown in the root collection.- Specified by:
createVersioningDocumentByFileRefin interfaceWebdavDocumentsManagementService
-
createVersioningDocumentByFileRef
public WebdavDocument createVersioningDocumentByFileRef(FileRef fileRef, @Nullable WebdavDocument parent) Description copied from interface:WebdavDocumentsManagementServiceCreates a versioning document. The document will contain a version based on file reference.- Specified by:
createVersioningDocumentByFileRefin interfaceWebdavDocumentsManagementService
-
createNonVersioningDocumentByFileRef
Description copied from interface:WebdavDocumentsManagementServiceCreates a non-versioning document. The document will contain a version based on file reference. The document will not have a parent document specified, which means that it will be shown in the root collection.- Specified by:
createNonVersioningDocumentByFileRefin interfaceWebdavDocumentsManagementService
-
createNonVersioningDocumentByFileRef
public WebdavDocument createNonVersioningDocumentByFileRef(FileRef fileRef, @Nullable WebdavDocument parent) Description copied from interface:WebdavDocumentsManagementServiceCreates a non-versioning document. The document will contain a version based on file reference.- Specified by:
createNonVersioningDocumentByFileRefin interfaceWebdavDocumentsManagementService
-
createDocumentCollection
public WebdavDocument createDocumentCollection(String name, @Nullable WebdavDocument parentCollection) Description copied from interface:WebdavDocumentsManagementServiceCreates a document collection inside the given parent collection. If the parent collection is null, the resulting collection will be created within the root collection.- Specified by:
createDocumentCollectionin interfaceWebdavDocumentsManagementService
-
createDocumentCollectionByUri
Description copied from interface:WebdavDocumentsManagementServiceCreates a document collection by the given URI.- Specified by:
createDocumentCollectionByUriin interfaceWebdavDocumentsManagementService
-
updateDocumentVersioning
Description copied from interface:WebdavDocumentsManagementServiceEnables or disables a document versioning.- Specified by:
updateDocumentVersioningin interfaceWebdavDocumentsManagementService
-
updateDocumentVersioning
public WebdavDocument updateDocumentVersioning(WebdavDocument document, boolean versioning, String fetchPlanName) Description copied from interface:WebdavDocumentsManagementServiceEnables or disables a document versioning.- Specified by:
updateDocumentVersioningin interfaceWebdavDocumentsManagementServicefetchPlanName- a returned document fetch plan
-
updateDocumentVersioning
public WebdavDocument updateDocumentVersioning(WebdavDocument document, boolean versioning, FetchPlan fetchPlan) Description copied from interface:WebdavDocumentsManagementServiceEnables or disables a document versioning.- Specified by:
updateDocumentVersioningin interfaceWebdavDocumentsManagementServicefetchPlan- a returned document fetch plan
-
removeDocumentByWebdavDocumentId
Description copied from interface:WebdavDocumentsManagementServiceRemoves a document. If the document is collection, it will be deleted with all child members.- Specified by:
removeDocumentByWebdavDocumentIdin interfaceWebdavDocumentsManagementService
-
removeDocumentByWebdavDocumentUri
Description copied from interface:WebdavDocumentsManagementServiceRemoves a document. If the document is collection, it will be deleted with all child members.- Specified by:
removeDocumentByWebdavDocumentUriin interfaceWebdavDocumentsManagementService
-
removeDocumentByWebdavDocument
Description copied from interface:WebdavDocumentsManagementServiceRemoves a document. If the document is collection, it will be deleted with all child members.- Specified by:
removeDocumentByWebdavDocumentin interfaceWebdavDocumentsManagementService
-
removeDocumentByWebdavDocumentVersionId
Description copied from interface:WebdavDocumentsManagementServiceRemoves a document. The document is found by document version id.- Specified by:
removeDocumentByWebdavDocumentVersionIdin interfaceWebdavDocumentsManagementService
-
removeDocumentByWebdavDocumentVersion
Description copied from interface:WebdavDocumentsManagementServiceRemoves a document. The document is found by document version.- Specified by:
removeDocumentByWebdavDocumentVersionin interfaceWebdavDocumentsManagementService
-
removeDocumentCollection
Removes a document collections along with all its members. This method implicitly locks all documents before delete. -
removeStandaloneNonCollectionDocument
This method is designed to remove standalone document directly (not during removing some collection). -
internalRemoveNonCollectionDocument
-
copyWebdavDocument
public WebdavDocument copyWebdavDocument(WebdavDocument sourceDocument, URI destinationUri, boolean overwrite, Depth depth) - Specified by:
copyWebdavDocumentin interfaceWebdavDocumentsManagementService
-
copySingleWebdavDocument
protected WebdavDocument copySingleWebdavDocument(WebdavDocument sourceDocument, URI destinationUri) -
moveWebdavDocument
public WebdavDocument moveWebdavDocument(WebdavDocument sourceDocument, URI destinationUri, boolean overwrite) - Specified by:
moveWebdavDocumentin interfaceWebdavDocumentsManagementService
-
buildEscapedQuery
-
escapeLikeClauseParameter
-
escapePath
-