private void populateModelWithCoreEnvConfig(ModelNode operation, ModelNode model) throws OperationFailedException { // core environment TransactionSubsystemRootResourceDefinition.NODE_IDENTIFIER.validateAndSet(operation, model); // We have some complex logic for the 'process-id' stuff because of the alternatives if (operation.hasDefined(TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName()) && operation .get(TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName()) .asBoolean()) { TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.validateAndSet(operation, model); if (operation.hasDefined( TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName())) { throw new OperationFailedException( String.format( "%s must be undefined if %s is 'true'.", TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName())); } else if (operation.hasDefined( TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName())) { throw new OperationFailedException( String.format( "%s must be undefined if %s is 'true'.", TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName())); } // model.get(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName()); // model.get(TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName()); } else if (operation.hasDefined( TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName())) { TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.validateAndSet( operation, model); TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.validateAndSet( operation, model); } else if (operation.hasDefined( TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName())) { throw new OperationFailedException( String.format( "%s must be defined if %s is defined.", TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_MAX_PORTS.getName())); } else { // not uuid and also not sockets! throw new OperationFailedException( String.format( "Either %s must be 'true' or %s must be defined.", TransactionSubsystemRootResourceDefinition.PROCESS_ID_UUID.getName(), TransactionSubsystemRootResourceDefinition.PROCESS_ID_SOCKET_BINDING.getName())); } }