Commit 6311fc66 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

move mongo config to config file

parent c7b8c15c
dbHost: localhost
dbPort: 27017
dbName: db
\ No newline at end of file
import io.dropwizard.Configuration;
/**
* Created by gpietrus on 16.02.16.
*/
public class ApplicationConfiguration extends Configuration
{
}
import core.ApplicationConfiguration;
import repositories.SolutionsRepository;
import repositories.TasksRepository;
import repositories.TeamsRepository;
......@@ -29,7 +30,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
@Override
public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception {
MongoDBConnector dbConnector = new MongoDBConnector();
MongoDBConnector dbConnector = new MongoDBConnector(applicationConfiguration);
dbConnector.connect();
//CREATE SOLUTION REPOSITORY
......@@ -75,7 +76,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
//GENERATE TASKS END
//REGISTER RESOURCES
Injector injector = createInjector(dbConnector);
Injector injector = createInjector(applicationConfiguration, dbConnector);
environment.jersey().register(injector.getInstance(TeamsResource.class));
environment.jersey().register(injector.getInstance(TasksResource.class));
environment.jersey().register(injector.getInstance(ProxyResource.class));
......@@ -83,10 +84,11 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
}
//todo: inject dbonnector
private Injector createInjector(MongoDBConnector dbConnector) {
private Injector createInjector(ApplicationConfiguration applicationConfiguration, MongoDBConnector dbConnector) {
return Guice.createInjector(new AbstractModule() {
@Override
protected void configure() {
bind(ApplicationConfiguration.class).toInstance(applicationConfiguration);
bind(MongoDBConnector.class).toInstance(dbConnector);
TeamsRepository teamsRepository = new TeamsRepository(dbConnector);
......
package core;
import io.dropwizard.Configuration;
/**
* Created by gpietrus on 16.02.16.
*/
public class ApplicationConfiguration extends Configuration
{
private String dbHost;
private int dbPort;
private String dbName;
public String getDbHost() {
return dbHost;
}
public void setDbHost(String dbHost) {
this.dbHost = dbHost;
}
public int getDbPort() {
return dbPort;
}
public void setDbPort(int dbPort) {
this.dbPort = dbPort;
}
public String getDbName() {
return dbName;
}
public void setDbName(String dbName) {
this.dbName = dbName;
}
}
......@@ -2,9 +2,9 @@ package database;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase;
import core.ApplicationConfiguration;
import org.bson.BsonDocument;
import org.bson.Document;
import org.bson.conversions.Bson;
import java.util.ArrayList;
import java.util.Map;
......@@ -13,15 +13,23 @@ import java.util.Map;
* Created by gpietrus on 20.02.2016.
*/
public class MongoDBConnector implements DBConnector {
private ApplicationConfiguration applicationConfiguration;
private MongoClient mongoClient;
private MongoDatabase database;
public MongoDBConnector(ApplicationConfiguration applicationConfiguration) {
this.applicationConfiguration = applicationConfiguration;
}
@Override
public void connect() {
//todo: get from configuration file
mongoClient = new MongoClient("localhost", 27017);
this.database = mongoClient.getDatabase("db");
mongoClient = new MongoClient(
applicationConfiguration.getDbHost(),
applicationConfiguration.getDbPort());
this.database = mongoClient.getDatabase(
applicationConfiguration.getDbName()
);
}
@Override
......
......@@ -25,7 +25,6 @@ public class User {
this.email = email;
}
public String getName() {
return name;
}
......
......@@ -10,7 +10,6 @@ import javax.inject.Inject;
* Created by gpietrus on 20.02.2016.
*/
public class SolutionsRepository implements Repository {
private MongoDBConnector mongoDBConnector;
@Inject
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment