Skip to content

Commit

Permalink
Merge pull request #861 from bstansberry/cap-AD
Browse files Browse the repository at this point in the history
Make it simpler to register a capability reference on an AttributeDef…
  • Loading branch information
bstansberry committed Jul 4, 2015
2 parents 9e1a4ae + ac81393 commit 9679062
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@

package org.jboss.as.controller;

import org.jboss.as.controller.capability.RuntimeCapability;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
Expand Down Expand Up @@ -96,8 +97,29 @@ public SimpleAttributeDefinitionBuilder(final String attributeName, final Simple
* {@link org.jboss.as.controller.capability.RuntimeCapability#isDynamicallyNamed() dynamic capability}.
* <p>
* This method is a convenience method equivalent to calling
* {@link #setCapabilityReference(SimpleAttributeDefinition.CapabilityReferenceRecorder)}
* passing in a {@link org.jboss.as.controller.SimpleAttributeDefinition.DefaultCapabilityReferenceRecorder}
* {@link #setCapabilityReference(CapabilityReferenceRecorder)}
* passing in a {@link org.jboss.as.controller.CapabilityReferenceRecorder.DefaultCapabilityReferenceRecorder}
* constructed using the parameters passed to this method.
*
* @param referencedCapability the name of the dynamic capability the dynamic portion of whose name is
* represented by the attribute's value
* @param dependentCapability the capability that depends on {@code referencedCapability}
* @return the builder
*
* @see SimpleAttributeDefinition#addCapabilityRequirements(OperationContext, ModelNode)
* @see SimpleAttributeDefinition#removeCapabilityRequirements(OperationContext, ModelNode)
*/
public SimpleAttributeDefinitionBuilder setCapabilityReference(String referencedCapability, RuntimeCapability<?> dependentCapability) {
return setCapabilityReference(referencedCapability, dependentCapability.getName(), dependentCapability.isDynamicallyNamed());
}

/**
* Records that this attribute's value represents a reference to an instance of a
* {@link org.jboss.as.controller.capability.RuntimeCapability#isDynamicallyNamed() dynamic capability}.
* <p>
* This method is a convenience method equivalent to calling
* {@link #setCapabilityReference(CapabilityReferenceRecorder)}
* passing in a {@link org.jboss.as.controller.CapabilityReferenceRecorder.DefaultCapabilityReferenceRecorder}
* constructed using the parameters passed to this method.
*
* @param referencedCapability the name of the dynamic capability the dynamic portion of whose name is
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public class ConnectorResource extends SimpleResourceDefinition {

static final SimpleAttributeDefinition SOCKET_BINDING = new SimpleAttributeDefinitionBuilder(CommonAttributes.SOCKET_BINDING, ModelType.STRING, false)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.setCapabilityReference(SOCKET_CAPABILITY_NAME, CONNECTOR_CAPABILITY_NAME, true)
.setCapabilityReference(SOCKET_CAPABILITY_NAME, CONNECTOR_CAPABILITY)
.build();

static final SimpleAttributeDefinition SECURITY_REALM = new SimpleAttributeDefinitionBuilder(CommonAttributes.SECURITY_REALM, ModelType.STRING, true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class LocalOutboundConnectionResourceDefinition extends AbstractOutboundConnecti
.setAllowExpression(true)
.setValidator(new StringLengthValidator(1, Integer.MAX_VALUE, false, true))
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.setCapabilityReference(OUTBOUND_SOCKET_BINDING_CAPABILITY_NAME, OUTBOUND_CONNECTION_CAPABILITY_NAME, true)
.setCapabilityReference(OUTBOUND_SOCKET_BINDING_CAPABILITY_NAME, OUTBOUND_CONNECTION_CAPABILITY)
.build();

static final LocalOutboundConnectionResourceDefinition INSTANCE = new LocalOutboundConnectionResourceDefinition();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ class RemoteOutboundConnectionResourceDefinition extends AbstractOutboundConnect
.setValidator(new StringLengthValidator(1, Integer.MAX_VALUE, false, true))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.setCapabilityReference(OUTBOUND_SOCKET_BINDING_CAPABILITY_NAME, OUTBOUND_CONNECTION_CAPABILITY_NAME, true)
.setCapabilityReference(OUTBOUND_SOCKET_BINDING_CAPABILITY_NAME, OUTBOUND_CONNECTION_CAPABILITY)
.build();

public static final SimpleAttributeDefinition USERNAME = new SimpleAttributeDefinitionBuilder(CommonAttributes.USERNAME, ModelType.STRING, true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public class RemotingEndpointResource extends PersistentResourceDefinition {
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setValidator(new StringLengthValidator(1))
.setDefaultValue(new ModelNode("default"))
.setCapabilityReference(IO_WORKER_CAPABILITY, REMOTING_ENDPOINT_CAPABILITY.getName(), false)
.setCapabilityReference(IO_WORKER_CAPABILITY, REMOTING_ENDPOINT_CAPABILITY)
.build();


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public class LocalDestinationOutboundSocketBindingResourceDefinition extends Out
.setValidator(new StringLengthValidator(1, Integer.MAX_VALUE, false, true))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.setCapabilityReference(SOCKET_BINDING_CAPABILITY_NAME, OutboundSocketBindingResourceDefinition.OUTBOUND_SOCKET_BINDING_CAPABILITY_NAME, true)
.setCapabilityReference(SOCKET_BINDING_CAPABILITY_NAME, OUTBOUND_SOCKET_BINDING_CAPABILITY)
.build();

public static final SimpleAttributeDefinition[] ATTRIBUTES = {SOURCE_PORT, SOURCE_INTERFACE, FIXED_SOURCE_PORT, SOCKET_BINDING_REF};
Expand Down

0 comments on commit 9679062

Please sign in to comment.