Move all JCR servlets to OSGi WhiteBoard.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / http / CmsWebDavServlet.java
index f60e3b6043f4f272417489dc18ae1838b76e33aa..d61e5f49403fa99e0195cf154147b55758a648ca 100644 (file)
@@ -7,10 +7,19 @@ import javax.jcr.Repository;
 import org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet;
 import org.argeo.api.NodeConstants;
 
+/** A {@link SimpleWebdavServlet} based on {@link CmsSessionProvider}. */
 public class CmsWebDavServlet extends SimpleWebdavServlet {
        private static final long serialVersionUID = 7485800288686328063L;
        private Repository repository;
 
+       public CmsWebDavServlet() {
+       }
+
+       public CmsWebDavServlet(String alias, Repository repository) {
+               this.repository = repository;
+               setSessionProvider(new CmsSessionProvider(alias));
+       }
+
        @Override
        public Repository getRepository() {
                return repository;
@@ -21,6 +30,8 @@ public class CmsWebDavServlet extends SimpleWebdavServlet {
                String alias = properties.get(NodeConstants.CN);
                if (alias != null)
                        setSessionProvider(new CmsSessionProvider(alias));
+               else
+                       throw new IllegalArgumentException("Only aliased repositories are supported");
        }
 
 }