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

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

commit 56c325acbe3635bc445a34e3af3c5e0a02cdabc6
Author: Carsten Ziegeler <[email protected]>
AuthorDate: Thu Mar 2 07:30:37 2017 +0000

    SLING-6576 : Use official OSGi annotations
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1785076 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../sling/jobs/impl/JobQueueConsumerFactory.java   | 34 ++++++++++++----------
 .../org/apache/sling/jobs/impl/JobSubsystem.java   | 25 +++++++---------
 .../apache/sling/jobs/impl/ManagerSubscriber.java  | 17 +++++------
 3 files changed, 37 insertions(+), 39 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/jobs/impl/JobQueueConsumerFactory.java 
b/src/main/java/org/apache/sling/jobs/impl/JobQueueConsumerFactory.java
index 62c5214..d4f9b41 100644
--- a/src/main/java/org/apache/sling/jobs/impl/JobQueueConsumerFactory.java
+++ b/src/main/java/org/apache/sling/jobs/impl/JobQueueConsumerFactory.java
@@ -25,13 +25,6 @@ import java.util.Set;
 
 import javax.annotation.Nonnull;
 
-import org.apache.felix.scr.annotations.Activate;
-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.Service;
 import org.apache.sling.jobs.Job;
 import org.apache.sling.jobs.JobCallback;
 import org.apache.sling.jobs.JobConsumer;
@@ -44,6 +37,13 @@ import org.apache.sling.mom.QueueReader;
 import org.apache.sling.mom.RequeueMessageException;
 import org.apache.sling.mom.TopicManager;
 import org.apache.sling.mom.Types;
+import org.osgi.service.component.annotations.Activate;
+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.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,17 +52,19 @@ import org.slf4j.LoggerFactory;
  * service and are registered using the OSGi Whiteboard pattern with the 
QueueManager. The JobManager service must implement JobConsumer.
  *
  */
-@Component(configurationFactory = true,
-        policy = ConfigurationPolicy.REQUIRE,
-        metatype = true,
-        immediate = true)
-@Properties({
-    @Property(name= QueueReader.QUEUE_NAME_PROP)
-})
-@Service(value = QueueReader.class)
+@Component(configurationPolicy = ConfigurationPolicy.REQUIRE,
+           service = QueueReader.class)
+@Designate(factory=true, ocd=JobQueueConsumerFactory.Config.class)
 public class JobQueueConsumerFactory implements QueueReader, MessageFilter {
 
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(JobQueueConsumerFactory.class);
+    @ObjectClassDefinition()
+    public @interface Config {
+
+        @AttributeDefinition(name = "queue-name")
+        String queuename();
+    }
+
+    private final Logger LOGGER = 
LoggerFactory.getLogger(JobQueueConsumerFactory.class);
     private static final Set<JobUpdate.JobUpdateCommand> ALLOWED_COMMANDS = 
Collections.unmodifiableSet(Collections.singleton(JobUpdate.JobUpdateCommand.UPDATE_JOB));
 
     @Reference
diff --git a/src/main/java/org/apache/sling/jobs/impl/JobSubsystem.java 
b/src/main/java/org/apache/sling/jobs/impl/JobSubsystem.java
index e8f5750..bed86dc 100644
--- a/src/main/java/org/apache/sling/jobs/impl/JobSubsystem.java
+++ b/src/main/java/org/apache/sling/jobs/impl/JobSubsystem.java
@@ -30,13 +30,6 @@ import java.util.concurrent.ConcurrentHashMap;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Deactivate;
-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.jobs.Job;
 import org.apache.sling.jobs.JobBuilder;
 import org.apache.sling.jobs.JobCallback;
@@ -50,14 +43,19 @@ import 
org.apache.sling.jobs.impl.storage.InMemoryJobStorage;
 import org.apache.sling.mom.QueueManager;
 import org.apache.sling.mom.TopicManager;
 import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * NB, this does *not* register as a JobConsumer service. it implements a 
JobConsumer so that it can consume Jobs from JobQueueConsumers.
  */
-@Component(immediate = true)
-@Service(value =  JobManager.class)
+@Component(service = JobManager.class, immediate=true)
 public class JobSubsystem  implements JobManager, JobConsumer {
 
 
@@ -69,11 +67,6 @@ public class JobSubsystem  implements JobManager, 
JobConsumer {
     /**
      * Contains a map of JobConsumers wrapped by JobConsumerHolders keyed by 
ServiceReference.
      */
-    @Reference(referenceInterface = JobConsumer.class,
-            cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
-            policy = ReferencePolicy.DYNAMIC,
-            bind="addConsumer",
-            unbind="removeConsumer")
     private final Map<ServiceReference<JobConsumer>, JobConsumerHolder> 
registrations =
             new ConcurrentHashMap<ServiceReference<JobConsumer>, 
JobConsumerHolder>();
 
@@ -132,6 +125,10 @@ public class JobSubsystem  implements JobManager, 
JobConsumer {
 
     // ---- JobConsumer Registration
     // Register Consumers using
+    @Reference(service = JobConsumer.class,
+            cardinality = ReferenceCardinality.MULTIPLE,
+            policy = ReferencePolicy.DYNAMIC,
+            unbind="removeConsumer")
     public synchronized  void addConsumer(ServiceReference<JobConsumer> 
serviceRef) {
         if (registrations.containsKey(serviceRef)) {
             LOGGER.error("Registration for service reference is already 
present {}",serviceRef);
diff --git a/src/main/java/org/apache/sling/jobs/impl/ManagerSubscriber.java 
b/src/main/java/org/apache/sling/jobs/impl/ManagerSubscriber.java
index 76ff8e2..81aed8f 100644
--- a/src/main/java/org/apache/sling/jobs/impl/ManagerSubscriber.java
+++ b/src/main/java/org/apache/sling/jobs/impl/ManagerSubscriber.java
@@ -18,25 +18,24 @@
  */
 package org.apache.sling.jobs.impl;
 
-import org.apache.felix.scr.annotations.*;
+import java.util.Map;
+
 import org.apache.sling.jobs.JobManager;
 import org.apache.sling.jobs.JobUpdateListener;
 import org.apache.sling.mom.Subscriber;
 import org.apache.sling.mom.Types;
-
-import java.util.Map;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
 
 /**
  * Listens to a topic to retrieve control messages.
  */
-@Component(immediate = true, metatype = true)
-@Service(value = Subscriber.class)
-@Properties({
-        @Property(name= Subscriber.TOPIC_NAMES_PROP, cardinality = 
Integer.MAX_VALUE, value = {"sling/jobupdates"} )
-})
+@Component(service = Subscriber.class,
+           property = {
+                   Subscriber.TOPIC_NAMES_PROP + "=sling/jobupdates"
+           })
 public class ManagerSubscriber implements Subscriber {
 
-
     @Reference
     private JobManager jobManager;
 

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to