org.apache.sling.jcr.webdav.impl.servlets
Class SlingWebDavServlet

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.simple.SimpleWebdavServlet
                  extended by org.apache.sling.jcr.webdav.impl.servlets.SlingWebDavServlet
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, org.apache.jackrabbit.webdav.DavConstants

@Service(value=javax.servlet.Servlet.class)
@Properties(value={@Property(name="service.description",value="Sling WebDAV Servlet"),@Property(name="service.vendor",value="The Apache Software Foundation"),@Property(name="sling.servlet.resourceTypes",value="sling/servlet/default",propertyPrivate=true),@Property(name="sling.servlet.methods",value="*",propertyPrivate=true)})
@References(value={@Reference(name="IOHandler",referenceInterface=org.apache.jackrabbit.server.io.IOHandler.class,cardinality=OPTIONAL_MULTIPLE,policy=DYNAMIC),@Reference(name="PropertyHandler",referenceInterface=org.apache.jackrabbit.server.io.PropertyHandler.class,cardinality=OPTIONAL_MULTIPLE,policy=DYNAMIC),@Reference(name="CopyMoveHandler",referenceInterface=org.apache.jackrabbit.server.io.CopyMoveHandler.class,cardinality=OPTIONAL_MULTIPLE,policy=DYNAMIC)})
public class SlingWebDavServlet
extends org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet

The SlingWebDavServlet implements the WebDAV protocol as a default servlet for Sling handling all WebDAV methods.

See Also:
Serialized Form

Field Summary
static String COLLECTION_TYPES
           
static String[] COLLECTION_TYPES_DEFAULT
           
static String DEFAULT_CONTEXT
           
static boolean DEFAULT_CREATE_ABSOLUTE_URI
           
static String DEFAULT_REALM
           
static String[] EMPTY_DEFAULT
           
static String FILTER_PREFIXES
           
static String[] FILTER_PREFIXES_DEFAULT
           
static String FILTER_TYPES
           
static String FILTER_URIS
           
static String PROP_CONTEXT
           
static String PROP_CREATE_ABSOLUTE_URI
           
static String PROP_REALM
           
static String TYPE_COLLECTIONS
           
static String TYPE_COLLECTIONS_DEFAULT
           
static String TYPE_CONTENT
           
static String TYPE_CONTENT_DEFAULT
           
static String TYPE_NONCOLLECTIONS
           
static String TYPE_NONCOLLECTIONS_DEFAULT
           
 
Fields inherited from class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet
CTX_ATTR_RESOURCE_PATH_PREFIX, INIT_PARAM_MIME_INFO, INIT_PARAM_RESOURCE_CONFIG, INIT_PARAM_RESOURCE_PATH_PREFIX
 
Fields inherited from class org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
DEFAULT_AUTHENTICATE_HEADER, INIT_PARAM_AUTHENTICATE_HEADER, INIT_PARAM_CREATE_ABSOLUTE_URI, INIT_PARAM_CSRF_PROTECTION, INIT_PARAM_MISSING_AUTH_MAPPING
 
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
SlingWebDavServlet()
           
 
Method Summary
protected  void activate(org.osgi.service.component.ComponentContext context)
           
 void bindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)
           
 void bindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)
           
 void bindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)
           
protected  void deactivate(org.osgi.service.component.ComponentContext context)
           
 org.apache.jackrabbit.webdav.DavLocatorFactory getLocatorFactory()
           
 javax.jcr.Repository getRepository()
           
 org.apache.jackrabbit.server.SessionProvider getSessionProvider()
           
 void init()
           
protected  void sendUnauthorized(org.apache.jackrabbit.webdav.WebdavRequest request, org.apache.jackrabbit.webdav.WebdavResponse response, org.apache.jackrabbit.webdav.DavException error)
          Overridden as the base class uses sendError that we don't want (SLING-2443)
 void unbindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)
           
 void unbindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)
           
 void unbindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)
           
 
Methods inherited from class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet
getCredentialsProvider, getDavSessionProvider, getLockManager, getPathPrefix, getPathPrefix, getResourceConfig, getResourceFactory, isPreconditionValid, setDavSessionProvider, setLocatorFactory, setLockManager, setResourceConfig, setResourceFactory, setSessionProvider
 
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, getAuthenticateHeaderValue, getInputContext, getOutputContext, isCreateAbsoluteURI, service, validateDestination
 
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

