예제 #1
0
@SuppressWarnings("nls")
public class TeiidConstants {
  // Non persistent attributes
  public static SimpleAttributeDefinition ACTIVE_SESSION_COUNT =
      new SimpleAttributeDefinitionBuilder("active-session-count", ModelType.INT)
          .setXmlName("active-session-count")
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition RUNTIME_VERSION =
      new SimpleAttributeDefinitionBuilder("runtime-version", ModelType.STRING)
          .setXmlName("runtime-version")
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  // VM wide elements
  public static SimpleAttributeDefinition ASYNC_THREAD_POOL_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.ASYNC_THREAD_POOL_ELEMENT.getModelName(), ModelType.STRING)
          .setXmlName(Element.ASYNC_THREAD_POOL_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition THREAD_COUNT_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.THREAD_COUNT_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.THREAD_COUNT_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition ALLOW_ENV_FUNCTION_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.ALLOW_ENV_FUNCTION_ELEMENT.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.ALLOW_ENV_FUNCTION_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(false))
          .build();

  public static SimpleAttributeDefinition MAX_THREADS_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_THREADS_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_THREADS_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(64))
          .build();

  public static SimpleAttributeDefinition MAX_ACTIVE_PLANS_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_ACTIVE_PLANS_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_ACTIVE_PLANS_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(20))
          .build();

  public static SimpleAttributeDefinition USER_REQUEST_SOURCE_CONCURRENCY_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.USER_REQUEST_SOURCE_CONCURRENCY_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.USER_REQUEST_SOURCE_CONCURRENCY_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(0))
          .build();

  public static SimpleAttributeDefinition TIME_SLICE_IN_MILLI_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.TIME_SLICE_IN_MILLI_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.TIME_SLICE_IN_MILLI_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(2000))
          .setMeasurementUnit(MeasurementUnit.MILLISECONDS)
          .build();

  public static SimpleAttributeDefinition MAX_ROWS_FETCH_SIZE_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_ROWS_FETCH_SIZE_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_ROWS_FETCH_SIZE_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(20480))
          .build();

  public static SimpleAttributeDefinition LOB_CHUNK_SIZE_IN_KB_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.LOB_CHUNK_SIZE_IN_KB_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.LOB_CHUNK_SIZE_IN_KB_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(100))
          .setMeasurementUnit(MeasurementUnit.KILOBYTES)
          .build();

  public static SimpleAttributeDefinition QUERY_THRESHOLD_IN_SECS_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.QUERY_THRESHOLD_IN_SECS_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.QUERY_THRESHOLD_IN_SECS_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(600))
          .setMeasurementUnit(MeasurementUnit.SECONDS)
          .build();

  public static SimpleAttributeDefinition MAX_SOURCE_ROWS_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_SOURCE_ROWS_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_SOURCE_ROWS_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(-1))
          .build();

  public static SimpleAttributeDefinition EXCEPTION_ON_MAX_SOURCE_ROWS_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.EXCEPTION_ON_MAX_SOURCE_ROWS_ELEMENT.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.EXCEPTION_ON_MAX_SOURCE_ROWS_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  public static SimpleAttributeDefinition DETECTING_CHANGE_EVENTS_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.DETECTING_CHANGE_EVENTS_ELEMENT.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.DETECTING_CHANGE_EVENTS_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  public static SimpleAttributeDefinition QUERY_TIMEOUT =
      new SimpleAttributeDefinitionBuilder(Element.QUERY_TIMEOUT.getModelName(), ModelType.LONG)
          .setXmlName(Element.QUERY_TIMEOUT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(0))
          .build();

  public static SimpleAttributeDefinition WORKMANAGER =
      new SimpleAttributeDefinitionBuilder(Element.WORKMANAGER.getModelName(), ModelType.STRING)
          .setXmlName(Element.WORKMANAGER.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode("default"))
          .build();

  public static SimpleAttributeDefinition POLICY_DECIDER_MODULE_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.POLICY_DECIDER_MODULE_ELEMENT.getModelName(), ModelType.STRING)
          .setXmlName(Element.POLICY_DECIDER_MODULE_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition DATA_ROLES_REQUIRED_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.DATA_ROLES_REQUIRED_ELEMENT.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.DATA_ROLES_REQUIRED_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition AUTHORIZATION_VALIDATOR_MODULE_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.AUTHORIZATION_VALIDATOR_MODULE_ELEMENT.getModelName(), ModelType.STRING)
          .setXmlName(Element.AUTHORIZATION_VALIDATOR_MODULE_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition PREPARSER_MODULE_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.PREPARSER_MODULE_ELEMENT.getModelName(), ModelType.STRING)
          .setXmlName(Element.PREPARSER_MODULE_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  // buffer manager
  // BUFFER_SERVICE_ELEMENT("buffer-service",true, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition USE_DISK_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.USE_DISK_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.USE_DISK_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  public static SimpleAttributeDefinition PROCESSOR_BATCH_SIZE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.PROCESSOR_BATCH_SIZE_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.PROCESSOR_BATCH_SIZE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(256))
          .build();

  @Deprecated
  public static SimpleAttributeDefinition CONNECTOR_BATCH_SIZE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.CONNECTOR_BATCH_SIZE_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_RESERVED_KB_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(512))
          .build();

  public static SimpleAttributeDefinition MAX_PROCESSING_KB_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_PROCESSING_KB_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_PROCESSING_KB_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(-1))
          .setMeasurementUnit(MeasurementUnit.KILOBYTES)
          .build();

  public static SimpleAttributeDefinition MAX_RESERVED_KB_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_RESERVED_KB_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_RESERVED_KB_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(-1))
          .setMeasurementUnit(MeasurementUnit.KILOBYTES)
          .build();

  public static SimpleAttributeDefinition MAX_FILE_SIZE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_FILE_SIZE_ATTRIBUTE.getModelName(), ModelType.LONG)
          .setXmlName(Element.MAX_FILE_SIZE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(2048))
          .build();

  public static SimpleAttributeDefinition MAX_BUFFER_SPACE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_BUFFER_SPACE_ATTRIBUTE.getModelName(), ModelType.LONG)
          .setXmlName(Element.MAX_BUFFER_SPACE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(51200))
          .setMeasurementUnit(MeasurementUnit.MEGABYTES)
          .build();

  public static SimpleAttributeDefinition MAX_OPEN_FILES_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_OPEN_FILES_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_OPEN_FILES_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(64))
          .build();

  public static SimpleAttributeDefinition MEMORY_BUFFER_SPACE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MEMORY_BUFFER_SPACE_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.MEMORY_BUFFER_SPACE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(-1))
          .setMeasurementUnit(MeasurementUnit.MEGABYTES)
          .build();

  public static SimpleAttributeDefinition MEMORY_BUFFER_OFFHEAP_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MEMORY_BUFFER_OFFHEAP_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.MEMORY_BUFFER_OFFHEAP_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(false))
          .build();

  public static SimpleAttributeDefinition MAX_STORAGE_OBJECT_SIZE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.MAX_STORAGE_OBJECT_SIZE_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.MAX_STORAGE_OBJECT_SIZE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(8388608))
          .setMeasurementUnit(MeasurementUnit.BYTES)
          .build();

  public static SimpleAttributeDefinition INLINE_LOBS =
      new SimpleAttributeDefinitionBuilder(Element.INLINE_LOBS.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.INLINE_LOBS.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  public static SimpleAttributeDefinition ENCRYPT_FILES_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.ENCRYPT_FILES_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.ENCRYPT_FILES_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(false))
          .build();

  // prepared-plan-cache-config
  // PREPAREDPLAN_CACHE_ELEMENT("preparedplan-cache",true, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition PPC_ENABLE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.PPC_ENABLE_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.PPC_ENABLE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  public static SimpleAttributeDefinition PPC_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.PPC_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.PPC_NAME_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode("preparedplan"))
          .build();

  public static SimpleAttributeDefinition PPC_CONTAINER_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.PPC_CONTAINER_NAME_ELEMENT.getModelName(), ModelType.STRING)
          .setXmlName(Element.PPC_CONTAINER_NAME_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  // Object Replicator
  // DISTRIBUTED_CACHE("distributed-cache",true, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition DC_STACK_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.DC_STACK_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.DC_STACK_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  // Result set cache
  public static SimpleAttributeDefinition RSC_ENABLE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.RSC_ENABLE_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.RSC_ENABLE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  public static SimpleAttributeDefinition RSC_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.RSC_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.RSC_NAME_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode("resultset"))
          .build();

  public static SimpleAttributeDefinition RSC_CONTAINER_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.RSC_CONTAINER_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.RSC_CONTAINER_NAME_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition RSC_MAX_STALENESS_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.RSC_MAX_STALENESS_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.RSC_MAX_STALENESS_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(60))
          .build();

  // transport
  // TRANSPORT_ELEMENT("transport",true, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition TRANSPORT_PROTOCOL_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSPORT_PROTOCOL_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.TRANSPORT_PROTOCOL_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(WireProtocol.teiid.name()))
          .setAllowedValues(
              new ModelNode(WireProtocol.teiid.name()), new ModelNode(WireProtocol.pg.name()))
          .build();

  public static SimpleAttributeDefinition TRANSPORT_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSPORT_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.TRANSPORT_NAME_ATTRIBUTE.getXMLName())
          .setAllowNull(false)
          .setAllowExpression(false)
          .build();

  public static SimpleAttributeDefinition TRANSPORT_SOCKET_BINDING_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSPORT_SOCKET_BINDING_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.TRANSPORT_SOCKET_BINDING_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_BINDING_REF)*/
          .build();

  public static SimpleAttributeDefinition TRANSPORT_MAX_SOCKET_THREADS_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSPORT_MAX_SOCKET_THREADS_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.TRANSPORT_MAX_SOCKET_THREADS_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(0))
          .build();

  public static SimpleAttributeDefinition TRANSPORT_IN_BUFFER_SIZE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSPORT_IN_BUFFER_SIZE_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.TRANSPORT_IN_BUFFER_SIZE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(0))
          .build();

  public static SimpleAttributeDefinition TRANSPORT_OUT_BUFFER_SIZE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSPORT_OUT_BUFFER_SIZE_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.TRANSPORT_OUT_BUFFER_SIZE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(0))
          .build();

  // AUTHENTICATION_ELEMENT("authentication",false, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition AUTHENTICATION_SECURITY_DOMAIN_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.AUTHENTICATION_SECURITY_DOMAIN_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.AUTHENTICATION_SECURITY_DOMAIN_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SECURITY_DOMAIN_REF)*/
          .build();

  public static SimpleAttributeDefinition AUTHENTICATION_MAX_SESSIONS_ALLOWED_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.AUTHENTICATION_MAX_SESSIONS_ALLOWED_ATTRIBUTE.getModelName(), ModelType.INT)
          .setXmlName(Element.AUTHENTICATION_MAX_SESSIONS_ALLOWED_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(10000))
          .build();

  public static SimpleAttributeDefinition AUTHENTICATION_SESSION_EXPIRATION_TIME_LIMIT_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.AUTHENTICATION_SESSION_EXPIRATION_TIME_LIMIT_ATTRIBUTE.getModelName(),
              ModelType.INT)
          .setXmlName(Element.AUTHENTICATION_SESSION_EXPIRATION_TIME_LIMIT_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(0))
          .build();

  public static SimpleAttributeDefinition AUTHENTICATION_TYPE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.AUTHENTICATION_TYPE_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.AUTHENTICATION_TYPE_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(AuthenticationType.USERPASSWORD.name()))
          .setAllowedValues(
              new ModelNode(AuthenticationType.USERPASSWORD.name()),
              new ModelNode(AuthenticationType.GSS.name()))
          .build();

  public static SimpleAttributeDefinition AUTHENTICATION_TRUST_ALL_LOCAL_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.AUTHENTICATION_TRUST_ALL_LOCAL_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.AUTHENTICATION_TRUST_ALL_LOCAL_ATTRIBUTE.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(true))
          .build();

  // PG_ELEMENT("pg"), //$NON-NLS-1$
  public static SimpleAttributeDefinition PG_MAX_LOB_SIZE_ALLOWED_ELEMENT =
      new SimpleAttributeDefinitionBuilder(
              Element.PG_MAX_LOB_SIZE_ALLOWED_ELEMENT.getModelName(), ModelType.INT)
          .setXmlName(Element.PG_MAX_LOB_SIZE_ALLOWED_ELEMENT.getXMLName())
          .setAllowNull(true)
          .setAllowExpression(false)
          .setDefaultValue(new ModelNode(5242880))
          .build();

  // SSL_ELEMENT("ssl"),
  public static SimpleAttributeDefinition SSL_MODE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_MODE_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_MODE_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .setDefaultValue(new ModelNode(SSLConfiguration.LOGIN))
          .setAllowedValues(
              SSLConfiguration.LOGIN, SSLConfiguration.ENABLED, SSLConfiguration.DISABLED)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_AUTH_MODE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_AUTH_MODE_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_AUTH_MODE_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .setDefaultValue(new ModelNode(SSLConfiguration.ONEWAY))
          .setAllowedValues(
              SSLConfiguration.ONEWAY, SSLConfiguration.TWOWAY, SSLConfiguration.ANONYMOUS)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_SSL_PROTOCOL_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_SSL_PROTOCOL_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_SSL_PROTOCOL_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .setDefaultValue(new ModelNode(SocketUtil.DEFAULT_PROTOCOL))
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_KEY_MANAGEMENT_ALG_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_KEY_MANAGEMENT_ALG_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_KEY_MANAGEMENT_ALG_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_ENABLED_CIPHER_SUITES_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_ENABLED_CIPHER_SUITES_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_ENABLED_CIPHER_SUITES_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  // SSL_KETSTORE_ELEMENT("keystore",false, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition SSL_KETSTORE_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_KETSTORE_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_KETSTORE_NAME_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_KETSTORE_ALIAS_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_KETSTORE_ALIAS_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_KETSTORE_ALIAS_ATTRIBUTE.getXMLName())
          .setAllowExpression(true)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.CREDENTIAL)
          .addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_KETSTORE_KEY_PASSWORD_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_KETSTORE_KEY_PASSWORD_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_KETSTORE_KEY_PASSWORD_ATTRIBUTE.getXMLName())
          .setAllowExpression(true)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.CREDENTIAL)
          .addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_KETSTORE_PASSWORD_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_KETSTORE_PASSWORD_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_KETSTORE_PASSWORD_ATTRIBUTE.getXMLName())
          .setAllowExpression(true)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.CREDENTIAL)
          .addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_KETSTORE_TYPE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_KETSTORE_TYPE_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_KETSTORE_TYPE_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .setDefaultValue(new ModelNode(SocketUtil.DEFAULT_KEYSTORE_TYPE))
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  // SSL_TRUSTSTORE_ELEMENT("truststore",false, false, MeasurementUnit.NONE);
  public static SimpleAttributeDefinition SSL_TRUSTSTORE_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_TRUSTSTORE_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_TRUSTSTORE_NAME_ATTRIBUTE.getXMLName())
          .setAllowExpression(true)
          .setAllowNull(true)
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_TRUSTSTORE_PASSWORD_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_TRUSTSTORE_PASSWORD_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.SSL_TRUSTSTORE_PASSWORD_ATTRIBUTE.getXMLName())
          .setAllowExpression(true)
          .setAllowNull(true)
          .setRequires(Element.SSL_TRUSTSTORE_NAME_ATTRIBUTE.getModelName())
          /*.addAccessConstraint(SensitiveTargetAccessConstraintDefinition.CREDENTIAL)
          .addAccessConstraint(SensitiveTargetAccessConstraintDefinition.SOCKET_CONFIG)*/
          .build();

  public static SimpleAttributeDefinition SSL_TRUSTSTORE_CHECK_EXPIRED_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.SSL_TRUSTSTORE_CHECK_EXIRIED_ATTRIBUTE.getModelName(), ModelType.BOOLEAN)
          .setXmlName(Element.SSL_TRUSTSTORE_CHECK_EXIRIED_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .setDefaultValue(new ModelNode(false))
          .build();

  // Translator
  // TRANSLATOR_ELEMENT("translator"),
  public static SimpleAttributeDefinition TRANSLATOR_NAME_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSLATOR_NAME_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.TRANSLATOR_NAME_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(false)
          .build();

  public static SimpleAttributeDefinition TRANSLATOR_MODULE_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSLATOR_MODULE_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.TRANSLATOR_MODULE_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .build();

  public static SimpleAttributeDefinition TRANSLATOR_SLOT_ATTRIBUTE =
      new SimpleAttributeDefinitionBuilder(
              Element.TRANSLATOR_SLOT_ATTRIBUTE.getModelName(), ModelType.STRING)
          .setXmlName(Element.TRANSLATOR_SLOT_ATTRIBUTE.getXMLName())
          .setAllowExpression(false)
          .setAllowNull(true)
          .build();

  public static boolean isDefined(
      final SimpleAttributeDefinition attr, final ModelNode model, final OperationContext context)
      throws OperationFailedException {
    ModelNode resolvedNode = attr.resolveModelAttribute(context, model);
    return resolvedNode.isDefined();
  }

  public static Integer asInt(
      final SimpleAttributeDefinition attr, final ModelNode node, final OperationContext context)
      throws OperationFailedException {
    ModelNode resolvedNode = attr.resolveModelAttribute(context, node);
    return resolvedNode.isDefined() ? resolvedNode.asInt() : null;
  }

  public static Long asLong(
      final SimpleAttributeDefinition attr, ModelNode node, OperationContext context)
      throws OperationFailedException {
    ModelNode resolvedNode = attr.resolveModelAttribute(context, node);
    return resolvedNode.isDefined() ? resolvedNode.asLong() : null;
  }

  public static String asString(
      final SimpleAttributeDefinition attr, ModelNode node, OperationContext context)
      throws OperationFailedException {
    ModelNode resolvedNode = attr.resolveModelAttribute(context, node);
    return resolvedNode.isDefined() ? resolvedNode.asString() : null;
  }

  public static Boolean asBoolean(
      final SimpleAttributeDefinition attr, ModelNode node, OperationContext context)
      throws OperationFailedException {
    ModelNode resolvedNode = attr.resolveModelAttribute(context, node);
    return resolvedNode.isDefined() ? resolvedNode.asBoolean() : null;
  }
}
예제 #2
0
  @Override
  public LogonResult neogitiateGssLogin(
      Properties connProps, byte[] serviceTicket, boolean createSession) throws LogonException {

    if (!AuthenticationType.GSS.equals(service.getAuthenticationType())) {
      throw new LogonException(
          RuntimePlugin.Event.TEIID40055,
          RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40055, "Kerberos")); // $NON-NLS-1$
    }

    String user = connProps.getProperty(TeiidURL.CONNECTION.USER_NAME);
    String password = connProps.getProperty(TeiidURL.CONNECTION.PASSWORD);
    Object previous = null;
    boolean associated = false;
    try {
      String securityDomain = service.getGssSecurityDomain();
      if (securityDomain == null) {
        throw new LogonException(
            RuntimePlugin.Event.TEIID40059, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40059));
      }
      // If this KRB5 and using keytab, user and password callback handler never gets called
      LoginContext ctx = service.createLoginContext(securityDomain, user, password);
      ctx.login();
      Subject subject = ctx.getSubject();
      GSSResult result = Subject.doAs(subject, new GssAction(serviceTicket));
      if (result == null) {
        throw new LogonException(
            RuntimePlugin.Event.TEIID40014, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40014));
      }

      if (result.context.isEstablished()) {
        Principal principal = null;
        for (Principal p : subject.getPrincipals()) {
          principal = p;
          break;
        }
        SecurityHelper securityHelper = service.getSecurityHelper();
        Object securityContext =
            securityHelper.createSecurityContext(securityDomain, principal, null, subject);
        previous = securityHelper.associateSecurityContext(securityContext);
        associated = true;
      }

      if (!result.context.isEstablished() || !createSession) {
        LogonResult logonResult =
            new LogonResult(
                new SessionToken(0, "temp"),
                "internal",
                0,
                "internal"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
        logonResult.addProperty(ILogon.KRB5TOKEN, result.serviceTicket);
        logonResult.addProperty(
            ILogon.KRB5_ESTABLISHED, new Boolean(result.context.isEstablished()));
        return logonResult;
      }

      LogManager.logDetail(
          LogConstants.CTX_SECURITY, "Kerberos context established"); // $NON-NLS-1$
      // connProps.setProperty(TeiidURL.CONNECTION.PASSTHROUGH_AUTHENTICATION, "true");
      // //$NON-NLS-1$
      LogonResult loginInResult = logon(connProps, result.serviceTicket);
      return loginInResult;
    } catch (LoginException e) {
      throw new LogonException(
          RuntimePlugin.Event.TEIID40014, e, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40014));
    } finally {
      if (associated) {
        service.getSecurityHelper().associateSecurityContext(previous);
      }
    }
  }