org.exoplatform.services.jcr.webdav
Class WebDavServiceImpl

java.lang.Object
  extended by org.exoplatform.services.jcr.webdav.WebDavServiceImpl
All Implemented Interfaces:
WebDavService, org.exoplatform.services.rest.container.ResourceContainer

public class WebDavServiceImpl
extends java.lang.Object
implements WebDavService, org.exoplatform.services.rest.container.ResourceContainer

Created by The eXo Platform SARL .

Version:
$Id: WebDavServiceImpl.java 79062 2012-01-31 11:30:20Z huong_nguyenthien $
Author:
Gennady Azarenkov

Field Summary
static java.lang.String INIT_PARAM_CACHE_CONTROL
           
static java.lang.String INIT_PARAM_DEF_FILE_MIME_TYPE
          Default file initialization mime type.
static java.lang.String INIT_PARAM_DEF_FILE_NODE_TYPE
          Default file initialization node type.
static java.lang.String INIT_PARAM_DEF_FOLDER_NODE_TYPE
          Default folder initialization node type.
static java.lang.String INIT_PARAM_UPDATE_POLICY
          Initialization initialization "update-policy"-parameter value.
 
Constructor Summary
WebDavServiceImpl(org.exoplatform.container.xml.InitParams params, RepositoryService repositoryService, ThreadLocalSessionProviderService sessionProviderService, org.exoplatform.services.rest.ResourceBinder resourceBinder)
           
 
Method Summary
 org.exoplatform.services.rest.Response checkin(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response checkout(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response copy(java.lang.String repoName, java.lang.String repoPath, java.lang.String destinationHeader, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String depthHeader, java.lang.String overwriteHeader, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response delete(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader)
           
 org.exoplatform.services.rest.Response get(java.lang.String repoName, java.lang.String repoPath, java.lang.String rangeHeader, java.lang.String version, java.lang.String baseURI)
          Deprecated. For back capability with previous 1.10.x verions only. Use get(String, String, String, String, String, String) instead.
 org.exoplatform.services.rest.Response get(java.lang.String repoName, java.lang.String repoPath, java.lang.String rangeHeader, java.lang.String ifModifiedSince, java.lang.String version, java.lang.String baseURI)
           
 org.exoplatform.services.rest.Response head(java.lang.String repoName, java.lang.String repoPath, java.lang.String version, java.lang.String baseURI)
          the HEAD method
 org.exoplatform.services.rest.Response lock(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String depthHeader, java.lang.String timeout, org.exoplatform.common.util.HierarchicalProperty body)
           
protected  java.util.List<java.lang.String> lockTokens(java.lang.String lockTokenHeader, java.lang.String ifHeader)
           
 org.exoplatform.services.rest.Response mkcol(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String nodeTypeHeader, java.lang.String mixinTypesHeader)
           
 org.exoplatform.services.rest.Response move(java.lang.String repoName, java.lang.String repoPath, java.lang.String destinationHeader, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String depthHeader, java.lang.String overwriteHeader, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response options(java.lang.String repoName, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response order(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
protected  java.lang.String path(java.lang.String repoPath)
           
 org.exoplatform.services.rest.Response propfind(java.lang.String repoName, java.lang.String repoPath, java.lang.String depthHeader, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response proppatch(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response put(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, java.lang.String nodeTypeHeader, java.lang.String mixinTypesHeader, java.lang.String mimeType, java.io.InputStream inputStream)
           
 org.exoplatform.services.rest.Response report(java.lang.String repoName, java.lang.String repoPath, java.lang.String depthHeader, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response search(java.lang.String repoName, java.lang.String repoPath, java.lang.String baseURI, org.exoplatform.common.util.HierarchicalProperty body)
           
protected  javax.jcr.Session session(java.lang.String repoName, java.lang.String wsName, java.util.List<java.lang.String> lockTokens)
           
 org.exoplatform.services.rest.Response uncheckout(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response unlock(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader, org.exoplatform.common.util.HierarchicalProperty body)
           
 org.exoplatform.services.rest.Response versionControl(java.lang.String repoName, java.lang.String repoPath, java.lang.String lockTokenHeader, java.lang.String ifHeader)
           
protected  java.lang.String workspaceName(java.lang.String repoPath)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INIT_PARAM_DEF_FOLDER_NODE_TYPE

public static final java.lang.String INIT_PARAM_DEF_FOLDER_NODE_TYPE
Default folder initialization node type.

See Also:
Constant Field Values

INIT_PARAM_DEF_FILE_NODE_TYPE

public static final java.lang.String INIT_PARAM_DEF_FILE_NODE_TYPE
Default file initialization node type.

See Also:
Constant Field Values

INIT_PARAM_DEF_FILE_MIME_TYPE

public static final java.lang.String INIT_PARAM_DEF_FILE_MIME_TYPE
Default file initialization mime type.

See Also:
Constant Field Values

INIT_PARAM_UPDATE_POLICY

public static final java.lang.String INIT_PARAM_UPDATE_POLICY
Initialization initialization "update-policy"-parameter value.

See Also:
Constant Field Values

INIT_PARAM_CACHE_CONTROL

public static final java.lang.String INIT_PARAM_CACHE_CONTROL
See Also:
Constant Field Values
Constructor Detail

WebDavServiceImpl

public WebDavServiceImpl(org.exoplatform.container.xml.InitParams params,
                         RepositoryService repositoryService,
                         ThreadLocalSessionProviderService sessionProviderService,
                         org.exoplatform.services.rest.ResourceBinder resourceBinder)
                  throws java.lang.Exception
Throws:
java.lang.Exception
Method Detail

checkin

public org.exoplatform.services.rest.Response checkin(java.lang.String repoName,
                                                      java.lang.String repoPath,
                                                      java.lang.String lockTokenHeader,
                                                      java.lang.String ifHeader,
                                                      org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
checkin in interface WebDavService
Returns:
HTTP response

checkout

public org.exoplatform.services.rest.Response checkout(java.lang.String repoName,
                                                       java.lang.String repoPath,
                                                       java.lang.String lockTokenHeader,
                                                       java.lang.String ifHeader,
                                                       org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
checkout in interface WebDavService
Returns:
HTTP response

copy

public org.exoplatform.services.rest.Response copy(java.lang.String repoName,
                                                   java.lang.String repoPath,
                                                   java.lang.String destinationHeader,
                                                   java.lang.String lockTokenHeader,
                                                   java.lang.String ifHeader,
                                                   java.lang.String depthHeader,
                                                   java.lang.String overwriteHeader,
                                                   java.lang.String baseURI,
                                                   org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
copy in interface WebDavService
Returns:
HTTP response

delete

public org.exoplatform.services.rest.Response delete(java.lang.String repoName,
                                                     java.lang.String repoPath,
                                                     java.lang.String lockTokenHeader,
                                                     java.lang.String ifHeader)
Specified by:
delete in interface WebDavService
Returns:
HTTP response

get

@Deprecated
public org.exoplatform.services.rest.Response get(java.lang.String repoName,
                                                             java.lang.String repoPath,
                                                             java.lang.String rangeHeader,
                                                             java.lang.String version,
                                                             java.lang.String baseURI)
Deprecated. For back capability with previous 1.10.x verions only. Use get(String, String, String, String, String, String) instead.

Description copied from interface: WebDavService
the GET method

Specified by:
get in interface WebDavService
Returns:
HTTP response
See Also:
WebDavService.get(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)

get

public org.exoplatform.services.rest.Response get(java.lang.String repoName,
                                                  java.lang.String repoPath,
                                                  java.lang.String rangeHeader,
                                                  java.lang.String ifModifiedSince,
                                                  java.lang.String version,
                                                  java.lang.String baseURI)

head

public org.exoplatform.services.rest.Response head(java.lang.String repoName,
                                                   java.lang.String repoPath,
                                                   java.lang.String version,
                                                   java.lang.String baseURI)
Description copied from interface: WebDavService
the HEAD method

Specified by:
head in interface WebDavService
Returns:
HTTP response

lock

public org.exoplatform.services.rest.Response lock(java.lang.String repoName,
                                                   java.lang.String repoPath,
                                                   java.lang.String lockTokenHeader,
                                                   java.lang.String ifHeader,
                                                   java.lang.String depthHeader,
                                                   java.lang.String timeout,
                                                   org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
lock in interface WebDavService
Returns:
HTTP response

unlock

public org.exoplatform.services.rest.Response unlock(java.lang.String repoName,
                                                     java.lang.String repoPath,
                                                     java.lang.String lockTokenHeader,
                                                     java.lang.String ifHeader,
                                                     org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
unlock in interface WebDavService
Returns:
HTTP response

mkcol

public org.exoplatform.services.rest.Response mkcol(java.lang.String repoName,
                                                    java.lang.String repoPath,
                                                    java.lang.String lockTokenHeader,
                                                    java.lang.String ifHeader,
                                                    java.lang.String nodeTypeHeader,
                                                    java.lang.String mixinTypesHeader)
Specified by:
mkcol in interface WebDavService
Returns:
HTTP response

move

public org.exoplatform.services.rest.Response move(java.lang.String repoName,
                                                   java.lang.String repoPath,
                                                   java.lang.String destinationHeader,
                                                   java.lang.String lockTokenHeader,
                                                   java.lang.String ifHeader,
                                                   java.lang.String depthHeader,
                                                   java.lang.String overwriteHeader,
                                                   java.lang.String baseURI,
                                                   org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
move in interface WebDavService
Returns:
HTTP response

options

public org.exoplatform.services.rest.Response options(java.lang.String repoName,
                                                      org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
options in interface WebDavService
Returns:
HTTP response

order

public org.exoplatform.services.rest.Response order(java.lang.String repoName,
                                                    java.lang.String repoPath,
                                                    java.lang.String lockTokenHeader,
                                                    java.lang.String ifHeader,
                                                    java.lang.String baseURI,
                                                    org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
order in interface WebDavService
Returns:
HTTP response

propfind

public org.exoplatform.services.rest.Response propfind(java.lang.String repoName,
                                                       java.lang.String repoPath,
                                                       java.lang.String depthHeader,
                                                       java.lang.String baseURI,
                                                       org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
propfind in interface WebDavService
Returns:
HTTP response

proppatch

public org.exoplatform.services.rest.Response proppatch(java.lang.String repoName,
                                                        java.lang.String repoPath,
                                                        java.lang.String lockTokenHeader,
                                                        java.lang.String ifHeader,
                                                        java.lang.String baseURI,
                                                        org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
proppatch in interface WebDavService
Returns:
HTTP response

put

public org.exoplatform.services.rest.Response put(java.lang.String repoName,
                                                  java.lang.String repoPath,
                                                  java.lang.String lockTokenHeader,
                                                  java.lang.String ifHeader,
                                                  java.lang.String nodeTypeHeader,
                                                  java.lang.String mixinTypesHeader,
                                                  java.lang.String mimeType,
                                                  java.io.InputStream inputStream)
Specified by:
put in interface WebDavService
Returns:
HTTP response

report

public org.exoplatform.services.rest.Response report(java.lang.String repoName,
                                                     java.lang.String repoPath,
                                                     java.lang.String depthHeader,
                                                     java.lang.String baseURI,
                                                     org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
report in interface WebDavService
Returns:
HTTP response

search

public org.exoplatform.services.rest.Response search(java.lang.String repoName,
                                                     java.lang.String repoPath,
                                                     java.lang.String baseURI,
                                                     org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
search in interface WebDavService
Returns:
HTTP response

uncheckout

public org.exoplatform.services.rest.Response uncheckout(java.lang.String repoName,
                                                         java.lang.String repoPath,
                                                         java.lang.String lockTokenHeader,
                                                         java.lang.String ifHeader,
                                                         org.exoplatform.common.util.HierarchicalProperty body)
Specified by:
uncheckout in interface WebDavService
Returns:
HTTP response

versionControl

public org.exoplatform.services.rest.Response versionControl(java.lang.String repoName,
                                                             java.lang.String repoPath,
                                                             java.lang.String lockTokenHeader,
                                                             java.lang.String ifHeader)
Specified by:
versionControl in interface WebDavService
Returns:
HTTP response

session

protected javax.jcr.Session session(java.lang.String repoName,
                                    java.lang.String wsName,
                                    java.util.List<java.lang.String> lockTokens)
                             throws java.lang.Exception
Throws:
java.lang.Exception

workspaceName

protected java.lang.String workspaceName(java.lang.String repoPath)

path

protected java.lang.String path(java.lang.String repoPath)

lockTokens

protected java.util.List<java.lang.String> lockTokens(java.lang.String lockTokenHeader,
                                                      java.lang.String ifHeader)


Copyright © 2012 eXo Platform SAS. All Rights Reserved.