return getDataStore(
(String) config.getProperty(BlobStoreConfiguration.PROP_DATA_STORE), config);
}
private DataStore getDataStore(String dataStoreType, BlobStoreConfiguration config) throws Exception {
DataStore dataStore = (DataStore) Class.forName(dataStoreType).newInstance();
BeanUtils.populate(dataStore, config.getConfigMap());
if (dataStore instanceof DbDataStore) {
((DbDataStore) dataStore)
.setConnectionFactory(new ConnectionFactory());
}
if (dataStore instanceof MultiDataStore) {
DataStore primary =
getDataStore(
(String) config.getProperty(BlobStoreConfiguration.PRIMARY_DATA_STORE), config);
DataStore archive =
getDataStore(
(String) config.getProperty(BlobStoreConfiguration.ARCHIVE_DATA_STORE), config);
((MultiDataStore) dataStore)
.setPrimaryDataStore(primary);
((MultiDataStore) dataStore)