X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FNodeHttp.java;h=1e11b7d7f6105358a4dea515dab7a9cf8d9ba39e;hb=503f2f9ae7bc2167a3c41d1937fc63c299c16027;hp=92f804d252d1ae970f2d8f35a9b4fbf7ceffcc72;hpb=d2e617c3adda3874dd0fbc26ebe83f64814293c1;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java index 92f804d25..1e11b7d7f 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeHttp.java @@ -44,7 +44,8 @@ public class NodeHttp implements KernelConstants { private ServiceTracker repositories; private final ServiceTracker httpServiceTracker; - private static String httpRealm = "Argeo"; + private String httpRealm = "Argeo"; + private String webDavConfig = HttpUtils.WEBDAV_CONFIG; private final boolean cleanState; public NodeHttp(boolean cleanState) { @@ -59,7 +60,7 @@ public class NodeHttp implements KernelConstants { repositories.close(); } - public static void registerRepositoryServlets(HttpService httpService, String alias, Repository repository) { + public void registerRepositoryServlets(HttpService httpService, String alias, Repository repository) { if (httpService == null) throw new CmsException("No HTTP service available"); try { @@ -89,29 +90,29 @@ public class NodeHttp implements KernelConstants { } } - static void registerWebdavServlet(HttpService httpService, String alias, Repository repository) + void registerWebdavServlet(HttpService httpService, String alias, Repository repository) throws NamespaceException, ServletException { // WebdavServlet webdavServlet = new WebdavServlet(repository, new // OpenInViewSessionProvider(alias)); WebdavServlet webdavServlet = new WebdavServlet(repository, new CmsSessionProvider(alias)); String path = webdavPath(alias); Properties ip = new Properties(); - ip.setProperty(WebdavServlet.INIT_PARAM_RESOURCE_CONFIG, HttpUtils.WEBDAV_CONFIG); + ip.setProperty(WebdavServlet.INIT_PARAM_RESOURCE_CONFIG, webDavConfig); ip.setProperty(WebdavServlet.INIT_PARAM_RESOURCE_PATH_PREFIX, path); httpService.registerServlet(path, webdavServlet, ip, new DataHttpContext(httpRealm)); } - static void registerFilesServlet(HttpService httpService, String alias, Repository repository) + void registerFilesServlet(HttpService httpService, String alias, Repository repository) throws NamespaceException, ServletException { WebdavServlet filesServlet = new WebdavServlet(repository, new CmsSessionProvider(alias)); String path = filesPath(alias); Properties ip = new Properties(); - ip.setProperty(WebdavServlet.INIT_PARAM_RESOURCE_CONFIG, HttpUtils.WEBDAV_CONFIG); + ip.setProperty(WebdavServlet.INIT_PARAM_RESOURCE_CONFIG, webDavConfig); ip.setProperty(WebdavServlet.INIT_PARAM_RESOURCE_PATH_PREFIX, path); httpService.registerServlet(path, filesServlet, ip, new PrivateHttpContext(httpRealm, true)); } - static void registerRemotingServlet(HttpService httpService, String alias, Repository repository) + void registerRemotingServlet(HttpService httpService, String alias, Repository repository) throws NamespaceException, ServletException { RemotingServlet remotingServlet = new RemotingServlet(repository, new CmsSessionProvider(alias)); String path = remotingPath(alias); @@ -145,23 +146,7 @@ public class NodeHttp implements KernelConstants { return NodeConstants.PATH_FILES; } - // private Subject subjectFromRequest(HttpServletRequest request, - // HttpServletResponse response) { - // Authorization authorization = (Authorization) - // request.getAttribute(HttpContext.AUTHORIZATION); - // if (authorization == null) - // throw new CmsException("Not authenticated"); - // try { - // LoginContext lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, - // new HttpRequestCallbackHandler(request, response)); - // lc.login(); - // return lc.getSubject(); - // } catch (LoginException e) { - // throw new CmsException("Cannot login", e); - // } - // } - - static class RepositoriesStc extends ServiceTracker { + class RepositoriesStc extends ServiceTracker { private final HttpService httpService; private final BundleContext bc; @@ -198,9 +183,6 @@ public class NodeHttp implements KernelConstants { } private class PrepareHttpStc extends ServiceTracker { - // private DataHttp dataHttp; - // private NodeHttp nodeHttp; - public PrepareHttpStc() { super(bc, HttpService.class, null); } @@ -218,13 +200,6 @@ public class NodeHttp implements KernelConstants { @Override public void removedService(ServiceReference reference, HttpService service) { - // if (dataHttp != null) - // dataHttp.destroy(); - // dataHttp = null; - // if (nodeHttp != null) - // nodeHttp.destroy(); - // nodeHttp = null; - // destroy(); repositories.close(); repositories = null; }