tmaret commented on a change in pull request #44:
URL:
https://github.com/apache/sling-org-apache-sling-distribution-core/pull/44#discussion_r564944618
##########
File path:
src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
##########
@@ -69,125 +59,136 @@
import org.apache.sling.settings.SlingSettingsService;
import org.osgi.framework.BundleContext;
import org.osgi.service.cm.ConfigurationAdmin;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.ConfigurationPolicy;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+import org.osgi.service.metatype.annotations.AttributeDefinition;
+import org.osgi.service.metatype.annotations.Designate;
+import org.osgi.service.metatype.annotations.ObjectClassDefinition;
+import org.osgi.service.metatype.annotations.Option;
+
+
+
/**
* An OSGi service factory for {@link DistributionAgent}s which references
already existing OSGi services.
*/
-@Component(metatype = true,
- label = "Apache Sling Distribution Agent - Forward Agents Factory",
- description = "OSGi configuration factory for forward agents",
- configurationFactory = true,
- specVersion = "1.1",
- policy = ConfigurationPolicy.REQUIRE
+@Component(
+ configurationPolicy = ConfigurationPolicy.REQUIRE,
+ property= {"webconsole.configurationFactory.nameHint=Agent name:
{name}"}
Review comment:
An alternative to keep all props in the Config, is to define the
webconsole.configurationFactory.nameHint like in
https://github.com/apache/sling-org-apache-sling-distribution-journal/blob/02846937fa0e07d183f50484bc68e028337c3fe5/src/main/java/org/apache/sling/distribution/journal/impl/publisher/PublisherConfiguration.java#L28-L29
##########
File path:
src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
##########
@@ -40,24 +33,17 @@
import
org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
import
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
import org.apache.sling.distribution.trigger.DistributionTrigger;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
/**
* {@link DistributionComponentProvider} OSGi service.
*/
-@Component
-@Property(name = "name", value = "default")
-@References({
- @Reference(name = "distributionAgent", referenceInterface =
DistributionAgent.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionPackageImporter", referenceInterface =
DistributionPackageImporter.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionPackageExporter", referenceInterface =
DistributionPackageExporter.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionQueueProvider", referenceInterface =
DistributionQueueProvider.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionQueueDistributionStrategy",
referenceInterface = DistributionQueueDispatchingStrategy.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionTransportSecretProvider",
referenceInterface = DistributionTransportSecretProvider.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionTrigger", referenceInterface =
DistributionTrigger.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionRequestAuthorizationStrategy",
referenceInterface = DistributionRequestAuthorizationStrategy.class,
cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy =
ReferencePolicy.DYNAMIC),
- @Reference(name = "distributionPackageBuilder", referenceInterface =
DistributionPackageBuilder.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC)
+@Component ( property = {
Review comment:
This must expose the `DistributionComponentProvider` service
##########
File path:
src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
##########
@@ -42,24 +43,27 @@
* For each tree of properties a set of OSGI configs is generated and
registered in ConfigurationAdmin.
* To delete a component all configs owned by that component will be
unregistered from ConfigurationAdmin.
*/
-@Component
-@Service(DistributionConfigurationManager.class)
+@Component(service=DistributionConfigurationManager.class)
+@Designate(ocd=DefaultDistributionConfigurationManager.Config.class)
public class DefaultDistributionConfigurationManager implements
DistributionConfigurationManager {
-
- @Property(label = "Resource Config Enabled", description = "If storing
config in resource tree is enabled.", boolValue = false)
- public static final String CONFIG_ENABLED = "resource.config.enabled";
-
- @Property(label = "Resource Config Prefix", description = "The prefix of
properties to be stored in content", value = "etc.")
- public static final String CONFIG_PREFIX = "resource.config.prefix";
-
- @Property(label = "Resource Config Root", description = "The resource
config root", value = "/etc/distribution")
- public static final String CONFIG_ROOT = "resource.config.root";
-
- @Property(label = "Resource Config Properties", description = "The
resource config properties", value = {"enabled"})
- public static final String CONFIG_PROPERTIES =
"resource.config.properties";
-
- @Property(label = "Resource Config Defaults", description = "The default
values for resource config properties", value =
{"serializationType=distribution"})
- public static final String CONFIG_DEFAULTS = "resource.config.defaults";
+
+ @ObjectClassDefinition()
+ public @interface Config {
+ @AttributeDefinition(name="Resource Config enabled",description = "If
storing config in resource tree is enabled.")
+ boolean enabled() default false;
Review comment:
The prop must be named `resource_config_enabled` to be compatible
##########
File path:
src/test/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapperTest.java
##########
@@ -22,13 +22,15 @@
import java.util.Map;
import org.apache.sling.distribution.queue.DistributionQueueItem;
+import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.*;
public class QueueItemMapperTest {
@Test
+ @Ignore
Review comment:
Is the `Ignore` overlooked or required ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]