DEFAULT_CONTEXT

public static final String DEFAULT_CONTEXT
See Also:
Constant Field Values

PROP_CONTEXT

@Property(value="/dav")
public static final String PROP_CONTEXT
See Also:
Constant Field Values

DEFAULT_CREATE_ABSOLUTE_URI

public static final boolean DEFAULT_CREATE_ABSOLUTE_URI
See Also:
Constant Field Values

PROP_CREATE_ABSOLUTE_URI

@Property(boolValue=true)
public static final String PROP_CREATE_ABSOLUTE_URI
See Also:
Constant Field Values

DEFAULT_REALM

public static final String DEFAULT_REALM
See Also:
Constant Field Values

PROP_REALM

@Property(value="Sling WebDAV")
public static final String PROP_REALM
See Also:
Constant Field Values

COLLECTION_TYPES

public static final String COLLECTION_TYPES
See Also:
Constant Field Values

TYPE_NONCOLLECTIONS_DEFAULT

public static final String TYPE_NONCOLLECTIONS_DEFAULT
See Also:
Constant Field Values

TYPE_CONTENT_DEFAULT

public static final String TYPE_CONTENT_DEFAULT
See Also:
Constant Field Values

COLLECTION_TYPES_DEFAULT

@Property(name="collection.types")
public static final String[] COLLECTION_TYPES_DEFAULT

FILTER_PREFIXES

public static final String FILTER_PREFIXES
See Also:
Constant Field Values

FILTER_PREFIXES_DEFAULT

@Property(name="filter.prefixes")
public static final String[] FILTER_PREFIXES_DEFAULT

EMPTY_DEFAULT

public static final String[] EMPTY_DEFAULT

FILTER_TYPES

@Property(value={})
public static final String FILTER_TYPES
See Also:
Constant Field Values

FILTER_URIS

@Property(value={})
public static final String FILTER_URIS
See Also:
Constant Field Values

TYPE_COLLECTIONS_DEFAULT

public static final String TYPE_COLLECTIONS_DEFAULT
See Also:
Constant Field Values

TYPE_COLLECTIONS

@Property(value="sling:Folder")
public static final String TYPE_COLLECTIONS
See Also:
Constant Field Values

TYPE_NONCOLLECTIONS

@Property(value="nt:file")
public static final String TYPE_NONCOLLECTIONS
See Also:
Constant Field Values

TYPE_CONTENT

@Property(value="nt:resource")
public static final String TYPE_CONTENT
See Also:
Constant Field Values
Constructor Detail

SlingWebDavServlet

public SlingWebDavServlet()
Method Detail

init

public void init()
          throws javax.servlet.ServletException
Overrides:
init in class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet
Throws:
javax.servlet.ServletException

getRepository

public javax.jcr.Repository getRepository()
Specified by:
getRepository in class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet

getLocatorFactory

public org.apache.jackrabbit.webdav.DavLocatorFactory getLocatorFactory()
Overrides:
getLocatorFactory in class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet

getSessionProvider

public org.apache.jackrabbit.server.SessionProvider getSessionProvider()
Overrides:
getSessionProvider in class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet

activate

protected void activate(org.osgi.service.component.ComponentContext context)
                 throws org.osgi.service.http.NamespaceException,
                        javax.servlet.ServletException
Throws:
org.osgi.service.http.NamespaceException
javax.servlet.ServletException

deactivate

protected void deactivate(org.osgi.service.component.ComponentContext context)

bindIOHandler

public void bindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)

unbindIOHandler

public void unbindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)

bindPropertyHandler

public void bindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)

unbindPropertyHandler

public void unbindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)

bindCopyMoveHandler

public void bindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)

unbindCopyMoveHandler

public void unbindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)

sendUnauthorized

protected void sendUnauthorized(org.apache.jackrabbit.webdav.WebdavRequest request,
                                org.apache.jackrabbit.webdav.WebdavResponse response,
                                org.apache.jackrabbit.webdav.DavException error)
                         throws IOException
Overridden as the base class uses sendError that we don't want (SLING-2443)

Overrides:
sendUnauthorized in class org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
Throws:
IOException


Copyright © 2007-2013 The Apache Software Foundation. All Rights Reserved.