static void buildTransformation( ModelVersion version, ResourceTransformationDescriptionBuilder parent) { ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH); if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { builder .getAttributeBuilder() .setValueConverter( new AttributeConverter.DefaultAttributeConverter() { @Override protected void convertAttribute( PathAddress address, String attributeName, ModelNode attributeValue, TransformationContext context) { if (attributeValue.isDefined()) { List<ModelNode> remoteServers = attributeValue.clone().asList(); ModelNode legacyListObject = new ModelNode(); for (ModelNode server : remoteServers) { ModelNode legacyListItem = new ModelNode(); legacyListItem.get("outbound-socket-binding").set(server); legacyListObject.add(legacyListItem); } attributeValue.set(legacyListObject); } } }, Attribute.SOCKET_BINDINGS.getDefinition()); } if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { builder .addOperationTransformationOverride(ModelDescriptionConstants.ADD) .setCustomOperationTransformer( new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())) .inheritResourceAttributeDefinitions(); builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer()); } StoreResourceDefinition.buildTransformation(version, builder); }
static void buildTransformation( ModelVersion version, ResourceTransformationDescriptionBuilder parent) { ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : parent.addChildResource(PATH); if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { builder.setCustomResourceTransformer( new ResourceTransformer() { @Override public void transformResource( ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { final ModelNode model = resource.getModel(); final ModelNode binaryTableModel = Resource.Tools.readModel( resource.removeChild(BinaryTableResourceDefinition.PATH)); if (binaryTableModel != null && binaryTableModel.isDefined()) { model .get(DeprecatedAttribute.TABLE.getDefinition().getName()) .set(binaryTableModel); } final ModelNode properties = model.remove( StoreResourceDefinition.Attribute.PROPERTIES.getDefinition().getName()); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); LegacyPropertyResourceTransformer.transformPropertiesToChildrenResources( properties, address, childContext); context.processChildren(resource); } }); } BinaryTableResourceDefinition.buildTransformation(version, builder); JDBCStoreResourceDefinition.buildTransformation(version, builder); }