/** * {@inheritDoc} */ @Override protected void populateModel(final OperationContext context, final ModelNode operation, final Resource resource) throws OperationFailedException { final Resource root = context.readResourceFromRoot(PathAddress.EMPTY_ADDRESS); ModelNode model = resource.getModel(); populateModel(operation, model); SocketBindingGroupResourceDefinition.PORT_OFFSET.validateAndSet(operation, model); // Validate only a single socket binding group final PathAddress mine = PathAddress.pathAddress(operation.require(OP_ADDR)); context.addStep(new OperationStepHandler() { @Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { Set<ResourceEntry> children = root.getChildren(SOCKET_BINDING_GROUP); if (children.size() > 1) { for (ResourceEntry entry : children) { if (!entry.getName().equals(mine.getLastElement().getValue())) { throw ServerMessages.MESSAGES.cannotAddMoreThanOneSocketBindingGroupForServer( mine, PathAddress.pathAddress(PathElement.pathElement(SOCKET_BINDING_GROUP, entry.getName()))); } } } context.stepCompleted(); } }, OperationContext.Stage.MODEL); SocketBindingGroupResourceDefinition.validateDefaultInterfaceReference(context, model); }
/** * {@inheritDoc} */ @Override protected void populateModel(final OperationContext context, final ModelNode operation, final Resource resource) throws OperationFailedException { final Resource root = context.readResourceFromRoot(PathAddress.EMPTY_ADDRESS); ModelNode model = resource.getModel(); populateModel(operation, model); SocketBindingGroupResourceDefinition.PORT_OFFSET.validateAndSet(operation, model); // Validate only a single socket binding group final PathAddress mine = PathAddress.pathAddress(operation.require(OP_ADDR)); context.addStep(new OperationStepHandler() { @Override public void execute(OperationContext context, ModelNode operation) throws OperationFailedException { Set<ResourceEntry> children = root.getChildren(SOCKET_BINDING_GROUP); if (children.size() > 1) { for (ResourceEntry entry : children) { if (!entry.getName().equals(mine.getLastElement().getValue())) { throw ServerMessages.MESSAGES.cannotAddMoreThanOneSocketBindingGroupForServer( mine, PathAddress.pathAddress(PathElement.pathElement(SOCKET_BINDING_GROUP, entry.getName()))); } } } context.stepCompleted(); } }, OperationContext.Stage.MODEL); SocketBindingGroupResourceDefinition.validateDefaultInterfaceReference(context, model); }