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 void
activate(Map<String,?> config)
void
addSessionProvider(SessionProvider provider)
Adds a custom session provider service.protected Repository
getRepository()
Returns the repository to be used by this servlet.protected String
getResourcePathPrefix()
Session
getSession(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 SessionProvider
getSessionProvider()
Returns a new instanceofSessionProviderImpl
.void
releaseSession(Session session)
Releases the given session using the provider from which it was acquired.void
removeSessionProvider(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:JCRWebdavServerServlet
Returns the repository to be used by this servlet.- Specified by:
getRepository
in classJCRWebdavServerServlet
- Returns:
- the JCR repository to be used by this servlet
-
getResourcePathPrefix
protected String getResourcePathPrefix()
- Overrides:
getResourcePathPrefix
in classJcrRemotingServlet
-
getSessionProvider
protected SessionProvider getSessionProvider()
Description copied from class:JCRWebdavServerServlet
Returns a new instanceofSessionProviderImpl
.- Overrides:
getSessionProvider
in 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:
getSession
in interfaceSessionProvider
repository
- 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:
releaseSession
in interfaceSessionProvider
-
-