/*
* JBoss, Home of Professional Open Source.
* Copyright 2014, Red Hat, Inc., and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
/ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.as.jacorb;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jboss.as.controller.AttributeDefinition;
import org.jboss.as.controller.PropertiesAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinition;
import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
import org.jboss.as.controller.access.constraint.SensitivityClassification;
import org.jboss.as.controller.access.management.SensitiveTargetAccessConstraintDefinition;
import org.jboss.as.controller.operations.validation.EnumValidator;
import org.jboss.as.controller.operations.validation.IntRangeValidator;
import org.jboss.as.controller.operations.validation.ParameterValidator;
import org.jboss.as.controller.registry.AttributeAccess;
import org.jboss.dmr.ModelNode;
import org.jboss.dmr.ModelType;
import org.wildfly.iiop.openjdk.Constants;
/**
* <p>
* This class contains all JacORB subsystem attribute definitions.
* </p>
*
* @author <a href="mailto:sguilhen@redhat.com">Stefan Guilhen</a>
* @author <a href="mailto:tadamski@redhat.com">Tomasz Adamski</a>
*/
class JacORBSubsystemDefinitions {
static final ModelNode DEFAULT_DISABLED_PROPERTY = new ModelNode("off");
static final ModelNode DEFAULT_ENABLED_PROPERTY = new ModelNode("on");
private static final ParameterValidator SSL_CONFIG_VALIDATOR =
new EnumValidator<SSLConfigValue>(SSLConfigValue.class, true, false);
private static final ParameterValidator ON_OFF_VALIDATOR = new EnumValidator<TransactionsAllowedValues>(
TransactionsAllowedValues.class, true, false, TransactionsAllowedValues.ON, TransactionsAllowedValues.OFF);
static final SensitivityClassification JACORB_SECURITY =
new SensitivityClassification(JacORBExtension.SUBSYSTEM_NAME, "jacorb-security", false, false, true);
static final SensitiveTargetAccessConstraintDefinition JACORB_SECURITY_DEF = new SensitiveTargetAccessConstraintDefinition(JACORB_SECURITY);
// orb attribute definitions.
public static final SimpleAttributeDefinition ORB_NAME = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.NAME, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set("JBoss"))
.setAllowExpression(true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.build();
public static final SimpleAttributeDefinition ORB_PRINT_VERSION = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_PRINT_VERSION, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setAllowExpression(true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.build();
public static final SimpleAttributeDefinition ORB_USE_IMR = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_USE_IMR, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setAllowExpression(true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.build();
public static final SimpleAttributeDefinition ORB_USE_BOM = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_USE_BOM, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setAllowExpression(true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.build();
public static final SimpleAttributeDefinition ORB_CACHE_TYPECODES = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CACHE_TYPECODES, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setAllowExpression(true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.build();
public static final SimpleAttributeDefinition ORB_CACHE_POA_NAMES = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CACHE_POA_NAMES, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setAllowExpression(true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.build();
public static final SimpleAttributeDefinition ORB_GIOP_MINOR_VERSION = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_GIOP_MINOR_VERSION, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(2))
.setValidator(new IntRangeValidator(0, 2, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_SOCKET_BINDING = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_SOCKET_BINDING, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set("jacorb"))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.build();
public static final SimpleAttributeDefinition ORB_SSL_SOCKET_BINDING = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_SSL_SOCKET_BINDING, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set("jacorb-ssl"))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)
.build();
// connection attribute definitions.
public static final SimpleAttributeDefinition ORB_CONN_RETRIES = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_RETRIES, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(5))
.setValidator(new IntRangeValidator(0, 50, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_RETRY_INTERVAL = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_RETRY_INTERVAL, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(500))
.setValidator(new IntRangeValidator(0, Integer.MAX_VALUE, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_CLIENT_TIMEOUT = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_CLIENT_TIMEOUT, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(0))
.setValidator(new IntRangeValidator(0, Integer.MAX_VALUE, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_SERVER_TIMEOUT = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_SERVER_TIMEOUT, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(0))
.setValidator(new IntRangeValidator(0, Integer.MAX_VALUE, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_MAX_SERVER_CONNECTIONS = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_MAX_SERVER_CONNECTIONS, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(Integer.MAX_VALUE))
.setValidator(new IntRangeValidator(0, Integer.MAX_VALUE, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_MAX_MANAGED_BUF_SIZE = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_MAX_MANAGED_BUF_SIZE, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(24))
.setValidator(new IntRangeValidator(0, 64, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_OUTBUF_SIZE = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_OUTBUF_SIZE, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(2048))
.setValidator(new IntRangeValidator(0, 65536, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition ORB_CONN_OUTBUF_CACHE_TIMEOUT = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_CONN_OUTBUF_CACHE_TIMEOUT, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(-1))
.setValidator(new IntRangeValidator(-1, Integer.MAX_VALUE, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
// initializers attribute definitions.
public static final SimpleAttributeDefinition ORB_INIT_SECURITY = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_INIT_SECURITY, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(new EnumValidator<SecurityAllowedValues>(SecurityAllowedValues.class, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition ORB_INIT_TX = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.ORB_INIT_TRANSACTIONS, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(new EnumValidator<TransactionsAllowedValues>(TransactionsAllowedValues.class, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
// poa attribute definitions.
public static final SimpleAttributeDefinition POA_MONITORING = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.POA_MONITORING, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition POA_QUEUE_WAIT = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.POA_QUEUE_WAIT, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition POA_QUEUE_MIN = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.POA_QUEUE_MIN, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(10))
.setValidator(new IntRangeValidator(1, 100, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition POA_QUEUE_MAX = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.POA_QUEUE_MAX, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(100))
.setValidator(new IntRangeValidator(1, 500, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
// request processor attribute definitions.
public static final SimpleAttributeDefinition POA_REQUEST_PROC_POOL_SIZE = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.POA_RP_POOL_SIZE, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(5))
.setValidator(new IntRangeValidator(1, 100, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition POA_REQUEST_PROC_MAX_THREADS = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.POA_RP_MAX_THREADS, ModelType.INT, true)
.setDefaultValue(new ModelNode().set(32))
.setValidator(new IntRangeValidator(5, 150, true, false))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
// naming attribute definitions.
public static final SimpleAttributeDefinition NAMING_ROOT_CONTEXT = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.NAMING_ROOT_CONTEXT, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set(Constants.ROOT_CONTEXT_INIT_REF))
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition NAMING_EXPORT_CORBALOC = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.NAMING_EXPORT_CORBALOC, ModelType.STRING, true)
.setDefaultValue(DEFAULT_ENABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
// interoperability attribute definitions.
public static final SimpleAttributeDefinition INTEROP_SUN = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_SUN, ModelType.STRING, true)
.setDefaultValue(DEFAULT_ENABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition INTEROP_COMET = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_COMET, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition INTEROP_IONA = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_IONA, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition INTEROP_CHUNK_RMI_VALUETYPES = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_CHUNK_RMI_VALUETYPES, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition INTEROP_LAX_BOOLEAN_ENCODING = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_LAX_BOOLEAN_ENCODING, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition INTEROP_INDIRECT_ENCODING_DISABLE = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_INDIRECTION_ENCODING_DISABLE, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
public static final SimpleAttributeDefinition INTEROP_STRICT_CHECK_ON_TC_CREATION = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.INTEROP_STRICT_CHECK_ON_TC_CREATION, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.build();
// security attribute definitions.
public static final SimpleAttributeDefinition SECURITY_SUPPORT_SSL = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_SUPPORT_SSL, ModelType.STRING, true)
.setDefaultValue(DEFAULT_DISABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition SECURITY_SECURITY_DOMAIN = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_SECURITY_DOMAIN, ModelType.STRING, true)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SECURITY_DOMAIN_REF)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition SECURITY_ADD_COMPONENT_INTERCEPTOR = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_ADD_COMP_VIA_INTERCEPTOR, ModelType.STRING, true)
.setDefaultValue(DEFAULT_ENABLED_PROPERTY)
.setValidator(ON_OFF_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition SECURITY_CLIENT_SUPPORTS = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_CLIENT_SUPPORTS, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set(SSLConfigValue.MUTUALAUTH.toString()))
.setValidator(SSL_CONFIG_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition SECURITY_CLIENT_REQUIRES = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_CLIENT_REQUIRES, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set(SSLConfigValue.NONE.toString()))
.setValidator(SSL_CONFIG_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition SECURITY_SERVER_SUPPORTS = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_SERVER_SUPPORTS, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set(SSLConfigValue.MUTUALAUTH.toString()))
.setValidator(SSL_CONFIG_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final SimpleAttributeDefinition SECURITY_SERVER_REQUIRES = new SimpleAttributeDefinitionBuilder(
JacORBSubsystemConstants.SECURITY_SERVER_REQUIRES, ModelType.STRING, true)
.setDefaultValue(new ModelNode().set(SSLConfigValue.NONE.toString()))
.setValidator(SSL_CONFIG_VALIDATOR)
.setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
.setAllowExpression(true)
.addAccessConstraint(JACORB_SECURITY_DEF)
.build();
public static final PropertiesAttributeDefinition PROPERTIES = new PropertiesAttributeDefinition.Builder(
JacORBSubsystemConstants.PROPERTIES, true).setAllowExpression(true).build();
// This is added to enable running many WildFly instances with JacORB legacy subsystem enabled on one host. To enable
// this it is necessary to modify legacy configuration.
static final SimpleAttributeDefinition PERSISTENT_SERVER_ID = new SimpleAttributeDefinitionBuilder(
Constants.ORB_PERSISTENT_SERVER_ID, ModelType.STRING, true).setDefaultValue(new ModelNode().set("1"))
.setAllowExpression(true).setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES).build();
// list that contains the orb attribute definitions.
static final List<SimpleAttributeDefinition> ORB_ATTRIBUTES = Arrays.asList(ORB_NAME, ORB_PRINT_VERSION,
ORB_USE_IMR, ORB_USE_BOM, ORB_CACHE_TYPECODES, ORB_CACHE_POA_NAMES, ORB_GIOP_MINOR_VERSION,
ORB_SOCKET_BINDING, ORB_SSL_SOCKET_BINDING,PERSISTENT_SERVER_ID);
// list that contains the orb connection attribute definitions.
static final List<SimpleAttributeDefinition> ORB_CONN_ATTRIBUTES = Arrays.asList(ORB_CONN_RETRIES,
ORB_CONN_RETRY_INTERVAL, ORB_CONN_CLIENT_TIMEOUT, ORB_CONN_SERVER_TIMEOUT, ORB_CONN_MAX_SERVER_CONNECTIONS,
ORB_CONN_MAX_MANAGED_BUF_SIZE, ORB_CONN_OUTBUF_SIZE, ORB_CONN_OUTBUF_CACHE_TIMEOUT);
// list that contains the orb initializer attribute definitions.
static final List<SimpleAttributeDefinition> ORB_INIT_ATTRIBUTES = Arrays.asList(ORB_INIT_SECURITY, ORB_INIT_TX);
// list that contains the poa attribute definitions.
static final List<SimpleAttributeDefinition> POA_ATTRIBUTES = Arrays.asList(POA_MONITORING, POA_QUEUE_WAIT,
POA_QUEUE_MIN, POA_QUEUE_MAX);
// list that contains the poa request processor attribute definitions.
static final List<SimpleAttributeDefinition> POA_RP_ATTRIBUTES = Arrays.asList(POA_REQUEST_PROC_POOL_SIZE,
POA_REQUEST_PROC_MAX_THREADS);
// list that contains the naming attribute definitions.
static final List<SimpleAttributeDefinition> NAMING_ATTRIBUTES = Arrays.asList(NAMING_ROOT_CONTEXT,
NAMING_EXPORT_CORBALOC);
// list that contains the interoperability attribute definitions.
static final List<SimpleAttributeDefinition> INTEROP_ATTRIBUTES = Arrays.asList(INTEROP_SUN, INTEROP_COMET,
INTEROP_IONA, INTEROP_CHUNK_RMI_VALUETYPES, INTEROP_LAX_BOOLEAN_ENCODING, INTEROP_INDIRECT_ENCODING_DISABLE,
INTEROP_STRICT_CHECK_ON_TC_CREATION);
// list that contains the security attribute definitions.
static final List<SimpleAttributeDefinition> SECURITY_ATTRIBUTES = Arrays.asList(SECURITY_SUPPORT_SSL,
SECURITY_SECURITY_DOMAIN, SECURITY_ADD_COMPONENT_INTERCEPTOR, SECURITY_CLIENT_SUPPORTS,
SECURITY_CLIENT_REQUIRES, SECURITY_SERVER_SUPPORTS, SECURITY_SERVER_REQUIRES);
static final List<SimpleAttributeDefinition> ON_OFF_ATTRIBUTES_TO_REJECT = Arrays.asList(ORB_CACHE_POA_NAMES, ORB_CACHE_TYPECODES,
INTEROP_CHUNK_RMI_VALUETYPES, INTEROP_COMET, INTEROP_INDIRECT_ENCODING_DISABLE, INTEROP_IONA,
INTEROP_LAX_BOOLEAN_ENCODING, POA_MONITORING, ORB_PRINT_VERSION, POA_QUEUE_WAIT,
INTEROP_STRICT_CHECK_ON_TC_CREATION, ORB_USE_BOM, ORB_USE_IMR);
static final List<SimpleAttributeDefinition> ATTRIBUTES_TO_REJECT = Arrays.asList(ORB_CONN_CLIENT_TIMEOUT,
ORB_CONN_MAX_MANAGED_BUF_SIZE, ORB_CONN_MAX_SERVER_CONNECTIONS, POA_REQUEST_PROC_MAX_THREADS, ORB_NAME,
ORB_CONN_OUTBUF_CACHE_TIMEOUT, ORB_CONN_OUTBUF_SIZE, POA_REQUEST_PROC_POOL_SIZE, POA_QUEUE_MAX, POA_QUEUE_MIN,
ORB_CONN_RETRIES, ORB_CONN_RETRY_INTERVAL, ORB_CONN_SERVER_TIMEOUT);
// list that contains all attribute definitions.
static final List<AttributeDefinition> SUBSYSTEM_ATTRIBUTES;
// utility map that keys all definitions by their names.
static final Map<String, AttributeDefinition> ATTRIBUTES_BY_NAME;
static {
SUBSYSTEM_ATTRIBUTES = new ArrayList<AttributeDefinition>();
SUBSYSTEM_ATTRIBUTES.addAll(ORB_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(ORB_CONN_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(ORB_INIT_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(POA_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(POA_RP_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(NAMING_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(INTEROP_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.addAll(SECURITY_ATTRIBUTES);
SUBSYSTEM_ATTRIBUTES.add(PROPERTIES);
Map<String, AttributeDefinition> map = new HashMap<String, AttributeDefinition>();
for (AttributeDefinition attribute : SUBSYSTEM_ATTRIBUTES) {
map.put(attribute.getName(), attribute);
}
ATTRIBUTES_BY_NAME = map;
}
/**
* <p>
* Gets the {@code SimpleAttributeDefinition} identified by the specified name.
* </p>
*
* @param attributeName a {@code String} representing the attribute name.
* @return the corresponding attribute definition or {@code null} if no definition was found with that name.
*/
public static AttributeDefinition valueOf(String attributeName) {
return ATTRIBUTES_BY_NAME.get(attributeName);
}
}