Author: bdekruijff at gmail.com
Date: Thu Feb  3 16:53:03 2011
New Revision: 764

Log:
AMDATU-282 prevent NPE

Modified:
   
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/DispatcherService.java
   
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/filter/DispatchInterceptFilter.java
   
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/AbstractHandlerRegistry.java
   
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
   
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
   
branches/amdatu-dispatcher/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextFactoryServiceImpl.java
   
branches/amdatu-dispatcher/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java

Modified: 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/DispatcherService.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/DispatcherService.java
     (original)
+++ 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/DispatcherService.java
     Thu Feb  3 16:53:03 2011
@@ -16,12 +16,6 @@
  */
 package org.amdatu.web.dispatcher;
 
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-
-import org.amdatu.web.dispatcher.context.HttpContextManager;
-import org.amdatu.web.dispatcher.dispatch.FilterPipeline;
-import org.osgi.service.log.LogService;
 
 public interface DispatcherService {
 
@@ -29,12 +23,4 @@
     public final static String PATTERN_KEY = "pattern";
     public final static String ALIAS_KEY = "alias";
     public final static String INIT_KEY_PREFIX = "init.";
-
-    FilterPipeline getFilterPipeline(HttpServletRequest httpServletRequest);
-
-    HttpContextManager getHttpContextManager();
-
-    LogService getLogService();
-
-    ServletContext getServletContext();
 }

Modified: 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/filter/DispatchInterceptFilter.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/filter/DispatchInterceptFilter.java
        (original)
+++ 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/filter/DispatchInterceptFilter.java
        Thu Feb  3 16:53:03 2011
@@ -30,6 +30,7 @@
 
 import org.amdatu.web.dispatcher.DispatcherService;
 import org.amdatu.web.dispatcher.dispatch.FilterPipeline;
