diff --git a/discovery/src/main/java/org/wildfly/extension/discovery/AggregateDiscoveryProviderRegistrar.java b/discovery/src/main/java/org/wildfly/extension/discovery/AggregateDiscoveryProviderRegistrar.java index 68de5fff9cb..51c2ee66135 100644 --- a/discovery/src/main/java/org/wildfly/extension/discovery/AggregateDiscoveryProviderRegistrar.java +++ b/discovery/src/main/java/org/wildfly/extension/discovery/AggregateDiscoveryProviderRegistrar.java @@ -4,7 +4,6 @@ */ package org.wildfly.extension.discovery; -import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.function.Supplier; @@ -13,13 +12,12 @@ import org.jboss.as.controller.OperationContext; import org.jboss.as.controller.OperationFailedException; import org.jboss.as.controller.PathElement; -import org.jboss.as.controller.StringListAttributeDefinition; -import org.jboss.as.controller.registry.AttributeAccess.Flag; import org.jboss.dmr.ModelNode; import org.wildfly.discovery.impl.AggregateDiscoveryProvider; import org.wildfly.discovery.spi.DiscoveryProvider; import org.wildfly.subsystem.resource.ResourceDescriptor; import org.wildfly.subsystem.resource.capability.CapabilityReference; +import org.wildfly.subsystem.resource.capability.CapabilityReferenceListAttributeDefinition; import org.wildfly.subsystem.service.ResourceServiceInstaller; import org.wildfly.subsystem.service.ServiceDependency; import org.wildfly.subsystem.service.capability.CapabilityServiceInstaller; @@ -32,10 +30,7 @@ public class AggregateDiscoveryProviderRegistrar extends DiscoveryProviderRegist static final PathElement PATH = PathElement.pathElement("aggregate-provider"); - private static final StringListAttributeDefinition PROVIDER_NAMES = new StringListAttributeDefinition.Builder("providers") - .setCapabilityReference(CapabilityReference.builder(DISCOVERY_PROVIDER_CAPABILITY, DISCOVERY_PROVIDER_DESCRIPTOR).build()) - .setFlags(Flag.RESTART_RESOURCE_SERVICES) - .build(); + private static final CapabilityReferenceListAttributeDefinition PROVIDER_NAMES = new CapabilityReferenceListAttributeDefinition.Builder<>("providers", CapabilityReference.builder(DISCOVERY_PROVIDER_CAPABILITY, DISCOVERY_PROVIDER_DESCRIPTOR).build()).build(); static final Collection ATTRIBUTES = List.of(PROVIDER_NAMES); @@ -45,19 +40,15 @@ public class AggregateDiscoveryProviderRegistrar extends DiscoveryProviderRegist @Override public ResourceServiceInstaller configure(OperationContext context, ModelNode model) throws OperationFailedException { - List providers = PROVIDER_NAMES.unwrap(context, model); - List> dependencies = new ArrayList<>(providers.size()); - for (String provider : providers) { - dependencies.add(ServiceDependency.on(DISCOVERY_PROVIDER_DESCRIPTOR, provider)); - } + List> providers = PROVIDER_NAMES.resolve(context, model); Supplier factory = new Supplier<>() { @Override public DiscoveryProvider get() { - return new AggregateDiscoveryProvider(dependencies.stream().map(Supplier::get).toArray(DiscoveryProvider[]::new)); + return new AggregateDiscoveryProvider(providers.stream().map(Supplier::get).toArray(DiscoveryProvider[]::new)); } }; return CapabilityServiceInstaller.builder(DISCOVERY_PROVIDER_CAPABILITY, factory) - .requires(dependencies) + .requires(providers) .build(); } } diff --git a/io/subsystem/src/main/java/org/wildfly/extension/io/IOSubsystemRegistrar.java b/io/subsystem/src/main/java/org/wildfly/extension/io/IOSubsystemRegistrar.java index 7942677c8a0..a041bea3e5b 100644 --- a/io/subsystem/src/main/java/org/wildfly/extension/io/IOSubsystemRegistrar.java +++ b/io/subsystem/src/main/java/org/wildfly/extension/io/IOSubsystemRegistrar.java @@ -9,21 +9,17 @@ import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import org.jboss.as.controller.AttributeDefinition; import org.jboss.as.controller.OperationContext; import org.jboss.as.controller.OperationFailedException; import org.jboss.as.controller.PathElement; import org.jboss.as.controller.ResourceDefinition; import org.jboss.as.controller.ResourceRegistration; -import org.jboss.as.controller.SimpleAttributeDefinitionBuilder; import org.jboss.as.controller.SubsystemRegistration; import org.jboss.as.controller.capability.RuntimeCapability; import org.jboss.as.controller.descriptions.ParentResourceDescriptionResolver; import org.jboss.as.controller.descriptions.SubsystemResourceDescriptionResolver; -import org.jboss.as.controller.registry.AttributeAccess; import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.dmr.ModelNode; -import org.jboss.dmr.ModelType; import org.wildfly.common.function.Functions; import org.wildfly.io.IOServiceDescriptor; import org.wildfly.subsystem.resource.ManagementResourceRegistrar; @@ -31,11 +27,13 @@ import org.wildfly.subsystem.resource.ResourceDescriptor; import org.wildfly.subsystem.resource.SubsystemResourceDefinitionRegistrar; import org.wildfly.subsystem.resource.capability.CapabilityReference; +import org.wildfly.subsystem.resource.capability.CapabilityReferenceAttributeDefinition; import org.wildfly.subsystem.resource.operation.ResourceOperationRuntimeHandler; import org.wildfly.subsystem.service.ResourceServiceConfigurator; import org.wildfly.subsystem.service.ResourceServiceInstaller; import org.wildfly.subsystem.service.ServiceDependency; import org.wildfly.subsystem.service.capability.CapabilityServiceInstaller; +import org.xnio.XnioWorker; /** * @author Tomaz Cerar (c) 2013 Red Hat Inc. @@ -52,10 +50,8 @@ class IOSubsystemRegistrar implements SubsystemResourceDefinitionRegistrar, Reso static final ModelNode LEGACY_DEFAULT_WORKER = new ModelNode("default"); - static final AttributeDefinition DEFAULT_WORKER = new SimpleAttributeDefinitionBuilder("default-worker", ModelType.STRING) + static final CapabilityReferenceAttributeDefinition DEFAULT_WORKER = new CapabilityReferenceAttributeDefinition.Builder<>("default-worker", CapabilityReference.builder(DEFAULT_WORKER_CAPABILITY, IOServiceDescriptor.WORKER).build()) .setRequired(false) - .setCapabilityReference(CapabilityReference.builder(DEFAULT_WORKER_CAPABILITY, IOServiceDescriptor.WORKER).build()) - .setFlags(AttributeAccess.Flag.RESTART_RESOURCE_SERVICES) .build(); // Tracks max-threads for all workers