com.lordofthejars.nosqlunit.mongodb.MongoDbConfigurationBuilder Maven / Gradle / Ivy
package com.lordofthejars.nosqlunit.mongodb;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import java.util.Arrays;
public class MongoDbConfigurationBuilder {
public static MongoDbConfigurationBuilder mongoDb() {
return new MongoDbConfigurationBuilder();
}
private final MongoDbConfiguration mongoDbConfiguration;
private MongoDbConfigurationBuilder() {
mongoDbConfiguration = new MongoDbConfiguration();
}
public MongoDbConfiguration build() {
MongoClient mongo = null;
if(this.mongoDbConfiguration.isAuthenticateParametersSet()) {
MongoCredential credential = MongoCredential.createCredential(this.mongoDbConfiguration.getUsername(),
this.mongoDbConfiguration.getDatabaseName(),
this.mongoDbConfiguration.getPassword().toCharArray());
mongo = new MongoClient(new ServerAddress(this.mongoDbConfiguration.getHost(), this.mongoDbConfiguration.getPort()), Arrays.asList(credential));
} else {
mongo = new MongoClient(this.mongoDbConfiguration.getHost(), this.mongoDbConfiguration.getPort());
}
this.mongoDbConfiguration.setMongo(mongo);
return mongoDbConfiguration;
}
public MongoDbConfigurationBuilder databaseName(String databaseName) {
mongoDbConfiguration.setDatabaseName(databaseName);
return this;
}
public MongoDbConfigurationBuilder port(int port) {
mongoDbConfiguration.setPort(port);
return this;
}
public MongoDbConfigurationBuilder username(String username) {
mongoDbConfiguration.setUsername(username);
return this;
}
public MongoDbConfigurationBuilder password(String password) {
mongoDbConfiguration.setPassword(password);
return this;
}
public MongoDbConfigurationBuilder host(String host) {
mongoDbConfiguration.setHost(host);
return this;
}
public MongoDbConfigurationBuilder connectionIdentifier(String identifier) {
mongoDbConfiguration.setConnectionIdentifier(identifier);
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy