Author: ieb
Date: Mon Oct 3 16:17:56 2016
New Revision: 1763185
URL: http://svn.apache.org/viewvc?rev=1763185&view=rev
Log:
SLING-5645 added provider types to apis where applicable
Modified:
sling/trunk/contrib/commons/mom/api/pom.xml
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/MessageFilter.java
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueManager.java
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueReader.java
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/Subscriber.java
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/TopicManager.java
sling/trunk/contrib/commons/mom/jobs/core/pom.xml
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/Job.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobBuilder.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobCallback.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobConsumer.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobController.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobManager.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobTypeValve.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdate.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateBuilder.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateListener.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStarter.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStorage.java
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/MapValueAdapter.java
Modified: sling/trunk/contrib/commons/mom/api/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/api/pom.xml?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
--- sling/trunk/contrib/commons/mom/api/pom.xml (original)
+++ sling/trunk/contrib/commons/mom/api/pom.xml Mon Oct 3 16:17:56 2016
@@ -84,6 +84,12 @@
<artifactId>org.apache.felix.scr.annotations</artifactId>
</dependency>
<dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi.annotation</artifactId>
+ <version>6.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>2.0.1</version>
Modified:
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/MessageFilter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/MessageFilter.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/MessageFilter.java
(original)
+++
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/MessageFilter.java
Mon Oct 3 16:17:56 2016
@@ -19,11 +19,14 @@
package org.apache.sling.mom;
+import org.osgi.annotation.versioning.ProviderType;
+
import java.util.Map;
/**
* Filter inbound messages, optionally implemented by QueueReaders.
*/
+@ProviderType
public interface MessageFilter {
/**
* Provides message filtering, the implementation should return true if it
wants to get the message, false if not.
Modified:
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueManager.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueManager.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueManager.java
(original)
+++
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueManager.java
Mon Oct 3 16:17:56 2016
@@ -19,11 +19,14 @@
package org.apache.sling.mom;
+import org.osgi.annotation.versioning.ProviderType;
+
import java.util.Map;
/**
* Manages named queues allowing messages to be added to the queue and a queue
reader to be opened to read messages from a queue.
*/
+@ProviderType
public interface QueueManager {
/**
Modified:
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueReader.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueReader.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueReader.java
(original)
+++
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/QueueReader.java
Mon Oct 3 16:17:56 2016
@@ -19,6 +19,8 @@
package org.apache.sling.mom;
+import org.osgi.annotation.versioning.ProviderType;
+
import java.util.Map;
/**
@@ -28,6 +30,7 @@ import java.util.Map;
* This interface should be implemented as an OSGi Service. The implementation
of the MoM API should register any services
* implementing QueueReader using the OSGi Whiteboard pattern.
*/
+@ProviderType
public interface QueueReader {
Modified:
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/Subscriber.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/Subscriber.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/Subscriber.java
(original)
+++
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/Subscriber.java
Mon Oct 3 16:17:56 2016
@@ -18,6 +18,8 @@
*/
package org.apache.sling.mom;
+import org.osgi.annotation.versioning.ProviderType;
+
import java.util.Map;
/**
@@ -26,6 +28,7 @@ import java.util.Map;
* which will implement a OSGi Whiteboard pattern will register it based on
the values in the OSGi property "topics".
* The component may optionally implement MessageFilter if it wants to
separate filtering messages sooner.
*/
+@ProviderType
public interface Subscriber {
/**
Modified:
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/TopicManager.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/TopicManager.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/TopicManager.java
(original)
+++
sling/trunk/contrib/commons/mom/api/src/main/java/org/apache/sling/mom/TopicManager.java
Mon Oct 3 16:17:56 2016
@@ -20,6 +20,8 @@
package org.apache.sling.mom;
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
import java.util.Collections;
import java.util.HashSet;
@@ -32,6 +34,7 @@ import java.util.Set;
* To create a subscriber implement the Subscriber interface and the
implementation of TopicManager should
* implement the OSGi whiteboard pattern.
*/
+@ProviderType
public interface TopicManager {
Modified: sling/trunk/contrib/commons/mom/jobs/core/pom.xml
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/pom.xml?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
--- sling/trunk/contrib/commons/mom/jobs/core/pom.xml (original)
+++ sling/trunk/contrib/commons/mom/jobs/core/pom.xml Mon Oct 3 16:17:56 2016
@@ -100,6 +100,12 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>osgi.annotation</artifactId>
+ <version>6.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>2.0.1</version>
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/Job.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/Job.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/Job.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/Job.java
Mon Oct 3 16:17:56 2016
@@ -21,6 +21,7 @@ package org.apache.sling.jobs;
import com.google.common.collect.ImmutableSet;
import org.apache.sling.mom.TopicManager;
+import org.osgi.annotation.versioning.ProviderType;
import org.slf4j.LoggerFactory;
import javax.annotation.Nonnull;
@@ -34,6 +35,7 @@ import java.util.Set;
* Largely based on org.apache.sling.event.Job.
* A Job contains the complete state of the Job as known in the current JVM.
*/
+@ProviderType
public interface Job {
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobBuilder.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobBuilder.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobBuilder.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobBuilder.java
Mon Oct 3 16:17:56 2016
@@ -18,12 +18,16 @@
*/
package org.apache.sling.jobs;
+
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
import java.util.Map;
/**
* A JobBuilder allows users of the JobSystem to modify the properties of the
Job and submit it for processing.
*/
+@ProviderType
public interface JobBuilder {
/**
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobCallback.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobCallback.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobCallback.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobCallback.java
Mon Oct 3 16:17:56 2016
@@ -19,10 +19,14 @@
package org.apache.sling.jobs;
+
+import org.osgi.annotation.versioning.ProviderType;
+
/**
* When a job is complete, the callback gets called.
* This interface is implemented by the Jobs Implementation and passed into a
JobsConsumer.
*/
+@ProviderType
public interface JobCallback {
/**
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobConsumer.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobConsumer.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobConsumer.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobConsumer.java
Mon Oct 3 16:17:56 2016
@@ -18,6 +18,9 @@
*/
package org.apache.sling.jobs;
+
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
/**
@@ -30,6 +33,7 @@ import javax.annotation.Nonnull;
* the job queue is to be discouraged, as it may require too much from the
JobConsumer implementation to guarantee the contract
* in this interface.
*/
+@ProviderType
public interface JobConsumer {
String JOB_TYPES = "job.types";
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobController.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobController.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobController.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobController.java
Mon Oct 3 16:17:56 2016
@@ -19,6 +19,9 @@
package org.apache.sling.jobs;
+
+import org.osgi.annotation.versioning.ProviderType;
+
/**
* A job controller provides a mechanism by which a running job can be sent
control messages.
* Jobs when they start should register a JobController implementation with
the JobManager so that
@@ -26,6 +29,7 @@ package org.apache.sling.jobs;
* message to the Job, bypassing the manager, although this TopicListener will
need to filter
* for all messages associated with the Job.
*/
+@ProviderType
public interface JobController {
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobManager.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobManager.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobManager.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobManager.java
Mon Oct 3 16:17:56 2016
@@ -18,6 +18,8 @@
*/
package org.apache.sling.jobs;
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Collection;
@@ -26,6 +28,7 @@ import java.util.Map;
/**
* Based on org.apache.sling.event.job.JobManager but trimmed down and
adjusted to deal with distributed job queues.
*/
+@ProviderType
public interface JobManager {
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobTypeValve.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobTypeValve.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobTypeValve.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobTypeValve.java
Mon Oct 3 16:17:56 2016
@@ -18,6 +18,8 @@
*/
package org.apache.sling.jobs;
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
/**
@@ -25,6 +27,7 @@ import javax.annotation.Nonnull;
* it can perform further actions on it. JobTypeValves are used in place of
static JobType declarations.
* This interface is only implemented where static declaration of JobTypes
does not satisfy the use cases.
*/
+@ProviderType
public interface JobTypeValve {
/**
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdate.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdate.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdate.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdate.java
Mon Oct 3 16:17:56 2016
@@ -19,6 +19,7 @@
package org.apache.sling.jobs;
import org.apache.sling.mom.TopicManager;
+import org.osgi.annotation.versioning.ProviderType;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -36,6 +37,7 @@ import java.util.Map;
* The API does not specify the implementation, only that the various
JobUpdate messages are delivered with an delay appropriate for the
* type of message, identified by the JobUpdateCommand type.
*/
+@ProviderType
public interface JobUpdate {
/**
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateBuilder.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateBuilder.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateBuilder.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateBuilder.java
Mon Oct 3 16:17:56 2016
@@ -19,6 +19,8 @@
package org.apache.sling.jobs;
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Map;
@@ -26,6 +28,7 @@ import java.util.Map;
/**
* Create a job update ading properties and building.
*/
+@ProviderType
public interface JobUpdateBuilder {
@Nonnull
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateListener.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateListener.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateListener.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/JobUpdateListener.java
Mon Oct 3 16:17:56 2016
@@ -18,12 +18,15 @@
*/
package org.apache.sling.jobs;
+import org.osgi.annotation.versioning.ProviderType;
+
import javax.annotation.Nonnull;
/**
* Listens for JobUpdate messages.
* Examples of a JobUpdateListener include implementations of a Job that
consumes JobUpdateMessages, or JobConsumers that execute a Job.
*/
+@ProviderType
public interface JobUpdateListener {
/**
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStarter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStarter.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStarter.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStarter.java
Mon Oct 3 16:17:56 2016
@@ -19,10 +19,12 @@
package org.apache.sling.jobs.impl.spi;
import org.apache.sling.jobs.Job;
+import org.osgi.annotation.versioning.ProviderType;
/**
* Starts a job, used by the JobBuilderImpl to perform the add operation.
*/
+@ProviderType
public interface JobStarter {
Job start(Job j);
}
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStorage.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStorage.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStorage.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/JobStorage.java
Mon Oct 3 16:17:56 2016
@@ -20,6 +20,7 @@
package org.apache.sling.jobs.impl.spi;
import org.apache.sling.jobs.Job;
+import org.osgi.annotation.versioning.ProviderType;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -27,6 +28,7 @@ import javax.annotation.Nullable;
/**
* Provides JobStorage local to the JVM. Implementation may or may not decide
to persist over restarts, page, etc
*/
+@ProviderType
public interface JobStorage {
Modified:
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/MapValueAdapter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/MapValueAdapter.java?rev=1763185&r1=1763184&r2=1763185&view=diff
==============================================================================
---
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/MapValueAdapter.java
(original)
+++
sling/trunk/contrib/commons/mom/jobs/core/src/main/java/org/apache/sling/jobs/impl/spi/MapValueAdapter.java
Mon Oct 3 16:17:56 2016
@@ -18,12 +18,15 @@
*/
package org.apache.sling.jobs.impl.spi;
+import org.osgi.annotation.versioning.ProviderType;
+
/**
* Objects that can be converted to and from a Map are expected to extend this
base class.
* The values contained in the Map are expected to be Maps or values that can
be serialised into most
* common formats. It would be safe to use json or yaml as an example of a
common format.
*
*/
+@ProviderType
public interface MapValueAdapter {