package be.bagofwords.db.application;
import be.bagofwords.application.ApplicationContext;
import be.bagofwords.application.MinimalApplicationContextFactory;
import be.bagofwords.db.DataInterfaceFactory;
import be.bagofwords.db.filedb.FileDataInterfaceFactory;
import be.bagofwords.virtualfile.local.LocalFileService;
import java.util.HashMap;
/**
* Created by Koen Deschacht (koendeschacht@gmail.com) on 9/22/14.
*/
public class EmbeddedDBContextFactory extends MinimalApplicationContextFactory {
@Override
public void wireApplicationContext(ApplicationContext context) {
super.wireApplicationContext(context);
context.registerBean(new FileDataInterfaceFactory(context));
context.registerBean(new LocalFileService(context));
}
public static DataInterfaceFactory createDataInterfaceFactory(String dataDirectory) {
HashMap<String, String> config = new HashMap<>();
config.put("data_directory", dataDirectory);
ApplicationContext applicationContext = new EmbeddedDBContextFactory().createApplicationContext(config);
return applicationContext.getBean(DataInterfaceFactory.class);
}
}