Skip to content

Commit

Permalink
WFLY-9940 Eliminate lambdas from clustering subsystem Attribute defin…
Browse files Browse the repository at this point in the history
…itions
  • Loading branch information
rhusar committed May 16, 2018
1 parent a6a881b commit 78cff7f
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 17 deletions.
Expand Up @@ -94,13 +94,15 @@ static void buildTransformation(ModelVersion version, ResourceTransformationDesc
} }


@Override @Override
public void register(ManagementResourceRegistration registration) { public ManagementResourceRegistration register(ManagementResourceRegistration parent) {
ManagementResourceRegistration subModel = registration.registerSubModel(this); ManagementResourceRegistration registration = parent.registerSubModel(this);


ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()) ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver())
.addAttributes(Attribute.class) .addAttributes(Attribute.class)
; ;
ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(ConnectionPoolBuilder::new); ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(ConnectionPoolBuilder::new);
new SimpleResourceRegistration(descriptor, handler).register(subModel); new SimpleResourceRegistration(descriptor, handler).register(registration);

return registration;
} }
} }
Expand Up @@ -78,14 +78,17 @@ static void buildTransformation(ModelVersion version, ResourceTransformationDesc
super(PATH); super(PATH);
} }



@Override @Override
public void register(ManagementResourceRegistration parentRegistration) { public ManagementResourceRegistration register(ManagementResourceRegistration parent) {
ManagementResourceRegistration registration = parentRegistration.registerSubModel(this); ManagementResourceRegistration registration = parent.registerSubModel(this);


ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()) ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver())
.addAttributes(InvalidationNearCacheResourceDefinition.Attribute.class) .addAttributes(InvalidationNearCacheResourceDefinition.Attribute.class)
; ;
ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(InvalidationNearCacheBuilder::new); ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(InvalidationNearCacheBuilder::new);
new SimpleResourceRegistration(descriptor, handler).register(registration); new SimpleResourceRegistration(descriptor, handler).register(registration);

return registration;
} }
} }
Expand Up @@ -49,11 +49,13 @@ public NoNearCacheResourceDefinition() {
} }


@Override @Override
public void register(ManagementResourceRegistration parentRegistration) { public ManagementResourceRegistration register(ManagementResourceRegistration parentRegistration) {
ManagementResourceRegistration registration = parentRegistration.registerSubModel(this); ManagementResourceRegistration registration = parentRegistration.registerSubModel(this);


ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()); ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver());
ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(NoNearCacheBuilder::new); ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(NoNearCacheBuilder::new);
new SimpleResourceRegistration(descriptor, handler).register(registration); new SimpleResourceRegistration(descriptor, handler).register(registration);

return registration;
} }
} }
Expand Up @@ -80,13 +80,28 @@ public org.jboss.as.clustering.controller.Capability getCapability() {
} }
} }


