FELIX-4060 : Implement HTTP Service Update (RFC-189) - correct name handling for servlets and filters

git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1660311 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/handler/AbstractHandler.java b/http/base/src/main/java/org/apache/felix/http/base/internal/handler/AbstractHandler.java
index ddb578b..1af303a 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/handler/AbstractHandler.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/handler/AbstractHandler.java
@@ -27,14 +27,16 @@
 
 public abstract class AbstractHandler<T extends AbstractHandler> implements Comparable<T>
 {
-    private final String baseName;
+    private final String name;
     private final ExtServletContext context;
     private final Map<String, String> initParams;
 
-    public AbstractHandler(ExtServletContext context, final Map<String, String> initParams, String baseName)
+    public AbstractHandler(final ExtServletContext context,
+            final Map<String, String> initParams,
+            final String name)
     {
         this.context = context;
-        this.baseName = baseName;
+        this.name = name;
         this.initParams = initParams;
     }
 
@@ -45,10 +47,10 @@
 
     public final String getName()
     {
-        String name = this.baseName;
+        String name = this.name;
         if (name == null)
         {
-            name = String.format("%s_%d", getSubject().getClass(), this.hashCode());
+            name = getSubject().getClass().getName();
         }
         return name;
     }
diff --git a/http/base/src/main/java/org/apache/felix/http/base/internal/service/HttpServiceImpl.java b/http/base/src/main/java/org/apache/felix/http/base/internal/service/HttpServiceImpl.java
index 22d2438..5021732 100644
--- a/http/base/src/main/java/org/apache/felix/http/base/internal/service/HttpServiceImpl.java
+++ b/http/base/src/main/java/org/apache/felix/http/base/internal/service/HttpServiceImpl.java
@@ -102,7 +102,8 @@
             }
         }
 
-        final FilterInfo filterInfo = new FilterInfo(null, pattern, ranking, paramMap);
+        final FilterInfo filterInfo = new FilterInfo(String.format("%s_%d", filter.getClass(), this.hashCode()),
+                pattern, ranking, paramMap);
         if ( !filterInfo.isValid() )
         {
             throw new ServletException("Invalid registration information for filter.");
@@ -175,7 +176,8 @@
             }
         }
 
-        final ServletInfo servletInfo = new ServletInfo(null, alias, 0, paramMap);
+        final ServletInfo servletInfo = new ServletInfo(String.format("%s_%d",servlet.getClass(), this.hashCode()),
+                alias, 0, paramMap);
         final ExtServletContext httpContext = getServletContext(context);
 
         final ServletHandler handler = new ServletHandler(null,