Author: [email protected]
Date: Tue Mar 29 15:28:52 2011
New Revision: 913
Log:
AMDATU-283 refatorring to pass integration tests
Added:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/OAuthServiceConsumerRegistryREST.java
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryRESTImpl.java
- copied, changed from r911,
/branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryREST.java
Removed:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryREST.java
Modified:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/osgi/Activator.java
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthResourceProviderImpl.java
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/CustomServletPipeline.java
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/HttpContextManagerService.java
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/context/DelegatingHttpContext.java
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/osgi/Activator.java
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextManagerServiceImpl.java
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/tests/HttpServiceTest.java
Added:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/OAuthServiceConsumerRegistryREST.java
==============================================================================
--- (empty file)
+++
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/OAuthServiceConsumerRegistryREST.java
Tue Mar 29 15:28:52 2011
@@ -0,0 +1,5 @@
+package org.amdatu.authentication.oauth.server;
+
+public interface OAuthServiceConsumerRegistryREST {
+
+}
Modified:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/osgi/Activator.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/osgi/Activator.java
(original)
+++
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/osgi/Activator.java
Tue Mar 29 15:28:52 2011
@@ -27,12 +27,13 @@
import org.amdatu.authentication.oauth.server.OAuthAuthorizeTokenServlet;
import org.amdatu.authentication.oauth.server.OAuthRequestTokenServlet;
import org.amdatu.authentication.oauth.server.OAuthServerConfig;
+import org.amdatu.authentication.oauth.server.OAuthServiceConsumerRegistryREST;
import org.amdatu.authentication.oauth.server.OAuthTokenProvider;
import
org.amdatu.authentication.oauth.server.service.OAuthAccessTokenServletImpl;
import
org.amdatu.authentication.oauth.server.service.OAuthAuthorizeTokenServletImpl;
import
org.amdatu.authentication.oauth.server.service.OAuthRequestTokenServletImpl;
import
org.amdatu.authentication.oauth.server.service.OAuthResourceProviderImpl;
-import
org.amdatu.authentication.oauth.server.service.OAuthServiceConsumerRegistryREST;
+import
org.amdatu.authentication.oauth.server.service.OAuthServiceConsumerRegistryRESTImpl;
import org.amdatu.authentication.oauth.server.service.OAuthServiceProviderImpl;
import org.amdatu.authentication.oauth.server.service.OAuthTokenProviderImpl;
import org.amdatu.authentication.tokenprovider.TokenProvider;
@@ -71,10 +72,10 @@
// Create and register the resource provider
Dictionary<String, Object> properties = new Hashtable<String,
Object>();
properties.put(DispatcherService.CONTEXT_ID_KEY,
OAuthResourceProviderImpl.RESOURCE_ID);
- properties.put(DispatcherService.ALIAS_KEY,
OAuthResourceProviderImpl.RESOURCE_ID);
+ properties.put(DispatcherService.ALIAS_KEY, "/" +
OAuthResourceProviderImpl.RESOURCE_ID);
manager.add(
createComponent()
- .setInterface(ResourceProvider.class.getName(), null)
+ .setInterface(ResourceProvider.class.getName(), properties)
.setImplementation(OAuthResourceProviderImpl.class));
// Create and register the OAuth service provider
@@ -88,8 +89,8 @@
// Create and register the oAuth service consumer registry REST service
manager.add(
createComponent()
- .setInterface(ResourceProvider.class.getName(), null)
- .setImplementation(OAuthServiceConsumerRegistryREST.class)
+ .setInterface(OAuthServiceConsumerRegistryREST.class.getName(),
null)
+ .setImplementation(OAuthServiceConsumerRegistryRESTImpl.class)
.add(createServiceDependency().setService(LogService.class).setRequired(true))
.add(createServiceDependency().setService(OAuthServiceConsumerRegistry.class).setRequired(true)));
@@ -104,7 +105,7 @@
private Component createComponent(String alias, Class<?> servletInterface,
Class<?> servletClass) {
Dictionary<String, String> servletProperties = new Hashtable<String,
String>();
servletProperties.put("alias", alias);
- servletProperties.put("contextId", alias);
+ servletProperties.put("contextId",
OAuthResourceProviderImpl.RESOURCE_ID);
return createAdapterService(OAuthTokenProvider.class, null)
.setInterface(new String[]{servletInterface.getName(),
Servlet.class.getName()}, servletProperties)
.setImplementation(servletClass)
Modified:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthResourceProviderImpl.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthResourceProviderImpl.java
(original)
+++
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthResourceProviderImpl.java
Tue Mar 29 15:28:52 2011
@@ -28,6 +28,10 @@
private volatile BundleContext m_bundleContext;
public URL getResource(String name) {
+ final String pathPrefix = "/" + RESOURCE_ID + "/";
+ if (name != null && name.startsWith(pathPrefix)) {
+ return
m_bundleContext.getBundle().getResource(name.substring(pathPrefix.length()));
+ }
return null;
}
}
Copied:
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryRESTImpl.java
(from r911,
/branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryREST.java)
==============================================================================
---
/branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryREST.java
(original)
+++
branches/AMDATU-283-dev/amdatu-authentication/oauth-server/src/main/java/org/amdatu/authentication/oauth/server/service/OAuthServiceConsumerRegistryRESTImpl.java
Tue Mar 29 15:28:52 2011
@@ -38,7 +38,7 @@
import org.amdatu.authentication.oauth.api.ConsumerRegistryStorageException;
import org.amdatu.authentication.oauth.api.OAuthServiceConsumer;
import org.amdatu.authentication.oauth.api.OAuthServiceConsumerRegistry;
-import org.amdatu.web.httpcontext.ResourceProvider;
+import org.amdatu.authentication.oauth.server.OAuthServiceConsumerRegistryREST;
import org.apache.http.HttpStatus;
import org.osgi.service.log.LogService;
@@ -50,7 +50,7 @@
* @author ivol
*/
@Path("oauth/consumers")
-public class OAuthServiceConsumerRegistryREST implements ResourceProvider {
+public class OAuthServiceConsumerRegistryRESTImpl implements
OAuthServiceConsumerRegistryREST {
// The oAuth service consumer registry
private volatile OAuthServiceConsumerRegistry m_registry;
private volatile LogService m_logService;
@@ -170,12 +170,4 @@
throw new WebApplicationException(e,
Response.Status.INTERNAL_SERVER_ERROR);
}
}
-
- public URL getResource(String name) {
- return null;
- }
-
- public String getResourceId() {
- return "oauth/consumers";
- }
}
Modified:
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/CustomServletPipeline.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/CustomServletPipeline.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/dispatch/CustomServletPipeline.java
Tue Mar 29 15:28:52 2011
@@ -55,7 +55,7 @@
public RequestDispatcher getRequestDispatcher(HttpServletRequest
httpServletRequest, String path) {
for (ServletHandler handler : m_servletHandlers) {
- if (handler.matches(path)) {
+ if (handler.isActive() && handler.matches(path)) {
return new Dispatcher(path, handler);
}
}
Modified:
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/HttpContextManagerService.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/HttpContextManagerService.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/HttpContextManagerService.java
Tue Mar 29 15:28:52 2011
@@ -1,11 +1,17 @@
- package org.amdatu.web.httpcontext;
+package org.amdatu.web.httpcontext;
+/**
+ * Amdatu Web HttpContextManagerService service interface for the component
that
+ * is responsible for managing delegating HttpContext services.
+ *
+ */
public interface HttpContextManagerService {
- /**
- * <code>Servlet</code> and <code>Filter</code> service registration
property
- * considered for reusing or creating a specific named
<code>HttpContext</code>.
- */
- String CONTEXT_ID_KEY = "contextId";
+ /**
+ * <code>Servlet</code> and <code>Filter</code> service registration
+ * property considered for reusing or creating a specific named
+ * <code>HttpContext</code>.
+ */
+ String CONTEXT_ID_KEY = "contextId";
}
Modified:
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/context/DelegatingHttpContext.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/context/DelegatingHttpContext.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/context/DelegatingHttpContext.java
Tue Mar 29 15:28:52 2011
@@ -1,17 +1,3 @@
-package org.amdatu.web.httpcontext.context;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.amdatu.web.httpcontext.MimeTypeResolver;
-import org.amdatu.web.httpcontext.ResourceProvider;
-import org.amdatu.web.httpcontext.SecurityHandler;
-import org.osgi.service.http.HttpContext;
-
/*
Copyright (C) 2010 Amdatu.org
@@ -27,7 +13,21 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ */
+package org.amdatu.web.httpcontext.context;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.amdatu.web.httpcontext.MimeTypeResolver;
+import org.amdatu.web.httpcontext.ResourceProvider;
+import org.amdatu.web.httpcontext.SecurityHandler;
+import org.osgi.service.http.HttpContext;
+
public class DelegatingHttpContext implements HttpContext {
private final CopyOnWriteArrayList<SecurityHandler> m_securityHandlers =
@@ -71,11 +71,12 @@
return m_mimeTypeResolvers.remove(mimeTypeResolver);
}
- public boolean handleSecurity(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse)
- throws IOException {
+ public boolean handleSecurity(HttpServletRequest httpServletRequest,
+ HttpServletResponse httpServletResponse) throws IOException {
boolean doHandle = true;
for (SecurityHandler securityHandler : m_securityHandlers) {
- doHandle = securityHandler.handleSecurity(httpServletRequest,
httpServletResponse);
+ doHandle = securityHandler.handleSecurity(httpServletRequest,
+ httpServletResponse);
if (!doHandle)
break;
}
Modified:
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/osgi/Activator.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/osgi/Activator.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/osgi/Activator.java
Tue Mar 29 15:28:52 2011
@@ -37,7 +37,7 @@
createComponent()
.setInterface(HttpContextManagerService.class.getName(), null)
.setImplementation(HttpContextManagerServiceImpl.class)
-
.add(createServiceDependency().setService(LogService.class).setRequired(true))
+
.add(createServiceDependency().setService(LogService.class).setRequired(false))
.add(
createServiceDependency()
.setService(ResourceProvider.class)
Modified:
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextManagerServiceImpl.java
==============================================================================
---
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextManagerServiceImpl.java
(original)
+++
branches/AMDATU-283-dev/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextManagerServiceImpl.java
Tue Mar 29 15:28:52 2011
@@ -27,15 +27,20 @@
import org.amdatu.web.httpcontext.context.DelegatingHttpContext;
import org.apache.felix.dm.Component;
import org.apache.felix.dm.DependencyManager;
+import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
import org.osgi.service.http.HttpContext;
+import org.osgi.service.log.LogService;
public class HttpContextManagerServiceImpl implements
HttpContextManagerService {
+ private final static int LOG_LEVEL = LogService.LOG_ERROR;
+
private final ConcurrentHashMap<String, ContextComponentTuple>
m_httpContextComponents =
new ConcurrentHashMap<String, ContextComponentTuple>();
private volatile DependencyManager m_dependencyManager;
+ private volatile LogService m_logService;
public void init() {
}
@@ -54,19 +59,25 @@
public void addResourceProvider(ServiceReference serviceReference, Object
service) {
ResourceProvider resourceProvider = (ResourceProvider) service;
String contextId = getStringProperty(serviceReference, CONTEXT_ID_KEY);
+ long serviceId = getLongProperty(serviceReference,
Constants.SERVICE_ID);
if (contextId != null) {
ContextComponentTuple tuple =
getOrCreateContextComponentTuple(contextId);
tuple.getContext().addResourceProvider(resourceProvider);
+ m_logService.log(LOG_LEVEL, "[HttpContextManagerService] added
ResourceProvider (" + serviceId
+ + ") for contextId " + contextId);
}
}
public void removeResourceProvider(ServiceReference serviceReference,
Object service) {
ResourceProvider resourceProvider = (ResourceProvider) service;
String contextId = getStringProperty(serviceReference, CONTEXT_ID_KEY);
+ long serviceId = getLongProperty(serviceReference,
Constants.SERVICE_ID);
if (contextId != null) {
ContextComponentTuple tuple =
m_httpContextComponents.get(contextId);
if (tuple != null) {
tuple.getContext().removeResourceProvider(resourceProvider);
+ m_logService.log(LOG_LEVEL, "[HttpContextManagerService]
removed ResourceProvider (" + serviceId
+ + ") for contextId " + contextId);
}
}
}
@@ -74,19 +85,25 @@
public void addSecurityHandler(ServiceReference serviceReference, Object
service) {
SecurityHandler securityHandler = (SecurityHandler) service;
String contextId = getStringProperty(serviceReference, CONTEXT_ID_KEY);
+ long serviceId = getLongProperty(serviceReference,
Constants.SERVICE_ID);
if (contextId != null) {
ContextComponentTuple tuple =
getOrCreateContextComponentTuple(contextId);
tuple.getContext().addSecurityHandler(securityHandler);
+ m_logService.log(LOG_LEVEL, "[HttpContextManagerService] added
SecurityHandler (" + serviceId
+ + ") for contextId " + contextId);
}
}
public void removeSecurityHandler(ServiceReference serviceReference,
Object service) {
SecurityHandler securityHandler = (SecurityHandler) service;
String contextId = getStringProperty(serviceReference, CONTEXT_ID_KEY);
+ long serviceId = getLongProperty(serviceReference,
Constants.SERVICE_ID);
if (contextId != null) {
ContextComponentTuple tuple =
m_httpContextComponents.get(contextId);
if (tuple != null) {
tuple.getContext().removeSecurityHandler(securityHandler);
+ m_logService.log(LOG_LEVEL, "[HttpContextManagerService]
removed SecurityHandler (" + serviceId
+ + ") for contextId " + contextId);
}
}
}
@@ -94,19 +111,25 @@
public void addMimetypeResolver(ServiceReference serviceReference, Object
service) {
MimeTypeResolver mimeTypeResolver = (MimeTypeResolver) service;
String contextId = getStringProperty(serviceReference, CONTEXT_ID_KEY);
+ long serviceId = getLongProperty(serviceReference,
Constants.SERVICE_ID);
if (contextId != null) {
ContextComponentTuple tuple =
getOrCreateContextComponentTuple(contextId);
tuple.getContext().addMimeTypeResolver(mimeTypeResolver);
+ m_logService.log(LOG_LEVEL, "[HttpContextManagerService] added
MimeTypeResolver (" + serviceId
+ + ") for contextId " + contextId);
}
}
public void removeMimetypeResolver(ServiceReference serviceReference,
Object service) {
MimeTypeResolver mimeTypeResolver = (MimeTypeResolver) service;
String contextId = getStringProperty(serviceReference, CONTEXT_ID_KEY);
+ long serviceId = getLongProperty(serviceReference,
Constants.SERVICE_ID);
if (contextId != null) {
ContextComponentTuple tuple =
m_httpContextComponents.get(contextId);
if (tuple != null) {
tuple.getContext().removeMimeTypeResolver(mimeTypeResolver);
+ m_logService.log(LOG_LEVEL, "[HttpContextManagerService]
removed MimeTypeResolver (" + serviceId
+ + ") for contextId " + contextId);
}
}
}
@@ -116,6 +139,11 @@
return (value instanceof String) ? (String) value : null;
}
+ private long getLongProperty(ServiceReference ref, String key) {
+ Object value = ref.getProperty(key);
+ return (value instanceof Long) ? (Long) value : -1;
+ }
+
private ContextComponentTuple getOrCreateContextComponentTuple(String
contextId) {
ContextComponentTuple tuple = m_httpContextComponents.get(contextId);
if (tuple == null) {
Modified:
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
==============================================================================
---
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
(original)
+++
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
Tue Mar 29 15:28:52 2011
@@ -86,7 +86,6 @@
OAuthProtectedTestServlet m_testServlet = new
OAuthProtectedTestServlet();
Dictionary<String, String> servletProperties = new Hashtable<String,
String>();
servletProperties.put("alias",
OAuthProtectedTestServlet.SERVLET_ALIAS);
- servletProperties.put("contextId",
OAuthProtectedTestServlet.SERVLET_ALIAS);
Component servletComponent = manager.createComponent()
.setImplementation(m_testServlet)
.setInterface(new String[] { Servlet.class.getName() },
servletProperties)
Modified:
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/tests/HttpServiceTest.java
==============================================================================
---
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/tests/HttpServiceTest.java
(original)
+++
branches/AMDATU-283-dev/integration-tests/src/test/java/org/amdatu/test/integration/tests/HttpServiceTest.java
Tue Mar 29 15:28:52 2011
@@ -107,28 +107,31 @@
filterProperties.put("contextId", SERVLET_ALIAS);
filterProperties.put(Constants.SERVICE_RANKING, 0);
Component filterComponent = manager.createComponent()
- .setImplementation(new TestFilter())
- .setInterface(new String[] {Filter.class.getName(),
TestFilterInterface.class.getName()},
- filterProperties);
+ .setImplementation(new TestFilter())
+ .setInterface(new String[] { Filter.class.getName(),
TestFilterInterface.class.getName() },
+ filterProperties);
// Now we register a test servlet, also whiteboard-style
m_testServlet = new TestServlet();
Dictionary<String, String> servletProperties = new Hashtable<String,
String>();
servletProperties.put("alias", SERVLET_ALIAS);
servletProperties.put("contextId", SERVLET_ALIAS);
- Component servletComponent = manager.createComponent()
- .setImplementation(m_testServlet)
- .setInterface(
- new String[] { Servlet.class.getName(),
TestServletInterface.class.getName(), ResourceProvider.class.getName() },
- servletProperties);
+ Component servletComponent =
+ manager
+ .createComponent()
+ .setImplementation(m_testServlet)
+ .setInterface(
+ new String[] { Servlet.class.getName(),
TestServletInterface.class.getName(),
+ ResourceProvider.class.getName() },
+ servletProperties);
Component testComponent = manager.createComponent()
- .setImplementation(this)
-
.add(manager.createServiceDependency().setService(TestFilterInterface.class).setRequired(true))
-
.add(manager.createServiceDependency().setService(TestServletInterface.class).setRequired(true))
-
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true))
-
.add(manager.createServiceDependency().setService(ConfigurationAdmin.class))
-
.add(manager.createServiceDependency().setService(DispatcherService.class).setRequired(true));
+ .setImplementation(this)
+
.add(manager.createServiceDependency().setService(TestFilterInterface.class).setRequired(true))
+
.add(manager.createServiceDependency().setService(TestServletInterface.class).setRequired(true))
+
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true))
+
.add(manager.createServiceDependency().setService(ConfigurationAdmin.class))
+
.add(manager.createServiceDependency().setService(DispatcherService.class).setRequired(true));
return new Component[] { filterComponent, servletComponent,
testComponent };
}
@@ -139,7 +142,8 @@
ConfigProvider configProvider = new ConfigProvider();
configProvider.addFelixHttpServiceConfig(m_configAdmin);
- m_logService.log(LogService.LOG_DEBUG, "HttpService config set to " +
ConfigProvider.HOSTNAME + ":" + ConfigProvider.PORTNR);
+ m_logService.log(LogService.LOG_DEBUG, "HttpService config set to " +
ConfigProvider.HOSTNAME + ":"
+ + ConfigProvider.PORTNR);
}
@After
@@ -157,22 +161,12 @@
// Wait until the test servlet is available, for a maximum of 5 seconds
String url = m_baseUrl + SERVLET_ALIAS;
- m_logService.log(LogService.LOG_DEBUG, "Start waiting for url '" + url
+ "' to become available, timeout= " + TIMEOUT + "...");
+ m_logService.log(LogService.LOG_DEBUG, "Start waiting for url '" + url
+ "' to become available, timeout= "
+ + TIMEOUT + "...");
if (!ConfigProvider.waitForURL(new URL(url), HttpStatus.SC_OK,
TIMEOUT)) {
- // NB: Due to issue
https://issues.apache.org/jira/browse/FELIX-2714 it may happen that the
HttpService
- // throws a connection refused, still listens to the default port
8080 or returns a 404. Therefore we
- // retry once to connect to the default port 8080, if that fails
we skip running this integration test
- // since it is likely that the reason that it fails is not caused
by any Amdatu code.
- url = "http://" + ConfigProvider.HOSTNAME + ":" +
ConfigProvider.DEFAULT_PORTNR + SERVLET_ALIAS;
- if (!(ConfigProvider.checkURL(new URL(url)) == HttpStatus.SC_OK)) {
- return;
- }
+ throw new Exception("Waiting for " + m_baseUrl + SERVLET_ALIAS + "
timed out");
}
- // Wait for two seconds such that the Felix whiteboard service has the
time to receive the filter added
- // callback and register it. See
http://jira.amdatu.org/jira/browse/AMDATU-189
- Thread.sleep(2000);
-
// Our filter should be registered, use httpclient to do a GET
request. The filter should
// set some response header and we check if this header has been set
HttpClient httpClient = new HttpClient();
@@ -213,23 +207,13 @@
initialize();
// Wait until the JSP servlet is available, for a maximum of 5 seconds
- String url = m_baseUrl + "/" + RESOURCE_ID + "/jsp/test.jsp";
- m_logService.log(LogService.LOG_DEBUG, "Start waiting for url '" + url
+ "' to become available, timeout= " + TIMEOUT + "...");
+ String url = m_baseUrl + SERVLET_ALIAS + "/jsp/test.jsp";
+ m_logService.log(LogService.LOG_DEBUG, "Start waiting for url '" + url
+ "' to become available, timeout= "
+ + TIMEOUT + "...");
if (!ConfigProvider.waitForURL(new URL(url), HttpStatus.SC_OK,
TIMEOUT)) {
- // NB: Due to issue
https://issues.apache.org/jira/browse/FELIX-2714 it may happen that the
HttpService
- // throws a connection refused, still listens to the default port
8080 or returns a 404. Therefore we
- // retry once to connect to the default port 8080, if that fails
we skip running this integration test
- // since it is likely that the reason that it fails is not caused
by any Amdatu code.
- url = "http://" + ConfigProvider.HOSTNAME + ":" +
ConfigProvider.DEFAULT_PORTNR + SERVLET_ALIAS;
- if (!(ConfigProvider.checkURL(new URL(url)) == HttpStatus.SC_OK)) {
- return;
- }
+ throw new Exception("Waiting for " + m_baseUrl + SERVLET_ALIAS + "
timed out");
}
- // Wait for two seconds such that the Felix whiteboard service has the
time to receive the filter added
- // callback and register it. See
http://jira.amdatu.org/jira/browse/AMDATU-189
- Thread.sleep(2000);
-
// Our filter should be registered, use httpclient to do a GET
request. The filter should
// set some response header and we check if this header has been set
HttpClient httpClient = new HttpClient();
@@ -244,7 +228,7 @@
String responseBody = new String(method.getResponseBody(),
"UTF-8");
// Check if the response is our test text
- assertTrue(responseBody.indexOf(TEST_JSP_CONTENT) != -1);
+ assertTrue("Response body did not contain expected content",
responseBody.indexOf(TEST_JSP_CONTENT) != -1);
}
finally {
// Release the connection.
@@ -264,7 +248,7 @@
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException,
- ServletException {
+ ServletException {
((HttpServletResponse) res).setHeader(TEST_HEADER_BEFORE,
TEST_HEADER_BEFORE_VALUE);
chain.doFilter(req, res);
((HttpServletResponse) res).setHeader(TEST_HEADER_AFTER,
TEST_HEADER_AFTER_VALUE);
@@ -294,12 +278,12 @@
}
public URL getResource(String name) {
+ final String pathPrefix = SERVLET_ALIAS + "/";
+ if (name != null && name.startsWith(pathPrefix)) {
+ return
m_bundleContext.getBundle().getResource(name.substring(pathPrefix.length()));
+ }
return null;
}
-
- public String getResourceId() {
- return RESOURCE_ID;
- }
}
interface TestServletInterface {
_______________________________________________
Amdatu-commits mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-commits