Class StudioConfigurationImpl
- java.lang.Object
-
- org.craftercms.studio.impl.v2.utils.StudioConfigurationImpl
-
- All Implemented Interfaces:
StudioConfiguration
public class StudioConfigurationImpl extends Object implements StudioConfiguration
-
-
Field Summary
Fields Modifier and Type Field Description protected String
configLocation
protected com.google.common.cache.Cache<String,org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>>
configurationCache
protected org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>
systemConfig
-
Fields inherited from interface org.craftercms.studio.api.v2.utils.StudioConfiguration
ACTIVITY_USERNAME_CASE_SENSITIVE, AUTHENTICATION_CHAIN_PROVIDER_EMAIL_HEADER, AUTHENTICATION_CHAIN_PROVIDER_EMAIL_LDAP_ATTRIBUTE, AUTHENTICATION_CHAIN_PROVIDER_ENABLED, AUTHENTICATION_CHAIN_PROVIDER_FIRST_NAME_HEADER, AUTHENTICATION_CHAIN_PROVIDER_FIRST_NAME_LDAP_ATTRIBUTE, AUTHENTICATION_CHAIN_PROVIDER_GROUP_NAME_LDAP_ATTRIBUTE, AUTHENTICATION_CHAIN_PROVIDER_GROUP_NAME_MATCH_INDEX_LDAP_ATTRIBUTE, AUTHENTICATION_CHAIN_PROVIDER_GROUP_NAME_REGEX_LDAP_ATTRIBUTE, AUTHENTICATION_CHAIN_PROVIDER_GROUPS_HEADER, AUTHENTICATION_CHAIN_PROVIDER_LAST_NAME_HEADER, AUTHENTICATION_CHAIN_PROVIDER_LAST_NAME_LDAP_ATTRIBUTE, AUTHENTICATION_CHAIN_PROVIDER_LDAP_BASE_CONTEXT, AUTHENTICATION_CHAIN_PROVIDER_LDAP_PASSWORD, AUTHENTICATION_CHAIN_PROVIDER_LDAP_URL, AUTHENTICATION_CHAIN_PROVIDER_LDAP_USERNAME, AUTHENTICATION_CHAIN_PROVIDER_LOGOUT_ENABLED, AUTHENTICATION_CHAIN_PROVIDER_LOGOUT_URL, AUTHENTICATION_CHAIN_PROVIDER_SECURE_KEY_HEADER, AUTHENTICATION_CHAIN_PROVIDER_SECURE_KEY_HEADER_VALUE, AUTHENTICATION_CHAIN_PROVIDER_TYPE, AUTHENTICATION_CHAIN_PROVIDER_TYPE_DB, AUTHENTICATION_CHAIN_PROVIDER_TYPE_HEADERS, AUTHENTICATION_CHAIN_PROVIDER_TYPE_LDAP, AUTHENTICATION_CHAIN_PROVIDER_USERNAME_HEADER, AUTHENTICATION_CHAIN_PROVIDER_USERNAME_LDAP_ATTIBUTE, AUTHENTICATION_HEADERS_LOGOUT_ENABLED, AUTHORING_DISABLE_DEPLOY_CRON, AUTHORING_REPLACE, AUTHORING_TEMPLATE_NAME, BLUE_PRINTS_PATH, BOOTSTRAP_REPO, CACHE_TEMPLATES, CLOCK_JOB_FREQUENCY, CLOCK_JOB_TASK_AUDIT_LOG_PROCESSING_BATCH_SIZE_AUDITED, CLOCK_JOB_TASK_AUDIT_LOG_PROCESSING_BATCH_SIZE_GITLOG, CLOCK_JOB_TASK_AUDIT_LOG_PROCESSING_EXECUTE_EVERY_N_CYCLES, CLOCK_JOB_TASK_CLUSTER_GLOBAL_REPO_SYNC_EXECUTE_EVERY_N_CYCLES, CLOCK_JOB_TASK_CLUSTER_RANDOM_OFFSET, CLOCK_JOB_TASK_CLUSTER_SITE_PUBLISHED_REPO_SYNC_EXECUTE_EVERY_N_CYCLES, CLOCK_JOB_TASK_CLUSTER_SITE_SANDBOX_REPO_SYNC_EXECUTE_EVERY_N_CYCLES, CLOCK_JOB_TASK_EXECUTOR_CORE_POOL_SIZE, CLOCK_JOB_TASK_EXECUTOR_MAX_POOL_SIZE, CLOCK_JOB_TASK_EXECUTOR_QUEUE_CAPACITY, CLOCK_JOB_TASK_PUBLISHER_EXECUTE_EVERY_N_CYCLES, CLOCK_JOB_TASK_PUBLISHER_MAX_RETRY_COUNT, CLOCK_JOB_TASK_SYNC_REPOSITORY_EXECUTE_EVERY_N_CYCLES, CLUSTERING_FAILOVER_CHECK_JOB_INTERVAL, CLUSTERING_HEARTBEAT_JOB_INTERVAL, CLUSTERING_HEARTBEAT_STALE_TIME_LIMIT, CLUSTERING_INACTIVITY_CHECK_JOB_INTERVAL, CLUSTERING_INACTIVITY_TIME_LIMIT, CLUSTERING_NODE_REGISTRATION, CLUSTERING_SYNC_URL_FORMAT, CONFIGURATION_ASSET_PROCESSING_TINIFY_API_KEY, CONFIGURATION_AUTHENTICATION_CHAIN_CONFIG, CONFIGURATION_DEFAULT_ADMIN_GROUP, CONFIGURATION_DEFAULT_DEPENDENCY_RESOLVER_CONFIG_BASE_PATH, CONFIGURATION_DEFAULT_DEPENDENCY_RESOLVER_CONFIG_FILE_NAME, CONFIGURATION_DEFAULT_GROUPS, CONFIGURATION_DEFAULT_TIME_ZONE, CONFIGURATION_DEPENDENCY_ITEM_SPECIFIC_PATTERNS, CONFIGURATION_ENVIRONMENT_ACTIVE, CONFIGURATION_GLOBAL_CONFIG_BASE_PATH, CONFIGURATION_GLOBAL_MENU_FILE_NAME, CONFIGURATION_GLOBAL_PERMISSION_MAPPINGS_FILE_NAME, CONFIGURATION_GLOBAL_ROLE_MAPPINGS_FILE_NAME, CONFIGURATION_GLOBAL_SYSTEM_SITE, CONFIGURATION_GLOBAL_UI_RESOURCE_OVERRIDE_PATH, CONFIGURATION_GLOBAL_VALIDATE_SESSION_URL, CONFIGURATION_MANAGEMENT_AUTHORIZATION_TOKEN, CONFIGURATION_MANAGEMENT_PREVIEW_AUTHORIZATION_TOKEN, CONFIGURATION_MANAGEMENT_PREVIEW_PROTECTED_URLS, CONFIGURATION_PUBLISHING_BLACKLIST_REGEX, CONFIGURATION_SITE_ASSET_PROCESSING_CONFIGURATION_PATH, CONFIGURATION_SITE_AWS_CONFIGURATION_MODULE, CONFIGURATION_SITE_AWS_CONFIGURATION_PATH, CONFIGURATION_SITE_BOX_CONFIGURATION_MODULE, CONFIGURATION_SITE_BOX_CONFIGURATION_PATH, CONFIGURATION_SITE_CONFIG_BASE_PATH, CONFIGURATION_SITE_CONFIG_BASE_PATH_PATTERN, CONFIGURATION_SITE_CONTENT_TYPES_CONFIG_BASE_PATH, CONFIGURATION_SITE_CONTENT_TYPES_CONFIG_FILE_NAME, CONFIGURATION_SITE_CONTENT_TYPES_CONFIG_PATH, CONFIGURATION_SITE_DATA_SOURCES_CONFIG_LOCATION, CONFIGURATION_SITE_DEFAULT_AUTHORING_URL, CONFIGURATION_SITE_DEFAULT_GRAPHQL_SERVER_URL, CONFIGURATION_SITE_DEFAULT_PREVIEW_URL, CONFIGURATION_SITE_DEPENDENCY_RESOLVER_CONFIG_FILE_NAME, CONFIGURATION_SITE_GENERAL_CONFIG_FILE_NAME, CONFIGURATION_SITE_MUTLI_ENVIRONMENT_CONFIG_BASE_PATH, CONFIGURATION_SITE_MUTLI_ENVIRONMENT_CONFIG_BASE_PATH_PATTERN, CONFIGURATION_SITE_PERMISSION_MAPPINGS_FILE_NAME, CONFIGURATION_SITE_PREVIEW_DESTROY_CONTEXT_URL, CONFIGURATION_SITE_ROLE_MAPPINGS_FILE_NAME, CONFIGURATION_SITE_WEBDAV_CONFIGURATION_MODULE, CONFIGURATION_SITE_WEBDAV_CONFIGURATION_PATH, CONTENT_FILENAME_MAX_SIZE, CONTENT_FULLPATH_MAX_SIZE, CONTENT_ITEM_EDITABLE_TYPES, CONTENT_PROCESSOR_CONTENT_LIFE_CYCLE_SCRIPT_LOCATION, CONTENT_TYPES_FILTER_COMPONENTS_INCLUDE_PATTERN, CONTENT_TYPES_FILTER_DOCUMENTS_INCLUDE_PATTERN, CONTENT_TYPES_FILTER_PAGES_INCLUDE_PATTERN, DB_BASE_PATH, DB_BULK_OPERATIONS_BATCH_SIZE, DB_CLUSTER_BOOTSTRAP_WAIT_TIMEOUT, DB_CLUSTER_GRASTATE_LOCATION, DB_CLUSTER_LIB_LOCATION, DB_CLUSTER_LOCAL_NODE_ADDRESS, DB_CLUSTER_LOCAL_NODE_NAME, DB_CLUSTER_LOCAL_NODE_SYNCED_WAIT_TIMEOUT, DB_CLUSTER_LOG_BASENAME, DB_CLUSTER_NAME, DB_CLUSTER_NODE_COUNT, DB_CLUSTER_NODE_STATUS_REPORT_PERIOD, DB_CLUSTER_NODE_STATUS_REPORT_TTL, DB_CLUSTER_NODES_STARTUP_WAIT_TIMEOUT, DB_CLUSTER_PRIMARY_HOST, DB_CLUSTER_PRIMARY_PORT, DB_CLUSTER_PRIMARY_REPLICA_MASTER_INFO_FILE_PATH, DB_CLUSTER_REPLICA_READY_WAIT_INTERVAL, DB_CLUSTER_REPLICATION_PASSWORD, DB_CLUSTER_REPLICATION_USER, DB_CLUSTER_SERVER_ID, DB_DATA_PATH, DB_DRIVER, DB_INITIALIZER_CHANGE_PRIMARY_FOR_REPLICA_SCRIPT_LOCATION, DB_INITIALIZER_CREATE_DB_SCRIPT_LOCATION, DB_INITIALIZER_CREATE_SCHEMA_SCRIPT_LOCATION, DB_INITIALIZER_DEMOTE_PRIMARY_TO_REPLICA_SCRIPT_LOCATION, DB_INITIALIZER_ENABLED, DB_INITIALIZER_INITIALIZE_PRIMARY_SCRIPT_LOCATION, DB_INITIALIZER_INITIALIZE_REPLICA_SCRIPT_LOCATION, DB_INITIALIZER_PROMOTE_REPLICA_TO_PRIMARY_SCRIPT_LOCATION, DB_INITIALIZER_RANDOM_ADMIN_PASSWORD_CHARS, DB_INITIALIZER_RANDOM_ADMIN_PASSWORD_ENABLED, DB_INITIALIZER_RANDOM_ADMIN_PASSWORD_LENGTH, DB_INITIALIZER_URL, DB_MAX_CONNECTIONS, DB_PASSWORD, DB_POOL_INITIAL_CONNECTIONS, DB_POOL_MAX_ACTIVE_CONNECTIONS, DB_POOL_MAX_IDLE_CONNECTIONS, DB_POOL_MAX_WAIT_TIME, DB_POOL_MIN_IDLE_CONNECTIONS, DB_POOL_REMOVE_ABANDONED_ON_BORROW, DB_POOL_REMOVE_ABANDONED_ON_MAINTENANCE, DB_POOL_REMOVE_ABANDONED_TIMEOUT, DB_POOL_TIME_BETWEEN_EVICTION_RUNS_MILLIS, DB_PORT, DB_RETRYING_OPERATION_MAX_ATTEMPTS, DB_RETRYING_OPERATION_MAX_SLEEP, DB_SCHEMA, DB_SCRIPT_RUNNER_BUFFER_SIZE, DB_SOCKET, DB_TEST_ON_BORROW, DB_URL, DB_USER, DB_VALIDATION_INTERVAL, DB_VALIDATION_QUERY, GLOBAL_REPO_PATH, HAZELCAST_CONFIG_LOCATION, IMPORT_ASSET_CHAIN_NAME, IMPORT_ASSIGNEE, IMPORT_XML_CHAIN_NAME, JOB_DEPLOY_CONTENT_TO_ENVIRONMENT_MANDATORY_DEPENDENCIES_CHECK_ENABLED, JOB_DEPLOYMENT_MASTER_PUBLISHING_NODE, MAIL_DEBUG, MAIL_FROM_DEFAULT, MAIL_HOST, MAIL_PASSWORD, MAIL_PORT, MAIL_SMTP_AUTH, MAIL_SMTP_EHLO, MAIL_SMTP_START_TLS_ENABLE, MAIL_USERNAME, NOTIFICATION_CONFIGURATION_FILE, NOTIFICATION_TIMEZONE, OBJECT_STATE_BULK_OPERATIONS_BATCH_SIZE, PAGE_NAVIGATION_ORDER_INCREMENT, PLUGIN_BASE_PATTERN, PREVIEW_DEFAULT_CREATE_TARGET_URL, PREVIEW_DEFAULT_DELETE_TARGET_URL, PREVIEW_DEFAULT_PREVIEW_DEPLOYER_URL, PREVIEW_DISABLE_DEPLOY_CRON, PREVIEW_REPLACE, PREVIEW_REPO_URL, PREVIEW_SEARCH_ENGINE, PREVIEW_TEMPLATE_NAME, PUBLISHED_PATH, PUBLISHING_MANAGER_INDEX_FILE, PUBLISHING_MANAGER_PUBLISHING_WITHOUT_DEPENDENCIES_ENABLED, PUBLISHING_SITE_LOCK_TTL, REPO_BASE_PATH, REPO_BLUEPRINTS_DESCRIPTOR_FILENAME, REPO_BLUEPRINTS_UPDATED_COMMIT_MESSAGE, REPO_CLEANUP_CRON, REPO_COMMIT_MESSAGE_POSTSCRIPT, REPO_COMMIT_MESSAGE_PROLOGUE, REPO_COPY_CONTENT_COMMIT_MESSAGE, REPO_CREATE_AS_ORPHAN_COMMIT_MESSAGE, REPO_CREATE_FOLDER_COMMIT_MESSAGE, REPO_CREATE_REPOSITORY_COMMIT_MESSAGE, REPO_CREATE_SANDBOX_BRANCH_COMMIT_MESSAGE, REPO_DEFAULT_REMOTE_NAME, REPO_DELETE_CONTENT_COMMIT_MESSAGE, REPO_IGNORE_FILES, REPO_INITIAL_COMMIT_COMMIT_MESSAGE, REPO_INITIAL_PUBLISH_COMMIT_MESSAGE, REPO_MOVE_CONTENT_COMMIT_MESSAGE, REPO_PUBLISHED_COMMIT_MESSAGE, REPO_PUBLISHED_LIVE, REPO_PUBLISHED_STAGING, REPO_PULL_FROM_REMOTE_CONFLICT_NOTIFICATION_ENABLED, REPO_RETRYING_OPERATION_MAX_ATTEMPTS, REPO_RETRYING_OPERATION_MAX_SLEEP, REPO_SANDBOX_BRANCH, REPO_SANDBOX_WRITE_COMMIT_MESSAGE, REPO_SYNC_DB_COMMIT_MESSAGE_NO_PROCESSING, SANDBOX_PATH, SECURITY_CIPHER_ALGORITHM, SECURITY_CIPHER_KEY, SECURITY_CIPHER_SALT, SECURITY_CIPHER_TYPE, SECURITY_FORGOT_PASSWORD_EMAIL_TEMPLATE, SECURITY_FORGOT_PASSWORD_MESSAGE_SUBJECT, SECURITY_FORGOT_PASSWORD_TOKEN_TIMEOUT, SECURITY_PASSWORD_REQUIREMENTS_VALIDATION_REGEX, SECURITY_PUBLIC_URLS, SECURITY_RESET_PASSWORD_SERVICE_URL, SECURITY_SAML_ATTIBUTE_NAME_EMAIL, SECURITY_SAML_ATTIBUTE_NAME_FIRST_NAME, SECURITY_SAML_ATTIBUTE_NAME_GROUP, SECURITY_SAML_ATTIBUTE_NAME_LAST_NAME, SECURITY_SAML_KEYSTORE_ALIAS, SECURITY_SAML_KEYSTORE_KEY_PASSWORD, SECURITY_SAML_KEYSTORE_LOCATION, SECURITY_SAML_KEYSTORE_STORE_PASSWORD, SECURITY_SAML_LOGOUT_URL, SECURITY_SAML_METADATA_LOCATION_IDP, SECURITY_SAML_METADATA_LOCATION_SERVICE_PROVIDER, SECURITY_SAML_REVERSE_PROXY_CONTEXT_PATH, SECURITY_SAML_REVERSE_PROXY_ENABLED, SECURITY_SAML_REVERSE_PROXY_FORWARDED_HOST_HEADER_NAME, SECURITY_SAML_REVERSE_PROXY_FORWARDED_PORT_HEADER_NAME, SECURITY_SAML_REVERSE_PROXY_FORWARDED_PROTO_HEADER_NAME, SECURITY_SAML_REVERSE_PROXY_SCHEME, SECURITY_SAML_REVERSE_PROXY_SERVER_NAME, SECURITY_SAML_REVERSE_PROXY_SERVER_PORT, SECURITY_SAML_WEBSSOPROFILEOPTIONS_FORCEAUTHN, SECURITY_SAML_WEBSSOPROFILEOPTIONS_PASSIVE, SECURITY_SESSION_TIMEOUT, SECURITY_SET_PASSWORD_DELAY, SECURITY_TYPE, SERVERLESS_DELIVERY_DEPLOYER_TARGET_CREATE_URL, SERVERLESS_DELIVERY_DEPLOYER_TARGET_DELETE_URL, SERVERLESS_DELIVERY_DEPLOYER_TARGET_LOCAL_REPO_PATH, SERVERLESS_DELIVERY_DEPLOYER_TARGET_REMOTE_REPO_URL, SERVERLESS_DELIVERY_DEPLOYER_TARGET_REPLACE, SERVERLESS_DELIVERY_DEPLOYER_TARGET_TEMPLATE, SERVERLESS_DELIVERY_DEPLOYER_TARGET_TEMPLATE_PARAMS, SERVERLESS_DELIVERY_ENABLED, SITES_REPOS_PATH, STUDIO_CONFIG_GLOBAL_REPO_OVERRIDE_CONFIG, STUDIO_CONFIG_OVERRIDE_CONFIG, UPGRADE_BRANCH_NAME, UPGRADE_COMMIT_MESSAGE, UPGRADE_CONFIGURATION_FILE, UPGRADE_DEFAULT_VERSION_FILE, UPGRADE_DEFAULT_VERSION_SITE, UPGRADE_PIPELINE_BLUEPRINT, UPGRADE_PIPELINE_CONFIGURATIONS, UPGRADE_PIPELINE_PREFIX, UPGRADE_PIPELINE_SITE, UPGRADE_PIPELINE_SYSTEM, UPGRADE_SCRIPT_FOLDER, UPGRADE_VERSION_DEFAULT, UPGRADE_VERSION_FILE, UPGRADE_VERSION_TEMPLATE, UPGRADE_VERSION_XPATH, WORKFLOW_PUBLISHING_WITHOUT_DEPENDENCIES_ENABLED
-
-
Constructor Summary
Constructors Constructor Description StudioConfigurationImpl(com.google.common.cache.Cache<String,org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>> configurationCache, String configLocation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T[]
getArray(String key, Class<T> clazz)
protected org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>
getConfig()
protected org.apache.commons.configuration2.tree.ExpressionEngine
getExpressionEngine()
<T> List<T>
getList(String key, Class<T> clazz)
String
getProperty(String key)
<T> T
getProperty(String key, Class<T> clazz)
<T> T
getProperty(String key, Class<T> clazz, T defaultVal)
org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>
getSubConfig(String key)
List<org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>>
getSubConfigs(String key)
void
init()
void
loadConfig()
-
-
-
Field Detail
-
systemConfig
protected org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> systemConfig
-
configurationCache
protected com.google.common.cache.Cache<String,org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>> configurationCache
-
configLocation
protected String configLocation
-
-
Constructor Detail
-
StudioConfigurationImpl
@ConstructorProperties({"configurationCache","configLocation"}) public StudioConfigurationImpl(com.google.common.cache.Cache<String,org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>> configurationCache, String configLocation)
-
-
Method Detail
-
init
public void init()
-
loadConfig
public void loadConfig()
- Specified by:
loadConfig
in interfaceStudioConfiguration
-
getExpressionEngine
protected org.apache.commons.configuration2.tree.ExpressionEngine getExpressionEngine()
-
getConfig
protected org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> getConfig()
-
getProperty
public String getProperty(String key)
- Specified by:
getProperty
in interfaceStudioConfiguration
-
getProperty
public <T> T getProperty(String key, Class<T> clazz)
- Specified by:
getProperty
in interfaceStudioConfiguration
-
getProperty
public <T> T getProperty(String key, Class<T> clazz, T defaultVal)
- Specified by:
getProperty
in interfaceStudioConfiguration
-
getArray
public <T> T[] getArray(String key, Class<T> clazz)
- Specified by:
getArray
in interfaceStudioConfiguration
-
getList
public <T> List<T> getList(String key, Class<T> clazz)
- Specified by:
getList
in interfaceStudioConfiguration
-
getSubConfig
public org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> getSubConfig(String key)
- Specified by:
getSubConfig
in interfaceStudioConfiguration
-
getSubConfigs
public List<org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode>> getSubConfigs(String key)
- Specified by:
getSubConfigs
in interfaceStudioConfiguration
-
-