You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2018/05/22 02:01:40 UTC

[sling-whiteboard] 02/02: Updating to OSGi R6 Annotations

This is an automated email from the ASF dual-hosted git repository.

dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git

commit 09aa154f08aadb52ea95c01349e53462ebe31bce
Author: Dan Klco <dk...@apache.org>
AuthorDate: Mon May 21 22:01:19 2018 -0400

    Updating to OSGi R6 Annotations
---
 .../org/apache/sling/cms/core/filters/EditIncludeFilter.java |  5 ++---
 .../java/org/apache/sling/cms/core/filters/LocaleFilter.java |  7 +++++--
 .../org/apache/sling/cms/core/filters/PublishFilter.java     |  5 +++--
 .../sling/cms/core/operations/BulkReplaceOperation.java      |  9 +++------
 .../sling/cms/core/operations/CheckpointOperation.java       |  9 +++------
 .../cms/core/operations/UpdateReferencesPostOperation.java   | 12 ++++--------
 .../org/apache/sling/cms/core/servlets/CMSPageServlet.java   |  8 +++++---
 7 files changed, 25 insertions(+), 30 deletions(-)

diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/filters/EditIncludeFilter.java b/cms/core/src/main/java/org/apache/sling/cms/core/filters/EditIncludeFilter.java
index 5ce6c81..9bea174 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/filters/EditIncludeFilter.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/filters/EditIncludeFilter.java
@@ -28,8 +28,6 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.sling.SlingFilter;
-import org.apache.felix.scr.annotations.sling.SlingFilterScope;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.Resource;
@@ -43,7 +41,8 @@ import org.slf4j.LoggerFactory;
  * Filter for injecting the request attributes and markup to enable the Sling
  * CMS editor.
  */
