Skip to content

Commit

Permalink
WFLY-6827 Bump management API version to incorporate changes due to W…
Browse files Browse the repository at this point in the history
…FLY-6782
  • Loading branch information
pferraro committed Jul 12, 2016
1 parent ccaa6ff commit 94586cc
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 54 deletions.
Expand Up @@ -108,6 +108,8 @@ protected boolean isValueDiscardable(PathAddress address, String attributeName,
.addRejectCheck(RejectAttributeChecker.DEFINED, Attribute.CLUSTER.getDefinition()) .addRejectCheck(RejectAttributeChecker.DEFINED, Attribute.CLUSTER.getDefinition())
; ;
} }

ForkProtocolResourceDefinition.buildTransformation(version, builder);
} }


final boolean allowRuntimeOnlyRegistration; final boolean allowRuntimeOnlyRegistration;
Expand Down
Expand Up @@ -28,11 +28,15 @@
import org.jboss.as.clustering.controller.RestartParentResourceAddStepHandler; import org.jboss.as.clustering.controller.RestartParentResourceAddStepHandler;
import org.jboss.as.clustering.controller.RestartParentResourceRemoveStepHandler; import org.jboss.as.clustering.controller.RestartParentResourceRemoveStepHandler;
import org.jboss.as.clustering.controller.SimpleResourceServiceHandler; import org.jboss.as.clustering.controller.SimpleResourceServiceHandler;
import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.OperationContext; import org.jboss.as.controller.OperationContext;
import org.jboss.as.controller.OperationFailedException; import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.RunningMode; import org.jboss.as.controller.RunningMode;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.as.controller.registry.Resource; import org.jboss.as.controller.registry.Resource;
import org.jboss.as.controller.transform.description.RejectAttributeChecker;
import org.jboss.as.controller.transform.description.ResourceTransformationDescriptionBuilder;
import org.jboss.dmr.ModelNode; import org.jboss.dmr.ModelNode;
import org.wildfly.clustering.jgroups.spi.ChannelFactory; import org.wildfly.clustering.jgroups.spi.ChannelFactory;


Expand All @@ -43,6 +47,15 @@
*/ */
public class ForkProtocolResourceDefinition extends ProtocolResourceDefinition { public class ForkProtocolResourceDefinition extends ProtocolResourceDefinition {


static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH);

if (JGroupsModel.VERSION_4_1_0.requiresTransformation(version)) {
// See WFLY-6782, add-index parameter was missing from add operation definition
builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, ModelDescriptionConstants.ADD_INDEX);
}
}

final boolean allowRuntimeOnlyRegistration; final boolean allowRuntimeOnlyRegistration;


public ForkProtocolResourceDefinition(ResourceServiceBuilderFactory<ChannelFactory> parentBuilderFactory, boolean allowRuntimeOnlyRegistration) { public ForkProtocolResourceDefinition(ResourceServiceBuilderFactory<ChannelFactory> parentBuilderFactory, boolean allowRuntimeOnlyRegistration) {
Expand Down
Expand Up @@ -35,8 +35,9 @@ public enum JGroupsModel implements Model {
VERSION_2_0_0(2, 0, 0), VERSION_2_0_0(2, 0, 0),
VERSION_3_0_0(3, 0, 0), VERSION_3_0_0(3, 0, 0),
VERSION_4_0_0(4, 0, 0), VERSION_4_0_0(4, 0, 0),
VERSION_4_1_0(4, 1, 0),
; ;
static final JGroupsModel CURRENT = VERSION_4_0_0; static final JGroupsModel CURRENT = VERSION_4_1_0;


private final ModelVersion version; private final ModelVersion version;


Expand Down
Expand Up @@ -29,11 +29,8 @@
import org.jboss.as.clustering.controller.CommonUnaryRequirement; import org.jboss.as.clustering.controller.CommonUnaryRequirement;
import org.jboss.as.clustering.controller.Operations; import org.jboss.as.clustering.controller.Operations;
import org.jboss.as.clustering.controller.ResourceServiceBuilderFactory; import org.jboss.as.clustering.controller.ResourceServiceBuilderFactory;
import org.jboss.as.clustering.controller.transform.LegacyPropertyAddOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyWriteOperationTransformer; import org.jboss.as.clustering.controller.transform.LegacyPropertyWriteOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyMapGetOperationTransformer; import org.jboss.as.clustering.controller.transform.LegacyPropertyMapGetOperationTransformer;
import org.jboss.as.clustering.controller.transform.OperationTransformer;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer; import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.clustering.controller.validation.ModuleIdentifierValidatorBuilder; import org.jboss.as.clustering.controller.validation.ModuleIdentifierValidatorBuilder;
import org.jboss.as.clustering.controller.validation.ParameterValidatorBuilder; import org.jboss.as.clustering.controller.validation.ParameterValidatorBuilder;
Expand All @@ -48,7 +45,6 @@
import org.jboss.as.controller.access.management.SensitiveTargetAccessConstraintDefinition; import org.jboss.as.controller.access.management.SensitiveTargetAccessConstraintDefinition;
import org.jboss.as.controller.capability.RuntimeCapability; import org.jboss.as.controller.capability.RuntimeCapability;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants; import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.operations.common.Util;
import org.jboss.as.controller.operations.global.MapOperations; import org.jboss.as.controller.operations.global.MapOperations;
import org.jboss.as.controller.registry.AttributeAccess; import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.as.controller.registry.ManagementResourceRegistration;
Expand Down Expand Up @@ -154,53 +150,10 @@ static SimpleAttributeDefinitionBuilder createBuilder(String name, ModelType typ
; ;
} }


@SuppressWarnings("deprecation")
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH);

ProtocolResourceDefinition.addTransformations(version, builder);

if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) {
// Translate /subsystem=jgroups/stack=*/protocol=*:add() -> /subsystem=jgroups/stack=*:add-protocol()
OperationTransformer addTransformer = new OperationTransformer() {
@Override
public ModelNode transformOperation(ModelNode operation) {
PathAddress address = Operations.getPathAddress(operation);
PathAddress stackAddress = address.subAddress(0, address.size() - 1);
ModelNode addProtocolOp = operation.clone();
addProtocolOp.get(ModelDescriptionConstants.OP_ADDR).set(stackAddress.toModelNode());
addProtocolOp.get(ModelDescriptionConstants.OP).set("add-protocol");

addProtocolOp = new LegacyPropertyAddOperationTransformer().transformOperation(addProtocolOp);

return addProtocolOp;
}
};
builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD).setCustomOperationTransformer(new SimpleOperationTransformer(addTransformer)).inheritResourceAttributeDefinitions();

