|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.jalios.jcms.webdav.WebdavFileSystem
public abstract class WebdavFileSystem
This class is an Abstract representation of a WebdavFileSystem. It's purpose is to handle all specific webdav concept and control before delegating to a a sub repository implementation doing more control and real commande.
| Field Summary | |
|---|---|
protected String |
baseUri
|
protected Map<String,Set<WebdavLock>> |
resourceLocks
|
static String |
REVISION
|
| Constructor Summary | |
|---|---|
protected |
WebdavFileSystem(WebdavContext ctxt)
Initialise the webdav FileSystem setting baseUri from ContextPath and ServletPath |
| Method Summary | |
|---|---|
void |
afterDoDelete(WebdavResource resource,
WebdavContext ctxt)
Must be called by Sub Implementation to resolve properties and locks problem. |
void |
afterDoMove(WebdavResource source,
WebdavResource target,
boolean overwrite,
boolean recursive,
WebdavContext ctxt)
Must be called by Sub Implementation to resolve properties and locks problem. |
boolean |
doCopy(WebdavResource source,
WebdavResource target,
boolean overwrite,
boolean recursive,
WebdavContext ctxt)
This method perform copy from one Webdav Resource to an Other |
abstract boolean |
doCreate(WebdavResource resource,
boolean overwrite,
boolean isFolder,
WebdavContext ctxt)
This method perform create from one Webdav Resource |
boolean |
doDelete(WebdavResource resource,
boolean recursive,
WebdavContext ctxt)
This method perform delete from one Webdav Resource |
WebdavLock |
doLock(WebdavResource resource,
WebdavContext ctxt)
This method will parse header to identify and create lock or locks on the given resource If Errors append or Lock only need a refresh then return false otherwise return true. |
boolean |
doMove(WebdavResource source,
WebdavResource target,
boolean overwrite,
boolean recursive,
WebdavContext ctxt)
This method perform move from one Webdav Resource to an Other |
boolean |
doPut(WebdavResource resource,
boolean overwrite,
WebdavContext ctxt)
This method will do a create/overwrite a File or a Folder |
boolean |
doUnlock(WebdavResource resource,
WebdavContext ctxt)
This method will unlock the given resource lock defined in the if header. |
String |
getAbsoluteUri(String uri,
WebdavContext ctxt)
This method will convert a relative uri to an absolute uri ie /my/folder/resource.ext -> /webapp/webdav/my/folder/resource.ext |
Collection<WebdavLock> |
getDescendantLocks(WebdavResource resource,
WebdavContext ctxt)
This method will return locks of descendant on the given resource |
Collection<WebdavLock> |
getLocks(WebdavResource resource,
WebdavContext ctxt)
This method will return all locks on the given resource and on all the parent collection. |
String |
getRelativeUri(String uri,
WebdavContext ctxt)
This method will convert an absolute uri to a relative uri ie /webapp/webdav/my/folder/resource.ext -> /my/folder/resource.ext |
abstract WebdavResource |
getResource(String uri,
WebdavContext ctxt)
Lookup the resource represented by the given URI. |
boolean |
hasInternalLock(WebdavResource res,
WebdavContext ctxt)
This method is called for other mecanism outside of Webdav |
void |
init()
Called after authentication for each request. |
boolean |
isInternallyLocked(WebdavResource res,
WebdavContext ctxt)
This method is called for other mecanism outside of Webdav |
boolean |
isListing(WebdavContext ctxt)
This method check if the FileSystem allow listing. |
boolean |
isReadOnly(WebdavContext ctxt)
Check if the FileSystem is ReadOnly. |
boolean |
matchesIfHeaderCondition(WebdavContext ctxt)
Check that the current resource matches the if header condition if any. |
abstract WebdavLock |
newLock(WebdavResource resource,
WebdavContext ctxt)
This method will return a new WebdavLock implementation |
String |
normalize(String path)
Return a context-relative path, beginning with a "/", that represents the canonical version of the specified path after ".." and "." elements are resolved out. |
WebdavLock |
putLock(WebdavLock lock,
WebdavResource resource,
WebdavContext ctxt)
This method will put a lock on single given resource |
WebdavLock |
putLocks(WebdavLock lock,
WebdavResource resource,
WebdavContext ctxt)
This method will put a lock on the given resource and its children |
WebdavLock |
refreshLock(WebdavResource resource,
WebdavContext ctxt)
This method will refresh a lock on the given resource and returned the refreshed lock if any or null otherwise. |
boolean |
removeLock(WebdavLock lock,
WebdavResource resource,
WebdavContext ctxt)
This method will remove tokens on the given resource and its children If there is no more tokens then remove the lock. |
boolean |
removeLocks(WebdavResource resource,
WebdavContext ctxt)
This method will remove all lock for a given resource and its children (shared lock will also be removed) |
protected boolean |
silentFilterResource(WebdavResource resource,
WebdavContext ctxt)
Return true if the resource should be silently ignored. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String REVISION
protected String baseUri
protected Map<String,Set<WebdavLock>> resourceLocks
| Constructor Detail |
|---|
protected WebdavFileSystem(WebdavContext ctxt)
ctxt - the Webdav Context| Method Detail |
|---|
public void init()
public boolean isReadOnly(WebdavContext ctxt)
ctxt - the Webdav Context
public boolean isListing(WebdavContext ctxt)
ctxt - the Webdav Context
public String getRelativeUri(String uri,
WebdavContext ctxt)
uri - the absolute urictxt - the Webdav Context
public String getAbsoluteUri(String uri,
WebdavContext ctxt)
uri - the absolute urictxt - the Webdav Context
public String normalize(String path)
null instead. If path starts with
http:// then clean behaviour to let http://
path - Path to be normalized
public abstract WebdavResource getResource(String uri,
WebdavContext ctxt)
uri - the resource URIctxt - the Webdav Context
public boolean doCopy(WebdavResource source,
WebdavResource target,
boolean overwrite,
boolean recursive,
WebdavContext ctxt)
source - a Webdav Resourcetarget - a Webdav Resourceoverwrite - a boolean indicate to overite or not the resourcerecursive - is it a recursive copyctxt - the Webdav Context
public boolean doMove(WebdavResource source,
WebdavResource target,
boolean overwrite,
boolean recursive,
WebdavContext ctxt)
source - a Webdav Resourcetarget - a Webdav Resourceoverwrite - a boolean indicate to overite or not the resourcerecursive - is it a recursive copyctxt - the Webdav Context
public void afterDoMove(WebdavResource source,
WebdavResource target,
boolean overwrite,
boolean recursive,
WebdavContext ctxt)
source - the source WebdavResourcetarget - the target WebdavResourceoverwrite - a boolean indicate to overite or not the resourcerecursive - is it a recursive copyctxt - the Webdav Context
public abstract boolean doCreate(WebdavResource resource,
boolean overwrite,
boolean isFolder,
WebdavContext ctxt)
resource - the Webdav Resourceoverwrite - a boolean indicate to ovewrite the resourceisFolder - create a File or a Folderctxt -
public boolean doDelete(WebdavResource resource,
boolean recursive,
WebdavContext ctxt)
resource - the Webdav Resourcerecursive - is it a recursive deletectxt -
public void afterDoDelete(WebdavResource resource,
WebdavContext ctxt)
resource - the Webdav Resourcectxt - the Webdav Context
public boolean doPut(WebdavResource resource,
boolean overwrite,
WebdavContext ctxt)
throws javax.servlet.ServletException,
IOException
resource - the WebdavResourceoverwrite - a boolean indicate to overite the resourcectxt - the Webdav Context
javax.servlet.ServletException
IOExceptionpublic boolean matchesIfHeaderCondition(WebdavContext ctxt)
ctxt - the current WebdavContext
protected boolean silentFilterResource(WebdavResource resource,
WebdavContext ctxt)
resource - the WebdavResourcectxt - the WebdavContext
public WebdavLock doLock(WebdavResource resource,
WebdavContext ctxt)
resource - the WebdavResource to lockctxt - the WebdavContext
public boolean doUnlock(WebdavResource resource,
WebdavContext ctxt)
resource - the WebdavResource to lockctxt - the WebdavContext
public boolean hasInternalLock(WebdavResource res,
WebdavContext ctxt)
res - the WebdavResourcectxt - the Webdav Context
public boolean isInternallyLocked(WebdavResource res,
WebdavContext ctxt)
res - the WebdavResourcectxt - the Webdav Context
public abstract WebdavLock newLock(WebdavResource resource,
WebdavContext ctxt)
resource - the Webdav Resourcectxt - the Webdav Context
public Collection<WebdavLock> getLocks(WebdavResource resource,
WebdavContext ctxt)
resource - the Webdav Resourcectxt - the Webdav Context
public Collection<WebdavLock> getDescendantLocks(WebdavResource resource,
WebdavContext ctxt)
resource - the Webdav Resourcectxt - the Webdav Context
public WebdavLock putLock(WebdavLock lock,
WebdavResource resource,
WebdavContext ctxt)
lock - the WebdavLockresource - the Webdav Resourcectxt - the Webdav Context
public WebdavLock putLocks(WebdavLock lock,
WebdavResource resource,
WebdavContext ctxt)
lock - the WebdavLockresource - the Webdav Resourcectxt - the Webdav Context
public boolean removeLock(WebdavLock lock,
WebdavResource resource,
WebdavContext ctxt)
lock - the WebdavLockresource - the Webdav Resourcectxt - the Webdav Context
public boolean removeLocks(WebdavResource resource,
WebdavContext ctxt)
resource - the Webdav Resourcectxt - the Webdav Context
public WebdavLock refreshLock(WebdavResource resource,
WebdavContext ctxt)
resource - the Webdav Resourcectxt - the Webdav Context
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||