-@SlingFilter(order = 0, scope = SlingFilterScope.COMPONENT)
+@org.osgi.service.component.annotations.Component(service = { Filter.class }, property = {
+		"sling.filter.scope=component" })
 public class EditIncludeFilter implements Filter {
 
 	private static final Logger log = LoggerFactory.getLogger(EditIncludeFilter.class);
diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/filters/LocaleFilter.java b/cms/core/src/main/java/org/apache/sling/cms/core/filters/LocaleFilter.java
index 38744d9..8d39b89 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/filters/LocaleFilter.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/filters/LocaleFilter.java
@@ -27,17 +27,18 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.jsp.jstl.core.Config;
 import javax.servlet.jsp.jstl.fmt.LocalizationContext;
-import org.apache.felix.scr.annotations.sling.SlingFilter;
+
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.cms.core.models.Site;
 import org.apache.sling.cms.core.models.SiteManager;
+import org.osgi.service.component.annotations.Component;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * Sets the locale for the request based on the containing site.
  */
-@SlingFilter(order = 0)
+@Component(service = { Filter.class }, immediate = true, property = { "sling.filter.scope=request" })
 public class LocaleFilter implements Filter {
 
 	private static final Logger log = LoggerFactory.getLogger(LocaleFilter.class);
@@ -58,6 +59,8 @@ public class LocaleFilter implements Filter {
 				ResourceBundle bundle = slingRequest.getResourceBundle(site.getLocale());
 				Config.set(slingRequest, "javax.servlet.jsp.jstl.fmt.localizationContext",
 						new LocalizationContext(bundle, slingRequest.getLocale()));
+			} else {
+				log.trace("No site for {}", slingRequest);
 			}
 		}
 
diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/filters/PublishFilter.java b/cms/core/src/main/java/org/apache/sling/cms/core/filters/PublishFilter.java
index f58ee5f..8aa9c11 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/filters/PublishFilter.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/filters/PublishFilter.java
@@ -27,18 +27,19 @@ import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.commons.lang.ArrayUtils;
-import org.apache.felix.scr.annotations.sling.SlingFilter;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.cms.CMSConstants;
 import org.apache.sling.jcr.resource.JcrResourceConstants;
+import org.osgi.service.component.annotations.Component;
 
 /**
  * Denies requests to sling:Page and sling:File resources and children which are
  * not set to publish=true
  */
-@SlingFilter(order = Integer.MAX_VALUE)
+@Component(service = { Filter.class }, property = { "sling.filter.scope=request",
+		"service.ranking=" + Integer.MAX_VALUE })
 public class PublishFilter implements Filter {
 
 	public static final String[] PUBLISHABLE_TYPES = new String[] { CMSConstants.NT_FILE, CMSConstants.NT_PAGE,
diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/operations/BulkReplaceOperation.java b/cms/core/src/main/java/org/apache/sling/cms/core/operations/BulkReplaceOperation.java
index e9d12e0..8722389 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/operations/BulkReplaceOperation.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/operations/BulkReplaceOperation.java
@@ -26,9 +26,6 @@ import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.ModifiableValueMap;
 import org.apache.sling.api.resource.Resource;
@@ -36,6 +33,7 @@ import org.apache.sling.servlets.post.Modification;
 import org.apache.sling.servlets.post.PostOperation;
 import org.apache.sling.servlets.post.PostResponse;
 import org.apache.sling.servlets.post.SlingPostProcessor;
+import org.osgi.service.component.annotations.Component;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,9 +42,8 @@ import org.slf4j.LoggerFactory;
  * applicable to the supplied parameters under the resource for the operation,
  * replacing the find string with the replacement value.
  */
-@Component(immediate = true)
-@Service
-@Property(name = PostOperation.PROP_OPERATION_NAME, value = "bulkreplace")
+@Component(immediate = true, service = { PostOperation.class }, property = PostOperation.PROP_OPERATION_NAME
+		+ "=bulkreplace")
 public class BulkReplaceOperation implements PostOperation {
 
 	private static final Logger log = LoggerFactory.getLogger(BulkReplaceOperation.class);
diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/operations/CheckpointOperation.java b/cms/core/src/main/java/org/apache/sling/cms/core/operations/CheckpointOperation.java
index eb0ac59..752ed9a 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/operations/CheckpointOperation.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/operations/CheckpointOperation.java
@@ -27,9 +27,6 @@ import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
@@ -37,6 +34,7 @@ import org.apache.sling.servlets.post.Modification;
 import org.apache.sling.servlets.post.PostOperation;
 import org.apache.sling.servlets.post.PostResponse;
 import org.apache.sling.servlets.post.SlingPostProcessor;
+import org.osgi.service.component.annotations.Component;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,9 +43,8 @@ import org.slf4j.LoggerFactory;
  * Checkpoint operation on the underlying JCR Node. The checkpoint operation
  * depends on the resources being backed up by a JCR node.
  */
-@Component(immediate = true)
-@Service
-@Property(name = PostOperation.PROP_OPERATION_NAME, value = "checkpoint")
+@Component(immediate = true, service = { PostOperation.class }, property = PostOperation.PROP_OPERATION_NAME
++ "=checkpoint")
 public class CheckpointOperation implements PostOperation {
 	
 	private static final Logger log = LoggerFactory.getLogger(CheckpointOperation.class);
diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/operations/UpdateReferencesPostOperation.java b/cms/core/src/main/java/org/apache/sling/cms/core/operations/UpdateReferencesPostOperation.java
index bd061d5..357b0d1 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/operations/UpdateReferencesPostOperation.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/operations/UpdateReferencesPostOperation.java
@@ -18,11 +18,7 @@ package org.apache.sling.cms.core.operations;
 
 import java.util.Arrays;
 import java.util.List;
-import java.util.regex.Matcher;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.resource.ModifiableValueMap;
 import org.apache.sling.api.resource.Resource;
@@ -31,6 +27,7 @@ import org.apache.sling.servlets.post.Modification;
 import org.apache.sling.servlets.post.SlingPostConstants;
 import org.apache.sling.servlets.post.SlingPostProcessor;
 import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,9 +36,8 @@ import org.slf4j.LoggerFactory;
  * references from a resource which is being moved or deleted to another
  * resource.
  */
-@Component(immediate = true)
-@Service
-@Property(name = Constants.SERVICE_RANKING, intValue = -1)
+@Component(immediate = true, service = { SlingPostProcessor.class }, property = Constants.SERVICE_RANKING
+		+ "=-1")
 public class UpdateReferencesPostOperation implements SlingPostProcessor {
 
 	public static final String RP_UPDATE_REFERENCES = SlingPostConstants.RP_PREFIX + "updateReferences";
@@ -49,7 +45,7 @@ public class UpdateReferencesPostOperation implements SlingPostProcessor {
 	private static final Logger log = LoggerFactory.getLogger(UpdateReferencesPostOperation.class);
 
 	@Override
-	public void process(SlingHttpServletRequest request, List<Modification> changes) throws Exception {
+	public void process(SlingHttpServletRequest request, final List<Modification> changes) throws Exception {
 		if ((SlingPostConstants.OPERATION_DELETE.equals(request.getParameter(SlingPostConstants.RP_OPERATION))
 				|| SlingPostConstants.OPERATION_MOVE.equals(request.getParameter(SlingPostConstants.RP_OPERATION)))
 				&& "true".equalsIgnoreCase(request.getParameter(RP_UPDATE_REFERENCES))) {
diff --git a/cms/core/src/main/java/org/apache/sling/cms/core/servlets/CMSPageServlet.java b/cms/core/src/main/java/org/apache/sling/cms/core/servlets/CMSPageServlet.java
index d3323e3..099fdae 100644
--- a/cms/core/src/main/java/org/apache/sling/cms/core/servlets/CMSPageServlet.java
+++ b/cms/core/src/main/java/org/apache/sling/cms/core/servlets/CMSPageServlet.java
@@ -19,24 +19,26 @@ package org.apache.sling.cms.core.servlets;
 import java.io.IOException;
 
 import javax.servlet.RequestDispatcher;
+import javax.servlet.Servlet;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.felix.scr.annotations.sling.SlingServlet;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.servlets.HttpConstants;
 import org.apache.sling.api.servlets.SlingSafeMethodsServlet;
+import org.osgi.service.component.annotations.Component;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * Servlet which includes the content of the page when the page is accessed.
  */
-@SlingServlet(resourceTypes = { "sling:Page" }, methods = { HttpConstants.METHOD_TRACE, HttpConstants.METHOD_GET,
-		HttpConstants.METHOD_OPTIONS, HttpConstants.METHOD_HEAD })
+@Component(service = { Servlet.class }, property = { "sling.servlet.resourceTypes=sling:Page",
+		"sling.servlet.methods=" + HttpConstants.METHOD_TRACE, "sling.servlet.methods=" + HttpConstants.METHOD_GET,
+		"sling.servlet.methods=" + HttpConstants.METHOD_OPTIONS, "sling.servlet.methods=" + HttpConstants.METHOD_HEAD })
 public class CMSPageServlet extends SlingSafeMethodsServlet {
 
 	private static final long serialVersionUID = -410942682163323725L;

-- 
To stop receiving notification emails like this one, please contact
dklco@apache.org.