package org.apereo.cas.configuration.model.support.jpa;
import org.apache.commons.lang3.StringUtils;
import org.apereo.cas.configuration.model.support.ConnectionPoolingProperties;
import org.apereo.cas.configuration.support.Beans;
/**
* Common properties for all jpa configs.
*
* @author Dmitriy Kopylenko
* @since 5.0.0
*/
public abstract class AbstractJpaProperties {
private String dialect = "org.hibernate.dialect.HSQLDialect";
private String ddlAuto = "create-drop";
private String driverClass = "org.hsqldb.jdbcDriver";
private String url = "jdbc:hsqldb:mem:cas-hsql-database";
private String user = "sa";
private String password = StringUtils.EMPTY;
private String defaultCatalog;
private String defaultSchema;
private String healthQuery = StringUtils.EMPTY;
private String idleTimeout = "PT10M";
private String dataSourceName;
private ConnectionPoolingProperties pool = new ConnectionPoolingProperties();
private int leakThreshold = 3_000;
private int batchSize = 1;
private boolean failFast = true;
private boolean isolateInternalQueries;
private boolean autocommit;
private boolean dataSourceProxy;
public String getDefaultCatalog() {
return defaultCatalog;
}
public void setDefaultCatalog(final String defaultCatalog) {
this.defaultCatalog = defaultCatalog;
}
public String getDefaultSchema() {
return defaultSchema;
}
public void setDefaultSchema(final String defaultSchema) {
this.defaultSchema = defaultSchema;
}
public String getDialect() {
return dialect;
}
public void setDialect(final String dialect) {
this.dialect = dialect;
}
public String getDdlAuto() {
return ddlAuto;
}
public void setDdlAuto(final String ddlAuto) {
this.ddlAuto = ddlAuto;
}
public int getBatchSize() {
return batchSize;
}
public void setBatchSize(final int batchSize) {
this.batchSize = batchSize;
}
public String getDriverClass() {
return driverClass;
}
public void setDriverClass(final String driverClass) {
this.driverClass = driverClass;
}
public String getUrl() {
return url;
}
public void setUrl(final String url) {
this.url = url;
}
public String getUser() {
return user;
}
public void setUser(final String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(final String password) {
this.password = password;
}
public ConnectionPoolingProperties getPool() {
return pool;
}
public void setPool(final ConnectionPoolingProperties pool) {
this.pool = pool;
}
public long getIdleTimeout() {
return Beans.newDuration(idleTimeout).toMillis();
}
public void setIdleTimeout(final String idleTimeout) {
this.idleTimeout = idleTimeout;
}
public int getLeakThreshold() {
return leakThreshold;
}
public void setLeakThreshold(final int leakThreshold) {
this.leakThreshold = leakThreshold;
}
public boolean isFailFast() {
return failFast;
}
public void setFailFast(final boolean failFast) {
this.failFast = failFast;
}
public boolean isIsolateInternalQueries() {
return isolateInternalQueries;
}
public void setIsolateInternalQueries(final boolean isolateInternalQueries) {
this.isolateInternalQueries = isolateInternalQueries;
}
public String getHealthQuery() {
return healthQuery;
}
public void setHealthQuery(final String healthQuery) {
this.healthQuery = healthQuery;
}
public boolean isAutocommit() {
return autocommit;
}
public void setAutocommit(final boolean autocommit) {
this.autocommit = autocommit;
}
public String getDataSourceName() {
return dataSourceName;
}
public void setDataSourceName(final String dataSourceName) {
this.dataSourceName = dataSourceName;
}
public boolean isDataSourceProxy() {
return dataSourceProxy;
}
public void setDataSourceProxy(final boolean dataSourceProxy) {
this.dataSourceProxy = dataSourceProxy;
}
}