org.apache.jackrabbit.webdav.jcr
Class JCRWebdavServerServlet

java.lang.Object
  extended by javax.servlet.GenericServlet
      extended by javax.servlet.http.HttpServlet
          extended by org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
              extended by org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, DavConstants
Direct Known Subclasses:
JcrRemotingServlet, JCRWebdavServerServlet

public abstract class JCRWebdavServerServlet
extends AbstractWebdavServlet

JCRWebdavServerServlet provides request/response handling for the JCRWebdavServer.

Implementations of this abstract class must implement the getRepository() method to access the repository.

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.
static String INIT_PARAM_MISSING_AUTH_MAPPING
          the 'missing-auth-mapping' init parameter
static String INIT_PARAM_RESOURCE_PATH_PREFIX
          Init parameter specifying the prefix used with the resource path.
protected  SubscriptionManager subscriptionMgr
           
protected  TxLockManagerImpl txMgr
           
 
Fields inherited from class org.apache.jackrabbit.webdav.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, 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_ALL_PROP_INCLUDE, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIME, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_INCLUDE, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKROOT, 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
JCRWebdavServerServlet()
           
 
Method Summary
 String getAuthenticateHeaderValue()
          Returns the init param of the servlet configuration or AbstractWebdavServlet.DEFAULT_AUTHENTICATE_HEADER as default value.
 DavSessionProvider getDavSessionProvider()
          Returns the DavSessionProvider
 DavLocatorFactory getLocatorFactory()
          Returns the DavLocatorFactory
static String getPathPrefix(javax.servlet.ServletContext ctx)
          Returns the configured path prefix
protected abstract  Repository getRepository()
          Returns the repository to be used by this servlet.
 DavResourceFactory getResourceFactory()
          Returns the DavResourceFactory.
 void init()
          Initializes the servlet set reads the following parameter from the servlet configuration: resource-path-prefix: optional prefix for all resources.
protected  boolean isPreconditionValid(WebdavRequest request, DavResource resource)
          Returns true if the preconditions are met.
 void setDavSessionProvider(DavSessionProvider davSessionProvider)
          Throws UnsupportedOperationException.
 void setLocatorFactory(DavLocatorFactory locatorFactory)
          Sets the DavLocatorFactory
 void setResourceFactory(DavResourceFactory resourceFactory)
          Sets the DavResourceFactory.
 
Methods inherited from class org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
doAcl, doBaselineControl, doBind, doCheckin, doCheckout, doCopy, doDelete, doGet, doHead, doLabel, doLock, doMerge, doMkActivity, doMkCol, doMkWorkspace, doMove, doOptions, doOrderPatch, doPoll, doPost, doPropFind, doPropPatch, doPut, doRebind, doReport, doSearch, doSubscribe, doUnbind, doUncheckout, doUnlock, doUnsubscribe, doUpdate, doVersionControl, execute, getInputContext, getOutputContext, 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 parameter specifying the prefix used with the resource path.

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_MISSING_AUTH_MAPPING

public static final String INIT_PARAM_MISSING_AUTH_MAPPING
the 'missing-auth-mapping' init parameter

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

txMgr

protected TxLockManagerImpl txMgr

subscriptionMgr

protected SubscriptionManager subscriptionMgr
Constructor Detail

JCRWebdavServerServlet

public JCRWebdavServerServlet()
Method Detail

init

public void init()
          throws javax.servlet.ServletException
Initializes the servlet set reads the following parameter from the servlet configuration:

Overrides:
init in class javax.servlet.GenericServlet
Throws:
javax.servlet.ServletException

isPreconditionValid

protected boolean isPreconditionValid(WebdavRequest request,
                                      DavResource resource)
Returns true if the preconditions are met. This includes validation of If header and validation of TransactionId header. This method will also return false if the requested resource resides within a differenct workspace as is assigned to the repository session attached to the given request.

Specified by:
isPreconditionValid in class AbstractWebdavServlet
Returns:
See Also:
AbstractWebdavServlet.isPreconditionValid(WebdavRequest, DavResource)

getDavSessionProvider

public DavSessionProvider getDavSessionProvider()
Returns the DavSessionProvider

Specified by:
getDavSessionProvider in class AbstractWebdavServlet
Returns:
server
See Also:
AbstractWebdavServlet.getDavSessionProvider()

setDavSessionProvider

public void setDavSessionProvider(DavSessionProvider davSessionProvider)
Throws UnsupportedOperationException.

Specified by:
setDavSessionProvider in class AbstractWebdavServlet
See Also:
AbstractWebdavServlet.setDavSessionProvider(DavSessionProvider)

getLocatorFactory

public DavLocatorFactory getLocatorFactory()
Returns the DavLocatorFactory

Specified by:
getLocatorFactory in class AbstractWebdavServlet
Returns:
the locator factory
See Also:
AbstractWebdavServlet.getLocatorFactory()

setLocatorFactory

public void setLocatorFactory(DavLocatorFactory locatorFactory)
Sets the DavLocatorFactory

Specified by:
setLocatorFactory in class AbstractWebdavServlet
See Also:
AbstractWebdavServlet.setLocatorFactory(DavLocatorFactory)

getResourceFactory

public DavResourceFactory getResourceFactory()
Returns the DavResourceFactory.

Specified by:
getResourceFactory in class AbstractWebdavServlet
Returns:
the resource factory
See Also:
AbstractWebdavServlet.getResourceFactory()

setResourceFactory

public void setResourceFactory(DavResourceFactory resourceFactory)
Sets the DavResourceFactory.

Specified by:
setResourceFactory in class AbstractWebdavServlet
See Also:
AbstractWebdavServlet.setResourceFactory(org.apache.jackrabbit.webdav.DavResourceFactory)

getAuthenticateHeaderValue

public String getAuthenticateHeaderValue()
Returns the init param of the servlet configuration or AbstractWebdavServlet.DEFAULT_AUTHENTICATE_HEADER as default value.

Specified by:
getAuthenticateHeaderValue in class AbstractWebdavServlet
Returns:
corresponding init parameter or AbstractWebdavServlet.DEFAULT_AUTHENTICATE_HEADER.
See Also:
INIT_PARAM_AUTHENTICATE_HEADER

getPathPrefix

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

Returns:
resourcePathPrefix
See Also:
INIT_PARAM_RESOURCE_PATH_PREFIX

getRepository

protected abstract Repository getRepository()
Returns the repository to be used by this servlet.



Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.