You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2015/02/02 17:21:32 UTC

svn commit: r1656510 - in /felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal: dispatch/Dispatcher.java dispatch/ServletContextWrapper.java handler/HandlerRegistry.java

Author: cziegeler
Date: Mon Feb  2 16:21:32 2015
New Revision: 1656510

URL: http://svn.apache.org/r1656510
Log:
FELIX-4060 : Implement HTTP Service Update (RFC-189)

Modified:
    felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/Dispatcher.java
    felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/ServletContextWrapper.java
    felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HandlerRegistry.java

Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/Dispatcher.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/Dispatcher.java?rev=1656510&r1=1656509&r2=1656510&view=diff
==============================================================================
--- felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/Dispatcher.java (original)
+++ felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/Dispatcher.java Mon Feb  2 16:21:32 2015
@@ -575,7 +575,7 @@ public final class Dispatcher implements
     @Override
     public RequestDispatcher getNamedDispatcher(final long contextId, final String name)
     {
-        ServletHandler handler = this.handlerRegistry.getServletHandlerByName(name);
+        ServletHandler handler = this.handlerRegistry.getServletHandlerByName(contextId, name);
         return handler != null ? new RequestDispatcherImpl(handler, null) : null;
     }
 

Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/ServletContextWrapper.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/ServletContextWrapper.java?rev=1656510&r1=1656509&r2=1656510&view=diff
==============================================================================
--- felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/ServletContextWrapper.java (original)
+++ felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/dispatch/ServletContextWrapper.java Mon Feb  2 16:21:32 2015
@@ -31,12 +31,12 @@ class ServletContextWrapper extends Serv
 {
     private final RequestDispatcherProvider provider;
 
-    private final long contextId;
+    private final Long contextId;
 
     /**
      * Creates a new {@link ServletContextWrapper} instance.
      */
-    public ServletContextWrapper(long contextId, ExtServletContext delegate, RequestDispatcherProvider provider)
+    public ServletContextWrapper(Long contextId, ExtServletContext delegate, RequestDispatcherProvider provider)
     {
         super(delegate);
 

Modified: felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HandlerRegistry.java
URL: http://svn.apache.org/viewvc/felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HandlerRegistry.java?rev=1656510&r1=1656509&r2=1656510&view=diff
==============================================================================
--- felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HandlerRegistry.java (original)
+++ felix/trunk/http/base/src/main/java/org/apache/felix/http/base/internal/handler/HandlerRegistry.java Mon Feb  2 16:21:32 2015
@@ -121,9 +121,19 @@ public final class HandlerRegistry
         return this.servletPatternMap.get(alias);
     }
 */
-    public ServletHandler getServletHandlerByName(final String name)
+    public ServletHandler getServletHandlerByName(final Long contextId, final String name)
     {
-        // TODO
+        if ( contextId != null )
+        {
+            final List<PerContextHandlerRegistry> regs = this.registrations;
+            for(final PerContextHandlerRegistry r : regs)
+            {
+                if ( contextId == r.getContextServiceid() )
+                {
+                    return r.getServletHandlerByName(name);
+                }
+            }
+        }
         return null;
     }