43 lines
1.3 KiB
Java
43 lines
1.3 KiB
Java
package eu.univento.core.api.database;
|
|
|
|
import com.mongodb.MongoClient;
|
|
import com.mongodb.MongoCredential;
|
|
import com.mongodb.ServerAddress;
|
|
import com.mongodb.client.MongoDatabase;
|
|
import eu.univento.core.api.Config;
|
|
|
|
import java.util.Arrays;
|
|
|
|
public class MongoDB {
|
|
|
|
private MongoClient client;
|
|
private MongoDatabase database;
|
|
|
|
public MongoClient getClient() {
|
|
if(client == null)
|
|
new MongoDB(Config.readString("MongoDB.Host"), Config.readInt("MongoDB.Port"), Config.readString("MongoDB.Username"), Config.readString("MongoDB.Password"), Config.readString("MongoDB.Database"));
|
|
return client;
|
|
}
|
|
|
|
public MongoDB(String host, int port, String username, String password, String database) {
|
|
MongoCredential credential = MongoCredential.createCredential(username, database, password.toCharArray());
|
|
client = new MongoClient(new ServerAddress(host, port), Arrays.asList(credential));
|
|
}
|
|
|
|
public MongoDatabase getDatabase() {
|
|
if(database == null) {
|
|
database = getClient().getDatabase(Config.readString("MongoDB.Database"));
|
|
}return database;
|
|
}
|
|
|
|
public void setDatabase(String database) {
|
|
this.database = getClient().getDatabase(database);
|
|
}
|
|
|
|
public void closeConnection() {
|
|
if(client != null) {
|
|
client.close();
|
|
}
|
|
}
|
|
|
|
} |