<commit_before>/*
* Copyright 2015 herd contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.finra.herd.model.dto;

/**
 * An enum that lists the configuration values keys and their default values.
 */
public enum ConfigurationValue
{
    /**
     * The herd environment name.
     */
    HERD_ENVIRONMENT("herd.environment", "UNDEFINED"),

    /**
     * The hibernate dialect used for the database type. This is required so there is no default.
     */
    HIBERNATE_DIALECT("hibernate.dialect", null),

    /**
     * The database type. This is required so there is no default.
     */
    DATABASE_TYPE("org.springframework.orm.jpa.vendor.Database", null),

    /**
     * Determines whether SQL will be logged or not. Default to not showing SQL.
     */
    SHOW_SQL("hibernate.show_sql", "false"),

    /**
     * Controls the maximum number of statements Hibernate will batch together before asking the driver to execute the batch. Zero or a negative number disables
     * this feature.
     */
    HIBERNATE_BATCH_SIZE("hibernate.batch_size", "30"),

    /**
     * Controls the maximum number of statements JDBC will batch together before asking the driver to execute the batch. Zero or a negative number disables
     * this feature.
     */
    JDBC_BATCH_SIZE("jdbc.batch_size", 10_000),

    /**
     * The optional herd data source JNDI name. The default is herdDB.
     */
    HERD_DATA_SOURCE_JNDI_NAME("herd.data.source.jndi.name", "java:comp/env/jdbc/herdDB"),

    /**
     * The default name of the S3 storage. The default is "S3_MANAGED".
     */
    S3_STORAGE_NAME_DEFAULT("s3.storage.name.default", "S3_MANAGED"),

    /**
     * The default storage name for external storage for use with LFU.
     */
    S3_EXTERNAL_STORAGE_NAME_DEFAULT("s3.external.storage.name.default", "S3_MANAGED_EXTERNAL"),

    /**
     * The S3 attribute name for bucket name. The default is "bucket.name".
     */
    S3_ATTRIBUTE_NAME_BUCKET_NAME("s3.attribute.name.bucket.name", "bucket.name"),

    /**
     * The S3 attribute name for validating the path prefix. The default is "validate.path.prefix".
     */
    S3_ATTRIBUTE_NAME_VALIDATE_PATH_PREFIX("s3.attribute.name.validate.path.prefix", "validate.path.prefix"),

    /**
     * The S3 attribute name for validating the file existence. The default is "validate.file.existence".
     */
    S3_ATTRIBUTE_NAME_VALIDATE_FILE_EXISTENCE("s3.attribute.name.validate.file.existence", "validate.file.existence"),

    /**
     * The S3 attribute name for validating the file size. The default is "validate.file.size".
     */
    S3_ATTRIBUTE_NAME_VALIDATE_FILE_SIZE("s3.attribute.name.validate.file.size", "validate.file.size"),

    /**
     * The storage attribute name which specifies the upload role ARN.
     */
    S3_ATTRIBUTE_NAME_UPLOAD_ROLE_ARN("s3.attribute.name.upload.role.arn", "upload.role.arn"),

    /**
     * The storage attribute name which specifies the upload session duration in seconds.
     */
    S3_ATTRIBUTE_NAME_UPLOAD_SESSION_DURATION_SECS("s3.attribute.name.upload.session.duration.secs", "upload.session.duration.secs"),

    /**
     * The storage attribute name which specifies the download role ARN.
     */
    S3_ATTRIBUTE_NAME_DOWNLOAD_ROLE_ARN("s3.attribute.name.download.role.arn", "download.role.arn"),

    /**
     * The storage attribute name which specifies the KMS key ID to use to encrypt/decrypt objects in the bucket.
     */
    S3_ATTRIBUTE_NAME_KMS_KEY_ID("s3.attribute.name.kms.key.id", "kms.key.id"),

