Class DavexServletService

  • All Implemented Interfaces:
    Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig, SessionProvider, org.apache.jackrabbit.webdav.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.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 Detail

      • DavexServletService

        public DavexServletService()
    • Method Detail

      • activate

        @Activate
        public void activate​(Map<String,​?> config)
      • 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 interface SessionProvider
        repository - the repository to login
        workspace - the workspace name
        Returns:
        the session or null
        Throws:
        LoginException - if the credentials are invalid
        javax.servlet.ServletException - if an error occurs
        RepositoryException
      • releaseSession

        public void releaseSession​(Session session)
        Releases the given session using the provider from which it was acquired.
        Specified by:
        releaseSession in interface SessionProvider