org.apache.jackrabbit.j2ee
Class SimpleWebdavServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended byorg.apache.jackrabbit.server.AbstractWebdavServlet
              extended byorg.apache.jackrabbit.j2ee.SimpleWebdavServlet
All Implemented Interfaces:
org.apache.jackrabbit.webdav.DavConstants, Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class SimpleWebdavServlet
extends org.apache.jackrabbit.server.AbstractWebdavServlet

WebdavServlet provides webdav support (level 1 and 2 complient) for repository resources.

See Also:
Serialized Form

Field Summary
static String CTX_ATTR_RESOURCE_PATH_PREFIX
          Servlet context attribute used to store the path prefix instead of having a static field with this servlet.
static String INIT_PARAM_AUTHENTICATE_HEADER
          Name of the optional init parameter that defines the value of the 'WWW-Authenticate' header.

If the parameter is omitted the default value "Basic Realm=Jackrabbit Webdav Server" is used.

static String INIT_PARAM_CHAIN_CATALOG
          init param file of the commons chain catalog
static String INIT_PARAM_RESOURCE_CONFIG
          Name of the init parameter that specify a separate configuration used for filtering the resources displayed.
static String INIT_PARAM_RESOURCE_PATH_PREFIX
          init param name of the repository prefix
 
Fields inherited from class org.apache.jackrabbit.server.AbstractWebdavServlet
DEFAULT_AUTHENTICATE_HEADER
 
Fields inherited from interface org.apache.jackrabbit.webdav.DavConstants
creationDateFormat, DEPTH_0, DEPTH_1, DEPTH_INFINITY, DEPTH_INFINITY_S, HEADER_AUTHORIZATION, HEADER_CONTENT_LANGUAGE, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_DAV, HEADER_DEPTH, HEADER_DESTINATION, HEADER_ETAG, HEADER_IF, HEADER_LAST_MODIFIED, HEADER_LOCK_TOKEN, HEADER_OVERWRITE, HEADER_TIMEOUT, INFINITE_TIMEOUT, modificationDateFormat, NAMESPACE, NO_OVERWRITE, OPAQUE_LOCK_TOKEN_PREFIX, PROPERTY_CREATIONDATE, PROPERTY_DISPLAYNAME, PROPERTY_GETCONTENTLANGUAGE, PROPERTY_GETCONTENTLENGTH, PROPERTY_GETCONTENTTYPE, PROPERTY_GETETAG, PROPERTY_GETLASTMODIFIED, PROPERTY_LOCKDISCOVERY, PROPERTY_RESOURCETYPE, PROPERTY_SOURCE, PROPERTY_SUPPORTEDLOCK, PROPFIND_ALL_PROP, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKSCOPE, XML_LOCKTOKEN, XML_LOCKTYPE, XML_MULTISTATUS, XML_OMIT, XML_OWNER, XML_PROP, XML_PROPERTYBEHAVIOR, XML_PROPERTYUPDATE, XML_PROPFIND, XML_PROPNAME, XML_PROPSTAT, XML_REMOVE, XML_RESPONSE, XML_RESPONSEDESCRIPTION, XML_SET, XML_SHARED, XML_SOURCE, XML_STATUS, XML_TIMEOUT, XML_WRITE
 
Constructor Summary
SimpleWebdavServlet()
           
 
Method Summary
protected  boolean execute(org.apache.jackrabbit.webdav.WebdavRequest request, org.apache.jackrabbit.webdav.WebdavResponse response, int method, org.apache.jackrabbit.webdav.DavResource resource)
          Executes the respective method in the given webdav context.
 String getAuthenticateHeaderValue()
          Returns the header value retrieved from the INIT_PARAM_AUTHENTICATE_HEADER init parameter.
 org.apache.jackrabbit.webdav.DavSessionProvider getDavSessionProvider()
          Returns the DavSessionProvider.
 org.apache.jackrabbit.webdav.DavLocatorFactory getLocatorFactory()
          Returns the DavLocatorFactory.
 org.apache.jackrabbit.webdav.lock.LockManager getLockManager()
          Returns the LockManager.
 String getPathPrefix()
          Returns the configured path prefix
