package gr.ntua.ivml.mint.concurrent.queue.util; import gr.ntua.ivml.mint.util.Config; import java.net.UnknownHostException; import com.mongodb.DB; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.mongodb.gridfs.GridFS; public class MongoDB { private static Mongo mongo = null; private static DB db = null; private static GridFS gridFS = null; static{ String host = Config.get("mongo.host"); int port = Integer.parseInt(Config.get("mongo.port")); String database = Config.get("mongo.db"); String username = Config.get("mongo.username"); String password = Config.get("mongo.password"); boolean authenticate = !Config.getBoolean("mongo.noauth"); try { mongo = new Mongo(host, port); db = mongo.getDB(database); gridFS = new GridFS( db ); if(authenticate) { boolean auth = db.authenticate(username, password.toCharArray()); if(!auth) { System.err.println("MongoDB authentication failed"); } } } catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); } System.out.println("MongoDB connection started"); } public static DB getDB(){ return db; } public static Mongo getMongo(){ return mongo; } public static GridFS getGridFS(){ return gridFS; } }