// Translate /subsystem=jgroups/stack=*/protocol=*:remove() -> /subsystem=jgroups/stack=*:remove-protocol()
OperationTransformer removeTransformer = new OperationTransformer() {
@Override
public ModelNode transformOperation(ModelNode operation) {
PathAddress address = Operations.getPathAddress(operation);
String protocol = address.getLastElement().getValue();
PathAddress stackAddress = address.subAddress(0, address.size() - 1);
ModelNode legacyOperation = Util.createOperation("remove-protocol", stackAddress);
legacyOperation.get(ProtocolResourceDefinition.DeprecatedAttribute.TYPE.getDefinition().getName()).set(protocol);
return legacyOperation;
}
};
builder.addOperationTransformationOverride(ModelDescriptionConstants.REMOVE).setCustomOperationTransformer(new SimpleOperationTransformer(removeTransformer));

builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer());
}

PropertyResourceDefinition.buildTransformation(version, builder);
}

/** /**
* Builds transformations common to both protocols and transport. * Builds transformations common to both stack protocols and transport.
*/ */
@SuppressWarnings("deprecation")
static void addTransformations(ModelVersion version, ResourceTransformationDescriptionBuilder builder) { static void addTransformations(ModelVersion version, ResourceTransformationDescriptionBuilder builder) {


if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) { if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) {
Expand All @@ -226,6 +179,8 @@ protected void convertAttribute(PathAddress address, String name, ModelNode valu
.setCustomOperationTransformer(new LegacyPropertyWriteOperationTransformer()); .setCustomOperationTransformer(new LegacyPropertyWriteOperationTransformer());
} }
} }

PropertyResourceDefinition.buildTransformation(version, builder);
} }


final ResourceServiceBuilderFactory<ChannelFactory> parentBuilderFactory; final ResourceServiceBuilderFactory<ChannelFactory> parentBuilderFactory;
Expand Down
Expand Up @@ -22,13 +22,25 @@


package org.jboss.as.clustering.jgroups.subsystem; package org.jboss.as.clustering.jgroups.subsystem;


import org.jboss.as.clustering.controller.Operations;
import org.jboss.as.clustering.controller.ResourceDescriptor; import org.jboss.as.clustering.controller.ResourceDescriptor;
import org.jboss.as.clustering.controller.ResourceServiceBuilderFactory; import org.jboss.as.clustering.controller.ResourceServiceBuilderFactory;
import org.jboss.as.clustering.controller.ResourceServiceHandler; import org.jboss.as.clustering.controller.ResourceServiceHandler;
import org.jboss.as.clustering.controller.RestartParentResourceAddStepHandler; import org.jboss.as.clustering.controller.RestartParentResourceAddStepHandler;
import org.jboss.as.clustering.controller.RestartParentResourceRemoveStepHandler; import org.jboss.as.clustering.controller.RestartParentResourceRemoveStepHandler;
import org.jboss.as.clustering.controller.SimpleResourceServiceHandler; import org.jboss.as.clustering.controller.SimpleResourceServiceHandler;
import org.jboss.as.clustering.controller.transform.LegacyPropertyAddOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer;
import org.jboss.as.clustering.controller.transform.OperationTransformer;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.operations.common.Util;
import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.as.controller.registry.ManagementResourceRegistration;
import org.jboss.as.controller.transform.description.RejectAttributeChecker;
import org.jboss.as.controller.transform.description.ResourceTransformationDescriptionBuilder;
import org.jboss.dmr.ModelNode;
import org.wildfly.clustering.jgroups.spi.ChannelFactory; import org.wildfly.clustering.jgroups.spi.ChannelFactory;


