Package com.flowable.webdav.impl
Class WebDavFileServiceImpl
java.lang.Object
com.flowable.webdav.impl.WebDavFileServiceImpl
- All Implemented Interfaces:
WebDavFileService
public class WebDavFileServiceImpl extends java.lang.Object implements WebDavFileService
-
Field Summary
Fields Modifier and Type Field Description static intBUFFER_SIZEprotected com.flowable.core.content.api.CoreContentServicecoreContentServiceprotected com.flowable.core.content.api.MetadataServicemetadataServiceprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected java.io.FilewebDavFolder -
Constructor Summary
Constructors Constructor Description WebDavFileServiceImpl(com.flowable.core.content.api.CoreContentService coreContentService, com.flowable.core.content.api.MetadataService metadataService, com.fasterxml.jackson.databind.ObjectMapper objectMapper, java.io.File webDavFolder) -
Method Summary
Modifier and Type Method Description protected longdetermineTimeout(long timeout)java.lang.StringgenerateEtag(com.flowable.core.content.api.CoreContentItem contentItem)java.util.List<com.ithit.webdav.server.LockInfo>getActiveLocks(com.flowable.core.content.api.CoreContentItem contentItem)protected intgetLatestContentItemVersion(com.flowable.core.content.api.CoreContentItem coreContentItem)java.util.List<com.ithit.webdav.server.Property>getProperties(com.flowable.core.content.api.CoreContentItem contentItem, com.ithit.webdav.server.Property[] properties)protected java.lang.StringgetUniqueTempFileName(com.flowable.core.content.api.CoreContentItem contentItem)protected booleanhasExclusiveLock(com.flowable.core.content.api.CoreContentItem contentItem)com.ithit.webdav.server.LockResultlock(com.flowable.core.content.api.CoreContentItem contentItem, boolean shared, boolean deep, long timeout, java.lang.String owner)voidreadContentItem(com.flowable.core.content.api.CoreContentItem contentItem, java.io.OutputStream outputStream, long startIndex, long count)com.ithit.webdav.server.RefreshLockResultrefreshLock(com.flowable.core.content.api.CoreContentItem contentItem, java.lang.String token, long timeout)protected java.util.List<com.ithit.webdav.server.Property>toProperties(com.fasterxml.jackson.databind.node.ObjectNode propertiesNode)com.ithit.webdav.server.PropertytoProperty(com.fasterxml.jackson.databind.JsonNode propertyNode)voidunlock(com.flowable.core.content.api.CoreContentItem contentItem, java.lang.String lockToken)voidupdateProperties(com.flowable.core.content.api.CoreContentItem contentItem, com.ithit.webdav.server.Property[] setProps, com.ithit.webdav.server.Property[] delProps)longwriteContentItem(com.flowable.core.content.api.CoreContentItem contentItem, java.io.InputStream content, java.lang.String contentType, long startIndex, long totalFileLength)
-
Field Details
-
BUFFER_SIZE
public static final int BUFFER_SIZE- See Also:
- Constant Field Values
-
coreContentService
protected com.flowable.core.content.api.CoreContentService coreContentService -
metadataService
protected com.flowable.core.content.api.MetadataService metadataService -
objectMapper
protected com.fasterxml.jackson.databind.ObjectMapper objectMapper -
webDavFolder
protected java.io.File webDavFolder
-
-
Constructor Details
-
WebDavFileServiceImpl
public WebDavFileServiceImpl(com.flowable.core.content.api.CoreContentService coreContentService, com.flowable.core.content.api.MetadataService metadataService, com.fasterxml.jackson.databind.ObjectMapper objectMapper, java.io.File webDavFolder)
-
-
Method Details
-
generateEtag
public java.lang.String generateEtag(com.flowable.core.content.api.CoreContentItem contentItem)- Specified by:
generateEtagin interfaceWebDavFileService
-
getProperties
public java.util.List<com.ithit.webdav.server.Property> getProperties(com.flowable.core.content.api.CoreContentItem contentItem, com.ithit.webdav.server.Property[] properties)- Specified by:
getPropertiesin interfaceWebDavFileService
-
toProperties
protected java.util.List<com.ithit.webdav.server.Property> toProperties(com.fasterxml.jackson.databind.node.ObjectNode propertiesNode) -
toProperty
public com.ithit.webdav.server.Property toProperty(com.fasterxml.jackson.databind.JsonNode propertyNode) -
updateProperties
public void updateProperties(com.flowable.core.content.api.CoreContentItem contentItem, com.ithit.webdav.server.Property[] setProps, com.ithit.webdav.server.Property[] delProps)- Specified by:
updatePropertiesin interfaceWebDavFileService
-
getActiveLocks
public java.util.List<com.ithit.webdav.server.LockInfo> getActiveLocks(com.flowable.core.content.api.CoreContentItem contentItem)- Specified by:
getActiveLocksin interfaceWebDavFileService
-
lock
public com.ithit.webdav.server.LockResult lock(com.flowable.core.content.api.CoreContentItem contentItem, boolean shared, boolean deep, long timeout, java.lang.String owner) throws com.ithit.webdav.server.exceptions.LockedException- Specified by:
lockin interfaceWebDavFileService- Throws:
com.ithit.webdav.server.exceptions.LockedException
-
refreshLock
public com.ithit.webdav.server.RefreshLockResult refreshLock(com.flowable.core.content.api.CoreContentItem contentItem, java.lang.String token, long timeout) throws com.ithit.webdav.server.exceptions.PreconditionFailedException- Specified by:
refreshLockin interfaceWebDavFileService- Throws:
com.ithit.webdav.server.exceptions.PreconditionFailedException
-
unlock
public void unlock(com.flowable.core.content.api.CoreContentItem contentItem, java.lang.String lockToken)- Specified by:
unlockin interfaceWebDavFileService
-
hasExclusiveLock
protected boolean hasExclusiveLock(com.flowable.core.content.api.CoreContentItem contentItem) -
determineTimeout
protected long determineTimeout(long timeout) -
readContentItem
public void readContentItem(com.flowable.core.content.api.CoreContentItem contentItem, java.io.OutputStream outputStream, long startIndex, long count) throws java.io.IOException- Specified by:
readContentItemin interfaceWebDavFileService- Throws:
java.io.IOException
-
writeContentItem
public long writeContentItem(com.flowable.core.content.api.CoreContentItem contentItem, java.io.InputStream content, java.lang.String contentType, long startIndex, long totalFileLength) throws java.io.IOException- Specified by:
writeContentItemin interfaceWebDavFileService- Throws:
java.io.IOException
-
getUniqueTempFileName
protected java.lang.String getUniqueTempFileName(com.flowable.core.content.api.CoreContentItem contentItem) -
getLatestContentItemVersion
protected int getLatestContentItemVersion(com.flowable.core.content.api.CoreContentItem coreContentItem)
-