Author: fmeschbe
Date: Tue Dec 11 00:42:58 2007
New Revision: 603178
URL: http://svn.apache.org/viewvc?rev=603178&view=rev
Log:
JCR-1263 Move SimpleWebadavServlet to jackabbit-jcr-server project and create abstract getRepository()
method
Added:
jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java
Modified:
jackrabbit/trunk/jackrabbit-webapp/src/main/java/org/apache/jackrabbit/j2ee/SimpleWebdavServlet.java
Added: jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java?rev=603178&view=auto
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java
(added)
+++ jackrabbit/trunk/jackrabbit-jcr-server/src/main/java/org/apache/jackrabbit/webdav/simple/SimpleWebdavServlet.java
Tue Dec 11 00:42:58 2007
@@ -0,0 +1,378 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jackrabbit.webdav.simple;
+
+import org.apache.jackrabbit.server.BasicCredentialsProvider;
+import org.apache.jackrabbit.server.CredentialsProvider;
+import org.apache.jackrabbit.server.SessionProvider;
+import org.apache.jackrabbit.server.SessionProviderImpl;
+import org.apache.jackrabbit.webdav.DavLocatorFactory;
+import org.apache.jackrabbit.webdav.DavResource;
+import org.apache.jackrabbit.webdav.DavResourceFactory;
+import org.apache.jackrabbit.webdav.DavSessionProvider;
+import org.apache.jackrabbit.webdav.WebdavRequest;
+import org.apache.jackrabbit.webdav.lock.LockManager;
+import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
+import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
+import org.apache.jackrabbit.webdav.simple.DavSessionProviderImpl;
+import org.apache.jackrabbit.webdav.simple.LocatorFactoryImplEx;
+import org.apache.jackrabbit.webdav.simple.ResourceConfig;
+import org.apache.jackrabbit.webdav.simple.ResourceFactoryImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jcr.Repository;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.net.MalformedURLException;
+
+/**
+ * WebdavServlet provides webdav support (level 1 and 2 complient) for
+ * repository resources.
+ * <p>
+ * Implementations of this abstract class must implement the
+ * {@link #getRepository()} method to access the repository.
+ */
+public abstract class SimpleWebdavServlet extends AbstractWebdavServlet {
+
+ /**
+ * the default logger
+ */
+ private static final Logger log = LoggerFactory.getLogger(SimpleWebdavServlet.class);
+
+ /**
+ * init param name of the repository prefix
+ */
+ public static final String INIT_PARAM_RESOURCE_PATH_PREFIX = "resource-path-prefix";
+
+ /**
+ * Name of the optional init parameter that defines the value of the
+ * 'WWW-Authenticate' header.<p/>
+ * If the parameter is omitted the default value
+ * {@link #DEFAULT_AUTHENTICATE_HEADER "Basic Realm=Jackrabbit Webdav Server"}
+ * is used.
+ *
+ * @see #getAuthenticateHeaderValue()
+ */
+ public static final String INIT_PARAM_AUTHENTICATE_HEADER = "authenticate-header";
+
+ /** the 'missing-auth-mapping' init parameter */
+ public final static String INIT_PARAM_MISSING_AUTH_MAPPING = "missing-auth-mapping";
+
+ /**
+ * Name of the init parameter that specify a separate configuration used
+ * for filtering the resources displayed.
+ */
+ public static final String INIT_PARAM_RESOURCE_CONFIG = "resource-config";
+
+ /**
+ * 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
+ */
+ public static final String CTX_ATTR_RESOURCE_PATH_PREFIX = "jackrabbit.webdav.simple.resourcepath";
+
+ /**
+ * the resource path prefix
+ */
+ private String resourcePathPrefix;
+
+ /**
+ * Header value as specified in the {@link #INIT_PARAM_AUTHENTICATE_HEADER} parameter.
+ */
+ private String authenticate_header;
+
+ /**
+ * Map used to remember any webdav lock created without being reflected
+ * in the underlying repository.
+ * This is needed because some clients rely on a successful locking
+ * mechanism in order to perform properly (e.g. mac OSX built-in dav client)
+ */
+ private LockManager lockManager;
+
+ /**
+ * the resource factory
+ */
+ private DavResourceFactory resourceFactory;
+
+ /**
+ * the locator factory
+ */
+ private DavLocatorFactory locatorFactory;
+
+ /**
+ * the webdav session provider
+ */
+ private DavSessionProvider davSessionProvider;
+
+ /**
+ * the repository session provider
+ */
+ private SessionProvider sessionProvider;
+
+ /**
+ * The config
+ */
+ private ResourceConfig config;
+
+ /**
+ * Init this servlet
+ *
+ * @throws ServletException
+ */
+ public void init() throws ServletException {
+ super.init();
+
+ resourcePathPrefix = getInitParameter(INIT_PARAM_RESOURCE_PATH_PREFIX);
+ if (resourcePathPrefix == null) {
+ log.debug("Missing path prefix > setting to empty string.");
+ resourcePathPrefix = "";
+ } else if (resourcePathPrefix.endsWith("/")) {
+ log.debug("Path prefix ends with '/' > removing trailing slash.");
+ resourcePathPrefix = resourcePathPrefix.substring(0, resourcePathPrefix.length()
- 1);
+ }
+ getServletContext().setAttribute(CTX_ATTR_RESOURCE_PATH_PREFIX, resourcePathPrefix);
+ log.info(INIT_PARAM_RESOURCE_PATH_PREFIX + " = '" + resourcePathPrefix + "'");
+
+ authenticate_header = getInitParameter(INIT_PARAM_AUTHENTICATE_HEADER);
+ if (authenticate_header == null) {
+ authenticate_header = DEFAULT_AUTHENTICATE_HEADER;
+ }
+ log.info("WWW-Authenticate header = '" + authenticate_header + "'");
+
+ String configParam = getInitParameter(INIT_PARAM_RESOURCE_CONFIG);
+ if (configParam != null) {
+ try {
+ config = new ResourceConfig();
+ config.parse(getServletContext().getResource(configParam));
+ } catch (MalformedURLException e) {
+ log.debug("Unable to build resource filter provider.");
+ }
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ protected boolean isPreconditionValid(WebdavRequest request,
+ DavResource resource) {
+ return !resource.exists() || request.matchesIfHeader(resource);
+ }
+
+ /**
+ * Returns the configured path prefix
+ *
+ * @return resourcePathPrefix
+ * @see #INIT_PARAM_RESOURCE_PATH_PREFIX
+ */
+ public String getPathPrefix() {
+ return resourcePathPrefix;
+ }
+
+ /**
+ * Returns the configured path prefix
+ *
+ * @return resourcePathPrefix
+ * @see #INIT_PARAM_RESOURCE_PATH_PREFIX
+ */
+ public static String getPathPrefix(ServletContext ctx) {
+ return (String) ctx.getAttribute(CTX_ATTR_RESOURCE_PATH_PREFIX);
+ }
+
+ /**
+ * Returns the <code>DavLocatorFactory</code>. If no locator factory has
+ * been set or created a new instance of {@link org.apache.jackrabbit.webdav.simple.LocatorFactoryImpl}
is
+ * returned.
+ *
+ * @return the locator factory
+ * @see AbstractWebdavServlet#getLocatorFactory()
+ */
+ public DavLocatorFactory getLocatorFactory() {
+ if (locatorFactory == null) {
+ locatorFactory = new LocatorFactoryImplEx(resourcePathPrefix);
+ }
+ return locatorFactory;
+ }
+
+ /**
+ * Sets the <code>DavLocatorFactory</code>.
+ *
+ * @param locatorFactory
+ * @see AbstractWebdavServlet#setLocatorFactory(DavLocatorFactory)
+ */
+ public void setLocatorFactory(DavLocatorFactory locatorFactory) {
+ this.locatorFactory = locatorFactory;
+ }
+
+ /**
+ * Returns the <code>LockManager</code>. If no lock manager has
+ * been set or created a new instance of {@link SimpleLockManager} is
+ * returned.
+ *
+ * @return the lock manager
+ */
+ public LockManager getLockManager() {
+ if (lockManager == null) {
+ lockManager = new SimpleLockManager();
+ }
+ return lockManager;
+ }
+
+ /**
+ * Sets the <code>LockManager</code>.
+ *
+ * @param lockManager
+ */
+ public void setLockManager(LockManager lockManager) {
+ this.lockManager = lockManager;
+ }
+
+ /**
+ * Returns the <code>DavResourceFactory</code>. If no request factory has
+ * been set or created a new instance of {@link ResourceFactoryImpl} is
+ * returned.
+ *
+ * @return the resource factory
+ * @see AbstractWebdavServlet#getResourceFactory()
+ */
+ public DavResourceFactory getResourceFactory() {
+ if (resourceFactory == null) {
+ resourceFactory = new ResourceFactoryImpl(getLockManager(), getResourceConfig());
+ }
+ return resourceFactory;
+ }
+
+ /**
+ * Sets the <code>DavResourceFactory</code>.
+ *
+ * @param resourceFactory
+ * @see AbstractWebdavServlet#setResourceFactory(org.apache.jackrabbit.webdav.DavResourceFactory)
+ */
+ public void setResourceFactory(DavResourceFactory resourceFactory) {
+ this.resourceFactory = resourceFactory;
+ }
+
+ /**
+ * Returns the <code>SessionProvider</code>. If no session provider has been
+ * set or created a new instance of {@link SessionProviderImpl} that extracts
+ * credentials from the request's <code>Authorization</code> header is
+ * returned.
+ *
+ * @return the session provider
+ */
+ public synchronized SessionProvider getSessionProvider() {
+ if (sessionProvider == null) {
+ sessionProvider = new SessionProviderImpl(getCredentialsProvider());
+ }
+ return sessionProvider;
+ }
+
+ /**
+ * Factory method for creating the credentials provider to be used for
+ * accessing the credentials associated with a request. The default
+ * implementation returns a {@link BasicCredentialsProvider} instance,
+ * but subclasses can override this method to add support for other
+ * types of credentials.
+ *
+ * @return the credentilas provider
+ * @since 1.3
+ */
+ protected CredentialsProvider getCredentialsProvider() {
+ return new BasicCredentialsProvider(getInitParameter(INIT_PARAM_MISSING_AUTH_MAPPING));
+ }
+
+ /**
+ * Sets the <code>SessionProvider</code>.
+ *
+ * @param sessionProvider
+ */
+ public synchronized void setSessionProvider(SessionProvider sessionProvider) {
+ this.sessionProvider = sessionProvider;
+ }
+
+ /**
+ * Returns the <code>DavSessionProvider</code>. If no session provider has
+ * been set or created a new instance of {@link DavSessionProviderImpl}
+ * is returned.
+ *
+ * @return the session provider
+ * @see AbstractWebdavServlet#getDavSessionProvider()
+ */
+ public synchronized DavSessionProvider getDavSessionProvider() {
+ if (davSessionProvider == null) {
+ davSessionProvider =
+ new DavSessionProviderImpl(getRepository(), getSessionProvider());
+ }
+ return davSessionProvider;
+ }
+
+ /**
+ * Sets the <code>DavSessionProvider</code>.
+ *
+ * @param sessionProvider
+ * @see AbstractWebdavServlet#setDavSessionProvider(org.apache.jackrabbit.webdav.DavSessionProvider)
+ */
+ public synchronized void setDavSessionProvider(DavSessionProvider sessionProvider) {
+ this.davSessionProvider = sessionProvider;
+ }
+
+ /**
+ * Returns the header value retrieved from the {@link #INIT_PARAM_AUTHENTICATE_HEADER}
+ * init parameter. If the parameter is missing, the value defaults to
+ * {@link #DEFAULT_AUTHENTICATE_HEADER}.
+ *
+ * @return the header value retrieved from the corresponding init parameter
+ * or {@link #DEFAULT_AUTHENTICATE_HEADER}.
+ * @see AbstractWebdavServlet#getAuthenticateHeaderValue()
+ */
+ public String getAuthenticateHeaderValue() {
+ return authenticate_header;
+ }
+
+ /**
+ * Returns the resource configuration to be applied
+ *
+ * @return the resource configuration.
+ */
+ public ResourceConfig getResourceConfig() {
+ // fallback if no config present
+ if (config == null) {
+ config = new ResourceConfig();
+ }
+ return config;
+ }
+
+ /**
+ * Set the resource configuration
+ *
+ * @param config
+ */
+ public void setResourceConfig(ResourceConfig config) {
+ this.config = config;
+ }
+
+ /**
+ * Returns the <code>Repository</code>. If no repository has been set or
+ * created the repository initialized by <code>RepositoryAccessServlet</code>
+ * is returned.
+ *
+ * @return repository
+ * @see RepositoryAccessServlet#getRepository(ServletContext)
+ */
+ public abstract Repository getRepository();
+
+}
Modified: jackrabbit/trunk/jackrabbit-webapp/src/main/java/org/apache/jackrabbit/j2ee/SimpleWebdavServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-webapp/src/main/java/org/apache/jackrabbit/j2ee/SimpleWebdavServlet.java?rev=603178&r1=603177&r2=603178&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-webapp/src/main/java/org/apache/jackrabbit/j2ee/SimpleWebdavServlet.java
(original)
+++ jackrabbit/trunk/jackrabbit-webapp/src/main/java/org/apache/jackrabbit/j2ee/SimpleWebdavServlet.java
Tue Dec 11 00:42:58 2007
@@ -16,356 +16,18 @@
*/
package org.apache.jackrabbit.j2ee;
-import org.apache.jackrabbit.server.BasicCredentialsProvider;
-import org.apache.jackrabbit.server.CredentialsProvider;
-import org.apache.jackrabbit.server.SessionProvider;
-import org.apache.jackrabbit.server.SessionProviderImpl;
-import org.apache.jackrabbit.webdav.DavLocatorFactory;
-import org.apache.jackrabbit.webdav.DavResource;
-import org.apache.jackrabbit.webdav.DavResourceFactory;
-import org.apache.jackrabbit.webdav.DavSessionProvider;
-import org.apache.jackrabbit.webdav.WebdavRequest;
-import org.apache.jackrabbit.webdav.lock.LockManager;
-import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
-import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
-import org.apache.jackrabbit.webdav.simple.DavSessionProviderImpl;
-import org.apache.jackrabbit.webdav.simple.LocatorFactoryImplEx;
-import org.apache.jackrabbit.webdav.simple.ResourceConfig;
-import org.apache.jackrabbit.webdav.simple.ResourceFactoryImpl;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import javax.jcr.Repository;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import java.net.MalformedURLException;
/**
* WebdavServlet provides webdav support (level 1 and 2 complient) for repository
* resources.
*/
-public class SimpleWebdavServlet extends AbstractWebdavServlet {
-
- /**
- * the default logger
- */
- private static final Logger log = LoggerFactory.getLogger(SimpleWebdavServlet.class);
-
- /**
- * init param name of the repository prefix
- */
- public static final String INIT_PARAM_RESOURCE_PATH_PREFIX = "resource-path-prefix";
-
- /**
- * Name of the optional init parameter that defines the value of the
- * 'WWW-Authenticate' header.<p/>
- * If the parameter is omitted the default value
- * {@link #DEFAULT_AUTHENTICATE_HEADER "Basic Realm=Jackrabbit Webdav Server"}
- * is used.
- *
- * @see #getAuthenticateHeaderValue()
- */
- public static final String INIT_PARAM_AUTHENTICATE_HEADER = "authenticate-header";
-
- /** the 'missing-auth-mapping' init parameter */
- public final static String INIT_PARAM_MISSING_AUTH_MAPPING = "missing-auth-mapping";
-
- /**
- * Name of the init parameter that specify a separate configuration used
- * for filtering the resources displayed.
- */
- public static final String INIT_PARAM_RESOURCE_CONFIG = "resource-config";
-
- /**
- * 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
- */
- public static final String CTX_ATTR_RESOURCE_PATH_PREFIX = "jackrabbit.webdav.simple.resourcepath";
-
- /**
- * the resource path prefix
- */
- private String resourcePathPrefix;
-
- /**
- * Header value as specified in the {@link #INIT_PARAM_AUTHENTICATE_HEADER} parameter.
- */
- private String authenticate_header;
-
- /**
- * Map used to remember any webdav lock created without being reflected
- * in the underlying repository.
- * This is needed because some clients rely on a successful locking
- * mechanism in order to perform properly (e.g. mac OSX built-in dav client)
- */
- private LockManager lockManager;
-
- /**
- * the resource factory
- */
- private DavResourceFactory resourceFactory;
-
- /**
- * the locator factory
- */
- private DavLocatorFactory locatorFactory;
+public class SimpleWebdavServlet extends org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet
{
/**
* the jcr repository
*/
private Repository repository;
-
- /**
- * the webdav session provider
- */
- private DavSessionProvider davSessionProvider;
-
- /**
- * the repository session provider
- */
- private SessionProvider sessionProvider;
-
- /**
- * The config
- */
- private ResourceConfig config;
-
- /**
- * Init this servlet
- *
- * @throws ServletException
- */
- public void init() throws ServletException {
- super.init();
-
- resourcePathPrefix = getInitParameter(INIT_PARAM_RESOURCE_PATH_PREFIX);
- if (resourcePathPrefix == null) {
- log.debug("Missing path prefix > setting to empty string.");
- resourcePathPrefix = "";
- } else if (resourcePathPrefix.endsWith("/")) {
- log.debug("Path prefix ends with '/' > removing trailing slash.");
- resourcePathPrefix = resourcePathPrefix.substring(0, resourcePathPrefix.length()
- 1);
- }
- getServletContext().setAttribute(CTX_ATTR_RESOURCE_PATH_PREFIX, resourcePathPrefix);
- log.info(INIT_PARAM_RESOURCE_PATH_PREFIX + " = '" + resourcePathPrefix + "'");
-
- authenticate_header = getInitParameter(INIT_PARAM_AUTHENTICATE_HEADER);
- if (authenticate_header == null) {
- authenticate_header = DEFAULT_AUTHENTICATE_HEADER;
- }
- log.info("WWW-Authenticate header = '" + authenticate_header + "'");
-
- String configParam = getInitParameter(INIT_PARAM_RESOURCE_CONFIG);
- if (configParam != null) {
- try {
- config = new ResourceConfig();
- config.parse(getServletContext().getResource(configParam));
- } catch (MalformedURLException e) {
- log.debug("Unable to build resource filter provider.");
- }
- }
- }
-
- /**
- * {@inheritDoc}
- */
- protected boolean isPreconditionValid(WebdavRequest request,
- DavResource resource) {
- return !resource.exists() || request.matchesIfHeader(resource);
- }
-
- /**
- * Returns the configured path prefix
- *
- * @return resourcePathPrefix
- * @see #INIT_PARAM_RESOURCE_PATH_PREFIX
- */
- public String getPathPrefix() {
- return resourcePathPrefix;
- }
-
- /**
- * Returns the configured path prefix
- *
- * @return resourcePathPrefix
- * @see #INIT_PARAM_RESOURCE_PATH_PREFIX
- */
- public static String getPathPrefix(ServletContext ctx) {
- return (String) ctx.getAttribute(CTX_ATTR_RESOURCE_PATH_PREFIX);
- }
-
- /**
- * Returns the <code>DavLocatorFactory</code>. If no locator factory has
- * been set or created a new instance of {@link org.apache.jackrabbit.webdav.simple.LocatorFactoryImpl}
is
- * returned.
- *
- * @return the locator factory
- * @see AbstractWebdavServlet#getLocatorFactory()
- */
- public DavLocatorFactory getLocatorFactory() {
- if (locatorFactory == null) {
- locatorFactory = new LocatorFactoryImplEx(resourcePathPrefix);
- }
- return locatorFactory;
- }
-
- /**
- * Sets the <code>DavLocatorFactory</code>.
- *
- * @param locatorFactory
- * @see AbstractWebdavServlet#setLocatorFactory(DavLocatorFactory)
- */
- public void setLocatorFactory(DavLocatorFactory locatorFactory) {
- this.locatorFactory = locatorFactory;
- }
-
- /**
- * Returns the <code>LockManager</code>. If no lock manager has
- * been set or created a new instance of {@link SimpleLockManager} is
- * returned.
- *
- * @return the lock manager
- */
- public LockManager getLockManager() {
- if (lockManager == null) {
- lockManager = new SimpleLockManager();
- }
- return lockManager;
- }
-
- /**
- * Sets the <code>LockManager</code>.
- *
- * @param lockManager
- */
- public void setLockManager(LockManager lockManager) {
- this.lockManager = lockManager;
- }
-
- /**
- * Returns the <code>DavResourceFactory</code>. If no request factory has
- * been set or created a new instance of {@link ResourceFactoryImpl} is
- * returned.
- *
- * @return the resource factory
- * @see AbstractWebdavServlet#getResourceFactory()
- */
- public DavResourceFactory getResourceFactory() {
- if (resourceFactory == null) {
- resourceFactory = new ResourceFactoryImpl(getLockManager(), getResourceConfig());
- }
- return resourceFactory;
- }
-
- /**
- * Sets the <code>DavResourceFactory</code>.
- *
- * @param resourceFactory
- * @see AbstractWebdavServlet#setResourceFactory(org.apache.jackrabbit.webdav.DavResourceFactory)
- */
- public void setResourceFactory(DavResourceFactory resourceFactory) {
- this.resourceFactory = resourceFactory;
- }
-
- /**
- * Returns the <code>SessionProvider</code>. If no session provider has been
- * set or created a new instance of {@link SessionProviderImpl} that extracts
- * credentials from the request's <code>Authorization</code> header is
- * returned.
- *
- * @return the session provider
- */
- public synchronized SessionProvider getSessionProvider() {
- if (sessionProvider == null) {
- sessionProvider = new SessionProviderImpl(getCredentialsProvider());
- }
- return sessionProvider;
- }
-
- /**
- * Factory method for creating the credentials provider to be used for
- * accessing the credentials associated with a request. The default
- * implementation returns a {@link BasicCredentialsProvider} instance,
- * but subclasses can override this method to add support for other
- * types of credentials.
- *
- * @return the credentilas provider
- * @since 1.3
- */
- protected CredentialsProvider getCredentialsProvider() {
- return new BasicCredentialsProvider(getInitParameter(INIT_PARAM_MISSING_AUTH_MAPPING));
- }
-
- /**
- * Sets the <code>SessionProvider</code>.
- *
- * @param sessionProvider
- */
- public synchronized void setSessionProvider(SessionProvider sessionProvider) {
- this.sessionProvider = sessionProvider;
- }
-
- /**
- * Returns the <code>DavSessionProvider</code>. If no session provider has
- * been set or created a new instance of {@link DavSessionProviderImpl}
- * is returned.
- *
- * @return the session provider
- * @see AbstractWebdavServlet#getDavSessionProvider()
- */
- public synchronized DavSessionProvider getDavSessionProvider() {
- if (davSessionProvider == null) {
- davSessionProvider =
- new DavSessionProviderImpl(getRepository(), getSessionProvider());
- }
- return davSessionProvider;
- }
-
- /**
- * Sets the <code>DavSessionProvider</code>.
- *
- * @param sessionProvider
- * @see AbstractWebdavServlet#setDavSessionProvider(org.apache.jackrabbit.webdav.DavSessionProvider)
- */
- public synchronized void setDavSessionProvider(DavSessionProvider sessionProvider) {
- this.davSessionProvider = sessionProvider;
- }
-
- /**
- * Returns the header value retrieved from the {@link #INIT_PARAM_AUTHENTICATE_HEADER}
- * init parameter. If the parameter is missing, the value defaults to
- * {@link #DEFAULT_AUTHENTICATE_HEADER}.
- *
- * @return the header value retrieved from the corresponding init parameter
- * or {@link #DEFAULT_AUTHENTICATE_HEADER}.
- * @see AbstractWebdavServlet#getAuthenticateHeaderValue()
- */
- public String getAuthenticateHeaderValue() {
- return authenticate_header;
- }
-
- /**
- * Returns the resource configuration to be applied
- *
- * @return the resource configuration.
- */
- public ResourceConfig getResourceConfig() {
- // fallback if no config present
- if (config == null) {
- config = new ResourceConfig();
- }
- return config;
- }
-
- /**
- * Set the resource configuration
- *
- * @param config
- */
- public void setResourceConfig(ResourceConfig config) {
- this.config = config;
- }
/**
* Returns the <code>Repository</code>. If no repository has been set or
|