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]


Reply via email to