@Override public void register(ManagementResourceRegistration parentRegistration) { ManagementResourceRegistration registration = parentRegistration.registerSubModel(this); parentRegistration.registerAlias(LEGACY_PATH, new SimpleAliasEntry(registration)); ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()) .addAttributes(JDBCStoreResourceDefinition.Attribute.class) .addAttributes(StoreResourceDefinition.Attribute.class) .addExtraParameters(DeprecatedAttribute.class) .addExtraParameters(JDBCStoreResourceDefinition.DeprecatedAttribute.class) .addCapabilities(Capability.class) .addRequiredChildren(BinaryTableResourceDefinition.PATH) .addRequiredSingletonChildren(StoreWriteThroughResourceDefinition.PATH); ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(new BinaryKeyedJDBCStoreBuilderFactory()); new AddStepHandler(descriptor, handler) { @Override protected void populateModel(OperationContext context, ModelNode operation, Resource resource) throws OperationFailedException { translateAddOperation(context, operation); if (operation.hasDefined(DeprecatedAttribute.TABLE.getDefinition().getName())) { // Translate deprecated TABLE attribute into separate add table operation ModelNode addTableOperation = Util.createAddOperation( context.getCurrentAddress().append(BinaryTableResourceDefinition.PATH)); ModelNode parameters = operation.get(DeprecatedAttribute.TABLE.getDefinition().getName()); for (Property parameter : parameters.asPropertyList()) { addTableOperation.get(parameter.getName()).set(parameter.getValue()); } context.addStep( addTableOperation, registration.getOperationHandler( PathAddress.pathAddress(BinaryTableResourceDefinition.PATH), ModelDescriptionConstants.ADD), context.getCurrentStage()); } super.populateModel(context, operation, resource); } }.register(registration); new RemoveStepHandler(descriptor, handler).register(registration); registration.registerReadWriteAttribute( DeprecatedAttribute.TABLE.getDefinition(), LEGACY_READ_TABLE_HANDLER, LEGACY_WRITE_TABLE_HANDLER); new BinaryTableResourceDefinition().register(registration); super.register(registration); }
@Override public void register(ManagementResourceRegistration parentRegistration) { ManagementResourceRegistration registration = parentRegistration.registerSubModel(this); parentRegistration.registerAlias(LEGACY_PATH, new SimpleAliasEntry(registration)); ResourceDescriptor descriptor = new ResourceDescriptor(this.getResourceDescriptionResolver()) .addAttributes(Attribute.class) .addAttributes(StoreResourceDefinition.Attribute.class) .addCapabilities(Capability.class) .addRequiredSingletonChildren(StoreWriteThroughResourceDefinition.PATH); ResourceServiceHandler handler = new SimpleResourceServiceHandler<>(address -> new RemoteStoreBuilder(address.getParent())); new SimpleResourceRegistration(descriptor, handler).register(registration); super.register(registration); }
@Override public void registerAlias(PathElement address, AliasEntry alias) { deployments.registerAlias(address, alias); subdeployments.registerAlias(address, alias); }