Return-Path: X-Original-To: apmail-sling-commits-archive@www.apache.org Delivered-To: apmail-sling-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2EEE717490 for ; Mon, 19 Jan 2015 14:46:08 +0000 (UTC) Received: (qmail 40213 invoked by uid 500); 19 Jan 2015 14:46:10 -0000 Delivered-To: apmail-sling-commits-archive@sling.apache.org Received: (qmail 40158 invoked by uid 500); 19 Jan 2015 14:46:10 -0000 Mailing-List: contact commits-help@sling.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@sling.apache.org Delivered-To: mailing list commits@sling.apache.org Received: (qmail 40147 invoked by uid 99); 19 Jan 2015 14:46:10 -0000 Received: from eris.apache.org (HELO hades.apache.org) (140.211.11.105) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jan 2015 14:46:10 +0000 Received: from hades.apache.org (localhost [127.0.0.1]) by hades.apache.org (ASF Mail Server at hades.apache.org) with ESMTP id C62A9AC039A; Mon, 19 Jan 2015 14:46:03 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Mon, 19 Jan 2015 14:46:03 -0000 To: commits@sling.apache.org From: mpetria@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20150119144606.C62A9AC039A@hades.apache.org> 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 savedConfig; private String agentName; private List triggers = new CopyOnWriteArrayList(); + private boolean triggersEnabled = false; private SimpleDistributionAgent agent; @@ -66,12 +72,22 @@ public abstract class AbstractDistributi Dictionary props = new Hashtable(); 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 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 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 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 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 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 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 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 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 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";