    /**
     * The storage attribute name which specifies the S3 key prefix velocity template.
     */
    S3_ATTRIBUTE_NAME_KEY_PREFIX_VELOCITY_TEMPLATE("s3.attribute.name.key.prefix.velocity.template", "key.prefix.velocity.template"),

    /**
     * The AWS region name to use when calling EMR, EC2, SNS, and SQS services. This is optional and there is no default. When AWS region is not specified using
     * this configuration option, the AWS SDK consults the default region provider chain to try and determine the region to use.
     */
    AWS_REGION_NAME("aws.region.name", null),

    /**
     * The duration, in seconds, of the S3 tagging assume role session. The value specified can can range from 900 seconds (15 minutes) up to the maximum
     * session duration that is set for the role.
     */
    AWS_ASSUME_S3_TAGGING_ROLE_DURATION_SECS("aws.assume.s3.tagging.role.duration.secs", 3600),

    /**
     * The optional S3 endpoint to use when using S3 services. This is optional and there is no default.
     */
    S3_ENDPOINT("s3.endpoint", null),

    /**
     * The HTTP proxy hostname. This is optional and there is no default.
     */
    HTTP_PROXY_HOST("http.proxy.hostname", null),

    /**
     * The HTTP proxy port. This is optional and there is no default.
     */
    HTTP_PROXY_PORT("http.proxy.port", null),

    /**
     * The token delimiter to use for Activiti job definition ID template. The default is the tilde character.
     */
    TEMPLATE_TOKEN_DELIMITER("template.token.delimiter", "~"),

    /**
     * The token delimiter to use for field data. The default is the pipe character.
     */
    FIELD_DATA_DELIMITER("field.data.delimiter", "|"),

    /**
     * The escape character used to escape field data delimiter. The default is the backslash character.
     */<commit_msg>DM-15179: Defect - BDATA Archiving fails due to ExpiredToken when running for more than 1 hour<commit_after>/*
* Copyright 2015 herd contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.finra.herd.model.dto;

/**
 * An enum that lists the configuration values keys and their default values.
 */
public enum ConfigurationValue
{
    /**
     * The herd environment name.
     */
    HERD_ENVIRONMENT("herd.environment", "UNDEFINED"),

    /**
     * The hibernate dialect used for the database type. This is required so there is no default.
     */
    HIBERNATE_DIALECT("hibernate.dialect", null),

    /**
     * The database type. This is required so there is no default.
     */
    DATABASE_TYPE("org.springframework.orm.jpa.vendor.Database", null),

    /**
     * Determines whether SQL will be logged or not. Default to not showing SQL.
     */
    SHOW_SQL("hibernate.show_sql", "false"),

    /**
     * Controls the maximum number of statements Hibernate will batch together before asking the driver to execute the batch. Zero or a negative number disables
     * this feature.
     */
    HIBERNATE_BATCH_SIZE("hibernate.batch_size", "30"),

    /**
     * Controls the maximum number of statements JDBC will batch together before asking the driver to execute the batch. Zero or a negative number disables
     * this feature.
     */
    JDBC_BATCH_SIZE("jdbc.batch_size", 10_000),

    /**
     * The optional herd data source JNDI name. The default is herdDB.
     */
    HERD_DATA_SOURCE_JNDI_NAME("herd.data.source.jndi.name", "java:comp/env/jdbc/herdDB"),

    /**
     * The default name of the S3 storage. The default is "S3_MANAGED".
     */
    S3_STORAGE_NAME_DEFAULT("s3.storage.name.default", "S3_MANAGED"),

    /**
     * The default storage name for external storage for use with LFU.
     */
    S3_EXTERNAL_STORAGE_NAME_DEFAULT("s3.external.storage.name.default", "S3_MANAGED_EXTERNAL"),

    /**
     * The S3 attribute name for bucket name. The default is "bucket.name".
     */
    S3_ATTRIBUTE_NAME_BUCKET_NAME("s3.attribute.name.bucket.name", "bucket.name"),

