From commits-return-5178-apmail-ace-commits-archive=ace.apache.org@ace.apache.org Tue Feb 23 14:52:27 2016 Return-Path: X-Original-To: apmail-ace-commits-archive@www.apache.org Delivered-To: apmail-ace-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 649A4186D4 for ; Tue, 23 Feb 2016 14:52:27 +0000 (UTC) Received: (qmail 32761 invoked by uid 500); 23 Feb 2016 14:45:13 -0000 Delivered-To: apmail-ace-commits-archive@ace.apache.org Received: (qmail 32732 invoked by uid 500); 23 Feb 2016 14:45:13 -0000 Mailing-List: contact commits-help@ace.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ace.apache.org Delivered-To: mailing list commits@ace.apache.org Received: (qmail 32717 invoked by uid 99); 23 Feb 2016 14:45:13 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 23 Feb 2016 14:45:13 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id A79631804AB for ; Tue, 23 Feb 2016 14:45:12 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.877 X-Spam-Level: * X-Spam-Status: No, score=1.877 tagged_above=-999 required=6.31 tests=[FILL_THIS_FORM_FRAUD_PHISH=0.396, KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-0.329, T_FILL_THIS_FORM_SHORT=0.01] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id GHq6fHdFGe-l for ; Tue, 23 Feb 2016 14:44:59 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id F2FA35FAC6 for ; Tue, 23 Feb 2016 14:44:58 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id EF16FE0700 for ; Tue, 23 Feb 2016 14:39:56 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id E27C93A0A33 for ; Tue, 23 Feb 2016 14:39:56 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1731866 [2/2] - in /ace/trunk: org.apache.ace.authentication.itest/ org.apache.ace.authentication.itest/src/org/apache/ace/it/authentication/ org.apache.ace.bnd/ org.apache.ace.bnd/services/ org.apache.ace.bnd/src/org/apache/ace/bnd/regist... Date: Tue, 23 Feb 2016 14:39:56 -0000 To: commits@ace.apache.org From: jawi@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20160223143956.E27C93A0A33@svn01-us-west.apache.org> Modified: ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/Activator.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/Activator.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/Activator.java (original) +++ ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/Activator.java Tue Feb 23 14:39:54 2016 @@ -18,14 +18,17 @@ */ package org.apache.ace.log.server.servlet; +import static org.apache.ace.http.HttpConstants.ACE_WHITEBOARD_CONTEXT_SELECT_FILTER; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; + import java.util.Dictionary; -import java.util.HashMap; -import java.util.Map; import java.util.Properties; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import javax.servlet.Servlet; -import org.apache.ace.authentication.api.AuthenticationService; import org.apache.ace.log.server.store.LogStore; import org.apache.felix.dm.Component; import org.apache.felix.dm.DependencyActivatorBase; @@ -37,30 +40,16 @@ import org.osgi.service.cm.ManagedServic import org.osgi.service.log.LogService; public class Activator extends DependencyActivatorBase implements ManagedServiceFactory { + private static final String PID = "org.apache.ace.log.server.servlet.factory"; private static final String KEY_LOG_NAME = "name"; + private static final String KEY_ENDPOINT = "endpoint"; - /** A boolean denoting whether or not authentication is enabled. */ - private static final String KEY_USE_AUTHENTICATION = "authentication.enabled"; - - private final Map m_instances = new HashMap<>(); // String -> Service - private DependencyManager m_manager; + private final ConcurrentMap m_instances = new ConcurrentHashMap<>(); + // Managed by Felix DM... + private volatile DependencyManager m_manager; private volatile LogService m_log; - @Override - public void init(BundleContext context, DependencyManager manager) throws Exception { - m_manager = manager; - Properties props = new Properties(); - props.put(Constants.SERVICE_PID, "org.apache.ace.log.server.servlet.factory"); - manager.add(createComponent() - .setInterface(ManagedServiceFactory.class.getName(), props) - .setImplementation(this) - .add(createServiceDependency().setService(LogService.class).setRequired(false))); } - - @Override - public void destroy(BundleContext context, DependencyManager manager) throws Exception { - } - public void deleted(String pid) { Component log = m_instances.remove(pid); if (log != null) { @@ -72,32 +61,58 @@ public class Activator extends Dependenc return "Log Servlet Factory"; } + @Override + public void init(BundleContext context, DependencyManager manager) throws Exception { + Properties props = new Properties(); + props.put(Constants.SERVICE_PID, PID); + + manager.add(createComponent() + .setInterface(ManagedServiceFactory.class.getName(), props) + .setImplementation(this) + .add(createServiceDependency().setService(LogService.class).setRequired(false))); + } + public void updated(String pid, Dictionary dict) throws ConfigurationException { String name = (String) dict.get(KEY_LOG_NAME); - if ((name == null) || "".equals(name)) { - throw new ConfigurationException(KEY_LOG_NAME, "Log name has to be specified: " + name); + if (name == null || "".equals(name.trim())) { + throw new ConfigurationException(KEY_LOG_NAME, "Log name has to be specified!"); } - - String useAuthString = (String) dict.get(KEY_USE_AUTHENTICATION); - if (useAuthString == null - || !("true".equalsIgnoreCase(useAuthString) || "false".equalsIgnoreCase(useAuthString))) { - throw new ConfigurationException(KEY_USE_AUTHENTICATION, "Missing or invalid value: " + useAuthString); + + String endpoint = (String) dict.get(KEY_ENDPOINT); + if (endpoint == null || "".equals(endpoint.trim())) { + throw new ConfigurationException(KEY_ENDPOINT, "Endpoint name must be specified!"); } - boolean useAuth = Boolean.parseBoolean(useAuthString); + + Properties servletProps = new Properties(); + servletProps.put(HTTP_WHITEBOARD_SERVLET_PATTERN, toPattern(endpoint)); + servletProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WHITEBOARD_CONTEXT_SELECT_FILTER); + servletProps.put(KEY_LOG_NAME, name); Component service = m_instances.get(pid); if (service == null) { service = m_manager.createComponent() - .setInterface(Servlet.class.getName(), dict) - .setImplementation(new LogServlet(name, useAuth)) - .add(createServiceDependency().setService(AuthenticationService.class).setRequired(useAuth)) + .setInterface(Servlet.class.getName(), servletProps) + .setImplementation(new LogServlet(name)) .add(createServiceDependency().setService(LogService.class).setRequired(false)) - .add(createServiceDependency().setService(LogStore.class, "(&("+Constants.OBJECTCLASS+"="+LogStore.class.getName()+")(name=" + name + "))").setRequired(true)); + .add(createServiceDependency().setService(LogStore.class, "(name=" + name + ")").setRequired(true)); - m_instances.put(pid, service); - m_manager.add(service); - } else { - m_log.log(LogService.LOG_INFO, "Ignoring configuration update because factory instance was already configured: " + name); + if (m_instances.putIfAbsent(pid, service) == null) { + m_manager.add(service); + } + } + else { + m_log.log(LogService.LOG_WARNING, "Ignoring configuration update because factory instance was already configured: " + name); + } + } + + private Object toPattern(String endpoint) { + final String suffix = "/*"; + if ("/".equals(endpoint)) { + return suffix; + } + if (!endpoint.endsWith(suffix)) { + return endpoint.concat(suffix); } + return endpoint; } -} \ No newline at end of file +} Modified: ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/LogServlet.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/LogServlet.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/LogServlet.java (original) +++ ace/trunk/org.apache.ace.log/src/org/apache/ace/log/server/servlet/LogServlet.java Tue Feb 23 14:39:54 2016 @@ -18,29 +18,24 @@ */ package org.apache.ace.log.server.servlet; -import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; - import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; -import javax.servlet.ServletException; import javax.servlet.ServletInputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.ace.authentication.api.AuthenticationService; import org.apache.ace.feedback.Descriptor; import org.apache.ace.feedback.Event; import org.apache.ace.feedback.LowestID; import org.apache.ace.log.server.store.LogStore; import org.apache.ace.range.SortedRangeSet; import org.osgi.service.log.LogService; -import org.osgi.service.useradmin.User; /** * This class acts as a servlet and handles the log protocol. This means a number of requests will be handled: @@ -88,14 +83,11 @@ public class LogServlet extends HttpServ // injected by Dependency Manager private volatile LogService m_log; private volatile LogStore m_store; - private volatile AuthenticationService m_authService; private final String m_name; - private final boolean m_useAuth; - public LogServlet(String name, boolean useAuth) { + public LogServlet(String name) { m_name = name; - m_useAuth = useAuth; } @Override @@ -155,34 +147,6 @@ public class LogServlet extends HttpServ } } - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (!authenticate(req)) { - // Authentication failed; don't proceed with the original request... - resp.sendError(SC_UNAUTHORIZED); - } else { - // Authentication successful, proceed with original request... - super.service(req, resp); - } - } - - /** - * Authenticates, if needed the user with the information from the given request. - * - * @param request the request to obtain the credentials from, cannot be null. - * @return true if the authentication was successful, false otherwise. - */ - private boolean authenticate(HttpServletRequest request) { - if (m_useAuth) { - User user = m_authService.authenticate(request); - if (user == null) { - m_log.log(LogService.LOG_INFO, "Authentication failure!"); - } - return (user != null); - } - return true; - } - // Handle a call to the query 'command' protected boolean handleQuery(String targetID, String logID, String filter, ServletOutputStream output) throws IOException { if ((targetID != null) && (logID != null)) { Modified: ace/trunk/org.apache.ace.log/test/org/apache/ace/log/server/servlet/LogServletTest.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.log/test/org/apache/ace/log/server/servlet/LogServletTest.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.log/test/org/apache/ace/log/server/servlet/LogServletTest.java (original) +++ ace/trunk/org.apache.ace.log/test/org/apache/ace/log/server/servlet/LogServletTest.java Tue Feb 23 14:39:54 2016 @@ -53,7 +53,7 @@ public class LogServletTest { @BeforeMethod(alwaysRun = true) protected void setUp() throws Exception { - m_logServlet = new LogServlet("test", false /* useAuth */); + m_logServlet = new LogServlet("test"); TestUtils.configureObject(m_logServlet, LogService.class); m_mockStore = new MockLogStore(); TestUtils.configureObject(m_logServlet, LogStore.class, m_mockStore); Modified: ace/trunk/org.apache.ace.obr/bnd.bnd URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.obr/bnd.bnd?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.obr/bnd.bnd (original) +++ ace/trunk/org.apache.ace.obr/bnd.bnd Tue Feb 23 14:39:54 2016 @@ -14,6 +14,7 @@ org.apache.ace.deployment.provider.api;version=latest,\ org.apache.ace.deployment.provider.base;version=latest,\ org.apache.ace.deployment.util.test;version=latest,\ + org.apache.ace.http.api;version=latest,\ org.osgi.impl.bundle.repoindex.lib;packages="org.osgi.service.indexer,org.osgi.service.indexer.impl" Modified: ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/Activator.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/Activator.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/Activator.java (original) +++ ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/Activator.java Tue Feb 23 14:39:54 2016 @@ -18,6 +18,12 @@ */ package org.apache.ace.obr.servlet; +import static org.apache.ace.http.HttpConstants.ACE_WHITEBOARD_CONTEXT_SELECT_FILTER; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; + +import java.util.Properties; + import javax.servlet.Servlet; import org.apache.ace.obr.storage.BundleStore; @@ -27,16 +33,16 @@ import org.osgi.framework.BundleContext; import org.osgi.service.log.LogService; public class Activator extends DependencyActivatorBase { - public static final String PID = "org.apache.ace.obr.servlet"; @Override public void init(BundleContext context, DependencyManager manager) throws Exception { + Properties servletProps = new Properties(); + servletProps.put(HTTP_WHITEBOARD_SERVLET_PATTERN, BundleServlet.SERVLET_ENDPOINT.concat("*")); + servletProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WHITEBOARD_CONTEXT_SELECT_FILTER); + manager.add(createComponent() - .setInterface(Servlet.class.getName(), null) + .setInterface(Servlet.class.getName(), servletProps) .setImplementation(BundleServlet.class) - .add(createConfigurationDependency() - .setPropagate(true) - .setPid(PID)) .add(createServiceDependency() .setService(BundleStore.class) .setRequired(true)) @@ -44,9 +50,4 @@ public class Activator extends Dependenc .setService(LogService.class) .setRequired(false))); } - - @Override - public void destroy(BundleContext context, DependencyManager manager) throws Exception { - // do nothing - } -} \ No newline at end of file +} Modified: ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/BundleServlet.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/BundleServlet.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/BundleServlet.java (original) +++ ace/trunk/org.apache.ace.obr/src/org/apache/ace/obr/servlet/BundleServlet.java Tue Feb 23 14:39:54 2016 @@ -24,14 +24,11 @@ import static javax.servlet.http.HttpSer import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; import static javax.servlet.http.HttpServletResponse.SC_OK; -import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; -import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; import java.io.Closeable; import java.io.EOFException; import java.io.IOException; import java.io.InputStream; -import java.util.Dictionary; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; @@ -39,82 +36,28 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.ace.authentication.api.AuthenticationService; import org.apache.ace.obr.storage.BundleStore; -import org.apache.felix.dm.Component; -import org.apache.felix.dm.DependencyManager; -import org.osgi.service.cm.ConfigurationException; -import org.osgi.service.cm.ManagedService; import org.osgi.service.log.LogService; -import org.osgi.service.useradmin.User; /** * Provides access to the OBR through a REST-ish API. */ -public class BundleServlet extends HttpServlet implements ManagedService { +public class BundleServlet extends HttpServlet { private static final long serialVersionUID = 1L; - /** A boolean denoting whether or not authentication is enabled. */ - private static final String KEY_USE_AUTHENTICATION = "authentication.enabled"; - private static final int COPY_BUFFER_SIZE = 4096; public static final String TEXT_MIMETYPE = "text/plain"; + public static final String SERVLET_ENDPOINT = "/obr/"; - private volatile DependencyManager m_dm; // injected by Dependency Manager private volatile LogService m_log; /* will be injected by dependencymanager */ private volatile BundleStore m_store; /* will be injected by dependencymanager */ - private volatile AuthenticationService m_authService; - - private volatile String m_servletEndpoint = "/"; - private volatile boolean m_useAuth = false; @Override public String getServletInfo() { return "Apache ACE OBR Servlet"; } - public void updated(Dictionary settings) throws ConfigurationException { - if (settings != null) { - String useAuthString = (String) settings.get(KEY_USE_AUTHENTICATION); - if (useAuthString == null - || !("true".equalsIgnoreCase(useAuthString) || "false".equalsIgnoreCase(useAuthString))) { - throw new ConfigurationException(KEY_USE_AUTHENTICATION, "Missing or invalid value!"); - } - boolean useAuth = Boolean.parseBoolean(useAuthString); - m_useAuth = useAuth; - - m_servletEndpoint = (String) settings.get(HTTP_WHITEBOARD_SERVLET_PATTERN); - if(m_servletEndpoint == null){ - m_servletEndpoint = "/"; - } - if(!m_servletEndpoint.startsWith("/")){ - m_servletEndpoint = "/" + m_servletEndpoint; - } - if(m_servletEndpoint.endsWith("/*")){ - m_servletEndpoint = m_servletEndpoint.substring(0, m_servletEndpoint.length() -1); - } - if (!m_servletEndpoint.endsWith("/")) { - m_servletEndpoint = m_servletEndpoint + "/"; - } - } - else { - m_useAuth = false; - } - } - - /** - * Called by Dependency Manager upon initialization of this component. - * - * @param comp the component to initialize, cannot be null. - */ - protected void init(Component comp) { - comp.add(m_dm.createServiceDependency() - .setService(AuthenticationService.class) - .setRequired(m_useAuth) - ); - } - /** * Responds to POST requests sent to http://host:port/obr by writing the received data to the bundle store and * returning the persistent location. Will send out a response that contains one of the following status codes: @@ -279,37 +222,6 @@ public class BundleServlet extends HttpS } } - /** - * {@inheritDoc} - */ - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (!authenticate(req)) { - // Authentication failed; don't proceed with the original request... - resp.sendError(SC_UNAUTHORIZED); - } else { - // Authentication successful, proceed with original request... - super.service(req, resp); - } - } - - /** - * Authenticates, if needed the user with the information from the given request. - * - * @param request the request to obtain the credentials from, cannot be null. - * @return true if the authentication was successful, false otherwise. - */ - private boolean authenticate(HttpServletRequest request) { - if (m_useAuth) { - User user = m_authService.authenticate(request); - if (user == null) { - m_log.log(LogService.LOG_INFO, "Authentication failure!"); - } - return (user != null); - } - return true; - } - private void closeSafely(Closeable resource, HttpServletRequest request) { if (resource != null) { try { @@ -334,7 +246,7 @@ public class BundleServlet extends HttpS if(!ignorePort){ locationBuilder.append(":" + request.getServerPort()); } - locationBuilder.append(m_servletEndpoint).append(relativePath); + locationBuilder.append(SERVLET_ENDPOINT).append(relativePath); response.setHeader("Location", locationBuilder.toString()); response.setStatus(SC_CREATED); } Modified: ace/trunk/org.apache.ace.repository.itest/bnd.bnd URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.repository.itest/bnd.bnd?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.repository.itest/bnd.bnd (original) +++ ace/trunk/org.apache.ace.repository.itest/bnd.bnd Tue Feb 23 14:39:54 2016 @@ -25,7 +25,9 @@ Test-Cases: ${classes;CONCRETE;EXTENDS;o org.apache.ace.range.api;version=latest,\ org.apache.ace.repository.api;version=latest,\ org.apache.ace.repository.impl;version=latest,\ - org.apache.ace.repository.servlets;version=latest + org.apache.ace.repository.servlets;version=latest,\ + org.apache.ace.http.context;version=latest + Private-Package: org.apache.ace.it.repository Bundle-Version: 1.0.0 Bundle-Name: Apache ACE Repository itest Modified: ace/trunk/org.apache.ace.repository.itest/src/org/apache/ace/it/repository/RepositoryTest.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.repository.itest/src/org/apache/ace/it/repository/RepositoryTest.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.repository.itest/src/org/apache/ace/it/repository/RepositoryTest.java (original) +++ ace/trunk/org.apache.ace.repository.itest/src/org/apache/ace/it/repository/RepositoryTest.java Tue Feb 23 14:39:54 2016 @@ -21,7 +21,6 @@ package org.apache.ace.it.repository; import static org.apache.ace.it.repository.Utils.get; import static org.apache.ace.it.repository.Utils.put; import static org.apache.ace.it.repository.Utils.query; -import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -298,12 +297,7 @@ public class RepositoryTest extends Inte protected void configureProvisionedServices() throws IOException { m_host = new URL("http://localhost:" + TestConstants.PORT); - configure("org.apache.ace.repository.servlet.RepositoryReplicationServlet", - HTTP_WHITEBOARD_SERVLET_PATTERN, "/replication/*", - "authentication.enabled", "false"); - configure("org.apache.ace.repository.servlet.RepositoryServlet", - HTTP_WHITEBOARD_SERVLET_PATTERN, "/repository/*", - "authentication.enabled", "false"); + configure("org.apache.ace.http.context", "authentication.enabled", "false"); Utils.waitForWebserver(m_host); } Modified: ace/trunk/org.apache.ace.repository/bnd.bnd URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.repository/bnd.bnd?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.repository/bnd.bnd (original) +++ ace/trunk/org.apache.ace.repository/bnd.bnd Tue Feb 23 14:39:54 2016 @@ -6,11 +6,14 @@ osgi.core;version=6.0.0,\ osgi.cmpn,\ org.apache.felix.dependencymanager,\ + org.apache.felix.http.api,\ org.apache.felix.http.servlet-api,\ org.apache.ace.range.api;version=latest,\ org.apache.ace.test;version=latest,\ org.apache.ace.authentication.api;version=latest,\ org.apache.ace.scheduler.api;version=latest,\ org.apache.ace.discovery.api;version=latest,\ - org.apache.ace.connectionfactory;version=latest + org.apache.ace.connectionfactory;version=latest,\ + org.apache.ace.http.api;version=latest + -sub: *.bnd Modified: ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/Activator.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/Activator.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/Activator.java (original) +++ ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/Activator.java Tue Feb 23 14:39:54 2016 @@ -18,6 +18,12 @@ */ package org.apache.ace.repository.servlet; +import static org.apache.ace.http.HttpConstants.ACE_WHITEBOARD_CONTEXT_SELECT_FILTER; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; + +import java.util.Properties; + import javax.servlet.Servlet; import org.apache.felix.dm.DependencyActivatorBase; @@ -26,27 +32,25 @@ import org.osgi.framework.BundleContext; import org.osgi.service.log.LogService; public class Activator extends DependencyActivatorBase { - public static final String REPOSITORY_PID = "org.apache.ace.repository.servlet.RepositoryServlet"; - public static final String REPOSITORY_REPLICATION_PID = "org.apache.ace.repository.servlet.RepositoryReplicationServlet"; - + @Override public void init(BundleContext context, DependencyManager manager) throws Exception { + Properties repositoryServletProps = new Properties(); + repositoryServletProps.put(HTTP_WHITEBOARD_SERVLET_PATTERN, "/repository/*"); + repositoryServletProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WHITEBOARD_CONTEXT_SELECT_FILTER); manager.add(createComponent() - .setInterface(Servlet.class.getName(), null) + .setInterface(Servlet.class.getName(), repositoryServletProps) .setImplementation(RepositoryServlet.class) - .add(createConfigurationDependency() - .setPropagate(true) - .setPid(REPOSITORY_PID)) .add(createServiceDependency() .setService(LogService.class) .setRequired(false))); + Properties replicationServletProps = new Properties(); + replicationServletProps.put(HTTP_WHITEBOARD_SERVLET_PATTERN, "/replication/*"); + replicationServletProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WHITEBOARD_CONTEXT_SELECT_FILTER); manager.add(createComponent() - .setInterface(Servlet.class.getName(), null) + .setInterface(Servlet.class.getName(), replicationServletProps) .setImplementation(RepositoryReplicationServlet.class) - .add(createConfigurationDependency() - .setPropagate(true) - .setPid(REPOSITORY_REPLICATION_PID)) .add(createServiceDependency() .setService(LogService.class) .setRequired(false))); Modified: ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/RepositoryServletBase.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/RepositoryServletBase.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/RepositoryServletBase.java (original) +++ ace/trunk/org.apache.ace.repository/src/org/apache/ace/repository/servlet/RepositoryServletBase.java Tue Feb 23 14:39:54 2016 @@ -18,13 +18,10 @@ */ package org.apache.ace.repository.servlet; -import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; - import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; -import java.util.Dictionary; import java.util.List; import javax.servlet.ServletException; @@ -32,25 +29,20 @@ import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.apache.ace.authentication.api.AuthenticationService; import org.apache.ace.range.SortedRangeSet; -import org.apache.felix.dm.Component; -import org.apache.felix.dm.DependencyManager; import org.osgi.framework.BundleContext; import org.osgi.framework.InvalidSyntaxException; import org.osgi.framework.ServiceReference; -import org.osgi.service.cm.ConfigurationException; -import org.osgi.service.cm.ManagedService; import org.osgi.service.log.LogService; -import org.osgi.service.useradmin.User; /** * Base class for the repository servlets. Both the repository and the repository replication servlets work in a similar * way, so the specifics were factored out of this base class and put in two subclasses. */ -public abstract class RepositoryServletBase extends HttpServlet implements ManagedService { - /** A boolean denoting whether or not authentication is enabled. */ - private static final String KEY_USE_AUTHENTICATION = "authentication.enabled"; +public abstract class RepositoryServletBase extends HttpServlet { + + private static final long serialVersionUID = 1L; + private static final int COPY_BUFFER_SIZE = 1024; private static final String QUERY = "/query"; protected static final String TEXT_MIMETYPE = "text/plain"; @@ -58,9 +50,6 @@ public abstract class RepositoryServletB private final Class m_repoType; // injected by Dependency Manager - private volatile DependencyManager m_dm; - private volatile AuthenticationService m_authService; - private volatile boolean m_useAuth = false; protected volatile BundleContext m_context; protected volatile LogService m_log; @@ -68,21 +57,6 @@ public abstract class RepositoryServletB m_repoType = repoType; } - public void updated(Dictionary settings) throws ConfigurationException { - if (settings != null) { - String useAuthString = (String) settings.get(KEY_USE_AUTHENTICATION); - if ((useAuthString == null) || - !("true".equalsIgnoreCase(useAuthString) || "false".equalsIgnoreCase(useAuthString))) { - throw new ConfigurationException(KEY_USE_AUTHENTICATION, "Missing or invalid value!"); - } - boolean useAuth = Boolean.parseBoolean(useAuthString); - m_useAuth = useAuth; - } - else { - m_useAuth = false; - } - } - /** * Checkout or get data from the repository. * @@ -200,51 +174,6 @@ public abstract class RepositoryServletB protected abstract SortedRangeSet getRange(REPO_TYPE repo) throws IOException; /** - * Called by Dependency Manager upon initialization of this component. - * - * @param comp - * the component to initialize, cannot be null. - */ - protected void init(Component comp) { - comp.add(m_dm.createServiceDependency() - .setService(AuthenticationService.class) - .setRequired(m_useAuth)); - } - - @Override - protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - if (!authenticate(req)) { - // Authentication failed; don't proceed with the original request... - resp.sendError(SC_UNAUTHORIZED); - } - else { - // Authentication successful, proceed with original request... - super.service(req, resp); - } - } - - /** - * Authenticates, if needed the user with the information from the given request. - * - * @param request - * The request to obtain the credentials from, cannot be null. - * @return true if the authentication was successful, false otherwise. - */ - private boolean authenticate(HttpServletRequest request) { - if (m_useAuth) { - User user = m_authService.authenticate(request); - - if (user == null) { - m_log.log(LogService.LOG_INFO, "Authentication failure!"); - } - - return (user != null); - } - - return true; - } - - /** * Copies data from an input stream to an output stream. * * @param in Modified: ace/trunk/org.apache.ace.useradmin.itest/bnd.bnd URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin.itest/bnd.bnd?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.useradmin.itest/bnd.bnd (original) +++ ace/trunk/org.apache.ace.useradmin.itest/bnd.bnd Tue Feb 23 14:39:54 2016 @@ -29,7 +29,8 @@ Test-Cases: ${classes;CONCRETE;EXTENDS;o org.apache.ace.repository.api;version=latest,\ org.apache.ace.repository.impl;version=latest,\ org.apache.ace.repository.servlets;version=latest,\ - org.apache.ace.useradmin.repository + org.apache.ace.useradmin.repository,\ + org.apache.ace.http.context;version=latest Private-Package: org.apache.ace.it.useradmin Bundle-Version: 1.0.0 Modified: ace/trunk/org.apache.ace.useradmin.itest/src/org/apache/ace/it/useradmin/UserAdminRepositoryTest.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin.itest/src/org/apache/ace/it/useradmin/UserAdminRepositoryTest.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.useradmin.itest/src/org/apache/ace/it/useradmin/UserAdminRepositoryTest.java (original) +++ ace/trunk/org.apache.ace.useradmin.itest/src/org/apache/ace/it/useradmin/UserAdminRepositoryTest.java Tue Feb 23 14:39:54 2016 @@ -18,8 +18,6 @@ */ package org.apache.ace.it.useradmin; -import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; - import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -161,10 +159,6 @@ public class UserAdminRepositoryTest ext protected void configureProvisionedServices() throws Exception { m_host = new URL("http://localhost:" + TestConstants.PORT); - configure("org.apache.ace.repository.servlet.RepositoryServlet", - HTTP_WHITEBOARD_SERVLET_PATTERN, "/repository/*", - "authentication.enabled", "false"); - configureFactory("org.apache.ace.server.repository.factory", "customer", "apache", "name", "user", @@ -176,6 +170,8 @@ public class UserAdminRepositoryTest ext "repositoryCustomer", "apache", "repositoryName", "user"); + configure("org.apache.ace.http.context", "authentication.enabled", "false"); + Utils.waitForWebserver(m_host); } Modified: ace/trunk/org.apache.ace.useradmin/test/aceDefault.xml URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin/test/aceDefault.xml?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.useradmin/test/aceDefault.xml (original) +++ ace/trunk/org.apache.ace.useradmin/test/aceDefault.xml Tue Feb 23 14:39:54 2016 @@ -1,3 +1,4 @@ + Modified: ace/trunk/org.apache.ace.useradmin/test/current.xml URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin/test/current.xml?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.useradmin/test/current.xml (original) +++ ace/trunk/org.apache.ace.useradmin/test/current.xml Tue Feb 23 14:39:54 2016 @@ -1 +1,2 @@ + permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup permissionGroup userGroup createArtifact updateArtifact removeArtifact viewArtifact editArtifact createFeature removeFeature assoc iateArtifactToFeature associateFeatureToDistribution removeArtifactToFeatureAssociation removeFeatureToDistributionAssociation viewFeature editFeature viewDistribution editDistribution createDistribution removeDistribution associateDistributionToTarget viewTarget editTarget createTarget removeTarget approveTarget registerTarget removeDistributionToTargetAssociation mock editUsers userGroup viewArtifact viewFeature viewDistribution viewTarget approveTarget userGroup viewArtifact viewFeature viewDistribution editDistribution createDistribution removeDistribution associateDistributionToTarget viewTarget removeDistributionToTargetAssociation userGroup createArtifact updateArtifact removeArtifact viewArtifact editArtifact createFeature removeFeature associateArtifactToFeature associateFeatureToDistribution removeArtifactToFeatureAssociatio n removeFeatureToDistributionAssociation viewFeature editFeature viewDistribution viewTarget userGroup viewArtifact viewFeature viewDistribution viewTarget editTarget createTarget removeTarget registerTarget userGroup createArtifact updateArtifact removeArtifact viewArtifact editArtifact createFeature removeFeature associateArtifactToFeature associateFeatureTo Distribution removeArtifactToFeatureAssociation removeFeatureToDistributionAssociation viewFeature editFeature viewDistribution editDistribution createDistribution removeDistribution associateDistributionToTarget viewTarget editTarget createTarget removeTarget approveTarget registerTarget removeDistributionToTargetAssociation mock d f TestGroup lm lm Distribution Manager go go Target Operator rm rm Release Manager gm gm Target Manager elm elm External Distribution Manager \ No newline at end of file Modified: ace/trunk/org.apache.ace.useradmin/test/org/apache/ace/useradmin/repository/xstream/XStreamTest.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin/test/org/apache/ace/useradmin/repository/xstream/XStreamTest.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.useradmin/test/org/apache/ace/useradmin/repository/xstream/XStreamTest.java (original) +++ ace/trunk/org.apache.ace.useradmin/test/org/apache/ace/useradmin/repository/xstream/XStreamTest.java Tue Feb 23 14:39:54 2016 @@ -80,6 +80,8 @@ public class XStreamTest { String outputString = sw.toString(); String validXmlFileString = new String(Files.readAllBytes(Paths.get("test/valid.xml"))); + // Remove the comment... + validXmlFileString = validXmlFileString.replaceAll("[\r\n]+", ""); assertEquals(outputString, validXmlFileString); } Modified: ace/trunk/org.apache.ace.useradmin/test/valid.xml URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.useradmin/test/valid.xml?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.useradmin/test/valid.xml (original) +++ ace/trunk/org.apache.ace.useradmin/test/valid.xml Tue Feb 23 14:39:54 2016 @@ -1,3 +1,5 @@ + + Added: ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/AceWebuiServletContextHelper.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/AceWebuiServletContextHelper.java?rev=1731866&view=auto ============================================================================== --- ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/AceWebuiServletContextHelper.java (added) +++ ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/AceWebuiServletContextHelper.java Tue Feb 23 14:39:54 2016 @@ -0,0 +1,95 @@ +/* + * 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.ace.webui.vaadin; + +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH; + +import java.net.URL; +import java.util.Dictionary; + +import org.apache.felix.dm.Component; +import org.osgi.framework.BundleContext; +import org.osgi.service.cm.ConfigurationException; +import org.osgi.service.cm.ManagedService; +import org.osgi.service.http.context.ServletContextHelper; + +public class AceWebuiServletContextHelper extends ServletContextHelper implements ManagedService { + private static final String RESOURCE_PATH = "/VAADIN"; + + private static final String KEY_CONTEXT_PATH = "context.path"; + private static final String DEFAULT_CONTEXT_PATH = "/"; + + // Managed by Felix DM... + private volatile BundleContext m_context; + private volatile Component m_component; + + public AceWebuiServletContextHelper() { + super(); + } + + @Override + public URL getResource(String name) { + URL resource = null; + // fix for ACE-156 + if (!name.startsWith("/")) { + name = "/".concat(name); + } + + String prefix = RESOURCE_PATH.concat("/"); + if (name.startsWith(prefix)) { + String originalName = name.replace("/ace/", "/reindeer/"); + + resource = m_context.getBundle().getEntry(originalName); + if (resource == null) { + // try to find the resource in the Vaadin bundle instead + resource = com.vaadin.Application.class.getResource(originalName); + } + } + return resource; + } + + public void updated(Dictionary settings) throws ConfigurationException { + String contextPath = DEFAULT_CONTEXT_PATH; + + if (settings != null) { + Object value = settings.get(KEY_CONTEXT_PATH); + if (value != null) { + if ("".equals(value)) { + throw new ConfigurationException(KEY_CONTEXT_PATH, "Invalid value!"); + } + contextPath = value.toString(); + } + + if (!"/".equals(contextPath) && (!contextPath.startsWith("/") || contextPath.endsWith("/"))) { + throw new ConfigurationException(KEY_CONTEXT_PATH, "Invalid value context path, context path should start with a '/' and NOT end with a '/'!"); + } + } + + updateContextPath(contextPath); + } + + private void updateContextPath(String pattern) { + Dictionary serviceProperties = m_component.getServiceProperties(); + String currentPath = (String) serviceProperties.get(HTTP_WHITEBOARD_CONTEXT_PATH); + if (!pattern.equals(currentPath)) { + serviceProperties.put(HTTP_WHITEBOARD_CONTEXT_PATH, pattern); + m_component.setServiceProperties(serviceProperties); + } + } +} Modified: ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/Activator.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/Activator.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/Activator.java (original) +++ ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/Activator.java Tue Feb 23 14:39:54 2016 @@ -18,6 +18,13 @@ */ package org.apache.ace.webui.vaadin; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PATTERN; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_RESOURCE_PREFIX; +import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; + import java.util.Map; import java.util.Properties; @@ -29,7 +36,8 @@ import org.apache.felix.dm.DependencyAct import org.apache.felix.dm.DependencyManager; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; -import org.osgi.service.http.HttpService; +import org.osgi.service.http.context.ServletContextHelper; +import org.osgi.service.log.LogService; import com.vaadin.ui.Component; import com.vaadin.ui.Label; @@ -38,31 +46,39 @@ import com.vaadin.ui.VerticalLayout; public class Activator extends DependencyActivatorBase { private static final String PID = "org.apache.ace.webui.vaadin"; - @Override - public void destroy(BundleContext context, DependencyManager manager) throws Exception { - } + private static final String ACE_WEBUI_WHITEBOARD_CONTEXT_NAME = "org.apache.ace.webui"; + private static final String ACE_WEBUI_WHITEBOARD_CONTEXT_SELECT_FILTER = "(" + HTTP_WHITEBOARD_CONTEXT_NAME + "=" + ACE_WEBUI_WHITEBOARD_CONTEXT_NAME + ")"; @Override public void init(BundleContext context, DependencyManager manager) throws Exception { + Properties contextProps = new Properties(); + contextProps.put(HTTP_WHITEBOARD_CONTEXT_NAME, ACE_WEBUI_WHITEBOARD_CONTEXT_NAME); + contextProps.put(HTTP_WHITEBOARD_CONTEXT_PATH, "/"); manager.add(createComponent() - .setImplementation(VaadinResourceHandler.class) - .add(createServiceDependency() - .setService(HttpService.class) - .setRequired(true) - ) - ); - + .setInterface(ServletContextHelper.class.getName(), contextProps) + .setImplementation(AceWebuiServletContextHelper.class) + .add(createConfigurationDependency().setPid(PID)) + .add(createServiceDependency().setService(LogService.class).setRequired(false))); + + Properties resourceRegistrationProps = new Properties(); + resourceRegistrationProps.put(HTTP_WHITEBOARD_RESOURCE_PREFIX, "/VAADIN"); + resourceRegistrationProps.put(HTTP_WHITEBOARD_RESOURCE_PATTERN, "/VAADIN/*"); + resourceRegistrationProps.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WEBUI_WHITEBOARD_CONTEXT_SELECT_FILTER); + manager.add(createComponent() + .setInterface(Object.class.getName(), resourceRegistrationProps) + .setImplementation(new Object())); + Properties props = new Properties(); // ACE-472 - put Vaadin in production mode... props.put("init.productionMode", "true"); - + props.put(HTTP_WHITEBOARD_SERVLET_PATTERN, VaadinServlet.DEFAULT_SERVLET_ENDPOINT.concat("/*")); + props.put(HTTP_WHITEBOARD_CONTEXT_SELECT, ACE_WEBUI_WHITEBOARD_CONTEXT_SELECT_FILTER); + // register the main application for the ACE UI client manager.add(createComponent() .setInterface(Servlet.class.getName(), props) .setImplementation(VaadinServlet.class) - .add(createConfigurationDependency() - .setPid(PID).setPropagate(true)) - ); + .add(createConfigurationDependency().setPid(PID))); props = new Properties(); props.put(UIExtensionFactory.EXTENSION_POINT_KEY, UIExtensionFactory.EXTENSION_POINT_VALUE_TARGET); @@ -87,7 +103,6 @@ public class Activator extends Dependenc vl.addComponent(info); return vl; } - }) - ); + })); } } Modified: ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/VaadinServlet.java URL: http://svn.apache.org/viewvc/ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/VaadinServlet.java?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/VaadinServlet.java (original) +++ ace/trunk/org.apache.ace.webui.vaadin/src/org/apache/ace/webui/vaadin/VaadinServlet.java Tue Feb 23 14:39:54 2016 @@ -18,8 +18,6 @@ */ package org.apache.ace.webui.vaadin; -import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN; - import java.net.MalformedURLException; import java.net.URL; import java.util.Dictionary; @@ -39,10 +37,10 @@ import com.vaadin.terminal.gwt.server.Ab import com.vaadin.terminal.gwt.server.WebApplicationContext; public class VaadinServlet extends AbstractApplicationServlet implements ManagedService { + public static final String DEFAULT_SERVLET_ENDPOINT = "/ace"; + private static final long serialVersionUID = 1L; - /** denotes what endpoint we're serving this servlet. */ - private static final String KEY_SERVLET_ENDPOINT = HTTP_WHITEBOARD_SERVLET_PATTERN; /** A boolean denoting whether or not authentication is enabled. */ private static final String KEY_USE_AUTHENTICATION = "ui.authentication.enabled"; /** Name of the user to log in as. */ @@ -66,7 +64,6 @@ public class VaadinServlet extends Abstr private static final URL DEFAULT_ACE_HOST; private static final URL DEFAULT_OBR_URL; private static final String DEFAULT_OBR_XML = "index.xml"; - private static final String DEFAULT_SERVLET_ENDPOINT = "/ace/*"; private static final int DEFAULT_SESSION_TIMEOUT = 300; // in seconds. private static final double DEFAULT_CACHE_RATE = 1; private static final int DEFAULT_PAGE_LENGTH = 100; @@ -88,7 +85,6 @@ public class VaadinServlet extends Abstr private volatile URL m_aceHost; private volatile URL m_obrUrl; private volatile String m_repositoryXML; - private volatile String m_servletEndpoint; private volatile int m_sessionTimeout; private volatile double m_cacheRate; private volatile int m_pageLength; @@ -103,7 +99,6 @@ public class VaadinServlet extends Abstr m_aceHost = DEFAULT_ACE_HOST; m_obrUrl = DEFAULT_OBR_URL; m_repositoryXML = DEFAULT_OBR_XML; - m_servletEndpoint = DEFAULT_SERVLET_ENDPOINT; m_sessionTimeout = DEFAULT_SESSION_TIMEOUT; m_cacheRate = DEFAULT_CACHE_RATE; m_pageLength = DEFAULT_PAGE_LENGTH; @@ -117,7 +112,6 @@ public class VaadinServlet extends Abstr URL aceHost = DEFAULT_ACE_HOST; URL obrUrl = DEFAULT_OBR_URL; String repositoryXML = DEFAULT_OBR_XML; - String servletEndpoint = DEFAULT_SERVLET_ENDPOINT; int sessionTimeout = DEFAULT_SESSION_TIMEOUT; double cacheRate = DEFAULT_CACHE_RATE; int pageLength = DEFAULT_PAGE_LENGTH; @@ -129,7 +123,6 @@ public class VaadinServlet extends Abstr aceHost = getURL(dictionary, KEY_ACE_HOST); obrUrl = getURL(dictionary, KEY_OBR_URL); repositoryXML = getOptionalString(dictionary, KEY_OBR_XML); - servletEndpoint = getOptionalString(dictionary, KEY_SERVLET_ENDPOINT); sessionTimeout = getInteger(dictionary, KEY_SESSION_TIMEOUT); Double doubleValue = getOptionalDouble(dictionary, KEY_CACHE_RATE); @@ -157,7 +150,6 @@ public class VaadinServlet extends Abstr m_aceHost = aceHost; m_obrUrl = obrUrl; m_repositoryXML = repositoryXML; - m_servletEndpoint = servletEndpoint; m_sessionTimeout = sessionTimeout; m_cacheRate = cacheRate; m_pageLength = pageLength; @@ -184,16 +176,16 @@ public class VaadinServlet extends Abstr protected SystemMessages getSystemMessages() { CustomizedSystemMessages msgs = new CustomizedSystemMessages(); msgs.setAuthenticationErrorNotificationEnabled(false); - msgs.setAuthenticationErrorURL(m_servletEndpoint.concat("/?authenticationError")); + msgs.setAuthenticationErrorURL(DEFAULT_SERVLET_ENDPOINT.concat("/?authenticationError")); msgs.setCommunicationErrorNotificationEnabled(false); - msgs.setCommunicationErrorURL(m_servletEndpoint.concat("/?communicationError")); + msgs.setCommunicationErrorURL(DEFAULT_SERVLET_ENDPOINT.concat("/?communicationError")); msgs.setCookiesDisabledNotificationEnabled(false); - msgs.setCookiesDisabledURL(m_servletEndpoint.concat("/?cookiesDisabled")); + msgs.setCookiesDisabledURL(DEFAULT_SERVLET_ENDPOINT.concat("/?cookiesDisabled")); msgs.setInternalErrorNotificationEnabled(false); - msgs.setInternalErrorURL(m_servletEndpoint.concat("/?internalError")); + msgs.setInternalErrorURL(DEFAULT_SERVLET_ENDPOINT.concat("/?internalError")); msgs.setOutOfSyncNotificationEnabled(false); msgs.setSessionExpiredNotificationEnabled(false); - msgs.setSessionExpiredURL(m_servletEndpoint.concat("/?sessionTimedOut")); + msgs.setSessionExpiredURL(DEFAULT_SERVLET_ENDPOINT.concat("/?sessionTimedOut")); return msgs; } Modified: ace/trunk/run-client/client.bndrun URL: http://svn.apache.org/viewvc/ace/trunk/run-client/client.bndrun?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-client/client.bndrun (original) +++ ace/trunk/run-client/client.bndrun Tue Feb 23 14:39:54 2016 @@ -50,7 +50,8 @@ org.apache.ace.useradmin.ui;version=latest,\ org.apache.ace.webui.vaadin;version=latest,\ org.apache.ace.gogo;version=latest,\ - org.apache.ace.feedback.common;version=latest + org.apache.ace.feedback.common;version=latest,\ + org.apache.ace.http.context;version=latest -runrepos: Workspace,\ Release -runproperties: org.apache.felix.log.storeDebug=true,\ Modified: ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg (original) +++ ace/trunk/run-client/conf/org.apache.ace.client.rest.cfg Tue Feb 23 14:39:54 2016 @@ -1,4 +1,3 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/client/* session.timeout=300 Added: ace/trunk/run-client/conf/org.apache.ace.http.context.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.http.context.cfg?rev=1731866&view=auto ============================================================================== --- ace/trunk/run-client/conf/org.apache.ace.http.context.cfg (added) +++ ace/trunk/run-client/conf/org.apache.ace.http.context.cfg Tue Feb 23 14:39:54 2016 @@ -0,0 +1,4 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + +context.path=/ +authentication.enabled=false \ No newline at end of file Modified: ace/trunk/run-client/conf/org.apache.ace.useradmin.repository.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.useradmin.repository.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-client/conf/org.apache.ace.useradmin.repository.cfg (original) +++ ace/trunk/run-client/conf/org.apache.ace.useradmin.repository.cfg Tue Feb 23 14:39:54 2016 @@ -1,3 +1,5 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + repositoryname=user repositoryCustomer=apache repositoryLocation=http://${org.apache.ace.server}/repository \ No newline at end of file Modified: ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg (original) +++ ace/trunk/run-client/conf/org.apache.ace.webui.vaadin.cfg Tue Feb 23 14:39:54 2016 @@ -1,7 +1,8 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). # The endpoint of the Vaadin UI -osgi.http.whiteboard.servlet.pattern = /ace/* +context.path = / + # Vaadin UI settings ui.authentication.enabled = true ui.authentication.user.name = dd Added: ace/trunk/run-obr/conf/org.apache.ace.http.context.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-obr/conf/org.apache.ace.http.context.cfg?rev=1731866&view=auto ============================================================================== --- ace/trunk/run-obr/conf/org.apache.ace.http.context.cfg (added) +++ ace/trunk/run-obr/conf/org.apache.ace.http.context.cfg Tue Feb 23 14:39:54 2016 @@ -0,0 +1,4 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + +context.path=/ +authentication.enabled=false \ No newline at end of file Modified: ace/trunk/run-obr/conf/org.apache.ace.useradmin.repository.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-obr/conf/org.apache.ace.useradmin.repository.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-obr/conf/org.apache.ace.useradmin.repository.cfg (original) +++ ace/trunk/run-obr/conf/org.apache.ace.useradmin.repository.cfg Tue Feb 23 14:39:54 2016 @@ -1,3 +1,5 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + repositoryname=user repositoryCustomer=apache repositoryLocation=http://${org.apache.ace.server}/repository \ No newline at end of file Modified: ace/trunk/run-obr/obr.bndrun URL: http://svn.apache.org/viewvc/ace/trunk/run-obr/obr.bndrun?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-obr/obr.bndrun (original) +++ ace/trunk/run-obr/obr.bndrun Tue Feb 23 14:39:54 2016 @@ -24,6 +24,7 @@ org.apache.ace.connectionfactory;version=latest,\ org.apache.ace.range.api;version=latest,\ org.apache.ace.repository.api;version=latest,\ + org.apache.ace.http.context;version=latest,\ osgi.cmpn -runrepos: Workspace,\ Modified: ace/trunk/run-relay/conf/org.apache.ace.deployment.servlet.agent.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-relay/conf/org.apache.ace.deployment.servlet.agent.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-relay/conf/org.apache.ace.deployment.servlet.agent.cfg (original) +++ ace/trunk/run-relay/conf/org.apache.ace.deployment.servlet.agent.cfg Tue Feb 23 14:39:54 2016 @@ -1,7 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/agent/* -# no authentication is used... -authentication.enabled = false # OBR settings obr.url = http://${org.apache.ace.obr}/obr/ Added: ace/trunk/run-relay/conf/org.apache.ace.http.context.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-relay/conf/org.apache.ace.http.context.cfg?rev=1731866&view=auto ============================================================================== --- ace/trunk/run-relay/conf/org.apache.ace.http.context.cfg (added) +++ ace/trunk/run-relay/conf/org.apache.ace.http.context.cfg Tue Feb 23 14:39:54 2016 @@ -0,0 +1,4 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + +context.path=/ +authentication.enabled=false \ No newline at end of file Modified: ace/trunk/run-relay/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-relay/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-relay/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg (original) +++ ace/trunk/run-relay/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg Tue Feb 23 14:39:54 2016 @@ -1,5 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/auditlog/* name = auditlog -authentication.enabled = false +endpoint=/auditlog Modified: ace/trunk/run-relay/conf/org.apache.ace.useradmin.repository.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-relay/conf/org.apache.ace.useradmin.repository.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-relay/conf/org.apache.ace.useradmin.repository.cfg (original) +++ ace/trunk/run-relay/conf/org.apache.ace.useradmin.repository.cfg Tue Feb 23 14:39:54 2016 @@ -1,3 +1,5 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + repositoryname=user repositoryCustomer=apache repositoryLocation=http://${org.apache.ace.server}/repository \ No newline at end of file Modified: ace/trunk/run-relay/relay.bndrun URL: http://svn.apache.org/viewvc/ace/trunk/run-relay/relay.bndrun?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-relay/relay.bndrun (original) +++ ace/trunk/run-relay/relay.bndrun Tue Feb 23 14:39:54 2016 @@ -39,7 +39,8 @@ org.apache.ace.repository.servlets;version=latest,\ org.apache.ace.repository.task;version=latest,\ org.apache.ace.scheduler.impl;version=latest,\ - org.apache.ace.useradmin.repository;version=latest + org.apache.ace.useradmin.repository;version=latest,\ + org.apache.ace.http.context;version=latest -runrepos: Workspace,\ Release -runproperties: org.apache.felix.log.storeDebug=true,\ Modified: ace/trunk/run-server-allinone/conf/org.apache.ace.client.rest.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.client.rest.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.client.rest.cfg (original) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.client.rest.cfg Tue Feb 23 14:39:54 2016 @@ -1,5 +1,3 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/client/* -osgi.http.whiteboard.listener=true session.timeout=300 Added: ace/trunk/run-server-allinone/conf/org.apache.ace.connectionfactory/server.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.connectionfactory/server.cfg?rev=1731866&view=auto ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.connectionfactory/server.cfg (added) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.connectionfactory/server.cfg Tue Feb 23 14:39:54 2016 @@ -0,0 +1,7 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + +authentication.baseURL = http://${org.apache.ace.server}/ +authentication.type = none +#authentication.user.name = d +#authentication.user.password = f + Modified: ace/trunk/run-server-allinone/conf/org.apache.ace.deployment.servlet.agent.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.deployment.servlet.agent.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.deployment.servlet.agent.cfg (original) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.deployment.servlet.agent.cfg Tue Feb 23 14:39:54 2016 @@ -1,6 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/agent/* # OBR settings obr.url = http://${org.apache.ace.obr}/obr/ -authentication.enabled = false Added: ace/trunk/run-server-allinone/conf/org.apache.ace.http.context.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.http.context.cfg?rev=1731866&view=auto ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.http.context.cfg (added) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.http.context.cfg Tue Feb 23 14:39:54 2016 @@ -0,0 +1,4 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + +context.path=/ +authentication.enabled=false \ No newline at end of file Modified: ace/trunk/run-server-allinone/conf/org.apache.ace.http.redirector.factory/root-to-ace.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.http.redirector.factory/root-to-ace.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.http.redirector.factory/root-to-ace.cfg (original) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.http.redirector.factory/root-to-ace.cfg Tue Feb 23 14:39:54 2016 @@ -1,4 +1,5 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). osgi.http.whiteboard.servlet.pattern=/ +osgi.http.whiteboard.context.select=(osgi.http.whiteboard.context.name=org.apache.ace.webui) org.apache.ace.webui.vaadin.redirect=/ace/ Modified: ace/trunk/run-server-allinone/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg (original) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg Tue Feb 23 14:39:54 2016 @@ -1,5 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/auditlog/* name = auditlog -authentication.enabled = false +endpoint=/auditlog Modified: ace/trunk/run-server-allinone/conf/org.apache.ace.useradmin.repository.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.useradmin.repository.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.useradmin.repository.cfg (original) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.useradmin.repository.cfg Tue Feb 23 14:39:54 2016 @@ -1,3 +1,5 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + repositoryname=user repositoryCustomer=apache repositoryLocation=http://${org.apache.ace.server}/repository \ No newline at end of file Modified: ace/trunk/run-server-allinone/conf/org.apache.ace.webui.vaadin.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/conf/org.apache.ace.webui.vaadin.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/conf/org.apache.ace.webui.vaadin.cfg (original) +++ ace/trunk/run-server-allinone/conf/org.apache.ace.webui.vaadin.cfg Tue Feb 23 14:39:54 2016 @@ -2,7 +2,8 @@ # The endpoint of the Vaadin UI org.apache.ace.server.servlet.init.productionMode = true -osgi.http.whiteboard.servlet.pattern = /ace/* +context.path = / + # Vaadin UI settings ui.authentication.enabled = true ui.authentication.user.name = dd Modified: ace/trunk/run-server-allinone/server-allinone.bndrun URL: http://svn.apache.org/viewvc/ace/trunk/run-server-allinone/server-allinone.bndrun?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server-allinone/server-allinone.bndrun (original) +++ ace/trunk/run-server-allinone/server-allinone.bndrun Tue Feb 23 14:39:54 2016 @@ -36,6 +36,7 @@ org.apache.ace.deployment.servlet;version=latest,\ org.apache.ace.deployment.streamgenerator;version=latest,\ org.apache.ace.discovery.api;version=latest,\ + org.apache.ace.http.context;version=latest,\ org.apache.ace.http.redirector;version=latest,\ org.apache.ace.log.api;version=latest,\ org.apache.ace.log.server.servlet;version=latest,\ Modified: ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.agent.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.agent.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.agent.cfg (original) +++ ace/trunk/run-server/conf/org.apache.ace.deployment.servlet.agent.cfg Tue Feb 23 14:39:54 2016 @@ -1,6 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/agent/* # OBR settings obr.url = http://${org.apache.ace.obr}/obr/ -authentication.enabled = false Added: ace/trunk/run-server/conf/org.apache.ace.http.context.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.http.context.cfg?rev=1731866&view=auto ============================================================================== --- ace/trunk/run-server/conf/org.apache.ace.http.context.cfg (added) +++ ace/trunk/run-server/conf/org.apache.ace.http.context.cfg Tue Feb 23 14:39:54 2016 @@ -0,0 +1,4 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + +context.path=/ +authentication.enabled=false \ No newline at end of file Modified: ace/trunk/run-server/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg (original) +++ ace/trunk/run-server/conf/org.apache.ace.log.server.servlet.factory/auditlog.cfg Tue Feb 23 14:39:54 2016 @@ -1,5 +1,4 @@ # Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). -osgi.http.whiteboard.servlet.pattern=/auditlog/* name = auditlog -authentication.enabled = false +endpoint=/auditlog Modified: ace/trunk/run-server/conf/org.apache.ace.useradmin.repository.cfg URL: http://svn.apache.org/viewvc/ace/trunk/run-server/conf/org.apache.ace.useradmin.repository.cfg?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server/conf/org.apache.ace.useradmin.repository.cfg (original) +++ ace/trunk/run-server/conf/org.apache.ace.useradmin.repository.cfg Tue Feb 23 14:39:54 2016 @@ -1,3 +1,5 @@ +# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0). + repositoryname=user repositoryCustomer=apache repositoryLocation=http://${org.apache.ace.server}/repository \ No newline at end of file Modified: ace/trunk/run-server/server.bndrun URL: http://svn.apache.org/viewvc/ace/trunk/run-server/server.bndrun?rev=1731866&r1=1731865&r2=1731866&view=diff ============================================================================== --- ace/trunk/run-server/server.bndrun (original) +++ ace/trunk/run-server/server.bndrun Tue Feb 23 14:39:54 2016 @@ -37,7 +37,8 @@ org.apache.ace.scheduler.impl;version=latest,\ org.apache.ace.log.server.store.api;version=latest,\ org.apache.ace.log.server.store.file;version=latest,\ - org.apache.ace.feedback.common;version=latest + org.apache.ace.feedback.common;version=latest,\ + org.apache.ace.http.context;version=latest -runrepos: Workspace,\ Release -runproperties: org.apache.felix.log.storeDebug=true,\