private Properties getCouchdbProperties() { DBConfig dbConfig = coreConfigurationService.loadBootstrapConfig().getCouchDbConfig(); Properties mergedProps = new Properties(); mergedProps.putAll(couchdbProperties); mergedProps.setProperty(DB_URL, dbConfig.getUrl()); setKeyIfValueNotNull(mergedProps, DB_USERNAME, dbConfig.getUsername()); setKeyIfValueNotNull(mergedProps, DB_PASSWORD, dbConfig.getPassword()); return mergedProps; }
@Override public int hashCode() { int result = couchDbConfig.hashCode(); result = 31 * result + sqlConfig.hashCode(); result = 31 * result + tenantId.hashCode(); result = 31 * result + configSource.hashCode(); return result; }
/** * * @param url * @param username * @param password * @throws org.motechproject.config.core.MotechConfigurationException if given url is invalid. */ public DBConfig(String url, String username, String password) { super(url, "none", username, password); validate(); }
/** * Map from properties to BootstrapConfig object * * @param bootstrapProperties * @return BootstrapConfig object mapped from provided properties. */ public static BootstrapConfig fromProperties(Properties bootstrapProperties) { return new BootstrapConfig(new DBConfig(bootstrapProperties.getProperty(BootstrapConfig.COUCHDB_URL), bootstrapProperties.getProperty(BootstrapConfig.COUCHDB_USERNAME), bootstrapProperties.getProperty(BootstrapConfig.COUCHDB_PASSWORD)), new SQLDBConfig(bootstrapProperties.getProperty(BootstrapConfig.SQL_URL), bootstrapProperties.getProperty(BootstrapConfig.SQL_DRIVER), bootstrapProperties.getProperty(BootstrapConfig.SQL_USER), bootstrapProperties.getProperty(BootstrapConfig.SQL_PASSWORD)), bootstrapProperties.getProperty(BootstrapConfig.TENANT_ID), ConfigSource.valueOf(bootstrapProperties.getProperty(BootstrapConfig.CONFIG_SOURCE))); } }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } BootstrapConfig that = (BootstrapConfig) o; if (!configSource.equals(that.configSource)) { return false; } if (!couchDbConfig.equals(that.couchDbConfig)) { return false; } if (!sqlConfig.equals(that.sqlConfig)) { return false; } if (!tenantId.equals(that.tenantId)) { return false; } return true; }
private BootstrapConfig readBootstrapConfigFromEnvironment() { String couchDbUrl = environment.getCouchDBUrl(); String couchDbUsername = environment.getCouchDBUsername(); String couchDbPassword = environment.getCouchDBPassword(); String sqlUrl = environment.getSqlUrl(); String sqlUsername = environment.getSqlUsername(); String sqlPassword = environment.getSqlPassword(); String tenantId = environment.getTenantId(); String configSource = environment.getConfigSource(); String sqlDriver = environment.getSqlDriver(); return new BootstrapConfig(new DBConfig(couchDbUrl, couchDbUsername, couchDbPassword), new SQLDBConfig(sqlUrl, sqlDriver, sqlUsername, sqlPassword), tenantId, ConfigSource.valueOf(configSource)); }
/** * Map from BootstrapConfig to Properties * * @param bootstrapConfig * @return Properties mapped from provided bootstrapConfig. */ public static Properties toProperties(BootstrapConfig bootstrapConfig) { Properties properties = new Properties(); properties.setProperty(BootstrapConfig.COUCHDB_URL, bootstrapConfig.getCouchDbConfig().getUrl()); setIfNotBlank(properties, BootstrapConfig.COUCHDB_USERNAME, bootstrapConfig.getCouchDbConfig().getUsername()); setIfNotBlank(properties, BootstrapConfig.COUCHDB_PASSWORD, bootstrapConfig.getCouchDbConfig().getPassword()); properties.setProperty(BootstrapConfig.SQL_URL, bootstrapConfig.getSqlConfig().getUrl()); properties.setProperty(BootstrapConfig.SQL_DRIVER, bootstrapConfig.getSqlConfig().getDriver()); setIfNotBlank(properties, BootstrapConfig.SQL_USER, bootstrapConfig.getSqlConfig().getUsername()); setIfNotBlank(properties, BootstrapConfig.SQL_PASSWORD, bootstrapConfig.getSqlConfig().getPassword()); properties.setProperty(BootstrapConfig.TENANT_ID, bootstrapConfig.getTenantId()); properties.setProperty(BootstrapConfig.CONFIG_SOURCE, bootstrapConfig.getConfigSource().getName()); return properties; }