Class DavexServletService
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
-
- org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet
-
- org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet
-
- org.apache.jackrabbit.server.remoting.davex.DavexServletService
-
- All Implemented Interfaces:
Serializable,javax.servlet.Servlet,javax.servlet.ServletConfig,SessionProvider,DavConstants
@Service(javax.servlet.Servlet.class) @Property(name="service.description",value="Apache Jackrabbit JcrRemoting Servlet") @Property(name="authenticate-header",value="Basic realm=\"Jackrabbit Webdav Server\"") @Property(name="csrf-protection",value="disabled") @Property(name="missing-auth-mapping",value="") @Property(name="contextId",value="") @Reference(name="providers", referenceInterface=SessionProvider.class, policy=DYNAMIC, cardinality=OPTIONAL_MULTIPLE, bind="addSessionProvider", unbind="removeSessionProvider") public class DavexServletService extends JcrRemotingServlet implements SessionProvider- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet
ATTR_TMP_DIRECTORY, INIT_PARAM_BATCHREAD_CONFIG, INIT_PARAM_HOME, INIT_PARAM_PROTECTED_HANDLERS_CONFIG, INIT_PARAM_TMP_DIRECTORY
-
Fields inherited from class org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet
CTX_ATTR_RESOURCE_PATH_PREFIX, INIT_PARAM_CONCURRENCY_LEVEL, INIT_PARAM_RESOURCE_PATH_PREFIX, subscriptionMgr, txMgr
-
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
Constructors Constructor Description DavexServletService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivate(Map<String,?> config)voidaddSessionProvider(SessionProvider provider)Adds a custom session provider service.protected RepositorygetRepository()Returns the repository to be used by this servlet.protected StringgetResourcePathPrefix()SessiongetSession(javax.servlet.http.HttpServletRequest request, Repository repository, String workspace)Asks each available session provider in order for a session and returns the first session given.protected SessionProvidergetSessionProvider()Returns a new instanceofSessionProviderImpl.voidreleaseSession(Session session)Releases the given session using the provider from which it was acquired.voidremoveSessionProvider(SessionProvider provider)Removes a custom session provider service.-
Methods inherited from class org.apache.jackrabbit.server.remoting.davex.JcrRemotingServlet
doGet, doPost, getResourceFactory, init
-
Methods inherited from class org.apache.jackrabbit.webdav.jcr.JCRWebdavServerServlet
getCredentialsProvider, getDavSessionProvider, getLocatorFactory, getPathPrefix, isPreconditionValid, setDavSessionProvider, setLocatorFactory, setResourceFactory, validateDestination
-
Methods inherited from class org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
doAcl, doBaselineControl, doBind, doCheckin, doCheckout, doCopy, doDelete, doHead, doLabel, doLock, doMerge, doMkActivity, doMkCol, doMkWorkspace, doMove, doOptions, doOrderPatch, doPoll, doPropFind, doPropPatch, doPut, doRebind, doReport, doSearch, doSubscribe, doUnbind, doUncheckout, doUnlock, doUnsubscribe, doUpdate, doVersionControl, execute, getAuthenticateHeaderValue, getContentCodings, getInputContext, getOutputContext, getSingletonField, isCreateAbsoluteURI, sendUnauthorized, service
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Method Detail
-
getRepository
protected Repository getRepository()
Description copied from class:JCRWebdavServerServletReturns the repository to be used by this servlet.- Specified by:
getRepositoryin classJCRWebdavServerServlet- Returns:
- the JCR repository to be used by this servlet
-
getResourcePathPrefix
protected String getResourcePathPrefix()
- Overrides:
getResourcePathPrefixin classJcrRemotingServlet
-
getSessionProvider
protected SessionProvider getSessionProvider()
Description copied from class:JCRWebdavServerServletReturns a new instanceofSessionProviderImpl.- Overrides:
getSessionProviderin classJCRWebdavServerServlet- Returns:
- a new session provider
-
addSessionProvider
public void addSessionProvider(SessionProvider provider)
Adds a custom session provider service.- Parameters:
provider- session provider
-
removeSessionProvider
public void removeSessionProvider(SessionProvider provider)
Removes a custom session provider service. All active sessions acquired from that provider are forcibly released.- Parameters:
provider- session provider
-
getSession
public Session getSession(javax.servlet.http.HttpServletRequest request, Repository repository, String workspace) throws LoginException, javax.servlet.ServletException, RepositoryException
Asks each available session provider in order for a session and returns the first session given. The default provider is used if no custom provider service is available or can provide a requested session.- Specified by:
getSessionin interfaceSessionProviderrepository- the repository to loginworkspace- the workspace name- Returns:
- the session or null
- Throws:
LoginException- if the credentials are invalidjavax.servlet.ServletException- if an error occursRepositoryException
-
releaseSession
public void releaseSession(Session session)
Releases the given session using the provider from which it was acquired.- Specified by:
releaseSessionin interfaceSessionProvider
-
-