Commit cd6fb4c4 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

more injections

parent 813782cc
dbHost: localhost dbHost: localhost
dbPort: 27017 dbPort: 27017
dbName: db dbName: db
flagHashMethod: "MD5"
\ No newline at end of file
...@@ -88,7 +88,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> { ...@@ -88,7 +88,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> {
TeamsRepository teamsRepository = new TeamsRepository(dbConnector); TeamsRepository teamsRepository = new TeamsRepository(dbConnector);
TasksRepository tasksRepository = new TasksRepository(dbConnector); TasksRepository tasksRepository = new TasksRepository(dbConnector);
SolutionsRepository solutionsRepository = new SolutionsRepository(dbConnector); SolutionsRepository solutionsRepository = new SolutionsRepository(dbConnector);
FlagChecker flagChecker = new FlagChecker(tasksRepository, teamsRepository, solutionsRepository); FlagChecker flagChecker = new FlagChecker(applicationConfiguration, tasksRepository, teamsRepository, solutionsRepository);
bind(TeamsRepository.class).toInstance(teamsRepository); bind(TeamsRepository.class).toInstance(teamsRepository);
bind(TasksRepository.class).toInstance(tasksRepository); bind(TasksRepository.class).toInstance(tasksRepository);
......
...@@ -25,7 +25,6 @@ public class TasksResource ...@@ -25,7 +25,6 @@ public class TasksResource
private TeamsRepository teamsRepository; private TeamsRepository teamsRepository;
private SolutionsRepository solutionsRepository; private SolutionsRepository solutionsRepository;
private FlagChecker flagChecker; private FlagChecker flagChecker;
//todo: use injections
@Inject @Inject
public TasksResource(TasksRepository tasksRepository, TeamsRepository teamsRepository, public TasksResource(TasksRepository tasksRepository, TeamsRepository teamsRepository,
......
...@@ -18,7 +18,6 @@ import java.util.List; ...@@ -18,7 +18,6 @@ import java.util.List;
public class TeamsResource public class TeamsResource
{ {
private TeamsRepository teamsRepository; private TeamsRepository teamsRepository;
//todo: use injections
@Inject @Inject
public TeamsResource(TeamsRepository teamsRepository) { public TeamsResource(TeamsRepository teamsRepository) {
......
package api;
import repositories.UsersRepository;
import objects.User;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import java.util.List;
/**
* Created by gpietrus on 16.02.16.
*/
@Path(value = "/users")
@Produces(MediaType.APPLICATION_JSON)
public class UsersResource
{
private UsersRepository usersRepository;
//todo: use injections
public UsersResource(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
@GET
public List<User> getUsers() {
return usersRepository.getAll();
}
}
...@@ -5,12 +5,21 @@ import io.dropwizard.Configuration; ...@@ -5,12 +5,21 @@ import io.dropwizard.Configuration;
/** /**
* Created by gpietrus on 16.02.16. * Created by gpietrus on 16.02.16.
*/ */
public class ApplicationConfiguration extends Configuration public class ApplicationConfiguration extends Configuration {
{
private String dbHost; private String dbHost;
private int dbPort; private int dbPort;
private String dbName; private String dbName;
private String flagHashMethod;
public String getFlagHashMethod() {
return flagHashMethod;
}
public void setFlagHashMethod(String flagHashMethod) {
this.flagHashMethod = flagHashMethod;
}
public String getDbHost() { public String getDbHost() {
return dbHost; return dbHost;
} }
......
package core; package core;
import repositories.SolutionsRepository;
import repositories.TasksRepository;
import repositories.TeamsRepository;
import objects.Solution; import objects.Solution;
import objects.Task; import objects.Task;
import org.apache.commons.codec.binary.Hex; import org.apache.commons.codec.binary.Hex;
import repositories.SolutionsRepository;
import repositories.TasksRepository;
import repositories.TeamsRepository;
import javax.inject.Inject; import javax.inject.Inject;
import java.security.MessageDigest; import java.security.MessageDigest;
...@@ -23,9 +23,11 @@ public class FlagChecker { ...@@ -23,9 +23,11 @@ public class FlagChecker {
private TasksRepository tasksRepository; private TasksRepository tasksRepository;
private TeamsRepository teamsRepository; private TeamsRepository teamsRepository;
private SolutionsRepository solutionsRepository; private SolutionsRepository solutionsRepository;
private ApplicationConfiguration applicationConfiguration;
@Inject @Inject
public FlagChecker(TasksRepository tasksRepository, TeamsRepository teamsRepository, SolutionsRepository solutionsRepository) { public FlagChecker(ApplicationConfiguration applicationConfiguration, TasksRepository tasksRepository, TeamsRepository teamsRepository, SolutionsRepository solutionsRepository) {
this.applicationConfiguration = applicationConfiguration;
this.tasksRepository = tasksRepository; this.tasksRepository = tasksRepository;
this.teamsRepository = teamsRepository; this.teamsRepository = teamsRepository;
this.solutionsRepository = solutionsRepository; this.solutionsRepository = solutionsRepository;
...@@ -35,7 +37,7 @@ public class FlagChecker { ...@@ -35,7 +37,7 @@ public class FlagChecker {
String combinedStrings = salt + username + flagValue; //todo String combinedStrings = salt + username + flagValue; //todo
MessageDigest md5 = null;//todo: discuss MessageDigest md5 = null;//todo: discuss
try { try {
md5 = MessageDigest.getInstance("MD5"); md5 = MessageDigest.getInstance(applicationConfiguration.getFlagHashMethod());
} catch (NoSuchAlgorithmException e) { } catch (NoSuchAlgorithmException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
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