static String getPathPrefix(javax.servlet.ServletContext ctx)
          Returns the configured path prefix
 Repository getRepository()
          Returns the Repository.
 org.apache.jackrabbit.webdav.simple.ResourceConfig getResourceConfig()
          Returns the resource configuration to be applied
 org.apache.jackrabbit.webdav.DavResourceFactory getResourceFactory()
          Returns the DavResourceFactory.
 org.apache.jackrabbit.server.SessionProvider getSessionProvider()
          Returns the SessionProvider.
 void init()
          Init this servlet
protected  boolean isPreconditionValid(org.apache.jackrabbit.webdav.WebdavRequest request, org.apache.jackrabbit.webdav.DavResource resource)
          
 void setDavSessionProvider(org.apache.jackrabbit.webdav.DavSessionProvider sessionProvider)
          Sets the DavSessionProvider.
 void setLocatorFactory(org.apache.jackrabbit.webdav.DavLocatorFactory locatorFactory)
          Sets the DavLocatorFactory.
 void setLockManager(org.apache.jackrabbit.webdav.lock.LockManager lockManager)
          Sets the LockManager.
 void setRepository(Repository repository)
          Sets the Repository.
 void setResourceConfig(org.apache.jackrabbit.webdav.simple.ResourceConfig config)
          Set the resource configuration
 void setResourceFactory(org.apache.jackrabbit.webdav.DavResourceFactory resourceFactory)
          Sets the DavResourceFactory.
 void setSessionProvider(org.apache.jackrabbit.server.SessionProvider sessionProvider)
          Sets the SessionProvider.
 
Methods inherited from class org.apache.jackrabbit.server.AbstractWebdavServlet
doCheckin, doCheckout, doCopy, doDelete, doGet, doHead, doLabel, doLock, doMerge, doMkCol, doMkWorkspace, doMove, doOptions, doOrderPatch, doPoll, doPost, doPropFind, doPropPatch, doPut, doReport, doSearch, doSubscribe, doUncheckout, doUnlock, doUnsubscribe, doUpdate, doVersionControl, getInputContext, service
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INIT_PARAM_RESOURCE_PATH_PREFIX

public static final String INIT_PARAM_RESOURCE_PATH_PREFIX
init param name of the repository prefix

See Also:
Constant Field Values

INIT_PARAM_CHAIN_CATALOG

public static final String INIT_PARAM_CHAIN_CATALOG
init param file of the commons chain catalog

See Also:
Constant Field Values

INIT_PARAM_AUTHENTICATE_HEADER

public static final String INIT_PARAM_AUTHENTICATE_HEADER
Name of the optional init parameter that defines the value of the 'WWW-Authenticate' header.

If the parameter is omitted the default value "Basic Realm=Jackrabbit Webdav Server" is used.

See Also:
getAuthenticateHeaderValue(), Constant Field Values

INIT_PARAM_RESOURCE_CONFIG

public static final String INIT_PARAM_RESOURCE_CONFIG
Name of the init parameter that specify a separate configuration used for filtering the resources displayed.

See Also:
Constant Field Values

CTX_ATTR_RESOURCE_PATH_PREFIX

public static final String CTX_ATTR_RESOURCE_PATH_PREFIX
Servlet context attribute used to store the path prefix instead of having a static field with this servlet. The latter causes problems when running multiple

See Also:
Constant Field Values
Constructor Detail

SimpleWebdavServlet

public SimpleWebdavServlet()
Method Detail

init

public void init()
          throws javax.servlet.ServletException
Init this servlet

Throws:
javax.servlet.ServletException

execute

protected boolean execute(org.apache.jackrabbit.webdav.WebdavRequest request,
                          org.apache.jackrabbit.webdav.WebdavResponse response,
                          int method,
                          org.apache.jackrabbit.webdav.DavResource resource)
                   throws javax.servlet.ServletException,
                          IOException,
                          org.apache.jackrabbit.webdav.DavException
Executes the respective method in the given webdav context. The method is overridden since not all webdav methods should be supported by this servlet.

Parameters:
request -
response -
method -
resource -
Returns:
Throws:
javax.servlet.ServletException
IOException
org.apache.jackrabbit.webdav.DavException

isPreconditionValid

protected boolean isPreconditionValid(org.apache.jackrabbit.webdav.WebdavRequest request,
                                      org.apache.jackrabbit.webdav.DavResource resource)


getPathPrefix

public String getPathPrefix()
Returns the configured path prefix

Returns:
resourcePathPrefix
See Also:
INIT_PARAM_RESOURCE_PATH_PREFIX

