Author: cziegeler
Date: Mon Aug  1 15:35:30 2016
New Revision: 1754768

URL: http://svn.apache.org/viewvc?rev=1754768&view=rev
Log:
SLING-5938 : Register RequestLoggerFilter through Http Whiteboard

Modified:
    
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
    
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/log/RequestLoggerFilter.java

Modified: 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java?rev=1754768&r1=1754767&r2=1754768&view=diff
==============================================================================
--- 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
 (original)
+++ 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/SlingMainServlet.java
 Mon Aug  1 15:35:30 2016
@@ -130,7 +130,7 @@ public class SlingMainServlet extends Ge
     /**
      * The name of the servlet context for Sling
      */
-    private static final String SERVLET_CONTEXT_NAME = "org.apache.sling";
+    public static final String SERVLET_CONTEXT_NAME = "org.apache.sling";
 
     /**
      * The name of the product to report in the {@link #getServerInfo()} method

Modified: 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/log/RequestLoggerFilter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/log/RequestLoggerFilter.java?rev=1754768&r1=1754767&r2=1754768&view=diff
==============================================================================
--- 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/log/RequestLoggerFilter.java
 (original)
+++ 
sling/trunk/bundles/engine/src/main/java/org/apache/sling/engine/impl/log/RequestLoggerFilter.java
 Mon Aug  1 15:35:30 2016
@@ -29,30 +29,25 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.ConfigurationPolicy;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.engine.impl.SlingMainServlet;
 import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.ConfigurationPolicy;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
 import org.slf4j.LoggerFactory;
 
-@Component(immediate = true, policy = ConfigurationPolicy.IGNORE)
-@Service(value = Filter.class)
-@Reference(
-        name = "RequestLoggerService",
-        referenceInterface = RequestLoggerService.class,
-        cardinality = ReferenceCardinality.MANDATORY_MULTIPLE,
-        policy = ReferencePolicy.DYNAMIC)
-@Properties({
-    @Property(name = "pattern", value = "/.*"),
-    @Property(name = Constants.SERVICE_RANKING, intValue = 0x8000),
-    @Property(name = "service.description", value = "Request Logger Filter"),
-    @Property(name = "service.vendor", value = "The Apache Software 
Foundation")
-})
+@Component(configurationPolicy = ConfigurationPolicy.IGNORE,
+           service = Filter.class,
+           property = {
+                   HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT+ 
"=(" + HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME + "=" + 
SlingMainServlet.SERVLET_CONTEXT_NAME + ")",
+                   HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN + 
"=/",
+                   Constants.SERVICE_RANKING + ":Integer=32768",
+                   Constants.SERVICE_DESCRIPTION + "=Request Logger Filter",
+                   Constants.SERVICE_VENDOR + "=The Apache Software Foundation"
+           })
 public final class RequestLoggerFilter implements Filter {
 
     private static final RequestLoggerService[] NONE = new 
RequestLoggerService[0];
@@ -61,9 +56,11 @@ public final class RequestLoggerFilter i
 
     private RequestLoggerService[] requestExit = NONE;
 
+    @Override
     public void init(FilterConfig filterConfig) {
     }
 
+    @Override
     public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException,
             ServletException {
 
@@ -79,13 +76,14 @@ public final class RequestLoggerFilter i
         }
     }
 
+    @Override
     public void destroy() {
         FileRequestLog.dispose();
     }
 
     // ---------- SCR Integration 
----------------------------------------------
 
-    @SuppressWarnings("unused")
+    @Reference(cardinality = ReferenceCardinality.MANDATORY, policy = 
ReferencePolicy.DYNAMIC)
     private void bindRequestLoggerService(RequestLoggerService 
requestLoggerService) {
         if (requestLoggerService.isOnEntry()) {
             this.requestEntry = this.addService(this.requestEntry, 
requestLoggerService);


Reply via email to