package io.lumify.core.config;
public class DatabaseConfigurationLoaderConfig {
String databaseDriverClass;
String databaseUrl;
String databaseUsername;
String databasePassword;
int databaseConnectionTimeout;
String configurationTable;
String configurationEnvironmentColumn;
String configurationVersionColumn;
String configurationKeyColumn;
String configurationValueColumn;
String configurationEnvironment;
String configurationVersion;
String configurationKeyPrefix;
String configurationKeyFileIndicator;
@Configurable(name = "databaseDriverClass")
public void setDatabaseDriverClass(String databaseDriverClass) { this.databaseDriverClass = databaseDriverClass; }
@Configurable(name = "databaseUrl")
public void setDatabaseUrl(String databaseUrl) {
this.databaseUrl = databaseUrl;
}
@Configurable(name = "databaseUsername")
public void setDatabaseUsername(String databaseUsername) {
this.databaseUsername = databaseUsername;
}
@Configurable(name = "databasePassword")
public void setDatabasePassword(String databasePassword) {
this.databasePassword = databasePassword;
}
@Configurable(name = "databaseConnectionTimeout", defaultValue = "10")
public void setDatabaseConnectionTimeout(String databaseConnectionTimeout) {
this.databaseConnectionTimeout = Integer.parseInt(databaseConnectionTimeout);
}
@Configurable(name = "configurationTable", defaultValue = "configuration")
public void setConfigurationTable(String configurationTable) {
this.configurationTable = whitelistSqlIdentifier(configurationTable);
}
@Configurable(name = "configurationEnvironmentColumn", defaultValue = "environment")
public void setConfigurationEnvironmentColumn(String configurationEnvironmentColumn) {
this.configurationEnvironmentColumn = whitelistSqlIdentifier(configurationEnvironmentColumn);
}
@Configurable(name = "configurationVersionColumn", defaultValue = "version")
public void setConfigurationVersionColumn(String configurationVersionColumn) {
this.configurationVersionColumn = whitelistSqlIdentifier(configurationVersionColumn);
}
@Configurable(name = "configurationKeyColumn", defaultValue = "k")
public void setConfigurationKeyColumn(String configurationKeyColumn) {
this.configurationKeyColumn = whitelistSqlIdentifier(configurationKeyColumn);
}
@Configurable(name = "configurationValueColumn", defaultValue = "v")
public void setConfigurationValueColumn(String configurationValueColumn) {
this.configurationValueColumn = whitelistSqlIdentifier(configurationValueColumn);
}
@Configurable(name = "configurationEnvironment")
public void setConfigurationEnvironment(String configurationEnvironment) {
this.configurationEnvironment = configurationEnvironment;
}
@Configurable(name = "configurationVersion")
public void setConfigurationVersion(String configurationVersion) {
this.configurationVersion = configurationVersion;
}
@Configurable(name = "configurationKeyPrefix")
public void setConfigurationKeyPrefix(String configurationKeyPrefix) {
this.configurationKeyPrefix = configurationKeyPrefix;
}
@Configurable(name = "configurationKeyFileIndicator", defaultValue = "FILE")
public void setConfigurationKeyFileIndicator(String configurationKeyFileIndicator) {
this.configurationKeyFileIndicator = configurationKeyFileIndicator;
}
private String whitelistSqlIdentifier(String string) {
return string.replaceAll("[^0-9a-zA-Z$_]", "");
}
}