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 int BUFFER_SIZE  
    protected com.flowable.core.content.api.CoreContentService coreContentService  
    protected com.flowable.core.content.api.MetadataService metadataService  
    protected com.fasterxml.jackson.databind.ObjectMapper objectMapper  
    protected java.io.File webDavFolder  
  • 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 long determineTimeout​(long timeout)  
    java.lang.String generateEtag​(com.flowable.core.content.api.CoreContentItem contentItem)  
    java.util.List<com.ithit.webdav.server.LockInfo> getActiveLocks​(com.flowable.core.content.api.CoreContentItem contentItem)  
    protected int getLatestContentItemVersion​(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.String getUniqueTempFileName​(com.flowable.core.content.api.CoreContentItem contentItem)  
    protected boolean hasExclusiveLock​(com.flowable.core.content.api.CoreContentItem contentItem)  
    com.ithit.webdav.server.LockResult lock​(com.flowable.core.content.api.CoreContentItem contentItem, boolean shared, boolean deep, long timeout, java.lang.String owner)  
    void readContentItem​(com.flowable.core.content.api.CoreContentItem contentItem, java.io.OutputStream outputStream, long startIndex, long count)  
    com.ithit.webdav.server.RefreshLockResult refreshLock​(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.Property toProperty​(com.fasterxml.jackson.databind.JsonNode propertyNode)  
    void unlock​(com.flowable.core.content.api.CoreContentItem contentItem, java.lang.String lockToken)  
    void updateProperties​(com.flowable.core.content.api.CoreContentItem contentItem, com.ithit.webdav.server.Property[] setProps, com.ithit.webdav.server.Property[] delProps)  
    long writeContentItem​(com.flowable.core.content.api.CoreContentItem contentItem, java.io.InputStream content, java.lang.String contentType, long startIndex, long totalFileLength)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • 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:
      generateEtag in interface WebDavFileService
    • 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:
      getProperties in interface WebDavFileService
    • 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:
      updateProperties in interface WebDavFileService
    • getActiveLocks

      public java.util.List<com.ithit.webdav.server.LockInfo> getActiveLocks​(com.flowable.core.content.api.CoreContentItem contentItem)
      Specified by:
      getActiveLocks in interface WebDavFileService
    • 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:
      lock in interface WebDavFileService
      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:
      refreshLock in interface WebDavFileService
      Throws:
      com.ithit.webdav.server.exceptions.PreconditionFailedException
    • unlock

      public void unlock​(com.flowable.core.content.api.CoreContentItem contentItem, java.lang.String lockToken)
      Specified by:
      unlock in interface WebDavFileService
    • 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:
      readContentItem in interface WebDavFileService
      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:
      writeContentItem in interface WebDavFileService
      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)