@Override public void init( ServletConfig servletConfig ) throws ServletException { super.init( servletConfig ); initServers( servletConfig ); }
@Override public void destroy() { resourceFactory = null; locatorFactory = null; sessionProvider = null; WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext( getServletContext() ); if ( wac instanceof ConfigurableApplicationContext ) { ( (ConfigurableApplicationContext) wac ).close(); } super.destroy(); } }
@Override protected boolean execute(WebdavRequest request, WebdavResponse response, int method, DavResource resource) throws ServletException, IOException, DavException { logger.debug(String.format("Resource: [%s] Method: [%s]", resource.getDisplayName(), request.getMethod())); return super.execute(request, response, method, resource); }
doGet(request, response, resource); break; case DavMethods.DAV_HEAD: doHead(request, response, resource); break; case DavMethods.DAV_PROPFIND: doPropFind(request, response, resource); break; case DavMethods.DAV_PROPPATCH: doPropPatch(request, response, resource); break; case DavMethods.DAV_POST: doPost(request, response, resource); break; case DavMethods.DAV_PUT: doPut(request, response, resource); break; case DavMethods.DAV_DELETE: doDelete(request, response, resource); break; case DavMethods.DAV_COPY: doCopy(request, response, resource); break; case DavMethods.DAV_MOVE: doMove(request, response, resource); break; case DavMethods.DAV_MKCOL: doMkCol(request, response, resource); break;
throws ServletException, IOException { WebdavRequest webdavRequest = new WebdavRequestImpl(request, getLocatorFactory(), isCreateAbsoluteURI()); try { if (!getDavSessionProvider().attachSession(webdavRequest)) { return; List<String> ces = getContentCodings(request); if (!ces.isEmpty()) { webdavResponse.setStatus(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); DavResource resource = getResourceFactory().createResource(webdavRequest.getRequestLocator(), webdavRequest, webdavResponse); if (!isPreconditionValid(webdavRequest, resource)) { webdavResponse.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; if (!execute(webdavRequest, webdavResponse, methodCode, resource)) { super.service(request, response); sendUnauthorized(webdavRequest, webdavResponse, e); } else { webdavResponse.sendError(e); getDavSessionProvider().releaseSession(webdavRequest);
super.service(request, response); } catch (DavException e) { if (e.getErrorCode() == HttpServletResponse.SC_UNAUTHORIZED) {
doGet(request, response, resource); break; case DavMethods.DAV_HEAD: doHead(request, response, resource); break; case DavMethods.DAV_PROPFIND: doPropFind(request, response, resource); break; case DavMethods.DAV_PROPPATCH: doPropPatch(request, response, resource); break; case DavMethods.DAV_POST: doPost(request, response, resource); break; case DavMethods.DAV_PUT: doPut(request, response, resource); break; case DavMethods.DAV_DELETE: doDelete(request, response, resource); break; case DavMethods.DAV_COPY: doCopy(request, response, resource); break; case DavMethods.DAV_MOVE: doMove(request, response, resource); break; case DavMethods.DAV_MKCOL: doMkCol(request, response, resource); break;
throws ServletException, IOException { WebdavRequest webdavRequest = new WebdavRequestImpl(request, getLocatorFactory(), isCreateAbsoluteURI()); try { if (!getDavSessionProvider().attachSession(webdavRequest)) { return; List<String> ces = getContentCodings(request); if (!ces.isEmpty()) { webdavResponse.setStatus(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE); DavResource resource = getResourceFactory().createResource(webdavRequest.getRequestLocator(), webdavRequest, webdavResponse); if (!isPreconditionValid(webdavRequest, resource)) { webdavResponse.sendError(HttpServletResponse.SC_PRECONDITION_FAILED); return; if (!execute(webdavRequest, webdavResponse, methodCode, resource)) { super.service(request, response); sendUnauthorized(webdavRequest, webdavResponse, e); } else { webdavResponse.sendError(e); getDavSessionProvider().releaseSession(webdavRequest);
super.service(request, response);
@Override public void init( ServletConfig servletConfig ) throws ServletException { super.init( servletConfig ); try { initServers( servletConfig ); } catch ( RepositoryAdminException e ) { log.error( e.getMessage(), e ); throw new ServletException( e.getMessage(), e ); } }
super.service( request, response );
@Override public void destroy() { configuration.removeListener( this ); resourceFactory = null; configuration = null; locatorFactory = null; sessionProvider = null; repositoryMap.clear(); repositoryMap = null; WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext( getServletContext() ); if ( wac instanceof ConfigurableApplicationContext ) { ( (ConfigurableApplicationContext) wac ).close(); } super.destroy(); } }
/** * Init this servlet * * @throws ServletException */ @Override 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 + "'"); config = new ResourceConfig(getDetector()); String configParam = getInitParameter(INIT_PARAM_RESOURCE_CONFIG); if (configParam != null) { try { config.parse(getServletContext().getResource(configParam)); } catch (MalformedURLException e) { log.debug("Unable to build resource filter provider", e); } } }
super.service( request, response );
/** * Initializes the servlet set reads the following parameter from the * servlet configuration: * <ul> * <li>resource-path-prefix: optional prefix for all resources.</li> * </ul> * * @throws ServletException */ @Override public void init() throws ServletException { super.init(); // set resource path prefix pathPrefix = getInitParameter(INIT_PARAM_RESOURCE_PATH_PREFIX); getServletContext().setAttribute(CTX_ATTR_RESOURCE_PATH_PREFIX, pathPrefix); log.debug(INIT_PARAM_RESOURCE_PATH_PREFIX + " = " + pathPrefix); txMgr = new TxLockManagerImpl(); subscriptionMgr = new SubscriptionManagerImpl(); txMgr.addTransactionListener((SubscriptionManagerImpl) subscriptionMgr); // todo: eventually make configurable resourceFactory = new DavResourceFactoryImpl(txMgr, subscriptionMgr); locatorFactory = new DavLocatorFactoryImpl(pathPrefix); }
@Override public void init() throws ServletException { super.init(); setLocatorFactory(new LocatorFactoryImplEx("")); setResourceFactory(new XWikiDavResourceFactory(getServletContext())); setDavSessionProvider(new XWikiDavSessionProvider()); }