@Override public void registerTransformers(SubsystemTransformerRegistration subsystem) { ChainedTransformationDescriptionBuilder chained = ResourceTransformationDescriptionBuilder.Factory.createChainedSubystemInstance(CURRENT_MODEL_VERSION); ResourceTransformationDescriptionBuilder builder70 = chained.createBuilder(CURRENT_MODEL_VERSION, MODEL_VERSION_EAP70); ResourceTransformationDescriptionBuilder sessionBuilder70 = builder70.addChildResource(MAIL_SESSION_PATH); sessionBuilder70.addChildResource(PathElement.pathElement(SERVER_TYPE)) .getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, MailServerDefinition.CREDENTIAL_REFERENCE) .setDiscard(DiscardAttributeChecker.UNDEFINED, MailServerDefinition.CREDENTIAL_REFERENCE) .end(); sessionBuilder70.addChildResource(CUSTOM_SERVER_PATH) .getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, MailServerDefinition.CREDENTIAL_REFERENCE) .setDiscard(DiscardAttributeChecker.UNDEFINED, MailServerDefinition.CREDENTIAL_REFERENCE) .end(); //there are no differences between EAP6.2 --> EAP7 chained.createBuilder(MODEL_VERSION_EAP70, MODEL_VERSION_EAP6X); chained.buildAndRegister(subsystem, new ModelVersion[]{MODEL_VERSION_EAP70, MODEL_VERSION_EAP6X}); } }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystemRegistration) { ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); builder.addChildResource(CmpSubsystemModel.UUID_KEY_GENERATOR_PATH).getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, AbstractKeyGeneratorResourceDefinition.JNDI_NAME) .setDiscard(DiscardAttributeChecker.UNDEFINED, AbstractKeyGeneratorResourceDefinition.JNDI_NAME) .end(); builder.addChildResource(CmpSubsystemModel.HILO_KEY_GENERATOR_PATH).getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, AbstractKeyGeneratorResourceDefinition.JNDI_NAME) .setDiscard(DiscardAttributeChecker.UNDEFINED, AbstractKeyGeneratorResourceDefinition.JNDI_NAME) .end(); TransformationDescription.Tools.register(builder.build(), subsystemRegistration, ModelVersion.create(1, 0, 0)); } }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystem) { final ModelVersion v1_0_0 = ModelVersion.create(1, 0, 0); //EAP 6.2.0 final ModelVersion v1_1_0 = ModelVersion.create(1, 1, 0); final ModelVersion v3_0_0 = ModelVersion.create(3, 0, 0); ChainedTransformationDescriptionBuilder chainedBuilder = TransformationDescriptionBuilder.Factory.createChainedSubystemInstance(subsystem.getCurrentSubsystemVersion()); ResourceTransformationDescriptionBuilder builder_3_0 = chainedBuilder.createBuilder(subsystem.getCurrentSubsystemVersion(), v3_0_0); builder11.rejectChildResource(PathElement.pathElement(EESubsystemModel.CONTEXT_SERVICE)); builder11.rejectChildResource(PathElement.pathElement(EESubsystemModel.MANAGED_THREAD_FACTORY)); builder11.rejectChildResource(PathElement.pathElement(EESubsystemModel.MANAGED_EXECUTOR_SERVICE)); builder11.rejectChildResource(PathElement.pathElement(EESubsystemModel.MANAGED_SCHEDULED_EXECUTOR_SERVICE)); builder11.discardChildResource(EESubsystemModel.DEFAULT_BINDINGS_PATH); builder.getAttributeBuilder() .addRejectCheck(globalModulesRejecterConverter, GlobalModulesDefinition.INSTANCE) .setValueConverter(globalModulesRejecterConverter, GlobalModulesDefinition.INSTANCE) .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EeSubsystemRootResource.ANNOTATION_PROPERTY_REPLACEMENT) .addRejectCheck(RejectAttributeChecker.DEFINED, EeSubsystemRootResource.ANNOTATION_PROPERTY_REPLACEMENT);
private void registerTransformers_1_3_0(SubsystemTransformerRegistration subsystemRegistration) { ResourceTransformationDescriptionBuilder builder = ResourceTransformationDescriptionBuilder.Factory.createSubsystemInstance(); builder.rejectChildResource(PathElement.pathElement(Constants.ELYTRON_REALM)); builder.rejectChildResource(PathElement.pathElement(Constants.ELYTRON_KEY_STORE)); builder.rejectChildResource(PathElement.pathElement(Constants.ELYTRON_TRUST_STORE)); builder.rejectChildResource(PathElement.pathElement(Constants.ELYTRON_KEY_MANAGER)); builder.rejectChildResource(PathElement.pathElement(Constants.ELYTRON_TRUST_MANAGER)); builder.getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(INITIALIZE_JACC.getDefaultValue()), INITIALIZE_JACC) .addRejectCheck(RejectAttributeChecker.DEFINED, INITIALIZE_JACC); builder .addChildResource(SecurityExtension.SECURITY_DOMAIN_PATH) .addChildResource(SecurityExtension.PATH_AUDIT_CLASSIC) .addChildResource(PATH_PROVIDER_MODULE) .getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(ModuleName.PICKETBOX.getName())), MODULE) .addRejectCheck(RejectAttributeChecker.DEFINED, MODULE).end(); TransformationDescription.Tools.register(builder.build(), subsystemRegistration, ModelVersion.create(1, 3, 0)); } }
private static void registerTransformers_4_0_0(SubsystemTransformerRegistration subsystemRegistration) { final ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); registerApplicationSecurityDomainDTransformers(builder); registerIdentityTransformers(builder); builder.addChildResource(RemotingProfileResourceDefinition.INSTANCE).getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, StaticEJBDiscoveryDefinition.INSTANCE) .end(); builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EJB3SubsystemRootResourceDefinition.ALLOW_EJB_NAME_REGEX); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.ALLOW_EJB_NAME_REGEX); builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EJB3SubsystemRootResourceDefinition.ENABLE_GRACEFUL_TXN_SHUTDOWN); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.ENABLE_GRACEFUL_TXN_SHUTDOWN); // Rename new statistics-enabled attribute to old enable-statistics builder.getAttributeBuilder() .addRename(EJB3SubsystemModel.STATISTICS_ENABLED, EJB3SubsystemModel.ENABLE_STATISTICS); TransformationDescription.Tools.register(builder.build(), subsystemRegistration, VERSION_4_0_0); }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystemRegistration) { ChainedTransformationDescriptionBuilder chainedBuilder = TransformationDescriptionBuilder.Factory.createChainedSubystemInstance(subsystemRegistration.getCurrentSubsystemVersion()); ResourceTransformationDescriptionBuilder parentBuilder = chainedBuilder.createBuilder(subsystemRegistration.getCurrentSubsystemVersion(), EAP_7_0); ResourceTransformationDescriptionBuilder builder = parentBuilder.addChildResource(PATH_DISTRIBUTED_WORK_MANAGER); builder.getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(false, true, new ModelNode(false)), JcaDistributedWorkManagerDefinition.DWmParameters.ELYTRON_ENABLED.getAttribute()) .addRejectCheck(RejectAttributeChecker.DEFINED, JcaDistributedWorkManagerDefinition.DWmParameters.ELYTRON_ENABLED.getAttribute()) .end(); builder = parentBuilder.addChildResource(PATH_WORK_MANAGER); builder.getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(false, true, new ModelNode(false)), JcaWorkManagerDefinition.WmParameters.ELYTRON_ENABLED.getAttribute()) .addRejectCheck(RejectAttributeChecker.DEFINED, JcaWorkManagerDefinition.WmParameters.ELYTRON_ENABLED.getAttribute()) .end(); parentBuilder = chainedBuilder.createBuilder(EAP_7_0, EAP_6_2); parentBuilder.rejectChildResource(JcaDistributedWorkManagerDefinition.PATH_DISTRIBUTED_WORK_MANAGER); parentBuilder.discardChildResource(TracerDefinition.PATH_TRACER); chainedBuilder.buildAndRegister(subsystemRegistration, new ModelVersion[]{ EAP_6_2, EAP_7_0, }); } }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystemRegistration) { ChainedTransformationDescriptionBuilder chainedBuilder = TransformationDescriptionBuilder.Factory.createChainedSubystemInstance(subsystemRegistration.getCurrentSubsystemVersion()); ResourceTransformationDescriptionBuilder parentBuilder = chainedBuilder.createBuilder(subsystemRegistration.getCurrentSubsystemVersion(), EAP_7_1); ResourceTransformationDescriptionBuilder builder = parentBuilder.addChildResource(PathElement.pathElement(RESOURCEADAPTER_NAME)) .getAttributeBuilder() .setValueConverter(AttributeConverter.Factory.createHardCoded(new ModelNode(0), true), INITIAL_POOL_SIZE) .end(); builder = parentBuilder.addChildResource(PathElement.pathElement(RESOURCEADAPTER_NAME)) .getAttributeBuilder() .setDiscard(DiscardAttributeChecker.UNDEFINED, WM_ELYTRON_SECURITY_DOMAIN) .addRejectCheck(RejectAttributeChecker.DEFINED, WM_ELYTRON_SECURITY_DOMAIN) .end(); builder.addChildResource(ConnectionDefinitionResourceDefinition.PATH).getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), Constants.ELYTRON_ENABLED, Constants.RECOVERY_ELYTRON_ENABLED, Constants.RECOVERY_CREDENTIAL_REFERENCE) .setDiscard(DiscardAttributeChecker.UNDEFINED, Constants.AUTHENTICATION_CONTEXT, Constants.AUTHENTICATION_CONTEXT_AND_APPLICATION, Constants.RECOVERY_AUTHENTICATION_CONTEXT) WM_SECURITY_MAPPING_GROUPS, WM_SECURITY_MAPPING_USERS, WM_SECURITY_DEFAULT_GROUP, WM_SECURITY_DEFAULT_GROUPS, WM_SECURITY_DEFAULT_PRINCIPAL) .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(false, true, new ModelNode(false)), WM_SECURITY, WM_SECURITY_MAPPING_REQUIRED, STATISTICS_ENABLED) .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(false, true, new ModelNode("other")), WM_SECURITY_DOMAIN) .addRejectCheck(RejectAttributeChecker.DEFINED, Constants.MODULE, WM_SECURITY, WM_SECURITY_MAPPING_USER, WM_SECURITY_MAPPING_GROUP, WM_SECURITY_MAPPING_GROUPS, WM_SECURITY_MAPPING_USERS, WM_SECURITY_DEFAULT_GROUP,
private static void registerTransformers_3_0_0(SubsystemTransformerRegistration subsystemRegistration) { final ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); builder.getAttributeBuilder().setValueConverter(AttributeConverter.Factory.createHardCoded(new ModelNode("hornetq-ra"), true), EJB3SubsystemRootResourceDefinition.DEFAULT_RESOURCE_ADAPTER_NAME) .end(); builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EJB3SubsystemRootResourceDefinition.ALLOW_EJB_NAME_REGEX); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.ALLOW_EJB_NAME_REGEX); builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EJB3SubsystemRootResourceDefinition.ENABLE_GRACEFUL_TXN_SHUTDOWN); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.ENABLE_GRACEFUL_TXN_SHUTDOWN); registerMdbDeliveryGroupTransformers(builder); registerRemoteTransformers(builder); registerStrictMaxPoolTransformers(builder); registerApplicationSecurityDomainDTransformers(builder); registerIdentityTransformers(builder); // Rename new statistics-enabled attribute to old enable-statistics builder.getAttributeBuilder().addRename(EJB3SubsystemModel.STATISTICS_ENABLED, EJB3SubsystemModel.ENABLE_STATISTICS); TransformationDescription.Tools.register(builder.build(), subsystemRegistration, VERSION_3_0_0); }
private static void registerTransformers_1_2_1_and_1_3_0(SubsystemTransformerRegistration subsystemRegistration, ModelVersion version) { final ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); builder.setCustomResourceTransformer(statefulCacheRefTransformer); builder.addOperationTransformationOverride(name) .inheritResourceAttributeDefinitions() .setCustomOperationTransformer(statefulCacheRefTransformer) builder.addOperationTransformationOverride(ADD) .inheritResourceAttributeDefinitions() .setCustomOperationTransformer(new AddStatefulCacheRefTransformer()) builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(true)), EJB3SubsystemRootResourceDefinition.LOG_EJB_EXCEPTIONS); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.LOG_EJB_EXCEPTIONS); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.DISABLE_DEFAULT_EJB_PERMISSIONS); builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EJB3SubsystemRootResourceDefinition.DISABLE_DEFAULT_EJB_PERMISSIONS); builder.getAttributeBuilder().setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(new ModelNode(false)), EJB3SubsystemRootResourceDefinition.ALLOW_EJB_NAME_REGEX); builder.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.DEFINED, EJB3SubsystemRootResourceDefinition.ALLOW_EJB_NAME_REGEX); .addRename(EJB3SubsystemModel.STATISTICS_ENABLED, EJB3SubsystemModel.ENABLE_STATISTICS); TransformationDescription.Tools.register(builder.build(), subsystemRegistration, version);
@Override public void registerTransformers(SubsystemTransformerRegistration subsystemRegistration) { ChainedTransformationDescriptionBuilder chainedBuilder = TransformationDescriptionBuilder.Factory.createChainedSubystemInstance(CURRENT_MODEL_VERSION); builderEap71.getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(MAXIMUM_TIMEOUT.getDefaultValue()), MAXIMUM_TIMEOUT) .addRejectCheck(RejectAttributeChecker.DEFINED, MAXIMUM_TIMEOUT) .end(); builderEap70.getAttributeBuilder() .setValueConverter(new AttributeConverter.DefaultValueAttributeConverter(OBJECT_STORE_RELATIVE_TO), OBJECT_STORE_RELATIVE_TO) .end(); builderEap70.addChildResource(TransactionExtension.LOG_STORE_PATH) .addChildResource(TransactionExtension.TRANSACTION_PATH) .addChildResource(TransactionExtension.PARTICIPANT_PATH)
/** * Register the transformers for the 1.3.0 version. * * @param subsystem the subsystems registration */ protected static void registerTransformers(final SubsystemRegistration subsystem) { ChainedTransformationDescriptionBuilder chained = ResourceTransformationDescriptionBuilder.Factory.createChainedSubystemInstance(CURRENT_MODEL_VERSION); ModelVersion MODEL_VERSION_EAP64 = ModelVersion.create(1, 4, 0); ModelVersion MODEL_VERSION_EAP63 = ModelVersion.create(1, 3, 0);//also EAP6.2 ResourceTransformationDescriptionBuilder builder64 = chained.createBuilder(CURRENT_MODEL_VERSION, MODEL_VERSION_EAP64); builder64.getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, JacORBSubsystemDefinitions.PERSISTENT_SERVER_ID) .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(JacORBSubsystemDefinitions.PERSISTENT_SERVER_ID.getDefaultValue()), JacORBSubsystemDefinitions.PERSISTENT_SERVER_ID) .setValueConverter(new AttributeConverter.DefaultValueAttributeConverter(JacORBSubsystemDefinitions.INTEROP_CHUNK_RMI_VALUETYPES),JacORBSubsystemDefinitions.INTEROP_CHUNK_RMI_VALUETYPES); ResourceTransformationDescriptionBuilder builder63 = chained.createBuilder(MODEL_VERSION_EAP64, MODEL_VERSION_EAP63); builder63.getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, IORTransportConfigDefinition.ATTRIBUTES.toArray(new AttributeDefinition[0])) .addRejectCheck(RejectAttributeChecker.DEFINED, IORASContextDefinition.ATTRIBUTES.toArray(new AttributeDefinition[0])) .addRejectCheck(RejectAttributeChecker.DEFINED, IORSASContextDefinition.ATTRIBUTES.toArray(new AttributeDefinition[0])) .end() .rejectChildResource(IORSettingsDefinition.INSTANCE.getPathElement()); chained.buildAndRegister(subsystem, new ModelVersion[]{ MODEL_VERSION_EAP64, MODEL_VERSION_EAP63 }); }
static void registerTransformers120(TransformersSubRegistration parent) { ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createInstance(SystemPropertyResourceDefinition.PATH) .getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.SIMPLE_EXPRESSIONS, SystemPropertyResourceDefinition.VALUE, SystemPropertyResourceDefinition.BOOT_TIME) .setValueConverter(new AttributeConverter.DefaultAttributeConverter(){ @Override protected void convertAttribute(PathAddress address, String attributeName, ModelNode attributeValue, TransformationContext context) { if (!attributeValue.isDefined()) { attributeValue.set(true); } } }, BOOT_TIME) .end() .addRawOperationTransformationOverride(UNDEFINE_ATTRIBUTE_OPERATION, new OperationTransformer() { @Override public TransformedOperation transformOperation(TransformationContext context, PathAddress address, ModelNode operation) throws OperationFailedException { if (operation.get(NAME).asString().equals(BOOT_TIME)) { ModelNode op = operation.clone(); op.get(OP).set(WRITE_ATTRIBUTE_OPERATION); op.get(VALUE).set(true); return new TransformedOperation(op, OperationResultTransformer.ORIGINAL_RESULT); } return OperationTransformer.DEFAULT.transformOperation(context, address, operation); } }); TransformationDescription.Tools.register(builder.build(), parent); }
private static void registerProfileTransformers(TransformerRegistry registry) { //Do NOT use chained transformers for the profile. The placeholder registry takes precedence over the actual //transformer registry, which means we would not get subsystem transformation //Registering for all previous WF versions (as well as the required EAP ones) isn't strictly necessary, //but it is very handy for testing the 'clone' behaviour final KernelAPIVersion[] PRE_PROFILE_CLONE_VERSIONS = new KernelAPIVersion[]{VERSION_3_0, VERSION_2_1, VERSION_2_0, VERSION_1_8, VERSION_1_7}; for (KernelAPIVersion version : PRE_PROFILE_CLONE_VERSIONS) { ResourceTransformationDescriptionBuilder builder = ResourceTransformationDescriptionBuilder.Factory.createInstance(ProfileResourceDefinition.PATH); builder.getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.DEFINED, ProfileResourceDefinition.INCLUDES) .setDiscard(DiscardAttributeChecker.UNDEFINED, ProfileResourceDefinition.INCLUDES) .end(); builder.addOperationTransformationOverride(ModelDescriptionConstants.CLONE) .setCustomOperationTransformer(ProfileCloneOperationTransformer.INSTANCE); TransformersSubRegistration domain = registry.getDomainRegistration(version.modelVersion); TransformationDescription.Tools.register(builder.build(), domain); } }
static void registerTransformers120(TransformersSubRegistration parent) { ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createInstance(PathResourceDefinition.PATH_ADDRESS) .getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.SIMPLE_EXPRESSIONS, PathResourceDefinition.PATH) .setValueConverter(AttributeConverter.NAME_FROM_ADDRESS, ModelDescriptionConstants.NAME) .end() .addOperationTransformationOverride(ADD) .addRejectCheck(RejectAttributeChecker.SIMPLE_EXPRESSIONS, PathResourceDefinition.PATH) .end(); TransformationDescription.Tools.register(builder.build(), parent); } }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystemRegistration) { ChainedTransformationDescriptionBuilder chained = ResourceTransformationDescriptionBuilder.Factory.createChainedSubystemInstance(CURRENT_MODEL_VERSION); builder_2_0.getAttributeBuilder() .setValueConverter(new AttributeConverter.DefaultValueAttributeConverter(IIOPRootDefinition.SOCKET_BINDING), IIOPRootDefinition.SOCKET_BINDING); builder_1_0.getAttributeBuilder() .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(IIOPRootDefinition.CLIENT_REQUIRES_SSL.getDefaultValue()), IIOPRootDefinition.CLIENT_REQUIRES_SSL) .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(IIOPRootDefinition.SERVER_REQUIRES_SSL.getDefaultValue()), IIOPRootDefinition.SERVER_REQUIRES_SSL) .setDiscard(new DiscardAttributeChecker.DiscardAttributeValueChecker(IIOPRootDefinition.INTEROP_IONA.getDefaultValue()), IIOPRootDefinition.INTEROP_IONA) .setDiscard(DiscardAttributeChecker.UNDEFINED, IIOPRootDefinition.AUTHENTICATION_CONTEXT, IIOPRootDefinition.SERVER_SSL_CONTEXT, IIOPRootDefinition.CLIENT_SSL_CONTEXT) .addRejectCheck(new RejectAttributeChecker.DefaultRejectAttributeChecker() {
private void registerTransformers1_0_0(SubsystemRegistration registration) { ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); rejectDefinedCoreMBeansSensitivity(builder); builder.setCustomResourceTransformer(new ResourceTransformer() { @Override public void transformResource(ResourceTransformationContext context, PathAddress address, Resource resource) builder.rejectChildResource(PathElement.pathElement(CommonAttributes.EXPOSE_MODEL, CommonAttributes.EXPRESSION)); ResourceTransformationDescriptionBuilder resolvedBuilder = builder.addChildResource(PathElement.pathElement(CommonAttributes.EXPOSE_MODEL, CommonAttributes.RESOLVED)); resolvedBuilder.getAttributeBuilder() .addRejectCheck(RejectAttributeChecker.SIMPLE_EXPRESSIONS, CommonAttributes.DOMAIN_NAME, CommonAttributes.PROPER_PROPERTY_FORMAT) .addRejectCheck(new RejectAttributeChecker.DefaultRejectAttributeChecker() { @Override public String getRejectionLogMessage(Map<String, ModelNode> attributes) { TransformationDescription.Tools.register(builder.build(), registration, ModelVersion.create(1, 0, 0));
static TransformationDescription buildTransformers(ModelVersion version) { ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); if (JGroupsModel.VERSION_3_0_0.requiresTransformation(version)) { builder.getAttributeBuilder() // The attribute is always discarded, the children will drive rejection/discardation .setDiscard(DiscardAttributeChecker.ALWAYS, Attribute.DEFAULT_CHANNEL.getDefinition()) .end(); } ChannelResourceDefinition.buildTransformation(version, builder); StackResourceDefinition.buildTransformation(version, builder); return builder.build(); }
private void registerTransformers_1_0(ExtensionContext context, SubsystemRegistration subsystemRegistration) { ResourceTransformationDescriptionBuilder builder = TransformationDescriptionBuilder.Factory.createSubsystemInstance(); ResourceTransformationDescriptionBuilder federationTransfDescBuilder = builder .addChildResource(new FederationResourceDefinition(context)); ResourceTransformationDescriptionBuilder keyStoreTransfDescBuilder = federationTransfDescBuilder .addChildResource(KeyStoreProviderResourceDefinition.INSTANCE); keyStoreTransfDescBuilder.rejectChildResource(KeyResourceDefinition.INSTANCE.getPathElement()); TransformationDescription.Tools.register(builder.build(), subsystemRegistration, ModelVersion.create(1, 0)); }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystemRegistration) { ChainedTransformationDescriptionBuilder chainedBuilder = TransformationDescriptionBuilder.Factory.createChainedSubystemInstance(CURRENT_MODEL_VERSION); ResourceTransformationDescriptionBuilder builder_2_0 = chainedBuilder.createBuilder(CURRENT_MODEL_VERSION, MODEL_VERSION_2_0); builder_2_0.getAttributeBuilder().addRejectCheck(RejectAttributeChecker.SIMPLE_EXPRESSIONS, Attributes.STATISTICS_ENABLED); ResourceTransformationDescriptionBuilder builder_1_2 = chainedBuilder.createBuilder(MODEL_VERSION_2_0, MODEL_VERSION_1_2); builder_1_2.getAttributeBuilder().setDiscard(DiscardAttributeChecker.ALWAYS, Attributes.STATISTICS_ENABLED, Attributes.WSDL_URI_SCHEME, Attributes.WSDL_PATH_REWRITE_RULE); chainedBuilder.buildAndRegister(subsystemRegistration, new ModelVersion[]{ MODEL_VERSION_1_2, MODEL_VERSION_2_0, }); } }
@Override public void registerTransformers(SubsystemTransformerRegistration subsystem) { final ModelVersion v2_0_0 = ModelVersion.create(2, 0, 0); final ModelVersion v1_3_0 = ModelVersion.create(1, 3, 0); //eap 6.2 - 6.4 ChainedTransformationDescriptionBuilder chainedBuilder = TransformationDescriptionBuilder.Factory.createChainedSubystemInstance(subsystem.getCurrentSubsystemVersion()); /*====== Comparing subsystem models ====== --- Problems for relative address to root []: ====== Resource root address: ["subsystem" => "naming"] - Current version: 2.1.0; legacy version: 2.0.0 ======= --- Problems for relative address to root ["binding" => "*"]: Missing operations in current: []; missing in legacy [rebind] */ ResourceTransformationDescriptionBuilder builder_2_0 = chainedBuilder.createBuilder(subsystem.getCurrentSubsystemVersion(), v2_0_0); builder_2_0.addChildResource(NamingSubsystemModel.BINDING_PATH) .addOperationTransformationOverride(NamingSubsystemModel.REBIND).setReject(); chainedBuilder.createBuilder(v2_0_0, v1_3_0); chainedBuilder.buildAndRegister(subsystem, new ModelVersion[]{ v1_3_0, v2_0_0, }); } }