    /**
     * The S3 attribute name for validating the path prefix. The default is "validate.path.prefix".
     */
    S3_ATTRIBUTE_NAME_VALIDATE_PATH_PREFIX("s3.attribute.name.validate.path.prefix", "validate.path.prefix"),

    /**
     * The S3 attribute name for validating the file existence. The default is "validate.file.existence".
     */
    S3_ATTRIBUTE_NAME_VALIDATE_FILE_EXISTENCE("s3.attribute.name.validate.file.existence", "validate.file.existence"),

    /**
     * The S3 attribute name for validating the file size. The default is "validate.file.size".
     */
    S3_ATTRIBUTE_NAME_VALIDATE_FILE_SIZE("s3.attribute.name.validate.file.size", "validate.file.size"),

    /**
     * The storage attribute name which specifies the upload role ARN.
     */
    S3_ATTRIBUTE_NAME_UPLOAD_ROLE_ARN("s3.attribute.name.upload.role.arn", "upload.role.arn"),

    /**
     * The storage attribute name which specifies the upload session duration in seconds.
     */
    S3_ATTRIBUTE_NAME_UPLOAD_SESSION_DURATION_SECS("s3.attribute.name.upload.session.duration.secs", "upload.session.duration.secs"),

    /**
     * The storage attribute name which specifies the download role ARN.
     */
    S3_ATTRIBUTE_NAME_DOWNLOAD_ROLE_ARN("s3.attribute.name.download.role.arn", "download.role.arn"),

    /**
     * The storage attribute name which specifies the KMS key ID to use to encrypt/decrypt objects in the bucket.
     */
    S3_ATTRIBUTE_NAME_KMS_KEY_ID("s3.attribute.name.kms.key.id", "kms.key.id"),

    /**
     * The storage attribute name which specifies the S3 key prefix velocity template.
     */
    S3_ATTRIBUTE_NAME_KEY_PREFIX_VELOCITY_TEMPLATE("s3.attribute.name.key.prefix.velocity.template", "key.prefix.velocity.template"),

    /**
     * The AWS region name to use when calling EMR, EC2, SNS, and SQS services. This is optional and there is no default. When AWS region is not specified using
     * this configuration option, the AWS SDK consults the default region provider chain to try and determine the region to use.
     */
    AWS_REGION_NAME("aws.region.name", null),

    /**
     * The duration, in seconds, of the S3 tagging assume role session. The value specified can can range from 900 seconds (15 minutes) up to the maximum
     * session duration that is set for the role. The default is 1 hour (3600 seconds).
     */
    AWS_ASSUME_S3_TAGGING_ROLE_DURATION_SECS("aws.assume.s3.tagging.role.duration.secs", 3600),

    /**
     * The optional S3 endpoint to use when using S3 services. This is optional and there is no default.
     */
    S3_ENDPOINT("s3.endpoint", null),

    /**
     * The HTTP proxy hostname. This is optional and there is no default.
     */
    HTTP_PROXY_HOST("http.proxy.hostname", null),

    /**
     * The HTTP proxy port. This is optional and there is no default.
     */
    HTTP_PROXY_PORT("http.proxy.port", null),

    /**
     * The token delimiter to use for Activiti job definition ID template. The default is the tilde character.
     */
    TEMPLATE_TOKEN_DELIMITER("template.token.delimiter", "~"),

    /**
     * The token delimiter to use for field data. The default is the pipe character.
     */
    FIELD_DATA_DELIMITER("field.data.delimiter", "|"),

    /**
     * The escape character used to escape field data delimiter. The default is the backslash character.
     */
{'fraction_non_alphanumeric': 0.09889273941340546, 'fraction_numerical': 0.011579748119347477, 'mean_word_length': 3.157413914265636, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3144502', 'n_tokens_mistral': 3610, 'n_tokens_neox': 3484, 'n_words': 1141}