SLING-2363 : Replace JavaDoc SCR annotations with Java SCR annotations
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1357150 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/espblog/pom.xml b/espblog/pom.xml
index 94afaf9..59f94b1 100644
--- a/espblog/pom.xml
+++ b/espblog/pom.xml
@@ -94,6 +94,10 @@
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/espblog/src/main/java/org/apache/sling/samples/espblog/internal/ThumbnailGenerator.java b/espblog/src/main/java/org/apache/sling/samples/espblog/internal/ThumbnailGenerator.java
index c6c571b..feaf910 100644
--- a/espblog/src/main/java/org/apache/sling/samples/espblog/internal/ThumbnailGenerator.java
+++ b/espblog/src/main/java/org/apache/sling/samples/espblog/internal/ThumbnailGenerator.java
@@ -39,6 +39,9 @@
import javax.jcr.observation.EventListener;
import javax.jcr.observation.ObservationManager;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
import org.apache.sling.jcr.api.SlingRepository;
import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
@@ -48,20 +51,18 @@
* Observe the espblog content for changes, and generate
* thumbnails when images are added.
*
- * @scr.component immediate="true" metatype="false"
- * @scr.property name="service.description" value="Sling ESP blog sample thumbnails generator"
- * @scr.property name="service.vendor" value="Apache Software Foundation"
- *
*/
+@Component(immediate=true)
+@Property(name="service.description", value="Sling ESP blog sample thumbnails generator")
public class ThumbnailGenerator implements EventListener {
private Session session;
private ObservationManager observationManager;
- /** @scr.reference */
+ @Reference
private SlingRepository repository;
- /** @scr.property value="/content/espblog" */
+ @Property(value="/content/espblog")
private static final String CONTENT_PATH_PROPERTY = "content.path";
private static final Logger log = LoggerFactory
diff --git a/path-based-rtp/pom.xml b/path-based-rtp/pom.xml
index 14f5dc5..b714d5b 100644
--- a/path-based-rtp/pom.xml
+++ b/path-based-rtp/pom.xml
@@ -130,6 +130,10 @@
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/path-based-rtp/src/main/java/org/apache/sling/samples/pathbasedrtp/PathBasedResourceDecorator.java b/path-based-rtp/src/main/java/org/apache/sling/samples/pathbasedrtp/PathBasedResourceDecorator.java
index 0ab24a8..a9857c7 100644
--- a/path-based-rtp/src/main/java/org/apache/sling/samples/pathbasedrtp/PathBasedResourceDecorator.java
+++ b/path-based-rtp/src/main/java/org/apache/sling/samples/pathbasedrtp/PathBasedResourceDecorator.java
@@ -24,6 +24,10 @@
import javax.jcr.RepositoryException;
import javax.servlet.http.HttpServletRequest;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.PropertyUnbounded;
+import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.resource.ResourceDecorator;
import org.apache.sling.api.resource.ResourceWrapper;
@@ -41,12 +45,10 @@
* mapping applies, and "2" is the (1-based) index of the path component to
* use as the resource type.
*
- * @scr.component immediate="true" label="%defaultRtp.name"
- * description="%defaultRtp.description"
- * @scr.property name="service.vendor" value="The Apache Software Foundation"
- * @scr.property name="service.description" value="Sling Sample Resource Decorator"
- * @scr.service
*/
+@Component(metatype=true, label="%defaultRtp.name", description="%defaultRtp.description")
+@Service
+@Property(name="service.description", value="Sling Sample Resource Decorator")
public class PathBasedResourceDecorator implements ResourceDecorator {
/**
@@ -54,10 +56,8 @@
* specify the use of path component 2 for the /content path, and add a similar
* definition for the /sling-test-pbrt path that is used in integration testing.
*
- * @scr.property
- * values.1="/content:2"
- * values.2="/sling-test-pbrt:2"
*/
+ @Property(value={"/content:2", "/sling-test-pbrt:2"}, unbounded=PropertyUnbounded.ARRAY)
private static final String PROP_PATH_MAPPING = "path.mapping";
private final Logger log = LoggerFactory.getLogger(getClass());
diff --git a/post-servlet-extensions/pom.xml b/post-servlet-extensions/pom.xml
index 2eddd4e..7dddf40 100644
--- a/post-servlet-extensions/pom.xml
+++ b/post-servlet-extensions/pom.xml
@@ -110,6 +110,10 @@
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkOperation.java b/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkOperation.java
index c13385a..6228925 100644
--- a/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkOperation.java
+++ b/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkOperation.java
@@ -20,27 +20,24 @@
import javax.jcr.Item;
import javax.jcr.Node;
-import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.Value;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.request.RequestParameter;
-import org.apache.sling.api.resource.Resource;
import org.apache.sling.api.servlets.HtmlResponse;
import org.apache.sling.servlets.post.AbstractSlingPostOperation;
import org.apache.sling.servlets.post.Modification;
-import org.apache.sling.servlets.post.SlingPostOperation;
-import org.apache.sling.servlets.post.SlingPostProcessor;
/**
* This operation allows to create links between nodes.
- *
- * @scr.component metatype="no" immediate="true"
- * @scr.service interface="org.apache.sling.servlets.post.SlingPostOperation"
- * @scr.property name="sling.post.operation" value="link"
+ *
*/
+@Component
+@Service(value=org.apache.sling.servlets.post.SlingPostOperation.class)
+@org.apache.felix.scr.annotations.Property(name="sling.post.operation", value="link")
public class LinkOperation extends AbstractSlingPostOperation {
public final LinkHelper linkHelper = new LinkHelper();
diff --git a/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkProcessor.java b/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkProcessor.java
index b234fa4..3810880 100644
--- a/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkProcessor.java
+++ b/post-servlet-extensions/src/main/java/org/apache/sling/samples/postservletextensions/internal/LinkProcessor.java
@@ -22,6 +22,9 @@
import javax.jcr.Node;
import javax.jcr.Session;
+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.request.RequestParameter;
import org.apache.sling.servlets.post.Modification;
@@ -30,20 +33,20 @@
/**
* This processor allows to create links between nodes.
- *
- * @scr.component metatype="no" immediate="true"
- * @scr.service interface="org.apache.sling.servlets.post.SlingPostProcessor"
- * @scr.property name="sling.post.processor" value="link"
+ *
*/
+@Component
+@Service(value=SlingPostProcessor.class)
+@Property(name="sling.post.processor", value="link")
public class LinkProcessor implements SlingPostProcessor {
public final LinkHelper linkHelper = new LinkHelper();
-
+
public void process(SlingHttpServletRequest request,
List<Modification> changes) throws Exception {
Session session = request.getResourceResolver().adaptTo(Session.class);
-
+
RequestParameter linkParam = request.getRequestParameter(":link");
if (linkParam != null){
String linkPath = linkParam.getString();
@@ -53,7 +56,7 @@
// is it possible to add the response to the method header ?
String resourcePath = changes.get(0).getSource();
Node source = (Node) session.getItem(resourcePath);
-
+
// create a symetric link
if (session.itemExists(linkPath)) {
Item targetItem = session.getItem(linkPath);
@@ -63,7 +66,7 @@
}
}
}
-
+
}
}
diff --git a/simple-demo/pom.xml b/simple-demo/pom.xml
index a554c38..fb33ccb 100644
--- a/simple-demo/pom.xml
+++ b/simple-demo/pom.xml
@@ -173,5 +173,9 @@
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/simple-demo/src/main/java/org/apache/sling/sample/Navigation.java b/simple-demo/src/main/java/org/apache/sling/sample/Navigation.java
index 4983cc9..985f9b8 100644
--- a/simple-demo/src/main/java/org/apache/sling/sample/Navigation.java
+++ b/simple-demo/src/main/java/org/apache/sling/sample/Navigation.java
@@ -24,6 +24,10 @@
import javax.servlet.ServletException;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingConstants;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
@@ -36,13 +40,14 @@
* considered a "page" if the Content object is an instance of the
* {@link SamplePage} class.
*
- * @scr.component immediate="true" metatype="no"
- * @scr.property name="service.description" value="Sample Navigation Component"
- * @scr.property name="service.vendor" value="The Apache Software Foundation"
- * @scr.property name="sling.servlet.resourceTypes" value="sling/sample.navigation"
- * @scr.property name="sling.servlet.methods" value="html"
- * @scr.service interface="javax.servlet.Servlet"
*/
+@Component
+@Service(value=javax.servlet.Servlet.class)
+@Properties({
+ @Property(name="service.description", value="Sample Navigation Component"),
+ @Property(name="sling.servlet.resourceTypes", value="sling/sample.navigation"),
+ @Property(name="sling.servlet.methods", value="html")
+})
public class Navigation extends SlingSafeMethodsServlet {
public static final String RESOURCE_TYPE = "sling/sample.navigation";
diff --git a/simple-demo/src/main/java/org/apache/sling/sample/filter/ZipFilter.java b/simple-demo/src/main/java/org/apache/sling/sample/filter/ZipFilter.java
index 5c6bd3c..17d8681 100644
--- a/simple-demo/src/main/java/org/apache/sling/sample/filter/ZipFilter.java
+++ b/simple-demo/src/main/java/org/apache/sling/sample/filter/ZipFilter.java
@@ -38,6 +38,10 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+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.SlingHttpServletResponse;
import org.apache.sling.api.wrappers.SlingHttpServletResponseWrapper;
@@ -61,13 +65,14 @@
* and in fact even slows response time down !!
* </ul>
*
- * @scr.component metatype="no" enabled="no"
- * @scr.property name="service.description" value="Sample Request Filter"
- * @scr.property name="service.vendor" value="The Apache Software Foundation"
- * @scr.property name="filter.scope" value="request" private="true"
- * @scr.property name="filter.order" value="-2147483648" type="Integer" private="true"
- * @scr.service
*/
+@Component(enabled=false)
+@Service
+@Properties({
+ @Property(name="service.description", value="Sample Request Filter"),
+ @Property(name="filter.scope", value="request", propertyPrivate=true),
+ @Property(name="filter.order", intValue=-2147483648, propertyPrivate=true)
+})
public class ZipFilter implements Filter {
/**
diff --git a/webloader/service/pom.xml b/webloader/service/pom.xml
index be404de..2f8056b 100644
--- a/webloader/service/pom.xml
+++ b/webloader/service/pom.xml
@@ -108,5 +108,9 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.scr.annotations</artifactId>
+ </dependency>
</dependencies>
</project>
diff --git a/webloader/service/src/main/java/org/apache/sling/samples/webloader/internal/WebLoaderImpl.java b/webloader/service/src/main/java/org/apache/sling/samples/webloader/internal/WebLoaderImpl.java
index 87c77f5..9f60218 100644
--- a/webloader/service/src/main/java/org/apache/sling/samples/webloader/internal/WebLoaderImpl.java
+++ b/webloader/service/src/main/java/org/apache/sling/samples/webloader/internal/WebLoaderImpl.java
@@ -21,47 +21,41 @@
import java.util.List;
import java.util.Map;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.mime.MimeTypeService;
+import org.apache.sling.jcr.api.SlingRepository;
import org.apache.sling.samples.webloader.Webloader;
import org.apache.sling.samples.webloader.WebloaderJobStatus;
-import org.apache.sling.jcr.api.SlingRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-/** Webloader implementation, manages WebloaderJobs
- *
- * @scr.service
- *
- * @scr.component
- * immediate="true"
- * metatype="no"
- *
- * @scr.property
- * name="service.description"
- * value="Sling Webloader service"
- *
- * @scr.property
- * name="service.vendor"
- * value="The Apache Software Foundation"
+/**
+ * Webloader implementation, manages WebloaderJobs
*
*/
+@Component(immediate=true)
+@Service
+@Property(name="service.description", value="Sling Webloader service")
public class WebLoaderImpl implements Webloader {
-
+
private static final Logger log = LoggerFactory.getLogger(WebLoaderImpl.class);
-
+
private final Map<String, WebloaderJob> jobs = new HashMap<String, WebloaderJob>();
-
- /** @scr.reference */
+
+ @Reference
private SlingRepository repository;
-
- /** @scr.reference */
+
+ @Reference
private MimeTypeService mimeTypeService;
/** @inheritDoc */
- public String createJob(String webQuery, String storagePath, String
+ public String createJob(String webQuery, String storagePath, String
fileExtensions, int maxDocsToRetrieve, int maxDocSizeInKb) {
deleteFinishedJobs();
- final WebloaderJob j = new WebloaderJob(repository, mimeTypeService,
+ final WebloaderJob j = new WebloaderJob(repository, mimeTypeService,
webQuery, storagePath, fileExtensions, maxDocsToRetrieve, maxDocSizeInKb);
synchronized (jobs) {
jobs.put(j.getJobId(), j);
@@ -83,7 +77,7 @@
toDelete.add(j);
}
}
-
+
synchronized (jobs) {
for(WebloaderJob j : toDelete) {
jobs.remove(j.getJobId());