static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { 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)) { builder.setCustomResourceTransformer(new ResourceTransformer() { @SuppressWarnings("deprecation") @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { final ModelNode model = resource.getModel(); final ModelNode maxBatchSize = model.remove(StoreResourceDefinition.Attribute.MAX_BATCH_SIZE.getName()); final ModelNode binaryTableModel = Resource.Tools.readModel(resource.removeChild(BinaryTableResourceDefinition.PATH)); if (binaryTableModel != null && binaryTableModel.isDefined()) { model.get(DeprecatedAttribute.TABLE.getName()).set(binaryTableModel); model.get(DeprecatedAttribute.TABLE.getName()).get(TableResourceDefinition.DeprecatedAttribute.BATCH_SIZE.getName()).set((maxBatchSize != null) ? maxBatchSize : new ModelNode()); } final ModelNode properties = model.remove(StoreResourceDefinition.Attribute.PROPERTIES.getName()); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); LegacyPropertyResourceTransformer.transformPropertiesToChildrenResources(properties, address, childContext); context.processChildren(resource); } }); } BinaryTableResourceDefinition.buildTransformation(version, builder); }
builder.setCustomResourceTransformer(modeTransformer);
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { 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)) { builder.setCustomResourceTransformer(new ResourceTransformer() { @SuppressWarnings("deprecation") @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { final ModelNode model = resource.getModel(); final ModelNode maxBatchSize = model.remove(StoreResourceDefinition.Attribute.MAX_BATCH_SIZE.getName()); final ModelNode binaryTableModel = Resource.Tools.readModel(resource.removeChild(BinaryTableResourceDefinition.PATH)); if (binaryTableModel != null && binaryTableModel.isDefined()) { model.get(DeprecatedAttribute.BINARY_TABLE.getName()).set(binaryTableModel); model.get(DeprecatedAttribute.BINARY_TABLE.getName()).get(TableResourceDefinition.DeprecatedAttribute.BATCH_SIZE.getName()).set((maxBatchSize != null) ? maxBatchSize : new ModelNode()); } final ModelNode stringTableModel = Resource.Tools.readModel(resource.removeChild(StringTableResourceDefinition.PATH)); if (stringTableModel != null && stringTableModel.isDefined()) { model.get(DeprecatedAttribute.STRING_TABLE.getName()).set(stringTableModel); model.get(DeprecatedAttribute.STRING_TABLE.getName()).get(TableResourceDefinition.DeprecatedAttribute.BATCH_SIZE.getName()).set((maxBatchSize != null) ? maxBatchSize : new ModelNode()); } final ModelNode properties = model.remove(StoreResourceDefinition.Attribute.PROPERTIES.getName()); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); LegacyPropertyResourceTransformer.transformPropertiesToChildrenResources(properties, address, childContext); context.processChildren(resource); } }); } BinaryTableResourceDefinition.buildTransformation(version, builder); StringTableResourceDefinition.buildTransformation(version, builder); }
builder.setCustomResourceTransformer(transformer);
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : (InfinispanModel.VERSION_5_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, STRING_JDBC_PATH) : parent.addChildResource(PATH)); JDBCStoreResourceDefinition.buildTransformation(version, builder, PATH); if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { builder.setCustomResourceTransformer(new ResourceTransformer() { @SuppressWarnings("deprecation") @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { final ModelNode model = resource.getModel(); final ModelNode maxBatchSize = model.remove(StoreResourceDefinition.Attribute.MAX_BATCH_SIZE.getName()); final ModelNode stringTableModel = Resource.Tools.readModel(resource.removeChild(StringTableResourceDefinition.PATH)); if (stringTableModel != null && stringTableModel.isDefined()) { model.get(DeprecatedAttribute.TABLE.getName()).set(stringTableModel); model.get(DeprecatedAttribute.TABLE.getName()).get(TableResourceDefinition.DeprecatedAttribute.BATCH_SIZE.getName()).set((maxBatchSize != null) ? maxBatchSize : new ModelNode()); } final ModelNode properties = model.remove(StoreResourceDefinition.Attribute.PROPERTIES.getName()); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); LegacyPropertyResourceTransformer.transformPropertiesToChildrenResources(properties, address, childContext); context.processChildren(resource); } }); } StringTableResourceDefinition.buildTransformation(version, builder); }
private static void registerDataStoreTransformers(ResourceTransformationDescriptionBuilder timerService) { DataStoreTransformer dataStoreTransformer = new DataStoreTransformer(); timerService.getAttributeBuilder() .setDiscard(DiscardAttributeChecker.ALWAYS, EJB3SubsystemModel.DEFAULT_DATA_STORE)//this is ok, as default-data-store only has any sense with new model, but it is always set! .end(); timerService.discardOperations(ModelDescriptionConstants.ADD); timerService.setCustomResourceTransformer(dataStoreTransformer); timerService.rejectChildResource(EJB3SubsystemModel.DATABASE_DATA_STORE_PATH); ResourceTransformationDescriptionBuilder fileDataStore = timerService.addChildRedirection(EJB3SubsystemModel.FILE_DATA_STORE_PATH, (current, builder) -> builder.getCurrent()); fileDataStore.addOperationTransformationOverride(ModelDescriptionConstants.ADD) .inheritResourceAttributeDefinitions() .setCustomOperationTransformer(dataStoreTransformer) .end(); }
builder.getAttributeBuilder().setValueConverter(new DefaultValueAttributeConverter(Attribute.SHARED.getDefinition()), Attribute.SHARED.getDefinition()); builder.setCustomResourceTransformer(new ResourceTransformer() { @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException {
builder.setCustomResourceTransformer(statefulCacheRefTransformer);
builder.addOperationTransformationOverride(ModelDescriptionConstants.REMOVE).setCustomOperationTransformer(new SimpleOperationTransformer(removeTransformer)); builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer());
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH); if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) { builder.setCustomResourceTransformer(new SimpleResourceTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD).setCustomOperationTransformer(new SimpleAddOperationTransformer(LEGACY_ADDRESS_TRANSFORMER).addAttributes(new SimpleAttribute(VALUE))).inheritResourceAttributeDefinitions(); builder.addOperationTransformationOverride(ModelDescriptionConstants.REMOVE).setCustomOperationTransformer(new SimpleRemoveOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.READ_ATTRIBUTE_OPERATION).setCustomOperationTransformer(new SimpleReadAttributeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.WRITE_ATTRIBUTE_OPERATION).setCustomOperationTransformer(new SimpleWriteAttributeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.UNDEFINE_ATTRIBUTE_OPERATION).setCustomOperationTransformer(new SimpleUndefineAttributeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.DESCRIBE).setCustomOperationTransformer(new SimpleDescribeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); } }
builder.setCustomResourceTransformer(batchingTransformer);
public static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder builder, PathElement path) { if (InfinispanModel.VERSION_6_0_0.requiresTransformation(version)) { builder.getAttributeBuilder().setDiscard(DiscardAttributeChecker.ALWAYS, Attribute.MAX_BATCH_SIZE.getDefinition()); } if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD) .setCustomOperationTransformer(new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())) .inheritResourceAttributeDefinitions() .end(); builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer()); builder.addRawOperationTransformationOverride(MapOperations.MAP_GET_DEFINITION.getName(), new SimpleOperationTransformer(new LegacyPropertyMapGetOperationTransformer())); for (String name : Operations.getAllWriteAttributeOperationNames()) { builder.addOperationTransformationOverride(name) .inheritResourceAttributeDefinitions() .setCustomOperationTransformer(new LegacyPropertyWriteOperationTransformer(address -> address.getParent().append(path))) .end(); } } StoreWriteThroughResourceDefinition.buildTransformation(version, builder); StoreWriteBehindResourceDefinition.buildTransformation(version, builder); }
builder.setCustomResourceTransformer(new ResourceTransformer() { @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException {
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { 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)) { builder.setCustomResourceTransformer(new ResourceTransformer() { @SuppressWarnings("deprecation") @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { final ModelNode model = resource.getModel(); final ModelNode maxBatchSize = model.remove(StoreResourceDefinition.Attribute.MAX_BATCH_SIZE.getName()); final ModelNode binaryTableModel = Resource.Tools.readModel(resource.removeChild(BinaryTableResourceDefinition.PATH)); if (binaryTableModel != null && binaryTableModel.isDefined()) { model.get(DeprecatedAttribute.TABLE.getName()).set(binaryTableModel); model.get(DeprecatedAttribute.TABLE.getName()).get(TableResourceDefinition.DeprecatedAttribute.BATCH_SIZE.getName()).set((maxBatchSize != null) ? maxBatchSize : new ModelNode()); } final ModelNode properties = model.remove(StoreResourceDefinition.Attribute.PROPERTIES.getName()); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); LegacyPropertyResourceTransformer.transformPropertiesToChildrenResources(properties, address, childContext); context.processChildren(resource); } }); } BinaryTableResourceDefinition.buildTransformation(version, builder); }
private ResourceTransformationDescriptionBuilder registerModuleTransformer(ResourceTransformationDescriptionBuilder parent, final PathElement childPath, ModulesToAttributeTransformer transformer) { ResourceTransformationDescriptionBuilder child = parent.addChildResource(childPath) .setCustomResourceTransformer(transformer) .discardOperations(ADD); child.addChildRedirection(PathElement.pathElement(transformer.getResourceName()), CURRENT_PATH_TRANSFORMER) .setCustomResourceTransformer(ResourceTransformer.DISCARD) .addOperationTransformationOverride(ADD) .setCustomOperationTransformer(transformer) .inheritResourceAttributeDefinitions().end() .addOperationTransformationOverride(WRITE_ATTRIBUTE_OPERATION) .setCustomOperationTransformer(transformer) .inheritResourceAttributeDefinitions().end() .addOperationTransformationOverride(REMOVE) .setCustomOperationTransformer(transformer) .inheritResourceAttributeDefinitions().end(); return child; }
private ResourceTransformationDescriptionBuilder registerModuleTransformer(ResourceTransformationDescriptionBuilder parent, final PathElement childPath, ModulesToAttributeTransformer transformer) { ResourceTransformationDescriptionBuilder child = parent.addChildResource(childPath) .setCustomResourceTransformer(transformer) .discardOperations(ADD); child.addChildRedirection(PathElement.pathElement(transformer.getResourceName()), CURRENT_PATH_TRANSFORMER) .setCustomResourceTransformer(ResourceTransformer.DISCARD) .addOperationTransformationOverride(ADD) .setCustomOperationTransformer(transformer) .inheritResourceAttributeDefinitions().end() .addOperationTransformationOverride(WRITE_ATTRIBUTE_OPERATION) .setCustomOperationTransformer(transformer) .inheritResourceAttributeDefinitions().end() .addOperationTransformationOverride(REMOVE) .setCustomOperationTransformer(transformer) .inheritResourceAttributeDefinitions().end(); return child; }
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { ResourceTransformationDescriptionBuilder builder = InfinispanModel.VERSION_4_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, LEGACY_PATH) : (InfinispanModel.VERSION_5_0_0.requiresTransformation(version) ? parent.addChildRedirection(PATH, STRING_JDBC_PATH) : parent.addChildResource(PATH)); JDBCStoreResourceDefinition.buildTransformation(version, builder, PATH); if (InfinispanModel.VERSION_4_0_0.requiresTransformation(version)) { builder.setCustomResourceTransformer(new ResourceTransformer() { @SuppressWarnings("deprecation") @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) throws OperationFailedException { final ModelNode model = resource.getModel(); final ModelNode maxBatchSize = model.remove(StoreResourceDefinition.Attribute.MAX_BATCH_SIZE.getName()); final ModelNode stringTableModel = Resource.Tools.readModel(resource.removeChild(StringTableResourceDefinition.PATH)); if (stringTableModel != null && stringTableModel.isDefined()) { model.get(DeprecatedAttribute.TABLE.getName()).set(stringTableModel); model.get(DeprecatedAttribute.TABLE.getName()).get(TableResourceDefinition.DeprecatedAttribute.BATCH_SIZE.getName()).set((maxBatchSize != null) ? maxBatchSize : new ModelNode()); } final ModelNode properties = model.remove(StoreResourceDefinition.Attribute.PROPERTIES.getName()); final ResourceTransformationContext childContext = context.addTransformedResource(PathAddress.EMPTY_ADDRESS, resource); LegacyPropertyResourceTransformer.transformPropertiesToChildrenResources(properties, address, childContext); context.processChildren(resource); } }); } StringTableResourceDefinition.buildTransformation(version, builder); }
private void buildTransformers_1_4(ResourceTransformationDescriptionBuilder builder) { builder.getAttributeBuilder() .setDiscard(DiscardAttributeChecker.UNDEFINED, RemotingEndpointResource.ATTRIBUTES.values()) .addRejectCheck(RejectAttributeChecker.DEFINED, endpointAttrArray) .end(); builder.addChildResource(ConnectorResource.PATH).getAttributeBuilder() .setDiscard(DiscardAttributeChecker.UNDEFINED, ConnectorCommon.SASL_AUTHENTICATION_FACTORY, ConnectorResource.SSL_CONTEXT) .addRejectCheck(RejectAttributeChecker.DEFINED, ConnectorCommon.SASL_AUTHENTICATION_FACTORY, ConnectorResource.SSL_CONTEXT); builder.rejectChildResource(HttpConnectorResource.PATH); builder.addChildResource(RemotingEndpointResource.ENDPOINT_PATH) .getAttributeBuilder() .setDiscard(DiscardAttributeChecker.UNDEFINED, RemotingEndpointResource.ATTRIBUTES.values()) .addRejectCheck(RejectAttributeChecker.DEFINED, endpointAttrArray) .end() .addOperationTransformationOverride(ModelDescriptionConstants.ADD) .inheritResourceAttributeDefinitions() .setCustomOperationTransformer(OperationTransformer.DISCARD) .end() .setCustomResourceTransformer(ResourceTransformer.DISCARD); builder.addChildResource(RemoteOutboundConnectionResourceDefinition.ADDRESS).getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(Protocol.REMOTE.toString())), RemoteOutboundConnectionResourceDefinition.PROTOCOL) .addRejectCheck(RejectAttributeChecker.DEFINED, RemoteOutboundConnectionResourceDefinition.PROTOCOL) .setDiscard(DiscardAttributeChecker.UNDEFINED, ConnectorCommon.SASL_AUTHENTICATION_FACTORY) .addRejectCheck(RejectAttributeChecker.DEFINED, RemoteOutboundConnectionResourceDefinition.AUTHENTICATION_CONTEXT); }
static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder parent) { ResourceTransformationDescriptionBuilder builder = parent.addChildResource(WILDCARD_PATH); if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) { builder.setCustomResourceTransformer(new SimpleResourceTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD).setCustomOperationTransformer(new SimpleAddOperationTransformer(LEGACY_ADDRESS_TRANSFORMER).addAttributes(new SimpleAttribute(VALUE))).inheritResourceAttributeDefinitions(); builder.addOperationTransformationOverride(ModelDescriptionConstants.REMOVE).setCustomOperationTransformer(new SimpleRemoveOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.READ_ATTRIBUTE_OPERATION).setCustomOperationTransformer(new SimpleReadAttributeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.WRITE_ATTRIBUTE_OPERATION).setCustomOperationTransformer(new SimpleWriteAttributeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.UNDEFINE_ATTRIBUTE_OPERATION).setCustomOperationTransformer(new SimpleUndefineAttributeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); builder.addOperationTransformationOverride(ModelDescriptionConstants.DESCRIBE).setCustomOperationTransformer(new SimpleDescribeOperationTransformer(LEGACY_ADDRESS_TRANSFORMER)); } }
public static void buildTransformation(ModelVersion version, ResourceTransformationDescriptionBuilder builder, PathElement path) { if (InfinispanModel.VERSION_6_0_0.requiresTransformation(version)) { builder.getAttributeBuilder().setDiscard(DiscardAttributeChecker.ALWAYS, Attribute.MAX_BATCH_SIZE.getDefinition()); } if (InfinispanModel.VERSION_3_0_0.requiresTransformation(version)) { builder.addOperationTransformationOverride(ModelDescriptionConstants.ADD) .setCustomOperationTransformer(new SimpleOperationTransformer(new LegacyPropertyAddOperationTransformer())) .inheritResourceAttributeDefinitions() .end(); builder.setCustomResourceTransformer(new LegacyPropertyResourceTransformer()); builder.addRawOperationTransformationOverride(MapOperations.MAP_GET_DEFINITION.getName(), new SimpleOperationTransformer(new LegacyPropertyMapGetOperationTransformer())); for (String name : Operations.getAllWriteAttributeOperationNames()) { builder.addOperationTransformationOverride(name) .inheritResourceAttributeDefinitions() .setCustomOperationTransformer(new LegacyPropertyWriteOperationTransformer(address -> address.getParent().append(path))) .end(); } } StoreWriteThroughResourceDefinition.buildTransformation(version, builder); StoreWriteBehindResourceDefinition.buildTransformation(version, builder); }