public enum Attribute implements org.jboss.as.clustering.controller.Attribute { public enum Attribute implements org.jboss.as.clustering.controller.Attribute, UnaryOperator<SimpleAttributeDefinitionBuilder> {
CONNECTION_TIMEOUT("connection-timeout", ModelType.INT, new ModelNode(60000)), CONNECTION_TIMEOUT("connection-timeout", ModelType.INT, new ModelNode(60000)),
DEFAULT_REMOTE_CLUSTER("default-remote-cluster", ModelType.STRING, builder -> builder.setRequired(true).setCapabilityReference(new CapabilityReference(Capability.CONFIGURATION, RemoteClusterResourceDefinition.Requirement.REMOTE_CLUSTER))), DEFAULT_REMOTE_CLUSTER("default-remote-cluster", ModelType.STRING) {
@Override
public SimpleAttributeDefinitionBuilder apply(SimpleAttributeDefinitionBuilder builder) {
return builder.setRequired(true).setCapabilityReference(new CapabilityReference(Capability.CONFIGURATION, RemoteClusterResourceDefinition.Requirement.REMOTE_CLUSTER));
}
},
KEY_SIZE_ESTIMATE("key-size-estimate", ModelType.INT, new ModelNode(64)), KEY_SIZE_ESTIMATE("key-size-estimate", ModelType.INT, new ModelNode(64)),
MAX_RETRIES("max-retries", ModelType.INT, new ModelNode(10)), MAX_RETRIES("max-retries", ModelType.INT, new ModelNode(10)),
MODULE("module", ModelType.STRING, builder -> builder.setDefaultValue(new ModelNode("org.jboss.as.clustering.infinispan")).setValidator(new ModuleIdentifierValidatorBuilder().configure(builder).build())), MODULE("module", ModelType.STRING) {
PROTOCOL_VERSION("protocol-version", ModelType.STRING, builder -> builder.setDefaultValue(new ModelNode(ProtocolVersion.DEFAULT_PROTOCOL_VERSION.toString())).setValidator(new EnumValidator<>(ProtocolVersion.class))), @Override
public SimpleAttributeDefinitionBuilder apply(SimpleAttributeDefinitionBuilder builder) {
return builder.setDefaultValue(new ModelNode("org.jboss.as.clustering.infinispan")).setValidator(new ModuleIdentifierValidatorBuilder().configure(builder).build());
}
},
PROTOCOL_VERSION("protocol-version", ModelType.STRING) {
@Override
public SimpleAttributeDefinitionBuilder apply(SimpleAttributeDefinitionBuilder builder) {
return builder.setDefaultValue(new ModelNode(ProtocolVersion.DEFAULT_PROTOCOL_VERSION.toString())).setValidator(new EnumValidator<>(ProtocolVersion.class));
}
},
SOCKET_TIMEOUT("socket-timeout", ModelType.INT, new ModelNode(60000)), SOCKET_TIMEOUT("socket-timeout", ModelType.INT, new ModelNode(60000)),
TCP_NO_DELAY("tcp-no-delay", ModelType.BOOLEAN, new ModelNode(true)), TCP_NO_DELAY("tcp-no-delay", ModelType.BOOLEAN, new ModelNode(true)),
TCP_KEEP_ALIVE("tcp-keep-alive", ModelType.BOOLEAN, new ModelNode(false)), TCP_KEEP_ALIVE("tcp-keep-alive", ModelType.BOOLEAN, new ModelNode(false)),
Expand All @@ -95,8 +110,8 @@ public enum Attribute implements org.jboss.as.clustering.controller.Attribute {


private final AttributeDefinition definition; private final AttributeDefinition definition;


Attribute(String name, ModelType type, UnaryOperator<SimpleAttributeDefinitionBuilder> configurator) { Attribute(String name, ModelType type) {
this.definition = configurator.apply(createBuilder(name, type)).build(); this.definition = this.apply(createBuilder(name, type)).build();
} }


Attribute(String name, ModelType type, ModelNode defaultValue) { Attribute(String name, ModelType type, ModelNode defaultValue) {
Expand All @@ -107,9 +122,14 @@ public enum Attribute implements org.jboss.as.clustering.controller.Attribute {
public AttributeDefinition getDefinition() { public AttributeDefinition getDefinition() {
return this.definition; return this.definition;
} }

@Override
public SimpleAttributeDefinitionBuilder apply(SimpleAttributeDefinitionBuilder builder) {
return builder;
}
} }


static SimpleAttributeDefinitionBuilder createBuilder(String name, ModelType type) { private static SimpleAttributeDefinitionBuilder createBuilder(String name, ModelType type) {
return new SimpleAttributeDefinitionBuilder(name, type) return new SimpleAttributeDefinitionBuilder(name, type)
.setAllowExpression(true) .setAllowExpression(true)
.setRequired(false) .setRequired(false)
Expand All @@ -133,7 +153,7 @@ public RemoteCacheContainerResourceDefinition() {
private final ResourceServiceBuilderFactory<Configuration> builderFactory = RemoteCacheContainerConfigurationBuilder::new; private final ResourceServiceBuilderFactory<Configuration> builderFactory = RemoteCacheContainerConfigurationBuilder::new;


@Override @Override
public void register(ManagementResourceRegistration parentRegistration) { public ManagementResourceRegistration register(ManagementResourceRegistration parentRegistration) {
ManagementResourceRegistration registration = parentRegistration.registerSubModel(this); ManagementResourceRegistration registration = parentRegistration.registerSubModel(this);


ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()) ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver())
Expand All @@ -153,5 +173,7 @@ public void register(ManagementResourceRegistration parentRegistration) {
new NoNearCacheResourceDefinition().register(registration); new NoNearCacheResourceDefinition().register(registration);


ThreadPoolResourceDefinition.CLIENT.register(registration); ThreadPoolResourceDefinition.CLIENT.register(registration);

return registration;
} }
} }
Expand Up @@ -136,13 +136,15 @@ public RuntimeCapability<Void> resolve(PathAddress address) {
} }


@Override @Override
public void register(ManagementResourceRegistration parentRegistration) { public ManagementResourceRegistration register(ManagementResourceRegistration parentRegistration) {
ManagementResourceRegistration subModel = parentRegistration.registerSubModel(this); ManagementResourceRegistration registration = parentRegistration.registerSubModel(this);


ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()) ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver())
.addAttributes(Attribute.class) .addAttributes(Attribute.class)
.addCapabilities(Capability.class); .addCapabilities(Capability.class);
new RestartParentResourceRegistration<>(builderFactory, descriptor).register(subModel); new RestartParentResourceRegistration<>(builderFactory, descriptor).register(registration);

return registration;
} }


static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
Expand Down

0 comments on commit 78cff7f

Please sign in to comment.