Package com.evolveum.midpoint.repo.sql
Class SqlRepositoryConfiguration
- java.lang.Object
-
- com.evolveum.midpoint.repo.sql.SqlRepositoryConfiguration
-
public class SqlRepositoryConfiguration extends Object
This class is used for SQL repository configuration. It reads values from Apache configuration object (xml).- Author:
- lazyman
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SqlRepositoryConfiguration.Database
static class
SqlRepositoryConfiguration.IncompatibleSchemaAction
What to do if the DB schema is incompatible (e.g.static class
SqlRepositoryConfiguration.MissingSchemaAction
What to do if the DB schema is missing.static class
SqlRepositoryConfiguration.UpgradeableSchemaAction
What to do if the DB schema is outdated and is upgradeable (either automatically or manually).
-
Field Summary
-
Constructor Summary
Constructors Constructor Description SqlRepositoryConfiguration(org.apache.commons.configuration2.Configuration configuration)
-
Method Summary
-
-
-
Field Detail
-
PROPERTY_DATABASE
public static final String PROPERTY_DATABASE
- See Also:
- Constant Field Values
-
PROPERTY_BASE_DIR
public static final String PROPERTY_BASE_DIR
- See Also:
- Constant Field Values
-
PROPERTY_DROP_IF_EXISTS
public static final String PROPERTY_DROP_IF_EXISTS
- See Also:
- Constant Field Values
-
PROPERTY_AS_SERVER
public static final String PROPERTY_AS_SERVER
- See Also:
- Constant Field Values
-
PROPERTY_PORT
public static final String PROPERTY_PORT
- See Also:
- Constant Field Values
-
PROPERTY_FILE_NAME
public static final String PROPERTY_FILE_NAME
- See Also:
- Constant Field Values
-
PROPERTY_TCP_SSL
public static final String PROPERTY_TCP_SSL
- See Also:
- Constant Field Values
-
PROPERTY_EMBEDDED
public static final String PROPERTY_EMBEDDED
- See Also:
- Constant Field Values
-
PROPERTY_DRIVER_CLASS_NAME
public static final String PROPERTY_DRIVER_CLASS_NAME
- See Also:
- Constant Field Values
-
PROPERTY_HIBERNATE_HBM2DDL
public static final String PROPERTY_HIBERNATE_HBM2DDL
- See Also:
- Constant Field Values
-
PROPERTY_HIBERNATE_DIALECT
public static final String PROPERTY_HIBERNATE_DIALECT
- See Also:
- Constant Field Values
-
PROPERTY_JDBC_PASSWORD
public static final String PROPERTY_JDBC_PASSWORD
- See Also:
- Constant Field Values
-
PROPERTY_JDBC_PASSWORD_FILE
public static final String PROPERTY_JDBC_PASSWORD_FILE
- See Also:
- Constant Field Values
-
PROPERTY_JDBC_USERNAME
public static final String PROPERTY_JDBC_USERNAME
- See Also:
- Constant Field Values
-
PROPERTY_JDBC_URL
public static final String PROPERTY_JDBC_URL
- See Also:
- Constant Field Values
-
PROPERTY_DATASOURCE
public static final String PROPERTY_DATASOURCE
- See Also:
- Constant Field Values
-
PROPERTY_USE_ZIP
public static final String PROPERTY_USE_ZIP
- See Also:
- Constant Field Values
-
PROPERTY_MIN_POOL_SIZE
public static final String PROPERTY_MIN_POOL_SIZE
- See Also:
- Constant Field Values
-
PROPERTY_MAX_POOL_SIZE
public static final String PROPERTY_MAX_POOL_SIZE
- See Also:
- Constant Field Values
-
PROPERTY_MAX_LIFETIME
public static final String PROPERTY_MAX_LIFETIME
- See Also:
- Constant Field Values
-
PROPERTY_IDLE_TIMEOUT
public static final String PROPERTY_IDLE_TIMEOUT
- See Also:
- Constant Field Values
-
PROPERTY_TRANSACTION_ISOLATION
public static final String PROPERTY_TRANSACTION_ISOLATION
- See Also:
- Constant Field Values
-
PROPERTY_LOCK_FOR_UPDATE_VIA_HIBERNATE
public static final String PROPERTY_LOCK_FOR_UPDATE_VIA_HIBERNATE
- See Also:
- Constant Field Values
-
PROPERTY_LOCK_FOR_UPDATE_VIA_SQL
public static final String PROPERTY_LOCK_FOR_UPDATE_VIA_SQL
- See Also:
- Constant Field Values
-
PROPERTY_USE_READ_ONLY_TRANSACTIONS
public static final String PROPERTY_USE_READ_ONLY_TRANSACTIONS
- See Also:
- Constant Field Values
-
PROPERTY_PERFORMANCE_STATISTICS_FILE
public static final String PROPERTY_PERFORMANCE_STATISTICS_FILE
- See Also:
- Constant Field Values
-
PROPERTY_PERFORMANCE_STATISTICS_LEVEL
public static final String PROPERTY_PERFORMANCE_STATISTICS_LEVEL
- See Also:
- Constant Field Values
-
PROPERTY_ITERATIVE_SEARCH_BY_PAGING
public static final String PROPERTY_ITERATIVE_SEARCH_BY_PAGING
- See Also:
- Constant Field Values
-
PROPERTY_ITERATIVE_SEARCH_BY_PAGING_BATCH_SIZE
public static final String PROPERTY_ITERATIVE_SEARCH_BY_PAGING_BATCH_SIZE
- See Also:
- Constant Field Values
-
PROPERTY_MAX_OBJECTS_FOR_IMPLICIT_FETCH_ALL_ITERATION_METHOD
public static final String PROPERTY_MAX_OBJECTS_FOR_IMPLICIT_FETCH_ALL_ITERATION_METHOD
- See Also:
- Constant Field Values
-
PROPERTY_IGNORE_ORG_CLOSURE
public static final String PROPERTY_IGNORE_ORG_CLOSURE
- See Also:
- Constant Field Values
-
PROPERTY_ORG_CLOSURE_STARTUP_ACTION
public static final String PROPERTY_ORG_CLOSURE_STARTUP_ACTION
- See Also:
- Constant Field Values
-
PROPERTY_SKIP_ORG_CLOSURE_STRUCTURE_CHECK
public static final String PROPERTY_SKIP_ORG_CLOSURE_STRUCTURE_CHECK
- See Also:
- Constant Field Values
-
PROPERTY_STOP_ON_ORG_CLOSURE_STARTUP_FAILURE
public static final String PROPERTY_STOP_ON_ORG_CLOSURE_STARTUP_FAILURE
- See Also:
- Constant Field Values
-
PROPERTY_SKIP_EXPLICIT_SCHEMA_VALIDATION
public static final String PROPERTY_SKIP_EXPLICIT_SCHEMA_VALIDATION
- See Also:
- Constant Field Values
-
PROPERTY_MISSING_SCHEMA_ACTION
public static final String PROPERTY_MISSING_SCHEMA_ACTION
- See Also:
- Constant Field Values
-
PROPERTY_UPGRADEABLE_SCHEMA_ACTION
public static final String PROPERTY_UPGRADEABLE_SCHEMA_ACTION
- See Also:
- Constant Field Values
-
PROPERTY_INCOMPATIBLE_SCHEMA_ACTION
public static final String PROPERTY_INCOMPATIBLE_SCHEMA_ACTION
- See Also:
- Constant Field Values
-
PROPERTY_SCHEMA_VERSION_IF_MISSING
public static final String PROPERTY_SCHEMA_VERSION_IF_MISSING
- See Also:
- Constant Field Values
-
PROPERTY_SCHEMA_VERSION_OVERRIDE
public static final String PROPERTY_SCHEMA_VERSION_OVERRIDE
- See Also:
- Constant Field Values
-
PROPERTY_SCHEMA_VARIANT
public static final String PROPERTY_SCHEMA_VARIANT
- See Also:
- Constant Field Values
-
PROPERTY_INITIALIZATION_FAIL_TIMEOUT
public static final String PROPERTY_INITIALIZATION_FAIL_TIMEOUT
- See Also:
- Constant Field Values
-
PROPERTY_ENABLE_NO_FETCH_EXTENSION_VALUES_INSERTION
public static final String PROPERTY_ENABLE_NO_FETCH_EXTENSION_VALUES_INSERTION
- See Also:
- Constant Field Values
-
PROPERTY_ENABLE_NO_FETCH_EXTENSION_VALUES_DELETION
public static final String PROPERTY_ENABLE_NO_FETCH_EXTENSION_VALUES_DELETION
- See Also:
- Constant Field Values
-
PROPERTY_ENABLE_INDEX_ONLY_ITEMS
public static final String PROPERTY_ENABLE_INDEX_ONLY_ITEMS
- See Also:
- Constant Field Values
-
PROPERTY_TEXT_INFO_COLUMN_SIZE
public static final String PROPERTY_TEXT_INFO_COLUMN_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getDefaultEmbeddedJdbcUrlPrefix
public String getDefaultEmbeddedJdbcUrlPrefix()
Prepares a prefix (first part) of JDBC URL for embedded database. Used also by configurator of tasks (quartz) module; it adds its own db names and parameters to this string.- Returns:
- prefix of JDBC URL like jdbc:h2:file:d:\midpoint\midpoint
-
validate
public void validate() throws RepositoryServiceFactoryException
Configuration validation.- Throws:
RepositoryServiceFactoryException
- if configuration is invalid.
-
isAsServer
public boolean isAsServer()
- Returns:
- Returns true if repository is running in embedded server mode, otherwise false. Default is false.
-
getBaseDir
public String getBaseDir()
-
getDriverClassName
public String getDriverClassName()
-
isEmbedded
public boolean isEmbedded()
-
getHibernateDialect
public String getHibernateDialect()
Value represents hibernate dialect used to communicate with database. You can choose from dialects It's used in "hibernate.dialect" property- Returns:
- hibernate dialect
-
getHibernateHbm2ddl
public String getHibernateHbm2ddl()
-
setHibernateHbm2ddl
public void setHibernateHbm2ddl(String hibernateHbm2ddl)
-
getJdbcPassword
public String getJdbcPassword()
- Returns:
- Password for JDBC connection. (Optional)
-
getJdbcUrl
public String getJdbcUrl()
- Returns:
- JDBC URL connection string for hibernate data source. (for embedded mode it's created automatically).
-
getJdbcUsername
public String getJdbcUsername()
- Returns:
- Username for JDBC connection. (Optional)
-
getPort
public int getPort()
- Returns:
- Port number if repository is running in embedded server mode. Default is 5437.
-
isTcpSSL
public boolean isTcpSSL()
Value represents repository running in embedded server mode with SSL turned on/off. Default value is false.- Returns:
- Returns true if repository is running in embedded server mode and SSL turned on.
-
getFileName
public String getFileName()
Used in embedded mode to define h2 database file name. Default will be "midpoint".- Returns:
- name of DB file
-
isDropIfExists
public boolean isDropIfExists()
-
getTransactionIsolation
public TransactionIsolation getTransactionIsolation()
-
isLockForUpdateViaHibernate
public boolean isLockForUpdateViaHibernate()
-
isLockForUpdateViaSql
public boolean isLockForUpdateViaSql()
-
isUseReadOnlyTransactions
public boolean isUseReadOnlyTransactions()
-
getPerformanceStatisticsFile
public String getPerformanceStatisticsFile()
-
getPerformanceStatisticsLevel
public int getPerformanceStatisticsLevel()
-
isIterativeSearchByPaging
public boolean isIterativeSearchByPaging()
-
getIterativeSearchByPagingBatchSize
public int getIterativeSearchByPagingBatchSize()
-
setIterativeSearchByPagingBatchSize
public void setIterativeSearchByPagingBatchSize(int iterativeSearchByPagingBatchSize)
-
getMaxObjectsForImplicitFetchAllIterationMethod
public int getMaxObjectsForImplicitFetchAllIterationMethod()
-
getDataSource
public String getDataSource()
-
getMinPoolSize
public int getMinPoolSize()
-
getMaxPoolSize
public int getMaxPoolSize()
-
getMaxLifetime
public Long getMaxLifetime()
-
getIdleTimeout
public Long getIdleTimeout()
-
isUseZip
public boolean isUseZip()
-
isIgnoreOrgClosure
public boolean isIgnoreOrgClosure()
-
getOrgClosureStartupAction
public OrgClosureManager.StartupAction getOrgClosureStartupAction()
-
isUsingH2
public boolean isUsingH2()
-
isUsingOracle
public boolean isUsingOracle()
-
isUsingMySqlCompatible
public boolean isUsingMySqlCompatible()
-
isUsingMySql
public boolean isUsingMySql()
-
isUsingMariaDB
public boolean isUsingMariaDB()
-
isUsingPostgreSQL
public boolean isUsingPostgreSQL()
-
isUsingSQLServer
public boolean isUsingSQLServer()
-
isStopOnOrgClosureStartupFailure
public boolean isStopOnOrgClosureStartupFailure()
-
isSkipOrgClosureStructureCheck
public boolean isSkipOrgClosureStructureCheck()
-
getDatabase
public SqlRepositoryConfiguration.Database getDatabase()
-
getMissingSchemaAction
@NotNull public @NotNull SqlRepositoryConfiguration.MissingSchemaAction getMissingSchemaAction()
-
getUpgradeableSchemaAction
@NotNull public @NotNull SqlRepositoryConfiguration.UpgradeableSchemaAction getUpgradeableSchemaAction()
-
getIncompatibleSchemaAction
@NotNull public @NotNull SqlRepositoryConfiguration.IncompatibleSchemaAction getIncompatibleSchemaAction()
-
isSkipExplicitSchemaValidation
public boolean isSkipExplicitSchemaValidation()
-
getSchemaVersionIfMissing
public String getSchemaVersionIfMissing()
-
getSchemaVersionOverride
public String getSchemaVersionOverride()
-
getSchemaVariant
public String getSchemaVariant()
-
getInitializationFailTimeout
public long getInitializationFailTimeout()
-
isEnableNoFetchExtensionValuesInsertion
public boolean isEnableNoFetchExtensionValuesInsertion()
-
isEnableNoFetchExtensionValuesDeletion
public boolean isEnableNoFetchExtensionValuesDeletion()
-
isEnableIndexOnlyItems
public boolean isEnableIndexOnlyItems()
-
getTextInfoColumnSize
public int getTextInfoColumnSize()
-
setEnableNoFetchExtensionValuesInsertion
public void setEnableNoFetchExtensionValuesInsertion(boolean enableNoFetchExtensionValuesInsertion)
-
setEnableNoFetchExtensionValuesDeletion
public void setEnableNoFetchExtensionValuesDeletion(boolean enableNoFetchExtensionValuesDeletion)
-
setEnableIndexOnlyItems
public void setEnableIndexOnlyItems(boolean enableIndexOnlyItems)
-
-