Commit d7e0099b authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

generic repository

parent 005af2dd
......@@ -5,9 +5,8 @@ import java.util.List;
/**
* Created by gpietrus on 20.02.2016.
*/
public interface Repository {
// void getByTaskName(UUID uuid);
List getAll();
// void add(User user); //todo: not user //todo: use generics?
public interface Repository<T> {
List<T> getAll();
void add(T t);
void clean();
}
package com.telephoners.krakyournet.ctf.repositories;
import com.telephoners.krakyournet.ctf.beans.Flag;
import com.telephoners.krakyournet.ctf.beans.Solution;
import com.telephoners.krakyournet.ctf.beans.Team;
import com.telephoners.krakyournet.ctf.beans.tasks.Task;
......@@ -16,7 +15,7 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
@Singleton
public class SolutionsRepository implements Repository
public class SolutionsRepository implements Repository<Solution>
{
private Datastore datastore;
......@@ -37,6 +36,12 @@ public class SolutionsRepository implements Repository
//todo: do not add if already exists
}
@Override
public void clean()
{
datastore.getCollection(Solution.class).drop(); //todo: move common functions to repository abstract?
}
public List<Solution> getByTeam(Team team)
{
//todo: merge with upper
......
......@@ -21,7 +21,7 @@ import java.util.Optional;
import java.util.stream.Collectors;
@Singleton
public class TasksRepository implements Repository
public class TasksRepository implements Repository<Task>
{
private ApplicationConfiguration applicationConfiguration;
private Datastore datastore;
......
......@@ -11,11 +11,8 @@ import java.util.List;
import java.util.Optional;
import java.util.UUID;
/**
* Created by gpietrus on 20.02.2016.
*/
@Singleton
public class TeamsRepository implements Repository
public class TeamsRepository implements Repository<Team>
{
private Datastore datastore;
......
......@@ -3,6 +3,7 @@ package com.telephoners.krakyournet.ctf.repositories;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.beans.tasks.Task;
import io.dropwizard.auth.basic.BasicCredentials;
import org.apache.commons.codec.binary.Hex;
import org.mongodb.morphia.Datastore;
......@@ -12,7 +13,7 @@ import java.security.NoSuchAlgorithmException;
import java.util.List;
@Singleton
public class UsersRepository implements Repository
public class UsersRepository implements Repository<User>
{
private Datastore datastore;
private MessageDigest messageDigest;
......@@ -33,6 +34,12 @@ public class UsersRepository implements Repository
datastore.save(user);
}
@Override
public void clean()
{
datastore.getCollection(User.class).drop();
}
public User getUserByName(String username)
{
return datastore.createQuery(User.class)
......
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