You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2015/01/19 15:46:03 UTC

svn commit: r1653016 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ component/impl/ packaging/impl/exporter/ packaging/impl/importer/ resources/impl/ serialization/impl/vlt/ transport/imp...

Author: mpetria
Date: Mon Jan 19 14:46:02 2015
New Revision: 1653016

URL: http://svn.apache.org/r1653016
Log:
SLING-4331: adding labels and descriptions to osgi factories

Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceBasedDistributionComponentFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProviderFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProviderFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTriggerFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTriggerFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTriggerFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerFactory.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTriggerFactory.java

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java Mon Jan 19 14:46:02 2015
@@ -24,8 +24,10 @@ import org.apache.sling.distribution.com
 import org.apache.sling.distribution.resources.impl.OsgiUtils;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.component.ComponentConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,11 +49,15 @@ public abstract class AbstractDistributi
 
     protected static final String DEFAULT_TRIGGER_TARGET = "(name=)";
 
+    private static final String TRIGGERS_TARGET = "triggers.target";
+
+
     private ServiceRegistration componentReg;
     private BundleContext savedContext;
     private Map<String, Object> savedConfig;
     private String agentName;
     private List<DistributionTrigger> triggers = new CopyOnWriteArrayList<DistributionTrigger>();
+    private boolean triggersEnabled = false;
 
     private SimpleDistributionAgent agent;
 
@@ -66,12 +72,22 @@ public abstract class AbstractDistributi
         Dictionary<String, Object> props = new Hashtable<String, Object>();
 
         boolean enabled = PropertiesUtil.toBoolean(config.get(ENABLED), true);
+        String triggersTarget = PropertiesUtil.toString(config.get(TRIGGERS_TARGET), null);
+        triggersEnabled = triggersTarget != null || triggersTarget.trim().length() > 0;
+        agentName = PropertiesUtil.toString(config.get(NAME), null);
+
 