/** /**
Expand All @@ -37,6 +49,53 @@
*/ */
public class StackProtocolResourceDefinition extends ProtocolResourceDefinition { public class StackProtocolResourceDefinition extends ProtocolResourceDefinition {


@SuppressWarnings("deprecation")
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH);

ProtocolResourceDefinition.addTransformations(version, builder);

if (JGroupsModel.VERSION_4_1_0.requiresTransformation(version)) {
// See WFLY-6782, add-index parameter was missing from add operation definition
builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, ModelDescriptionConstants.ADD_INDEX);
}

if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) {
// Translate /subsystem=jgroups/stack=*/protocol=*:add() -> /subsystem=jgroups/stack=*:add-protocol()
OperationTransformer addTransformer = new OperationTransformer() {
@Override
public ModelNode transformOperation(ModelNode operation) {
PathAddress address = Operations.getPathAddress(operation);
PathAddress stackAddress = address.subAddress(0, address.size() - 1);
ModelNode addProtocolOp = operation.clone();
addProtocolOp.get(ModelDescriptionConstants.OP_ADDR).set(stackAddress.toModelNode());
addProtocolOp.get(ModelDescriptionConstants.OP).set("add-protocol");

addProtocolOp = new LegacyPropertyAddOperationTransformer().transformOperation(addProtocolOp);

return addProtocolOp;
}
};
builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD).setCustomOperationTransformer(new SimpleOperationTransformer(addTransformer)).inheritResourceAttributeDefinitions();

// Translate /subsystem=jgroups/stack=*/protocol=*:remove() -> /subsystem=jgroups/stack=*:remove-protocol()
OperationTransformer removeTransformer = new OperationTransformer() {
@Override
public ModelNode transformOperation(ModelNode operation) {
PathAddress address = Operations.getPathAddress(operation);
String protocol = address.getLastElement().getValue();
PathAddress stackAddress = address.subAddress(0, address.size() - 1);
ModelNode legacyOperation = Util.createOperation("remove-protocol", stackAddress);
legacyOperation.get(ProtocolResourceDefinition.DeprecatedAttribute.TYPE.getDefinition().getName()).set(protocol);
return legacyOperation;
}
};
builder.addOperationTransformationOverride(ModelDescriptionConstants.REMOVE).setCustomOperationTransformer(new SimpleOperationTransformer(removeTransformer));

builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer());
}
}

StackProtocolResourceDefinition(ResourceServiceBuilderFactory<ChannelFactory> stackBuilderFactory) { StackProtocolResourceDefinition(ResourceServiceBuilderFactory<ChannelFactory> stackBuilderFactory) {
super(stackBuilderFactory); super(stackBuilderFactory);
} }
Expand Down
Expand Up @@ -107,7 +107,7 @@ public void transformResource(ResourceTransformationContext context, PathAddress
} }


TransportResourceDefinition.buildTransformation(version, builder); TransportResourceDefinition.buildTransformation(version, builder);
ProtocolResourceDefinition.buildTransformation(version, builder); StackProtocolResourceDefinition.buildTransformation(version, builder);
} }


private final ResourceServiceBuilderFactory<ChannelFactory> builderFactory = new JChannelFactoryBuilderFactory(); private final ResourceServiceBuilderFactory<ChannelFactory> builderFactory = new JChannelFactoryBuilderFactory();
Expand Down
Expand Up @@ -174,7 +174,6 @@ public AttributeDefinition getDefinition() {
} }
} }


@SuppressWarnings("deprecation")
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH); ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH);


Expand Down Expand Up @@ -221,8 +220,6 @@ public ModelNode transformOperation(final ModelNode operation) {
} else { } else {
EnumSet.allOf(ThreadPoolResourceDefinition.class).forEach(p -> p.buildTransformation(version, parent)); EnumSet.allOf(ThreadPoolResourceDefinition.class).forEach(p -> p.buildTransformation(version, parent));
} }

PropertyResourceDefinition.buildTransformation(version, builder);
} }


// Transform /subsystem=jgroups/stack=*/transport=* -> /subsystem=jgroups/stack=*/transport=TRANSPORT // Transform /subsystem=jgroups/stack=*/transport=* -> /subsystem=jgroups/stack=*/transport=TRANSPORT
Expand Down

0 comments on commit 94586cc

Please sign in to comment.