+import org.amdatu.web.dispatcher.service.DispatcherServiceImpl;
 import org.osgi.service.log.LogService;
 
 /**
@@ -40,12 +41,12 @@
  */
 public final class DispatchInterceptFilter implements Filter {
 
-    private DispatcherService m_dispatcherService;
+    private DispatcherServiceImpl m_dispatcherService;
     private LogService m_logService;
     private FilterConfig m_filterConfig;
     private boolean m_initialized = false;
 
-    public void setDispatcherService(DispatcherService dispatcherService) {
+    public void setDispatcherService(DispatcherServiceImpl dispatcherService) {
         m_dispatcherService = dispatcherService;
     }
 

Modified: 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/AbstractHandlerRegistry.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/AbstractHandlerRegistry.java
       (original)
+++ 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/AbstractHandlerRegistry.java
       Thu Feb  3 16:53:03 2011
@@ -31,9 +31,9 @@
 
 public abstract class AbstractHandlerRegistry {
 
-    private DispatcherService m_dispatcherService;
+    private DispatcherServiceImpl m_dispatcherService;
 
-    public AbstractHandlerRegistry(DispatcherService dispatcherService) {
+    public AbstractHandlerRegistry(DispatcherServiceImpl dispatcherService) {
         m_dispatcherService = dispatcherService;
     }
 

Modified: 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
 (original)
+++ 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/FilterHandlerRegistry.java
 Thu Feb  3 16:53:03 2011
@@ -31,6 +31,7 @@
 import org.amdatu.web.dispatcher.DispatchFilterMatcher;
 import org.amdatu.web.dispatcher.DispatcherService;
 import org.amdatu.web.dispatcher.context.HandlerServletContext;
+import org.amdatu.web.dispatcher.service.DispatcherServiceImpl;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 
@@ -43,7 +44,7 @@
         new HashMap<ServiceReference, FilterHandler>();
     private Set<DispatchFilterMatcher> m_matchers = new 
HashSet<DispatchFilterMatcher>();
 
-    public FilterHandlerRegistry(DispatcherService dispatcherService) {
+    public FilterHandlerRegistry(DispatcherServiceImpl dispatcherService) {
         super(dispatcherService);
     }
 

Modified: 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
        (original)
+++ 
branches/amdatu-dispatcher/amdatu-web/dispatcher/src/main/java/org/amdatu/web/dispatcher/handler/ServletHandlerRegistry.java
        Thu Feb  3 16:53:03 2011
@@ -42,7 +42,7 @@
 
     private Set<DispatchServletMatcher> m_matchers = new 
HashSet<DispatchServletMatcher>();
 
-    public ServletHandlerRegistry(DispatcherService dispatcherService) {
+    public ServletHandlerRegistry(DispatcherServiceImpl dispatcherService) {
         super(dispatcherService);
     }
 

Modified: 
branches/amdatu-dispatcher/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextFactoryServiceImpl.java
==============================================================================
--- 
branches/amdatu-dispatcher/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextFactoryServiceImpl.java
       (original)
+++ 
branches/amdatu-dispatcher/amdatu-web/httpcontext/src/main/java/org/amdatu/web/httpcontext/service/HttpContextFactoryServiceImpl.java
       Thu Feb  3 16:53:03 2011
@@ -28,21 +28,21 @@
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.service.http.HttpContext;
 import org.osgi.service.http.HttpService;
-import org.osgi.service.http.NamespaceException;
 import org.osgi.service.log.LogService;
 
 /**
  * This class manages the creation of private HTTP contexts to be used by OSGi 
bundles. There are many things to
  * think off when creating such a context, for that reason this service 
handles it.
+ * 
  * @author ivol
  */
 public class HttpContextFactoryServiceImpl implements 
HttpContextServiceFactory {
-    // Service depedencies, injected by the Felix dependency manager
-    private volatile HttpService m_httpService;
+
     private volatile LogService m_logService;
 
     /**
      * Creates a new http context.
+     * 
      * @param bundleContext The bundle context
      * @param resourceId The resource id
      * @return The newly created http context
@@ -58,18 +58,18 @@
                 properties.put(HttpContextImpl.RESOURCEID_PROP, 
resourceProvider.getResourceId());
             }
         }
-        
+
         // Create a new dependency manager such that we have a dependency 
manager for the proper bundle context
         DependencyManager manager = new DependencyManager(bundleContext);
         Component component = manager.createComponent();
         manager.add(
                 component
-                .setImplementation(HttpContextImpl.class)
-                .setInterface(HttpContext.class.getName(), properties)
-                
.add(manager.createServiceDependency().setService(HttpService.class).setRequired(true))
-                
.add(manager.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true))
-                
.add(manager.createServiceDependency().setService(MimeTypeService.class).setRequired(false))
-                
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true)));
+                    .setImplementation(HttpContextImpl.class)
+                    .setInterface(HttpContext.class.getName(), properties)
+                    
.add(manager.createServiceDependency().setService(HttpService.class).setRequired(true))
+                    
.add(manager.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true))
+                    
.add(manager.createServiceDependency().setService(MimeTypeService.class).setRequired(false))
+                    
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true)));
         return component;
     }
 
@@ -80,21 +80,8 @@
     public Component create(BundleContext bundleContext, ResourceProvider 
resourceProvider) {
         // Create context and bind all resources to it
         String resourceId = resourceProvider.getResourceId();
-        Component component = null;
-//        try {
-//            String resId = HttpContextUtil.getResourceAlias(resourceId);
-
-            // Create the http context
-            component = internalCreate(bundleContext, resourceProvider);
-//            HttpContext context = (HttpContext) component.getService();
-
-            // And register all resources on /[resourceId]/*
-//            m_httpService.registerResources(resId, "", context);
-
-            m_logService.log(LogService.LOG_INFO, "Http context created for '" 
+ resourceId + "'");
-//        } catch (NamespaceException e) {
-//            m_logService.log(LogService.LOG_ERROR, "Could not bind resources 
to '" + resourceId + "'", e);
-//        }
+        Component component = internalCreate(bundleContext, resourceProvider);
+        m_logService.log(LogService.LOG_INFO, "Http context created for '" + 
resourceId + "'");
         return component;
     }
 }

Modified: 
branches/amdatu-dispatcher/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
==============================================================================
--- 
branches/amdatu-dispatcher/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
      (original)
+++ 
branches/amdatu-dispatcher/integration-tests/src/test/java/org/amdatu/test/integration/base/OAuthTestBase.java
      Thu Feb  3 16:53:03 2011
@@ -86,33 +86,33 @@
         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)
-        
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(OAuthServiceConsumerRegistry.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(OAuthTokenProvider.class).setRequired(true));
+            .setImplementation(m_testServlet)
+            .setInterface(new String[] { Servlet.class.getName() }, 
servletProperties)
+            
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(OAuthServiceConsumerRegistry.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(OAuthTokenProvider.class).setRequired(true));
 
         Component testComponent = manager.createComponent()
-        .setImplementation(this)
-        
.add(manager.createServiceDependency().setService(OAuthRequestTokenServlet.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(OAuthTokenProvider.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(OAuthServiceProvider.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(OAuthServiceConsumerRegistry.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(HttpService.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(UserAdmin.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(LoginService.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(StorageProvider.class).setRequired(true))
-        
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true));
+            .setImplementation(this)
+            
.add(manager.createServiceDependency().setService(OAuthRequestTokenServlet.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(OAuthTokenProvider.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(OAuthServiceProvider.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(ConfigurationAdmin.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(OAuthServiceConsumerRegistry.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(HttpService.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(UserAdmin.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(LoginService.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(StorageProvider.class).setRequired(true))
+            
.add(manager.createServiceDependency().setService(LogService.class).setRequired(true));
 
         return new Component[] { servletComponent, testComponent };
     }
 
     protected Option provisionBundles() {
         return provision(
-                       amdatuTenantStoreFSService(),
-               amdatuTenantService(),
-               amdatuTenantUserAdminDecoratorService(),
+            amdatuTenantStoreFSService(),
+            amdatuTenantService(),
+            amdatuTenantUserAdminDecoratorService(),
             felixHttpServiceJetty(),
             amdatuDispatcher(),
             amdatuHostnameTenantResolver(),
@@ -160,8 +160,10 @@
 
     protected Map<String, String> getCookieHeader() {
         Map<String, String> requestHeaders = new HashMap<String, String>();
-        String header = m_cookieHeaderElement.getName() + "=" + 
m_cookieHeaderElement.getValue();
-        requestHeaders.put("Cookie", header);
+        if (m_cookieHeaderElement != null) {
+            String header = m_cookieHeaderElement.getName() + "=" + 
m_cookieHeaderElement.getValue();
+            requestHeaders.put("Cookie", header);
+        }
         return requestHeaders;
     }
 }

Reply via email to