-        if (enabled) {
-            props.put(ENABLED, true);
+        if (enabled && agentName != null) {
 
-            agentName = PropertiesUtil.toString(config.get(NAME), null);
-            props.put(NAME, agentName);
+            for (Map.Entry<String, Object> entry: config.entrySet()) {
+                // skip service and component related properties
+                if (entry.getKey().startsWith("service.") || entry.getKey().startsWith("component.")) {
+                    continue;
+                }
+
+                props.put(entry.getKey(), entry.getValue());
+
+            }
 
             if (componentReg == null) {
 
@@ -90,9 +106,12 @@ public abstract class AbstractDistributi
                     componentReg = context.registerService(DistributionAgent.class.getName(), agent, props);
                     agent.enable();
 
-                    for (DistributionTrigger trigger : triggers) {
-                        agent.enableTrigger(trigger);
+                    if (triggersEnabled) {
+                        for (DistributionTrigger trigger : triggers) {
+                            agent.enableTrigger(trigger);
+                        }
                     }
+
                 }
 
                 log.info("activated agent {}", agentName);
@@ -103,7 +122,7 @@ public abstract class AbstractDistributi
 
     protected void bindDistributionTrigger(DistributionTrigger distributionTrigger, Map<String, Object> config) {
         triggers.add(distributionTrigger);
-        if (agent != null) {
+        if (agent != null  && triggersEnabled) {
             agent.enableTrigger(distributionTrigger);
         }
 
@@ -117,6 +136,7 @@ public abstract class AbstractDistributi
         }
     }
 
+
     protected void deactivate(BundleContext context) {
         if (componentReg != null) {
             ServiceReference reference = componentReg.getReference();
@@ -127,7 +147,7 @@ public abstract class AbstractDistributi
                     agent.disableTrigger(trigger);
                 }
                 triggers.clear();
-
+                triggersEnabled = false;
                 agent.disable();
             }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java Mon Jan 19 14:46:02 2015
@@ -57,7 +57,7 @@ import java.util.Map;
  * An OSGi service factory for {@link org.apache.sling.distribution.agent.DistributionAgent}s which references already existing OSGi services.
  */
 @Component(metatype = true,
-        label = "Sling Distribution - Forward Agents Factory",
+        label = "Sling Distribution Agent - Forward Agents Factory",
         description = "OSGi configuration factory for forward agents",
         configurationFactory = true,
         specVersion = "1.1",
@@ -69,46 +69,60 @@ import java.util.Map;
 public class ForwardDistributionAgentFactory extends AbstractDistributionAgentFactory {
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-    @Property(label = "Name")
+    @Property(label = "Name", description = "The name of the agent.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(boolValue = true, label = "Enabled")
+    @Property(boolValue = true, label = "Enabled", description = "Whether or not to start the distribution agent.")
     private static final String ENABLED = "enabled";
 
 
-    @Property(label = "Service Name")
+    @Property(label = "Service Name", description = "The name of the service used to access the repository.")
     public static final String SERVICE_NAME = "serviceName";
 
+
+    @Property(boolValue = true, label = "Queue Processing Enabled", description = "Whether or not the distribution agent should process packages in the queues.")
+    public static final String QUEUE_PROCESSING_ENABLED = "queue.processing.enabled";
+
+
     /**
      * endpoints property
      */
-    @Property(cardinality = 100)
+    @Property(cardinality = 100, label = "Importer Endpoints", description = "List of endpoints to which packages are sent (imported). " +
+            "The list can be given as a map in case a queue should be configured for each endpoint, e.g. queueName=http://...")
     public static final String IMPORTER_ENDPOINTS = "packageImporter.endpoints";
 
-    @Property(label = "Use multiple queues", boolValue = false)
+
+    @Property(boolValue = false, label = "Use multiple queues", description = "Whether or not to use an individual queue for each importer endpoint. " +
+            "If the queue names are not specified by importer endpoints definition then they are autogenerated.")
     public static final String USE_MULTIPLE_QUEUES = "useMultipleQueues";
 
-    @Reference
-    private Packaging packaging;
 
-    @Property(name = "requestAuthorizationStrategy.target")
+
+    @Property(name = "requestAuthorizationStrategy.target", label = "Request Authorization Strategy", description = "The target reference for the DistributionRequestAuthorizationStrategy used to authorize the access to distribution process," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "requestAuthorizationStrategy")
     private DistributionRequestAuthorizationStrategy requestAuthorizationStrategy;
 
 
-    @Property(name = "transportSecretProvider.target")
+    @Property(name = "transportSecretProvider.target", label = "Transport Secret Provider", description = "The target reference for the DistributionTransportSecretProvider used to obtain the credentials used for accessing the remote endpoints, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "transportSecretProvider")
     DistributionTransportSecretProvider transportSecretProvider;
 
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
     private DistributionPackageBuilder packageBuilder;
 
-    @Property(value = DEFAULT_TRIGGER_TARGET)
+    @Property(value = DEFAULT_TRIGGER_TARGET, label = "Triggers", description = "The target reference for DistributionTrigger used to trigger distribution, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     public static final String TRIGGERS_TARGET = "triggers.target";
 
     @Reference
+    private Packaging packaging;
+
+    @Reference
     private DistributionEventFactory distributionEventFactory;
 
     @Reference
@@ -143,6 +157,8 @@ public class ForwardDistributionAgentFac
     @Override
     protected SimpleDistributionAgent createAgent(String agentName, BundleContext context, Map<String, Object> config) {
         String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), null);
+        boolean queueProcessingEnabled = PropertiesUtil.toBoolean(config.get(QUEUE_PROCESSING_ENABLED), true);
+
 
 
         DistributionPackageExporter packageExporter = new LocalDistributionPackageExporter(packageBuilder);
@@ -164,7 +180,7 @@ public class ForwardDistributionAgentFac
         }
 
 
-        return new SimpleDistributionAgent(agentName, false, serviceName,
+        return new SimpleDistributionAgent(agentName, queueProcessingEnabled, serviceName,
                 packageImporter, packageExporter, requestAuthorizationStrategy,
                 queueProvider, dispatchingStrategy, distributionEventFactory, resourceResolverFactory);
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyFactory.java Mon Jan 19 14:46:02 2015
@@ -33,7 +33,7 @@ import org.apache.sling.distribution.com
 import org.osgi.framework.BundleContext;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Privilege Request Authorization Strategy",
+        label = "Sling Distribution Request Authorization - Privilege Request Authorization Strategy",
         description = "OSGi configuration for request based authorization strategy based on privileges",
         configurationFactory = true,
         specVersion = "1.1",
@@ -44,23 +44,23 @@ import org.osgi.framework.BundleContext;
 public class PrivilegeDistributionRequestAuthorizationStrategyFactory implements DistributionRequestAuthorizationStrategy {
 
     /**
-     * name of this component.
+     * name of this strategy.
      */
-    @Property
+    @Property(label = "Name")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
     /**
      * privilege request authorization strategy jcr privilege property
      */
-    @Property
-    public static final String REQUEST_AUTHORIZATION_STRATEGY_PRIVILEGE_PROPERTY_JCR_PRIVILEGE = "jcrPrivilege";
+    @Property(label = "Jcr Privilege", description = "Jcr privilege to check for authorizing distribution requests. The privilege is checked for the calling user session.")
+    public static final String JCR_PRIVILEGE = "jcrPrivilege";
 
 
     DistributionRequestAuthorizationStrategy authorizationStrategy;
 
     @Activate
     public void activate(BundleContext context, Map<String, Object> config) {
-        String jcrPrivilege = PropertiesUtil.toString(config.get(REQUEST_AUTHORIZATION_STRATEGY_PRIVILEGE_PROPERTY_JCR_PRIVILEGE), null);
+        String jcrPrivilege = PropertiesUtil.toString(config.get(JCR_PRIVILEGE), null);
         authorizationStrategy = new PrivilegeDistributionRequestAuthorizationStrategy(jcrPrivilege);
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java Mon Jan 19 14:46:02 2015
@@ -38,6 +38,7 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.impl.SingleQueueDispatchingStrategy;
 import org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueueProvider;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
+import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
 import org.apache.sling.event.jobs.JobManager;
 import org.apache.sling.settings.SlingSettingsService;
@@ -51,7 +52,7 @@ import java.util.Map;
  * An OSGi service factory for {@link org.apache.sling.distribution.agent.DistributionAgent}s which references already existing OSGi services.
  */
 @Component(metatype = true,
-        label = "Sling Distribution - Queue Agents Factory",
+        label = "Sling Distribution Agent - Queue Agents Factory",
         description = "OSGi configuration factory for queueing agents",
         configurationFactory = true,
         specVersion = "1.1",
@@ -63,31 +64,34 @@ import java.util.Map;
 public class QueueDistributionAgentFactory extends AbstractDistributionAgentFactory {
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-    @Property(label = "Name")
+    @Property(label = "Name", description = "The name of the agent.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(boolValue = true, label = "Enabled")
+    @Property(boolValue = true, label = "Enabled", description = "Whether or not to start the distribution agent.")
     private static final String ENABLED = "enabled";
 
 
-    @Property(label = "Service Name")
+    @Property(label = "Service Name", description = "The name of the service used to access the repository.")
     public static final String SERVICE_NAME = "serviceName";
 
-    @Reference
-    private Packaging packaging;
 
-    @Property(name = "requestAuthorizationStrategy.target")
+    @Property(name = "requestAuthorizationStrategy.target", label = "Request Authorization Strategy", description = "The target reference for the DistributionRequestAuthorizationStrategy used to authorize the access to distribution process," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "requestAuthorizationStrategy")
     private DistributionRequestAuthorizationStrategy requestAuthorizationStrategy;
 
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
     private DistributionPackageBuilder packageBuilder;
 
-    @Property(value = DEFAULT_TRIGGER_TARGET)
+    @Property(value = DEFAULT_TRIGGER_TARGET, label = "Triggers", description = "The target reference for DistributionTrigger used to trigger distribution, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     public static final String TRIGGERS_TARGET = "triggers.target";
 
+    @Reference
+    private Packaging packaging;
 
     @Reference
     private DistributionEventFactory distributionEventFactory;
@@ -128,7 +132,7 @@ public class QueueDistributionAgentFacto
         DistributionQueueDispatchingStrategy dispatchingStrategy = new SingleQueueDispatchingStrategy();
         DistributionPackageExporter packageExporter = new LocalDistributionPackageExporter(packageBuilder);
 
-        return new SimpleDistributionAgent(agentName, true, serviceName,
+        return new SimpleDistributionAgent(agentName, false, serviceName,
                 null, packageExporter, requestAuthorizationStrategy,
                 queueProvider, dispatchingStrategy, distributionEventFactory, resourceResolverFactory);
     }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java Mon Jan 19 14:46:02 2015
@@ -55,7 +55,7 @@ import java.util.Map;
  * An OSGi service factory for {@link org.apache.sling.distribution.agent.DistributionAgent}s which references already existing OSGi services.
  */
 @Component(metatype = true,
-        label = "Sling Distribution - Reverse Agents Factory",
+        label = "Sling Distribution Agent - Reverse Agents Factory",
         description = "OSGi configuration factory for reverse agents",
         configurationFactory = true,
         specVersion = "1.1",
@@ -67,49 +67,60 @@ import java.util.Map;
 public class ReverseDistributionAgentFactory extends AbstractDistributionAgentFactory {
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-    @Property(label = "Name")
+
+    @Property(label = "Name", description = "The name of the agent.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(boolValue = true, label = "Enabled")
+    @Property(boolValue = true, label = "Enabled", description = "Whether or not to start the distribution agent.")
     private static final String ENABLED = "enabled";
 
 
-    @Property(label = "Service Name")
+    @Property(label = "Service Name", description = "The name of the service used to access the repository.")
     public static final String SERVICE_NAME = "serviceName";
 
+
+    @Property(boolValue = true, label = "Queue Processing Enabled", description = "Whether or not the distribution agent should process packages in the queues.")
+    public static final String QUEUE_PROCESSING_ENABLED = "queue.processing.enabled";
+
+
     /**
      * endpoints property
      */
-    @Property(cardinality = 100)
+    @Property(cardinality = 100, label = "Importer Endpoints", description = "List of endpoints from which packages are received (exported).")
     public static final String EXPORTER_ENDPOINTS = "packageExporter.endpoints";
 
     /**
      * no. of items to poll property
      */
-    @Property(name = "pull items", description = "number of subsequent pull requests to make", intValue = 1)
+    @Property(intValue = 1, label = "Pull Items", description = "Number of subsequent pull requests to make.")
     public static final String PULL_ITEMS = "pull.items";
 
-    @Reference
-    private Packaging packaging;
 
-    @Property(name = "requestAuthorizationStrategy.target")
+    @Property(name = "requestAuthorizationStrategy.target", label = "Request Authorization Strategy", description = "The target reference for the DistributionRequestAuthorizationStrategy used to authorize the access to distribution process," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "requestAuthorizationStrategy")
     private DistributionRequestAuthorizationStrategy requestAuthorizationStrategy;
 
 
-    @Property(name = "transportSecretProvider.target")
+    @Property(name = "transportSecretProvider.target", label = "Transport Secret Provider", description = "The target reference for the DistributionTransportSecretProvider used to obtain the credentials used for accessing the remote endpoints, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "transportSecretProvider")
     DistributionTransportSecretProvider transportSecretProvider;
 
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
     private DistributionPackageBuilder packageBuilder;
 
-    @Property(value = DEFAULT_TRIGGER_TARGET)
+    @Property(value = DEFAULT_TRIGGER_TARGET, label = "Triggers", description = "The target reference for DistributionTrigger used to trigger distribution, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     public static final String TRIGGERS_TARGET = "triggers.target";
 
     @Reference
+    private Packaging packaging;
+
+    @Reference
     private DistributionEventFactory distributionEventFactory;
 
     @Reference
@@ -144,6 +155,8 @@ public class ReverseDistributionAgentFac
     @Override
     protected SimpleDistributionAgent createAgent(String agentName, BundleContext context, Map<String, Object> config) {
         String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), null);
+        boolean queueProcessingEnabled = PropertiesUtil.toBoolean(config.get(QUEUE_PROCESSING_ENABLED), true);
+
 
         String[] exporterEndpoints = PropertiesUtil.toStringArray(config.get(EXPORTER_ENDPOINTS), new String[0]);
 
@@ -157,7 +170,7 @@ public class ReverseDistributionAgentFac
 
         DistributionQueueDispatchingStrategy dispatchingStrategy = new SingleQueueDispatchingStrategy();
 
-        return new SimpleDistributionAgent(agentName, false, serviceName,
+        return new SimpleDistributionAgent(agentName, queueProcessingEnabled, serviceName,
                 packageImporter, packageExporter, requestAuthorizationStrategy,
                 queueProvider, dispatchingStrategy, distributionEventFactory, resourceResolverFactory);
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java Mon Jan 19 14:46:02 2015
@@ -70,7 +70,7 @@ public class SimpleDistributionAgent imp
 
     private final DistributionQueueProvider queueProvider;
 
-    private final boolean passive;
+    private final boolean queueProcessingEnabled;
     private final DistributionPackageImporter distributionPackageImporter;
     private final DistributionPackageExporter distributionPackageExporter;
 
@@ -87,7 +87,7 @@ public class SimpleDistributionAgent imp
     private boolean active = false;
 
     public SimpleDistributionAgent(String name,
-                                   boolean passive,
+                                   boolean queueProcessingEnabled,
                                    String subServiceName,
                                    DistributionPackageImporter distributionPackageImporter,
                                    DistributionPackageExporter distributionPackageExporter,
@@ -99,7 +99,7 @@ public class SimpleDistributionAgent imp
 
         // check configuration is valid
         if (name == null
-                || (!passive && distributionPackageImporter == null)
+                || (queueProcessingEnabled && distributionPackageImporter == null)
                 || distributionPackageExporter == null
                 || subServiceName == null
                 || distributionRequestAuthorizationStrategy == null
@@ -124,7 +124,7 @@ public class SimpleDistributionAgent imp
         this.distributionRequestAuthorizationStrategy = distributionRequestAuthorizationStrategy;
         this.resourceResolverFactory = resourceResolverFactory;
         this.name = name;
-        this.passive = passive;
+        this.queueProcessingEnabled = queueProcessingEnabled;
         this.distributionPackageImporter = distributionPackageImporter;
         this.distributionPackageExporter = distributionPackageExporter;
         this.queueProvider = queueProvider;
@@ -156,7 +156,7 @@ public class SimpleDistributionAgent imp
     }
 
     boolean isPassive() {
-        return passive;
+        return !queueProcessingEnabled;
     }
 
     private List<DistributionPackage> exportPackages(ResourceResolver agentResourceResolver, DistributionRequest distributionRequest) throws DistributionPackageExportException {

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java Mon Jan 19 14:46:02 2015
@@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory;
  * An OSGi service factory for {@link org.apache.sling.distribution.agent.DistributionAgent}s which references already existing OSGi services.
  */
 @Component(metatype = true,
-        label = "Sling Distribution - Simple Agents Factory",
+        label = "Sling Distribution Agent - Simple Agents Factory",
         description = "OSGi configuration factory for agents",
         configurationFactory = true,
         specVersion = "1.1",
@@ -61,34 +61,42 @@ import org.slf4j.LoggerFactory;
 public class SimpleDistributionAgentFactory extends AbstractDistributionAgentFactory {
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-    @Property(label = "Name")
+
+    @Property(label = "Name", description = "The name of the agent.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(boolValue = true, label = "Enabled")
+    @Property(boolValue = true, label = "Enabled", description = "Whether or not to start the distribution agent.")
     private static final String ENABLED = "enabled";
 
 
-    @Property(boolValue = false, label = "Use this agent as a passive one (only queueing)")
-    public static final String IS_PASSIVE = "isPassive";
+    @Property(label = "Service Name", description = "The name of the service used to access the repository.")
+    public static final String SERVICE_NAME = "serviceName";
 
 
-    @Property(label = "Service Name")
-    public static final String SERVICE_NAME = "serviceName";
+    @Property(boolValue = true, label = "Queue Processing Enabled", description = "Whether or not the distribution agent should process packages in the queues.")
+    public static final String QUEUE_PROCESSING_ENABLED = "queue.processing.enabled";
 
-    @Property(name = "packageExporter.target")
+
+    @Property(name = "packageExporter.target", label = "Exporter", description = "The target reference for the DistributionPackageExporter used to receive (export) the distribution packages," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageExporter")
     private DistributionPackageExporter packageExporter;
 
 
-    @Property(name = "packageImporter.target")
+    @Property(name = "packageImporter.target", label = "Importer", description = "The target reference for the DistributionPackageImporter used to send (import) the distribution packages," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageImporter")
     private DistributionPackageImporter packageImporter;
 
-    @Property(name = "requestAuthorizationStrategy.target")
+
+    @Property(name = "requestAuthorizationStrategy.target", label = "Request Authorization Strategy", description = "The target reference for the DistributionRequestAuthorizationStrategy used to authorize the access to distribution process," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "requestAuthorizationStrategy")
     private DistributionRequestAuthorizationStrategy requestAuthorizationStrategy;
 
-    @Property(value = DEFAULT_TRIGGER_TARGET)
+
+    @Property(value = DEFAULT_TRIGGER_TARGET, label = "Triggers", description = "The target reference for DistributionTrigger used to trigger distribution, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     public static final String TRIGGERS_TARGET = "triggers.target";
 
 
@@ -129,11 +137,11 @@ public class SimpleDistributionAgentFact
     protected SimpleDistributionAgent createAgent(String agentName, BundleContext context, Map<String, Object> config) {
         String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), null);
 
-        boolean isPassive = PropertiesUtil.toBoolean(config.get(IS_PASSIVE), false);
+        boolean queueProcessingEnabled = PropertiesUtil.toBoolean(config.get(QUEUE_PROCESSING_ENABLED), true);
 
         DistributionQueueProvider queueProvider =  new JobHandlingDistributionQueueProvider(agentName, jobManager, context);
         DistributionQueueDispatchingStrategy dispatchingStrategy = new SingleQueueDispatchingStrategy();
-        return new SimpleDistributionAgent(agentName, isPassive, serviceName,
+        return new SimpleDistributionAgent(agentName, queueProcessingEnabled, serviceName,
                 packageImporter, packageExporter, requestAuthorizationStrategy,
                 queueProvider, dispatchingStrategy, distributionEventFactory, resourceResolverFactory);
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java Mon Jan 19 14:46:02 2015
@@ -57,7 +57,7 @@ import java.util.Map;
  * An OSGi service factory for {@link org.apache.sling.distribution.agent.DistributionAgent}s which references already existing OSGi services.
  */
 @Component(metatype = true,
-        label = "Sling Distribution - Sync Agents Factory",
+        label = "Sling Distribution Agent - Sync Agents Factory",
         description = "OSGi configuration factory for syncing agents",
         configurationFactory = true,
         specVersion = "1.1",
@@ -69,51 +69,57 @@ import java.util.Map;
 public class SyncDistributionAgentFactory extends AbstractDistributionAgentFactory {
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-    @Property(label = "Name")
+    @Property(label = "Name", description = "The name of the agent.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(boolValue = true, label = "Enabled")
+    @Property(boolValue = true, label = "Enabled", description = "Whether or not to start the distribution agent.")
     private static final String ENABLED = "enabled";
 
 
-    @Property(label = "Service Name")
+    @Property(label = "Service Name", description = "The name of the service used to access the repository.")
     public static final String SERVICE_NAME = "serviceName";
 
     /**
      * endpoints property
      */
-    @Property(cardinality = 100)
+    @Property(cardinality = 100, label = "Exporter Endpoints", description = "List of endpoints from which packages are received (exported)")
     public static final String EXPORTER_ENDPOINTS = "packageExporter.endpoints";
 
     /**
      * endpoints property
      */
-    @Property(cardinality = 100)
+    @Property(cardinality = 100, label = "Importer Endpoints", description = "List of endpoints to which packages are sent (imported). " +
+            "The list can be given as a map in case a queue should be configured for each endpoint, e.g. queueName=http://...")
     public static final String IMPORTER_ENDPOINTS = "packageImporter.endpoints";
 
 
 
-    @Property(label = "Use multiple queues", boolValue = false)
+    @Property(boolValue = false, label = "Use multiple queues", description = "Whether or not to use an individual queue for each importer endpoint. " +
+            "If the queue names are not specified by importer endpoints definition then they are autogenerated.")
     public static final String USE_MULTIPLE_QUEUES = "useMultipleQueues";
 
     @Reference
     private Packaging packaging;
 
-    @Property(name = "requestAuthorizationStrategy.target")
+    @Property(name = "requestAuthorizationStrategy.target", label = "Request Authorization Strategy", description = "The target reference for the DistributionRequestAuthorizationStrategy used to authorize the access to distribution process," +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "requestAuthorizationStrategy")
     private DistributionRequestAuthorizationStrategy requestAuthorizationStrategy;
 
 
-    @Property(name = "transportSecretProvider.target")
+    @Property(name = "transportSecretProvider.target", label = "Transport Secret Provider", description = "The target reference for the DistributionTransportSecretProvider used to obtain the credentials used for accessing the remote endpoints, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "transportSecretProvider")
     DistributionTransportSecretProvider transportSecretProvider;
 
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
     private DistributionPackageBuilder packageBuilder;
 
-    @Property(value = DEFAULT_TRIGGER_TARGET)
+    @Property(value = DEFAULT_TRIGGER_TARGET, label = "Triggers", description = "The target reference for DistributionTrigger used to trigger distribution, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     public static final String TRIGGERS_TARGET = "triggers.target";
 
     @Reference

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceBasedDistributionComponentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceBasedDistributionComponentFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceBasedDistributionComponentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceBasedDistributionComponentFactory.java Mon Jan 19 14:46:02 2015
@@ -56,8 +56,7 @@ import org.slf4j.LoggerFactory;
  * A root path must be configured for listening on content changes.
  * The changes to the resource settings will be checked periodically (30s) to avoid event bursts and concurrency issues.
  */
-@Component(metatype = true,
-        label = "Sling Distribution - Resource Based Component Factory",
+@Component(label = "Sling Distribution - Resource Based Component Factory",
         description = "Resource configuration for Distribution Components Factory",
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java Mon Jan 19 14:46:02 2015
@@ -40,7 +40,7 @@ import org.apache.sling.distribution.ser
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Component(label = "Sling Distribution - Agent Based Package Exporter",
+@Component(label = "Sling Distribution Exporter - Agent Based Package Exporter",
         metatype = true,
         configurationFactory = true,
         specVersion = "1.1",
@@ -51,22 +51,23 @@ public class AgentDistributionPackageExp
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     /**
-     * name of this component.
+     * name of this exporter.
      */
-    @Property
+    @Property(label = "Name", description = "The name of the exporter.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property
+    @Property(label = "Queue", description = "The name of the queue from which the packages should be exported.")
     private static final String QUEUE_NAME = "queue";
 
-    @Property(name = "agent.target")
+    @Property(name = "agent.target", label = "The target reference for the DistributionAgent that will be used to export packages.")
     @Reference(name = "agent")
     private DistributionAgent agent;
 
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
-    DistributionPackageBuilder packageBuilder;
+    private DistributionPackageBuilder packageBuilder;
 
     private DistributionPackageExporter packageExporter;
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java Mon Jan 19 14:46:02 2015
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
  * {@link org.apache.sling.distribution.packaging.DistributionPackageExporter} implementation which creates a FileVault based
  * {@link org.apache.sling.distribution.packaging.DistributionPackage} locally.
  */
-@Component(label = "Sling Distribution - Local Package Exporter Factory",
+@Component(label = "Sling Distribution Exporter - Local Package Exporter Factory",
         metatype = true,
         configurationFactory = true,
         specVersion = "1.1",
@@ -53,14 +53,15 @@ public class LocalDistributionPackageExp
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     /**
-     * name of this component.
+     * name of this exporter.
      */
-    @Property
+    @Property(label = "Name", description = "The name of the exporter.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
-    DistributionPackageBuilder packageBuilder;
+    private DistributionPackageBuilder packageBuilder;
 
     private DistributionPackageExporter exporter;
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java Mon Jan 19 14:46:02 2015
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Default implementation of {@link org.apache.sling.distribution.packaging.DistributionPackageExporter}
  */
-@Component(label = "Sling Distribution - Remote Package Exporter Factory",
+@Component(label = "Sling Distribution Exporter - Remote Package Exporter Factory",
         metatype = true,
         configurationFactory = true,
         specVersion = "1.1",
@@ -59,15 +59,15 @@ public class RemoteDistributionPackageEx
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     /**
-     * name of this component.
+     * name of this exporter.
      */
-    @Property
+    @Property(label = "Name", description = "The name of the exporter.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
     /**
      * endpoints property
      */
-    @Property(cardinality = -1)
+    @Property(cardinality = 100, label = "Endpoints", description = "The list of endpoints from which the packages will be exported.")
     public static final String ENDPOINTS = "endpoints";
 
     /**
@@ -80,36 +80,40 @@ public class RemoteDistributionPackageEx
             @PropertyOption(name = "One",
                     value = "one endpoint"
             )},
-            value = "One"
+            value = "One",
+            label = "Endpoint Strategy", description = "Specifies whether to export packages from all endpoints or just from one."
     )
     public static final String ENDPOINTS_STRATEGY = "endpoints.strategy";
 
     /**
      * no. of items to poll property
      */
-    @Property(name = "pull items", description = "number of subsequent pull requests to make", intValue = 1)
+    @Property(label = "Pull Items", description = "number of subsequent pull requests to make", intValue = 1)
     public static final String PULL_ITEMS = "pull.items";
 
-    @Property(name = "packageBuilder.target")
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
     private DistributionPackageBuilder packageBuilder;
 
-    @Property(name = "transportSecretProvider.target")
+
+    @Property(name = "transportSecretProvider.target", label = "Transport Secret Provider", description = "The target reference for the DistributionTransportSecretProvider used to obtain the credentials used for accessing the remote endpoints, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "transportSecretProvider")
-    private DistributionTransportSecretProvider distributionTransportSecretProvider;
+    DistributionTransportSecretProvider transportSecretProvider;
 
     private DistributionPackageExporter exporter;
 
     @Activate
     protected void activate(Map<String, Object> config) throws Exception {
-        log.info("activating remote exporter with pb {} and dtsp {}", packageBuilder, distributionTransportSecretProvider);
+        log.info("activating remote exporter with pb {} and dtsp {}", packageBuilder, transportSecretProvider);
 
         String[] endpoints = PropertiesUtil.toStringArray(config.get(ENDPOINTS), new String[0]);
         String endpointStrategyName = PropertiesUtil.toString(config.get(ENDPOINTS_STRATEGY), "One");
         int pollItems = PropertiesUtil.toInteger(config.get(PULL_ITEMS), Integer.MAX_VALUE);
 
         TransportEndpointStrategyType transportEndpointStrategyType = TransportEndpointStrategyType.valueOf(endpointStrategyName);
-        exporter = new RemoteDistributionPackageExporter(packageBuilder, distributionTransportSecretProvider, endpoints,
+        exporter = new RemoteDistributionPackageExporter(packageBuilder, transportSecretProvider, endpoints,
                 transportEndpointStrategyType, pollItems);
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java Mon Jan 19 14:46:02 2015
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * {@link org.apache.sling.distribution.packaging.DistributionPackageImporter} implementation which imports a FileVault
  * based {@link org.apache.sling.distribution.packaging.DistributionPackage} locally.
  */
-@Component(label = "Sling Distribution - Local Package Importer Factory",
+@Component(label = "Sling Distribution Importer - Local Package Importer Factory",
         metatype = true,
         configurationFactory = true,
         specVersion = "1.1",
@@ -50,12 +50,14 @@ public class LocalDistributionPackageImp
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     /**
-     * name of this component.
+     * name of this importer.
      */
-    @Property
+    @Property(label = "Name", description = "The name of the importer.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property(name = "packageBuilder.target")
+
+    @Property(name = "packageBuilder.target", label = "Package Builder", description = "The target reference for the DistributionPackageBuilder used to create distribution packages, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "packageBuilder")
     private DistributionPackageBuilder packageBuilder;
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java Mon Jan 19 14:46:02 2015
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Remote implementation of {@link org.apache.sling.distribution.packaging.DistributionPackageImporter}
  */
-@Component(label = "Sling Distribution - Remote Package Importer Factory",
+@Component(label = "Sling Distribution Importer - Remote Package Importer Factory",
         metatype = true,
         configurationFactory = true,
         specVersion = "1.1",
@@ -54,16 +54,18 @@ public class RemoteDistributionPackageIm
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
+
     /**
-     * name of this component.
+     * name of this importer.
      */
-    @Property
+    @Property(label = "Name", description = "The name of the importer.")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
+
     /**
      * endpoints property
      */
-    @Property(cardinality = -1)
+    @Property(cardinality = 100, label = "Endpoints", description = "The list of endpoints to which the packages will be imported.")
     public static final String ENDPOINTS = "endpoints";
 
     /**
@@ -76,13 +78,16 @@ public class RemoteDistributionPackageIm
             @PropertyOption(name = "One",
                     value = "one endpoint"
             )},
-            value = "One"
+            value = "One",
+            label = "Endpoint Strategy", description = "Specifies whether to import packages to all endpoints or just to one."
     )
     public static final String ENDPOINTS_STRATEGY = "endpoints.strategy";
 
-    @Property(name = "transportSecretProvider.target")
+
+    @Property(name = "transportSecretProvider.target", label = "Transport Secret Provider", description = "The target reference for the DistributionTransportSecretProvider used to obtain the credentials used for accessing the remote endpoints, " +
+            "e.g. use target=(name=...) to bind to services by name.")
     @Reference(name = "transportSecretProvider")
-    private DistributionTransportSecretProvider distributionTransportSecretProvider;
+    DistributionTransportSecretProvider transportSecretProvider;
 
     private DistributionPackageImporter importer;
 
@@ -94,7 +99,7 @@ public class RemoteDistributionPackageIm
 
         TransportEndpointStrategyType transportEndpointStrategyType = TransportEndpointStrategyType.valueOf(endpointStrategyName);
 
-        importer =  new RemoteDistributionPackageImporter(distributionTransportSecretProvider, endpoints, transportEndpointStrategyType);
+        importer =  new RemoteDistributionPackageImporter(transportSecretProvider, endpoints, transportEndpointStrategyType);
 
     }
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java Mon Jan 19 14:46:02 2015
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Factory for {@link org.apache.sling.distribution.packaging.impl.importer.RepositoryDistributionPackageImporter}s
  */
-@Component(label = "Sling Distribution - Repository Package Importer Factory",
+@Component(label = "Sling Distribution Importer - Repository Package Importer Factory",
         metatype = true,
         configurationFactory = true,
         specVersion = "1.1",

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProviderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProviderFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProviderFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProviderFactory.java Mon Jan 19 14:46:02 2015
@@ -40,11 +40,10 @@ import org.slf4j.LoggerFactory;
 import java.util.Map;
 
 
-@Component(label = "Distribution Configuration Resource Provider Factory",
+@Component(label = "Sling Distribution Resources - Configuration Resource Provider Factory",
         description = "Distribution Configuration Resource Provider Factory",
         specVersion = "1.1",
-        policy = ConfigurationPolicy.REQUIRE,
-        metatype = true)
+        policy = ConfigurationPolicy.REQUIRE)
 @Service(value = ResourceProviderFactory.class)
 @Properties({
         @Property(name = ResourceProvider.ROOTS),
@@ -54,8 +53,6 @@ public class DistributionConfigurationRe
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
-
-
     @Property
     public final static String KIND = DistributionComponentUtils.PN_KIND;
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProviderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProviderFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProviderFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProviderFactory.java Mon Jan 19 14:46:02 2015
@@ -43,12 +43,11 @@ import org.slf4j.LoggerFactory;
 import javax.servlet.http.HttpServletRequest;
 
 
-@Component(label = "Distribution Service Resource Provider Factory",
+@Component(label = "Sling Distribution Resources - Service Resource Provider Factory",
         description = "Distribution Service Resource Provider Factory",
         configurationFactory = true,
         specVersion = "1.1",
-        policy = ConfigurationPolicy.REQUIRE,
-        metatype = true)
+        policy = ConfigurationPolicy.REQUIRE)
 @Service(value = ResourceProvider.class)
 @Properties({
         @Property(name = ResourceProvider.ROOTS),

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java Mon Jan 19 14:46:02 2015
@@ -26,6 +26,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.ConfigurationPolicy;
 import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.PropertyOption;
 import org.apache.felix.scr.annotations.Reference;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.vault.fs.api.ImportMode;
@@ -42,7 +43,7 @@ import org.apache.sling.distribution.ser
 import org.apache.sling.distribution.serialization.impl.ResourceSharedDistributionPackageBuilder;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Vault Package Builder Factory",
+        label = "Sling Distribution Packaging - Vault Package Builder Factory",
         description = "OSGi configuration for vault package builders",
         configurationFactory = true,
         specVersion = "1.1",
@@ -53,28 +54,38 @@ public class VaultDistributionPackageBui
 
 
     /**
-     * type of this component.
+     * name of this package builder.
      */
-    @Property
-    public static final String TYPE = DistributionComponentUtils.PN_TYPE;
+    @Property(label = "Name", description = "The name of the package builder.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
+
+
 
     /**
-     * name of this component.
+     * type of this package builder.
      */
-    @Property
-    public static final String NAME = DistributionComponentUtils.PN_NAME;
+    @Property(options = {
+            @PropertyOption(name = "jcrvlt",
+                    value = "jcr packages"
+            ),
+            @PropertyOption(name = "filevlt",
+                    value = "file packages"
+            )},
+            value = "jcrvlt", label = "type", description = "The type of this package builder")
+    public static final String TYPE = DistributionComponentUtils.PN_TYPE;
+
 
     /**
      * import mode property for file vault package builder
      */
-    @Property
-    public static final String PACKAGE_BUILDER_FILEVLT_IMPORT_MODE = "importMode";
+    @Property(label = "Import Mode", description = "The vlt import mode for created packages.")
+    public static final String IMPORT_MODE = "importMode";
 
     /**
      * ACL handling property for file vault package builder
      */
-    @Property
-    public static final String PACKAGE_BUILDER_FILEVLT_ACLHANDLING = "aclHandling";
+    @Property(label = "Acl Handling", description = "The vltacl handling mode for created packages.")
+    public static final String ACL_HANDLING = "aclHandling";
 
     @Reference
     private Packaging packaging;
@@ -86,8 +97,8 @@ public class VaultDistributionPackageBui
     public void activate(Map<String, Object> config) {
 
         String type = PropertiesUtil.toString(config.get(TYPE), null);
-        String importModeString = PropertiesUtil.toString(config.get(PACKAGE_BUILDER_FILEVLT_IMPORT_MODE), null);
-        String aclHandlingString = PropertiesUtil.toString(config.get(PACKAGE_BUILDER_FILEVLT_ACLHANDLING), null);
+        String importModeString = PropertiesUtil.toString(config.get(IMPORT_MODE), null);
+        String aclHandlingString = PropertiesUtil.toString(config.get(ACL_HANDLING), null);
 
         ImportMode importMode = null;
         if (importMode != null) {

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java Mon Jan 19 14:46:02 2015
@@ -35,7 +35,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Component(metatype = true,
-        label = "Sling Distribution - User Credentials based DistributionTransportSecretProvider",
+        label = "Sling Distribution Transport Credentials - User Credentials based DistributionTransportSecretProvider",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE)
@@ -46,13 +46,13 @@ public class UserCredentialsDistribution
     /**
      * name of this component.
      */
-    @Property
+    @Property(label = "Name")
     public static final String NAME = DistributionComponentUtils.PN_NAME;
 
-    @Property
+    @Property(label = "User Name", description = "The name of the user used to perform remote actions.")
     public final static String USERNAME = "username";
 
-    @Property
+    @Property(label = "Password", description = "The clear text password to perform authentication. Warning: storing clear text passwords is not safe.")
     public final static String PASSWORD = "password";
 
     private final Logger log = LoggerFactory.getLogger(getClass());

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java Mon Jan 19 14:46:02 2015
@@ -43,8 +43,6 @@ import org.slf4j.LoggerFactory;
  */
 public class DistributionEventDistributeDistributionTrigger implements DistributionTrigger {
 
-    public static final String PATH = "path";
-
     private final Logger log = LoggerFactory.getLogger(getClass());
     private final String pathPrefix;
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTriggerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTriggerFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTriggerFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTriggerFactory.java Mon Jan 19 14:46:02 2015
@@ -25,6 +25,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
 import org.apache.sling.distribution.trigger.DistributionRequestHandler;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
 import org.apache.sling.distribution.trigger.DistributionTriggerException;
@@ -34,7 +35,7 @@ import javax.annotation.Nonnull;
 import java.util.Map;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Distribution Event Triggers Factory",
+        label = "Sling Distribution Trigger - Distribution Event Triggers Factory",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE
@@ -42,10 +43,13 @@ import java.util.Map;
 @Service(DistributionTrigger.class)
 public class DistributionEventDistributeDistributionTriggerFactory implements DistributionTrigger {
 
+    @Property(label = "Name", description = "The name of the trigger.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
+
     /**
      * chain distribution path property
      */
-    @Property
+    @Property(label = "Path", description = "The path for which the distribution events will be forwarded.")
     public static final String PATH = "path";
 
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java Mon Jan 19 14:46:02 2015
@@ -39,7 +39,7 @@ import javax.annotation.Nonnull;
 import java.util.Map;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Jcr Event Triggers Factory",
+        label = "Sling Distribution Trigger - Jcr Event Triggers Factory",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE
@@ -48,22 +48,19 @@ import java.util.Map;
 public class JcrEventDistributionTriggerFactory implements DistributionTrigger {
 
 
-
-    /**
-     * jcr event trigger type
-     */
-    public static final String TRIGGER_JCR_EVENT = "jcrEvent";
+    @Property(label = "Name", description = "The name of the trigger.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
 
     /**
      * jcr event trigger path property
      */
-    @Property
+    @Property(label = "Path", description = "The path for whcih changes are distributed.")
     public static final String PATH = "path";
 
     /**
      * jcr event trigger service user property
      */
-    @Property
+    @Property(label = "Service Name", description = "The service used to listen for jcr events")
     public static final String SERVICE_NAME = "serviceName";
 
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java Mon Jan 19 14:46:02 2015
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  */
 public class PersistedJcrEventDistributionTrigger extends AbstractJcrEventTrigger implements DistributionTrigger {
 
-    private static final String DEFAULT_NUGGETS_PATH = "/var/distribution/nuggets";
+    public static final String DEFAULT_NUGGETS_PATH = "/var/distribution/nuggets";
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTriggerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTriggerFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTriggerFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTriggerFactory.java Mon Jan 19 14:46:02 2015
@@ -22,6 +22,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.ConfigurationPolicy;
 import org.apache.felix.scr.annotations.Deactivate;
+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.osgi.PropertiesUtil;
@@ -38,7 +39,7 @@ import javax.annotation.Nonnull;
 import java.util.Map;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Persisted Jcr Event Triggers Factory",
+        label = "Sling Distribution Trigger - Persisted Jcr Event Triggers Factory",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE
@@ -47,19 +48,26 @@ import java.util.Map;
 public class PersistedJcrEventDistributionTriggerFactory implements DistributionTrigger {
 
 
+    @Property(label = "Name", description = "The name of the trigger.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
+
+
     /**
      * jcr persisting event trigger path property
      */
+    @Property(label = "Path", description = "The path for which changes are listened and distributed as persisted nugget events.")
     public static final String PATH = "path";
 
     /**
      * jcr persisting event trigger service user property
      */
+    @Property(label = "Service Name", description = "The service used to listen for jcr events")
     public static final String SERVICE_NAME = "serviceName";
 
     /**
      * jcr persisting event trigger nuggets path property
      */
+    @Property(value = PersistedJcrEventDistributionTrigger.DEFAULT_NUGGETS_PATH, label = "Nuggets Path", description = "The location where serialization of jcr events will be stored")
     public static final String NUGGETS_PATH = "nuggetsPath";
 
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTriggerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTriggerFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTriggerFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTriggerFactory.java Mon Jan 19 14:46:02 2015
@@ -40,7 +40,7 @@ import javax.annotation.Nonnull;
 import java.util.Map;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Remote Event Triggers Factory",
+        label = "Sling Distribution Trigger - Remote Event Triggers Factory",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE
@@ -49,15 +49,13 @@ import java.util.Map;
 public class RemoteEventDistributionTriggerFactory implements DistributionTrigger {
 
 
-    /**
-     * remote event trigger type
-     */
-    public static final String TRIGGER_REMOTE_EVENT = "remoteEvent";
+    @Property(label = "Name", description = "The name of the trigger.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
 
     /**
      * remote event endpoint property
      */
-    @Property
+    @Property(label = "Endpoint", description = "The endpoint from which the remote requests should be polled.")
     public static final String ENDPOINT = "endpoint";
 
 

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerFactory.java Mon Jan 19 14:46:02 2015
@@ -39,7 +39,7 @@ import javax.annotation.Nonnull;
 import java.util.Map;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Resource Event Triggers Factory",
+        label = "Sling Distribution Trigger - Resource Event Triggers Factory",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE
@@ -47,10 +47,15 @@ import java.util.Map;
 @Service(DistributionTrigger.class)
 public class ResourceEventDistributionTriggerFactory implements DistributionTrigger {
 
+
+
+    @Property(label = "Name", description = "The name of the trigger.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
+
     /**
      * resource event path property
      */
-    @Property
+    @Property(label = "Path", description = "The resource path for which changes are distributed")
     public static final String PATH = "path";
 
     ResourceEventDistributionTrigger trigger;

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java Mon Jan 19 14:46:02 2015
@@ -78,6 +78,7 @@ public class ScheduledDistributionTrigge
             String jobName = getJobName(requestHandler);
 
             options.name(jobName);
+            options.canRunConcurrently(false);
             boolean success = scheduler.schedule(new ScheduledDistribution(requestHandler), options);
 
             if (success) {

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTriggerFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTriggerFactory.java?rev=1653016&r1=1653015&r2=1653016&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTriggerFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTriggerFactory.java Mon Jan 19 14:46:02 2015
@@ -39,7 +39,7 @@ import javax.annotation.Nonnull;
 import java.util.Map;
 
 @Component(metatype = true,
-        label = "Sling Distribution - Scheduled Triggers Factory",
+        label = "Sling Distribution Trigger - Scheduled Triggers Factory",
         configurationFactory = true,
         specVersion = "1.1",
         policy = ConfigurationPolicy.REQUIRE
@@ -47,22 +47,26 @@ import java.util.Map;
 @Service(DistributionTrigger.class)
 public class ScheduledDistributionTriggerFactory implements DistributionTrigger {
 
+
+    @Property(label = "Name", description = "The name of the trigger.")
+    public static final String NAME = DistributionComponentUtils.PN_NAME;
+
     /**
      * scheduled trigger action property
      */
-    @Property
+    @Property(label = "Distribution Type", description = "The type of the distribution request produced by this trigger.")
     public static final String ACTION = "action";
 
     /**
      * scheduled trigger path property
      */
-    @Property
+    @Property(label = "Distributed Path", description = "The path to be distributed periodically.")
     public static final String PATH = "path";
 
     /**
      * scheduled trigger seconds property
      */
-    @Property
+    @Property(label = "Interval in Seconds", description = "The number of seconds between executions")
     public static final String SECONDS = "seconds";