package com.bls.mongodb; import java.net.UnknownHostException; import com.bls.dao.*; import com.bls.mongodb.dao.*; import com.google.inject.AbstractModule; import com.google.inject.Provides; import com.google.inject.Singleton; import com.mongodb.DB; import com.mongodb.MongoClient; public class MongodbModule extends AbstractModule { @Override protected void configure() { } @Singleton @Provides public DB provideMongodb(final MongodbConfiguration config, final MongoClient mongoClient) throws UnknownHostException { return mongoClient.getDB(config.getDbname()); } @Singleton @Provides public MongoClient provideMongodbClient(final MongodbConfiguration config) throws UnknownHostException { return config.buildMongoClient(); } @Singleton @Provides public UserDao provideUserDao(final DB mongodb) { return new UserMongodbDao(mongodb); } @Singleton @Provides public EventDao provideEventDao(final DB mongodb) { return new EventMongodbDao(mongodb); } @Singleton @Provides public PersonDao providePersonDao(final DB mongodb) { return new PersonMongodbDao(mongodb); } @Singleton @Provides public PlaceDao providePlaceDao(final DB mongodb) { return new PlaceMongodbDao(mongodb); } @Singleton @Provides public CommercialDao provideCommercialDao(final DB mongodb) { return new CommercialMongodbDao(mongodb); } @Singleton @Provides public ResetPasswordTokenDao provideTokenDao(final DB mongodb) { return new ResetPasswordTokenMongodbDao(mongodb); } }