getPathPrefix

public static String getPathPrefix(javax.servlet.ServletContext ctx)
Returns the configured path prefix

Returns:
resourcePathPrefix
See Also:
INIT_PARAM_RESOURCE_PATH_PREFIX

getLocatorFactory

public org.apache.jackrabbit.webdav.DavLocatorFactory getLocatorFactory()
Returns the DavLocatorFactory. If no locator factory has been set or created a new instance of LocatorFactoryImpl is returned.

Returns:
the locator factory
See Also:
AbstractWebdavServlet.getLocatorFactory()

setLocatorFactory

public void setLocatorFactory(org.apache.jackrabbit.webdav.DavLocatorFactory locatorFactory)
Sets the DavLocatorFactory.

Parameters:
locatorFactory -
See Also:
AbstractWebdavServlet.setLocatorFactory(DavLocatorFactory)

getLockManager

public org.apache.jackrabbit.webdav.lock.LockManager getLockManager()
Returns the LockManager. If no lock manager has been set or created a new instance of SimpleLockManager is returned.

Returns:
the lock manager

setLockManager

public void setLockManager(org.apache.jackrabbit.webdav.lock.LockManager lockManager)
Sets the LockManager.

Parameters:
lockManager -

getResourceFactory

public org.apache.jackrabbit.webdav.DavResourceFactory getResourceFactory()
Returns the DavResourceFactory. If no request factory has been set or created a new instance of ResourceFactoryImpl is returned.

Returns:
the resource factory
See Also:
AbstractWebdavServlet.getResourceFactory()

setResourceFactory

public void setResourceFactory(org.apache.jackrabbit.webdav.DavResourceFactory resourceFactory)
Sets the DavResourceFactory.

Parameters:
resourceFactory -
See Also:
AbstractWebdavServlet.setResourceFactory(org.apache.jackrabbit.webdav.DavResourceFactory)

getSessionProvider

public org.apache.jackrabbit.server.SessionProvider getSessionProvider()
Returns the SessionProvider. If no session provider has been set or created a new instance of SessionProviderImpl that extracts credentials from the request's Authorization header is returned.

Returns:
the session provider
See Also:
RepositoryAccessServlet.getCredentialsFromHeader(ServletContext, String)

setSessionProvider

public void setSessionProvider(org.apache.jackrabbit.server.SessionProvider sessionProvider)
Sets the SessionProvider.

Parameters:
sessionProvider -

getDavSessionProvider

public org.apache.jackrabbit.webdav.DavSessionProvider getDavSessionProvider()
Returns the DavSessionProvider. If no session provider has been set or created a new instance of DavSessionProviderImpl is returned.

Returns:
the session provider
See Also:
AbstractWebdavServlet.getDavSessionProvider()

setDavSessionProvider

public void setDavSessionProvider(org.apache.jackrabbit.webdav.DavSessionProvider sessionProvider)
Sets the DavSessionProvider.

Parameters:
sessionProvider -
See Also:
AbstractWebdavServlet.setDavSessionProvider(org.apache.jackrabbit.webdav.DavSessionProvider)

getAuthenticateHeaderValue

public String getAuthenticateHeaderValue()
Returns the header value retrieved from the INIT_PARAM_AUTHENTICATE_HEADER init parameter. If the parameter is missing, the value defaults to AbstractWebdavServlet.DEFAULT_AUTHENTICATE_HEADER.

Returns:
the header value retrieved from the corresponding init parameter or AbstractWebdavServlet.DEFAULT_AUTHENTICATE_HEADER.
See Also:
AbstractWebdavServlet.getAuthenticateHeaderValue()

getResourceConfig

public org.apache.jackrabbit.webdav.simple.ResourceConfig getResourceConfig()
Returns the resource configuration to be applied

Returns:

setResourceConfig

public void setResourceConfig(org.apache.jackrabbit.webdav.simple.ResourceConfig config)
Set the resource configuration

Parameters:
config -

getRepository

public Repository getRepository()
Returns the Repository. If no repository has been set or created the repository initialized by RepositoryAccessServlet is returned.

Returns:
repository
See Also:
RepositoryAccessServlet.getRepository(ServletContext)

setRepository

public void setRepository(Repository repository)
Sets the Repository.

Parameters:
repository -


Copyright © 2005 . All Rights Reserved.