public class WebDavServiceImpl extends Object implements WebDavService, org.exoplatform.services.rest.resource.ResourceContainer
| Modifier and Type | Field and Description |
|---|---|
protected WebDavServiceInitParams |
webDavServiceInitParams
Encapsulates WebDAV service initial parameters.
|
| Modifier | Constructor and Description |
|---|---|
|
WebDavServiceImpl(org.exoplatform.container.xml.InitParams params,
org.exoplatform.services.jcr.RepositoryService repositoryService,
SessionProviderService sessionProviderService)
Constructor.
|
protected |
WebDavServiceImpl(Map<String,String> params,
org.exoplatform.services.jcr.RepositoryService repositoryService,
SessionProviderService sessionProviderService)
Constructor.
|
protected |
WebDavServiceImpl(org.exoplatform.services.jcr.RepositoryService repositoryService,
SessionProviderService sessionProviderService)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
javax.ws.rs.core.Response |
acl(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader,
org.exoplatform.common.util.HierarchicalProperty body)
WebDAV ACL method according to protocol extension - Access Control Protocol: RFC3744
More details here: Web Distributed
Authoring and Versioning (WebDAV) Access Control Protocol
|
javax.ws.rs.core.Response |
checkin(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader) |
javax.ws.rs.core.Response |
checkout(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader) |
javax.ws.rs.core.Response |
copy(String repoName,
String repoPath,
String destinationHeader,
String lockTokenHeader,
String ifHeader,
String depthHeader,
String overwriteHeader,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
javax.ws.rs.core.Response |
delete(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader) |
javax.ws.rs.core.Response |
get(String repoName,
String repoPath,
String rangeHeader,
String ifModifiedSince,
String ifNoneMatch,
String version,
javax.ws.rs.core.UriInfo uriInfo)
WedDAV "GET" method.
|
protected String |
getRepositoryName(String repoName)
Gives the name of the repository to access.
|
javax.ws.rs.core.Response |
head(String repoName,
String repoPath,
javax.ws.rs.core.UriInfo uriInfo)
WedDAV "HEAD" method.
|
javax.ws.rs.core.Response |
lock(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader,
String depthHeader,
org.exoplatform.common.util.HierarchicalProperty body) |
protected List<String> |
lockTokens(String lockTokenHeader,
String ifHeader)
Creates the list of Lock tokens from Lock-Token and If headers.
|
javax.ws.rs.core.Response |
mkcol(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader,
String folderNodeTypeHeader,
String mixinTypesHeader,
javax.ws.rs.core.UriInfo uriInfo) |
javax.ws.rs.core.Response |
move(String repoName,
String repoPath,
String destinationHeader,
String lockTokenHeader,
String ifHeader,
String depthHeader,
String overwriteHeader,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
protected String |
normalizePath(String repoPath)
Normalizes path.
|
javax.ws.rs.core.Response |
options(String path) |
javax.ws.rs.core.Response |
order(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
protected String |
path(String repoPath)
Extracts path from repository path.
|
protected String |
path(String repoPath,
boolean withIndex)
Extracts path from repository path.
|
javax.ws.rs.core.Response |
propfind(String repoName,
String repoPath,
String depthHeader,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
javax.ws.rs.core.Response |
proppatch(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
javax.ws.rs.core.Response |
put(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader,
String fileNodeTypeHeader,
String contentNodeTypeHeader,
String mixinTypes,
javax.ws.rs.core.MediaType mediaType,
String userAgent,
InputStream inputStream,
javax.ws.rs.core.UriInfo uriInfo)
WedDAV "PUT" method.
|
javax.ws.rs.core.Response |
report(String repoName,
String repoPath,
String depthHeader,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
javax.ws.rs.core.Response |
search(String repoName,
String repoPath,
javax.ws.rs.core.UriInfo uriInfo,
org.exoplatform.common.util.HierarchicalProperty body) |
protected javax.jcr.Session |
session(String repoName,
String wsName,
List<String> lockTokens)
Gives access to the current session.
|
javax.ws.rs.core.Response |
uncheckout(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader) |
javax.ws.rs.core.Response |
unlock(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader) |
javax.ws.rs.core.Response |
versionControl(String repoName,
String repoPath,
String lockTokenHeader,
String ifHeader) |
protected String |
workspaceName(String repoPath)
Extracts workspace name from repository path.
|
protected WebDavServiceInitParams webDavServiceInitParams
public WebDavServiceImpl(org.exoplatform.container.xml.InitParams params,
org.exoplatform.services.jcr.RepositoryService repositoryService,
SessionProviderService sessionProviderService)
throws Exception
protected WebDavServiceImpl(Map<String,String> params, org.exoplatform.services.jcr.RepositoryService repositoryService, SessionProviderService sessionProviderService) throws Exception
params - Initialization paramsrepositoryService - repository servicesessionProviderService - session provider serviceExceptionprotected WebDavServiceImpl(org.exoplatform.services.jcr.RepositoryService repositoryService,
SessionProviderService sessionProviderService)
repositoryService - repository servicesessionProviderService - session provider servicepublic javax.ws.rs.core.Response checkin(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader)
checkin in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP Headerpublic javax.ws.rs.core.Response checkout(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader)
checkout in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP Headerpublic javax.ws.rs.core.Response copy(String repoName, String repoPath, @HeaderParam(value="Destination") String destinationHeader, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @HeaderParam(value="depth") String depthHeader, @HeaderParam(value="Overwrite") String overwriteHeader, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
copy in interface WebDavServicerepoName - repository namerepoPath - path in repositorydestinationHeader - Destination HTTP HeaderlockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP HeaderdepthHeader - Depth HTTP headeroverwriteHeader - Overwrite HTTP headeruriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response delete(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader)
delete in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If HTTP Headerpublic javax.ws.rs.core.Response get(String repoName, String repoPath, @HeaderParam(value="Range") String rangeHeader, @HeaderParam(value="If-Modified-Since") String ifModifiedSince, @HeaderParam(value="If-None-Match") String ifNoneMatch, String version, @Context javax.ws.rs.core.UriInfo uriInfo)
get in interface WebDavServicerepoName - repository namerepoPath - path in repositoryrangeHeader - Range HTTP headerversion - version nameifModifiedSince - if-modified-since headerifNoneMatch - if-none-match headeruriInfo - base URI infopublic javax.ws.rs.core.Response head(String repoName, String repoPath, @Context javax.ws.rs.core.UriInfo uriInfo)
head in interface WebDavServicerepoName - repository namerepoPath - path in repositoryuriInfo - base URI infopublic javax.ws.rs.core.Response lock(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @HeaderParam(value="depth") String depthHeader, org.exoplatform.common.util.HierarchicalProperty body)
lock in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP HeaderdepthHeader - Depth HTTP headerbody - Request bodypublic javax.ws.rs.core.Response unlock(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader)
unlock in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP Headerpublic javax.ws.rs.core.Response mkcol(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @HeaderParam(value="Folder-NodeType") String folderNodeTypeHeader, @HeaderParam(value="Content-MixinTypes") String mixinTypesHeader, @Context javax.ws.rs.core.UriInfo uriInfo)
mkcol in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP HeaderfolderNodeTypeHeader - JCR Node-Type headermixinTypesHeader - JCR Mixin-Types headerpublic javax.ws.rs.core.Response move(String repoName, String repoPath, @HeaderParam(value="Destination") String destinationHeader, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @HeaderParam(value="depth") String depthHeader, @HeaderParam(value="Overwrite") String overwriteHeader, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
move in interface WebDavServicerepoName - repository namerepoPath - path in repositorydestinationHeader - Destination HTTP headerlockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP HeaderdepthHeader - Depth HTTP headeroverwriteHeader - Overwrite HTTP headeruriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response options(String path)
options in interface WebDavServicepath - public javax.ws.rs.core.Response order(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
order in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP HeaderuriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response propfind(String repoName, String repoPath, @HeaderParam(value="depth") String depthHeader, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
propfind in interface WebDavServicerepoName - repository namerepoPath - path in repositorydepthHeader - Depth HTTP headeruriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response proppatch(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
proppatch in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP HeaderuriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response put(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, @HeaderParam(value="File-NodeType") String fileNodeTypeHeader, @HeaderParam(value="Content-NodeType") String contentNodeTypeHeader, @HeaderParam(value="Content-MixinTypes") String mixinTypes, @HeaderParam(value="Content-Type") javax.ws.rs.core.MediaType mediaType, @HeaderParam(value="User-Agent") String userAgent, InputStream inputStream, @Context javax.ws.rs.core.UriInfo uriInfo)
put in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If HTTP HeaderfileNodeTypeHeader - JCR NodeType headercontentNodeTypeHeader - JCR Content-NodeType headermixinTypes - JCR Mixin types headermediaType - Content-Type HTTP headeruserAgent - User-Agent HTTP headerinputStream - stream that contain incoming datauriInfo - URI infopublic javax.ws.rs.core.Response report(String repoName, String repoPath, @HeaderParam(value="depth") String depthHeader, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
report in interface WebDavServicerepoName - repository namerepoPath - path in repositorydepthHeader - Depth HTTP headeruriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response search(String repoName, String repoPath, @Context javax.ws.rs.core.UriInfo uriInfo, org.exoplatform.common.util.HierarchicalProperty body)
search in interface WebDavServicerepoName - repository namerepoPath - path in repositoryuriInfo - base URI infobody - Request bodypublic javax.ws.rs.core.Response uncheckout(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader)
uncheckout in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP Headerpublic javax.ws.rs.core.Response versionControl(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader)
versionControl in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP Headerpublic javax.ws.rs.core.Response acl(String repoName, String repoPath, @HeaderParam(value="lock-token") String lockTokenHeader, @HeaderParam(value="If") String ifHeader, org.exoplatform.common.util.HierarchicalProperty body)
acl in interface WebDavServicerepoName - repository namerepoPath - path in repositorylockTokenHeader - Lock-Token HTTP headerifHeader - If- HTTP Headerbody - Request bodyprotected javax.jcr.Session session(String repoName, String wsName, List<String> lockTokens) throws Exception, javax.jcr.NoSuchWorkspaceException
protected String getRepositoryName(String repoName) throws javax.jcr.RepositoryException
repoName - the name of the expected repository.javax.jcr.RepositoryExceptionprotected String workspaceName(String repoPath)
repoPath - repository pathprotected String normalizePath(String repoPath)
repoPath - repository pathprotected String path(String repoPath)
repoPath - repository pathprotected String path(String repoPath, boolean withIndex)
repoPath - repository pathwithIndex - indicates whether the index must be removed or notCopyright © 2016 eXo Platform SAS. All Rights Reserved.