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.SolutionsRepository;
import repositories.TasksRepository; import repositories.TasksRepository;
import repositories.TeamsRepository; import repositories.TeamsRepository;
...@@ -29,7 +30,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -29,7 +30,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
@Override @Override
public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception { public void run(ApplicationConfiguration applicationConfiguration, Environment environment) throws Exception {
MongoDBConnector dbConnector = new MongoDBConnector(); MongoDBConnector dbConnector = new MongoDBConnector(applicationConfiguration);
dbConnector.connect(); dbConnector.connect();
//CREATE SOLUTION REPOSITORY //CREATE SOLUTION REPOSITORY
...@@ -75,7 +76,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -75,7 +76,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
//GENERATE TASKS END //GENERATE TASKS END
//REGISTER RESOURCES //REGISTER RESOURCES
Injector injector = createInjector(dbConnector); Injector injector = createInjector(applicationConfiguration, dbConnector);
environment.jersey().register(injector.getInstance(TeamsResource.class)); environment.jersey().register(injector.getInstance(TeamsResource.class));
environment.jersey().register(injector.getInstance(TasksResource.class)); environment.jersey().register(injector.getInstance(TasksResource.class));
environment.jersey().register(injector.getInstance(ProxyResource.class)); environment.jersey().register(injector.getInstance(ProxyResource.class));
...@@ -83,10 +84,11 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -83,10 +84,11 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
} }
//todo: inject dbonnector //todo: inject dbonnector
private Injector createInjector(MongoDBConnector dbConnector) { private Injector createInjector(ApplicationConfiguration applicationConfiguration, MongoDBConnector dbConnector) {
return Guice.createInjector(new AbstractModule() { return Guice.createInjector(new AbstractModule() {
@Override @Override
protected void configure() { protected void configure() {
bind(ApplicationConfiguration.class).toInstance(applicationConfiguration);
bind(MongoDBConnector.class).toInstance(dbConnector); bind(MongoDBConnector.class).toInstance(dbConnector);
TeamsRepository teamsRepository = new TeamsRepository(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; ...@@ -2,9 +2,9 @@ package database;
import com.mongodb.MongoClient; import com.mongodb.MongoClient;
import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoDatabase;
import core.ApplicationConfiguration;
import org.bson.BsonDocument; import org.bson.BsonDocument;
import org.bson.Document; import org.bson.Document;
import org.bson.conversions.Bson;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Map; import java.util.Map;
...@@ -13,15 +13,23 @@ import java.util.Map; ...@@ -13,15 +13,23 @@ import java.util.Map;
* Created by gpietrus on 20.02.2016. * Created by gpietrus on 20.02.2016.
*/ */
public class MongoDBConnector implements DBConnector { public class MongoDBConnector implements DBConnector {
private ApplicationConfiguration applicationConfiguration;
private MongoClient mongoClient; private MongoClient mongoClient;
private MongoDatabase database; private MongoDatabase database;
public MongoDBConnector(ApplicationConfiguration applicationConfiguration) {
this.applicationConfiguration = applicationConfiguration;
}
@Override @Override
public void connect() { public void connect() {
//todo: get from configuration file //todo: get from configuration file
mongoClient = new MongoClient("localhost", 27017); mongoClient = new MongoClient(
this.database = mongoClient.getDatabase("db"); applicationConfiguration.getDbHost(),
applicationConfiguration.getDbPort());
this.database = mongoClient.getDatabase(
applicationConfiguration.getDbName()
);
} }
@Override @Override
......
...@@ -25,7 +25,6 @@ public class User { ...@@ -25,7 +25,6 @@ public class User {
this.email = email; this.email = email;
} }
public String getName() { public String getName() {
return name; return name;
} }
......
...@@ -10,7 +10,6 @@ import javax.inject.Inject; ...@@ -10,7 +10,6 @@ import javax.inject.Inject;
* Created by gpietrus on 20.02.2016. * Created by gpietrus on 20.02.2016.
*/ */
public class SolutionsRepository implements Repository { public class SolutionsRepository implements Repository {
private MongoDBConnector mongoDBConnector; private MongoDBConnector mongoDBConnector;
@Inject @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