Skip to content

Commit

Permalink
Remove subsystem specific logic from generic transformer by parameter…
Browse files Browse the repository at this point in the history
…izing address transformation.
  • Loading branch information
pferraro committed Mar 17, 2017
1 parent 35190b0 commit 3fe5d3f
Show file tree
Hide file tree
Showing 9 changed files with 62 additions and 99 deletions.
Expand Up @@ -22,17 +22,16 @@


package org.jboss.as.clustering.controller.transform; package org.jboss.as.clustering.controller.transform;


import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.COMPOSITE;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.NAME; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.NAME;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP_ADDR;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PROPERTIES; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PROPERTIES;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PROPERTY; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.PROPERTY;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.STEPS;
import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.VALUE; import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.VALUE;


import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.UnaryOperator;


import org.jboss.as.clustering.controller.Operations; import org.jboss.as.clustering.controller.Operations;
import org.jboss.as.controller.OperationFailedException; import org.jboss.as.controller.OperationFailedException;
Expand All @@ -47,10 +46,27 @@


/** /**
* @author Radoslav Husar * @author Radoslav Husar
* @version October 2015 * @author Paul Ferraro
*/ */
public class LegacyPropertyWriteOperationTransformer implements OperationTransformer { public class LegacyPropertyWriteOperationTransformer implements OperationTransformer {


private final UnaryOperator<PathAddress> addressTransformer;

/**
* Constructs a new LegacyPropertyWriteOperationTransformer with no address tranformation.
*/
public LegacyPropertyWriteOperationTransformer() {
this(UnaryOperator.identity());
}

/**
* Constructs a new LegacyPropertyWriteOperationTransformer applying the specified address transformation
* @param addressTransformer transforms an address containing aliases intoto the address under which the resource is registered.
*/
public LegacyPropertyWriteOperationTransformer(UnaryOperator<PathAddress> addressTransformer) {
this.addressTransformer = addressTransformer;
}

@Override @Override
public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) throws OperationFailedException { public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) throws OperationFailedException {
if (operation.get(NAME).asString().equals(PROPERTIES)) { if (operation.get(NAME).asString().equals(PROPERTIES)) {
Expand All @@ -61,19 +77,10 @@ public TransformedOperation transformOperation(TransformationContext context, Pa
// Workaround aliases limitations! // Workaround aliases limitations!
// we need to painstakingly undo path alias translations, since we need to know the address of the real resource, // we need to painstakingly undo path alias translations, since we need to know the address of the real resource,
// since the readResourceFromRoot() will not work on the aliased address // since the readResourceFromRoot() will not work on the aliased address
Map<String, String> undoAliases = new HashMap<>(); PathAddress resolvedAddress = this.addressTransformer.apply(address);
undoAliases.put("BINARY_KEYED_JDBC_STORE", "binary-jdbc");
undoAliases.put("STORE", "custom");
undoAliases.put("FILE_STORE", "file");
undoAliases.put("MIXED_KEYED_JDBC_STORE", "mixed-jdbc");
undoAliases.put("REMOTE_STORE", "remote");
undoAliases.put("STRING_KEYED_JDBC_STORE", "string-jdbc");
if (undoAliases.containsKey(address.getLastElement().getValue())) {
address = address.subAddress(0, address.size() - 1).append("store", undoAliases.get(address.getLastElement().getValue()));
}


ModelNode initialValue = attachment.getInitialValue(address, Operations.getAttributeName(operation)); ModelNode initialValue = attachment.getInitialValue(resolvedAddress, Operations.getAttributeName(operation));
ModelNode newValue = context.readResourceFromRoot(address).getModel().get(PROPERTIES).clone(); ModelNode newValue = context.readResourceFromRoot(resolvedAddress).getModel().get(PROPERTIES).clone();


if (initialValue.equals(newValue) || (initialValue.isDefined() && initialValue.asPropertyList().isEmpty() && !newValue.isDefined())) { if (initialValue.equals(newValue) || (initialValue.isDefined() && initialValue.asPropertyList().isEmpty() && !newValue.isDefined())) {
// There is nothing to do, discard this operation // There is nothing to do, discard this operation
Expand All @@ -91,9 +98,7 @@ public TransformedOperation transformOperation(TransformationContext context, Pa
final PathAddress legacyAddress = Operations.getPathAddress(operation); final PathAddress legacyAddress = Operations.getPathAddress(operation);


// This may result as multiple operations on the legacy node // This may result as multiple operations on the legacy node
final ModelNode composite = new ModelNode(); List<ModelNode> operations = new LinkedList<>();
composite.get(OP).set(COMPOSITE);
composite.get(OP_ADDR).setEmptyList();


if (newValue.isDefined()) { if (newValue.isDefined()) {
for (Property property : newValue.asPropertyList()) { for (Property property : newValue.asPropertyList()) {
Expand All @@ -104,14 +109,13 @@ public TransformedOperation transformOperation(TransformationContext context, Pa
// This is a newly added property => :add operation // This is a newly added property => :add operation
ModelNode addOp = Util.createAddOperation(legacyAddress.append(PathElement.pathElement(PROPERTY, key))); ModelNode addOp = Util.createAddOperation(legacyAddress.append(PathElement.pathElement(PROPERTY, key)));
addOp.get(VALUE).set(value); addOp.get(VALUE).set(value);
composite.get(STEPS).add(addOp); operations.add(addOp);
} else { } else {
final ModelNode oldPropValue = oldMap.get(key); final ModelNode oldPropValue = oldMap.get(key);
if (!oldPropValue.equals(value)) { if (!oldPropValue.equals(value)) {
// Property value is different => :write-attribute operation // Property value is different => :write-attribute operation
ModelNode writeOp = Util.getWriteAttributeOperation(legacyAddress.append(PathElement.pathElement(PROPERTY, key)), ModelNode writeOp = Util.getWriteAttributeOperation(legacyAddress.append(PathElement.pathElement(PROPERTY, key)), VALUE, value);
VALUE, value); operations.add(writeOp);
composite.get(STEPS).add(writeOp);
} }
// Otherwise both property name and value are the same => no operation // Otherwise both property name and value are the same => no operation


Expand All @@ -124,12 +128,12 @@ public TransformedOperation transformOperation(TransformationContext context, Pa
// Properties that were removed = :remove operation // Properties that were removed = :remove operation
for (Map.Entry<String, ModelNode> prop : oldMap.entrySet()) { for (Map.Entry<String, ModelNode> prop : oldMap.entrySet()) {
ModelNode removeOperation = Util.createRemoveOperation(legacyAddress.append(PathElement.pathElement(PROPERTY, prop.getKey()))); ModelNode removeOperation = Util.createRemoveOperation(legacyAddress.append(PathElement.pathElement(PROPERTY, prop.getKey())));
composite.get(STEPS).add(removeOperation); operations.add(removeOperation);
} }


initialValue.set(newValue.clone()); initialValue.set(newValue.clone());


return new TransformedOperation(composite, OperationResultTransformer.ORIGINAL_RESULT); return new TransformedOperation(Operations.createCompositeOperation(operations), OperationResultTransformer.ORIGINAL_RESULT);
} }
return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT); return new TransformedOperation(operation, OperationResultTransformer.ORIGINAL_RESULT);
} }
Expand Down
Expand Up @@ -89,6 +89,8 @@ public AttributeDefinition getDefinition() {
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH); ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH);


JDBCStoreResourceDefinition.buildTransformation(version, builder, PATH);

if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) {
builder.setCustomResourceTransformer(new ResourceTransformer() { builder.setCustomResourceTransformer(new ResourceTransformer() {
@Override @Override
Expand All @@ -111,12 +113,10 @@ public void transformResource(ResourceTransformationContext context, PathAddress
} }


BinaryTableResourceDefinition.buildTransformation(version, builder); BinaryTableResourceDefinition.buildTransformation(version, builder);

JDBCStoreResourceDefinition.buildTransformation(version, builder);
} }


BinaryKeyedJDBCStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) { BinaryKeyedJDBCStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) {
super(PATH, LEGACY_PATH, new InfinispanResourceDescriptionResolver(PATH, pathElement("jdbc"), WILDCARD_PATH), allowRuntimeOnlyRegistration, descriptor -> descriptor super(PATH, LEGACY_PATH, new InfinispanResourceDescriptionResolver(PATH, JDBCStoreResourceDefinition.PATH, WILDCARD_PATH), allowRuntimeOnlyRegistration, descriptor -> descriptor
.addExtraParameters(DeprecatedAttribute.class) .addExtraParameters(DeprecatedAttribute.class)
.addRequiredChildren(BinaryTableResourceDefinition.PATH) .addRequiredChildren(BinaryTableResourceDefinition.PATH)
// Translate deprecated TABLE attribute into separate add table operation // Translate deprecated TABLE attribute into separate add table operation
Expand Down
Expand Up @@ -22,15 +22,11 @@


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


import org.jboss.as.clustering.controller.transform.LegacyPropertyAddOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.clustering.function.Consumers; import org.jboss.as.clustering.function.Consumers;
import org.jboss.as.controller.AttributeDefinition; import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.ModelVersion; import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PathElement; import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder; import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.registry.AttributeAccess; import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.as.controller.transform.description.ResourceTransformationDescriptionBuilder; import org.jboss.as.controller.transform.description.ResourceTransformationDescriptionBuilder;
import org.jboss.dmr.ModelType; import org.jboss.dmr.ModelType;
Expand Down Expand Up @@ -67,14 +63,7 @@ public AttributeDefinition getDefinition() {
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH); ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH);


if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { StoreResourceDefinition.buildTransformation(version, builder, PATH);
builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD)
.setCustomOperationTransformer(new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())).inheritResourceAttributeDefinitions();

builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer());
}

StoreResourceDefinition.buildTransformation(version, builder);
} }


CustomStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) { CustomStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) {
Expand Down
Expand Up @@ -22,14 +22,10 @@


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


import org.jboss.as.clustering.controller.transform.LegacyPropertyAddOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.controller.AttributeDefinition; import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.ModelVersion; import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.PathElement; import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder; import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.registry.AttributeAccess; import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.as.controller.services.path.PathManager; import org.jboss.as.controller.services.path.PathManager;
import org.jboss.as.controller.services.path.ResolvePathHandler; import org.jboss.as.controller.services.path.ResolvePathHandler;
Expand Down Expand Up @@ -72,14 +68,7 @@ public AttributeDefinition getDefinition() {
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH); ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH);


if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { StoreResourceDefinition.buildTransformation(version, builder, PATH);
builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD)
.setCustomOperationTransformer(new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())).inheritResourceAttributeDefinitions();

builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer());
}

StoreResourceDefinition.buildTransformation(version, builder);
} }


FileStoreResourceDefinition(PathManager pathManager, boolean allowRuntimeOnlyRegistration) { FileStoreResourceDefinition(PathManager pathManager, boolean allowRuntimeOnlyRegistration) {
Expand Down
Expand Up @@ -32,10 +32,8 @@
import org.jboss.as.clustering.controller.CommonUnaryRequirement; import org.jboss.as.clustering.controller.CommonUnaryRequirement;
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.transform.LegacyPropertyAddOperationTransformer;
import org.jboss.as.clustering.controller.transform.SimpleAttributeConverter; import org.jboss.as.clustering.controller.transform.SimpleAttributeConverter;
import org.jboss.as.clustering.controller.transform.SimpleAttributeConverter.Converter; import org.jboss.as.clustering.controller.transform.SimpleAttributeConverter.Converter;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.clustering.controller.validation.EnumValidatorBuilder; import org.jboss.as.clustering.controller.validation.EnumValidatorBuilder;
import org.jboss.as.clustering.controller.validation.ParameterValidatorBuilder; import org.jboss.as.clustering.controller.validation.ParameterValidatorBuilder;
import org.jboss.as.clustering.infinispan.InfinispanLogger; import org.jboss.as.clustering.infinispan.InfinispanLogger;
Expand Down Expand Up @@ -69,6 +67,8 @@
*/ */
public abstract class JDBCStoreResourceDefinition extends StoreResourceDefinition { public abstract class JDBCStoreResourceDefinition extends StoreResourceDefinition {


static final PathElement PATH = pathElement("jdbc");

enum Capability implements org.jboss.as.clustering.controller.Capability { enum Capability implements org.jboss.as.clustering.controller.Capability {
DATA_SOURCE("org.wildfly.clustering.infinispan.cache-container.cache.store.jdbc.data-source"), DATA_SOURCE("org.wildfly.clustering.infinispan.cache-container.cache.store.jdbc.data-source"),
; ;
Expand Down Expand Up @@ -134,7 +134,7 @@ static SimpleAttributeDefinitionBuilder createBuilder(String name, ModelType typ
; ;
} }


static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder builder) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder builder, PathElement path) {


if (InfinispanModel.VERSION_4_2_0.requiresTransformation(version) && !InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { if (InfinispanModel.VERSION_4_2_0.requiresTransformation(version) && !InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) {
// DATASOURCE attribute was only supported as an add operation parameter // DATASOURCE attribute was only supported as an add operation parameter
Expand Down Expand Up @@ -170,19 +170,14 @@ public void convert(PathAddress address, String name, ModelNode value, ModelNode
; ;
} }


if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { StoreResourceDefinition.buildTransformation(version, builder, path);
builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD)
.setCustomOperationTransformer(new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())).inheritResourceAttributeDefinitions();
}


if (InfinispanModel.VERSION_2_0_0.requiresTransformation(version)) { if (InfinispanModel.VERSION_2_0_0.requiresTransformation(version)) {
builder.getAttributeBuilder() builder.getAttributeBuilder()
.setDiscard(DiscardAttributeChecker.UNDEFINED, Attribute.DIALECT.getDefinition()) .setDiscard(DiscardAttributeChecker.UNDEFINED, Attribute.DIALECT.getDefinition())
.addRejectCheck(RejectAttributeChecker.DEFINED, Attribute.DIALECT.getDefinition()) .addRejectCheck(RejectAttributeChecker.DEFINED, Attribute.DIALECT.getDefinition())
.end(); .end();
} }

StoreResourceDefinition.buildTransformation(version, builder);
} }


static class TableAttributeTranslator implements OperationStepHandler { static class TableAttributeTranslator implements OperationStepHandler {
Expand Down
Expand Up @@ -22,17 +22,12 @@


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


import org.jboss.as.clustering.controller.Operations;
import org.jboss.as.clustering.controller.transform.LegacyPropertyMapGetOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer; import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyWriteOperationTransformer;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.controller.AttributeDefinition; import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.ModelVersion; import org.jboss.as.controller.ModelVersion;
import org.jboss.as.controller.OperationFailedException; import org.jboss.as.controller.OperationFailedException;
import org.jboss.as.controller.PathAddress; import org.jboss.as.controller.PathAddress;
import org.jboss.as.controller.PathElement; import org.jboss.as.controller.PathElement;
import org.jboss.as.controller.operations.global.MapOperations;
import org.jboss.as.controller.registry.Resource; import org.jboss.as.controller.registry.Resource;
import org.jboss.as.controller.transform.ResourceTransformationContext; import org.jboss.as.controller.transform.ResourceTransformationContext;
import org.jboss.as.controller.transform.ResourceTransformer; import org.jboss.as.controller.transform.ResourceTransformer;
Expand Down Expand Up @@ -73,10 +68,7 @@ public AttributeDefinition getDefinition() {
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) {
ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH); ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH);


BinaryTableResourceDefinition.buildTransformation(version, builder); JDBCStoreResourceDefinition.buildTransformation(version, builder, PATH);
StringTableResourceDefinition.buildTransformation(version, builder);

JDBCStoreResourceDefinition.buildTransformation(version, builder);


if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) {
builder.setCustomResourceTransformer(new ResourceTransformer() { builder.setCustomResourceTransformer(new ResourceTransformer() {
Expand Down Expand Up @@ -104,18 +96,12 @@ public void transformResource(ResourceTransformationContext context, PathAddress
}); });
} }


if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { BinaryTableResourceDefinition.buildTransformation(version, builder);
builder.addRawOperationTransformationOverride(MapOperations.MAP_GET_DEFINITION.getName(), new SimpleOperationTransformer(new LegacyPropertyMapGetOperationTransformer())); StringTableResourceDefinition.buildTransformation(version, builder);
for (String opName : Operations.getAllWriteAttributeOperationNames()) {
builder.addOperationTransformationOverride(opName)
.inheritResourceAttributeDefinitions()
.setCustomOperationTransformer(new LegacyPropertyWriteOperationTransformer());
}
}
} }


MixedKeyedJDBCStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) { MixedKeyedJDBCStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) {
super(PATH, LEGACY_PATH, new InfinispanResourceDescriptionResolver(PATH, pathElement("jdbc"), WILDCARD_PATH), allowRuntimeOnlyRegistration, descriptor -> descriptor super(PATH, LEGACY_PATH, new InfinispanResourceDescriptionResolver(PATH, JDBCStoreResourceDefinition.PATH, WILDCARD_PATH), allowRuntimeOnlyRegistration, descriptor -> descriptor
.addExtraParameters(DeprecatedAttribute.class) .addExtraParameters(DeprecatedAttribute.class)
.addRequiredChildren(BinaryTableResourceDefinition.PATH, StringTableResourceDefinition.PATH) .addRequiredChildren(BinaryTableResourceDefinition.PATH, StringTableResourceDefinition.PATH)
// Translate deprecated BINARY_TABLE attribute into separate add table operation // Translate deprecated BINARY_TABLE attribute into separate add table operation
Expand Down
Expand Up @@ -28,9 +28,6 @@
import org.jboss.as.clustering.controller.AttributeParsers; import org.jboss.as.clustering.controller.AttributeParsers;
import org.jboss.as.clustering.controller.CapabilityReference; import org.jboss.as.clustering.controller.CapabilityReference;
import org.jboss.as.clustering.controller.CommonUnaryRequirement; import org.jboss.as.clustering.controller.CommonUnaryRequirement;
import org.jboss.as.clustering.controller.transform.LegacyPropertyAddOperationTransformer;
import org.jboss.as.clustering.controller.transform.LegacyPropertyResourceTransformer;
import org.jboss.as.clustering.controller.transform.SimpleOperationTransformer;
import org.jboss.as.clustering.function.Consumers; import org.jboss.as.clustering.function.Consumers;
import org.jboss.as.controller.AttributeDefinition; import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.ModelVersion; import org.jboss.as.controller.ModelVersion;
Expand All @@ -40,7 +37,6 @@
import org.jboss.as.controller.StringListAttributeDefinition; import org.jboss.as.controller.StringListAttributeDefinition;
import org.jboss.as.controller.capability.RuntimeCapability; import org.jboss.as.controller.capability.RuntimeCapability;
import org.jboss.as.controller.client.helpers.MeasurementUnit; import org.jboss.as.controller.client.helpers.MeasurementUnit;
import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
import org.jboss.as.controller.registry.AttributeAccess; import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.as.controller.transform.TransformationContext; import org.jboss.as.controller.transform.TransformationContext;
import org.jboss.as.controller.transform.description.AttributeConverter; import org.jboss.as.controller.transform.description.AttributeConverter;
Expand Down Expand Up @@ -138,14 +134,7 @@ protected void convertAttribute(PathAddress address, String attributeName, Model
}, Attribute.SOCKET_BINDINGS.getDefinition()); }, Attribute.SOCKET_BINDINGS.getDefinition());
} }


if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { StoreResourceDefinition.buildTransformation(version, builder, PATH);
builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD)
.setCustomOperationTransformer(new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())).inheritResourceAttributeDefinitions();

builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer());
}

StoreResourceDefinition.buildTransformation(version, builder);
} }


RemoteStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) { RemoteStoreResourceDefinition(boolean allowRuntimeOnlyRegistration) {
Expand Down

0 comments on commit 3fe5d3f

Please sign in to comment.