Commit b4975b29 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

refactor and cleanup

parent 8549b9fc
......@@ -6,7 +6,7 @@ import java.util.List;
* Created by gpietrus on 20.02.2016.
*/
public interface Repository {
// void get(UUID uuid);
// void getByTaskName(UUID uuid);
List getAll();
void initialize();
......
......@@ -43,20 +43,30 @@ public class TasksRepository implements Repository
initialize();
}
public Task get(String taskName)
public Task getByName(String taskName)
{
return datastore.createQuery(Task.class)
.filter("name", taskName)
.get();
}
public Task get(int level)
public Task getByLevel(int level)
{
return datastore.createQuery(Task.class)
.filter("level", level)
.get();
}
private Optional<Task> getByUserFlag(String username, String flagValue)
{
return getUserFlagsHashes(username).entrySet()
.stream()
.filter(flagsMapEntry -> flagsMapEntry.getKey().contains(flagValue))
.map(Map.Entry::getValue)
.map(this::getByLevel)
.findFirst();
}
public List<Task> getAllPublic()
{
return datastore.createQuery(Task.class)
......@@ -140,20 +150,9 @@ public class TasksRepository implements Repository
return encodedHash;
}
private Optional<Task> findTaskByUserFlag(String username, String flagValue)
{
return getUserFlagsHashes(username).entrySet()
.stream()
.filter(flagsMapEntry -> flagsMapEntry.getKey().contains(flagValue))
.map(Map.Entry::getValue)
.map(this::get)
.findFirst();
}
public boolean checkFlag(String username, String flagValue)
{
Optional<Task> task = findTaskByUserFlag(username, flagValue);
Optional<Task> task = getByUserFlag(username, flagValue);
Optional<Team> team = teamsRepository.getTeamByUserName(username);
if (task.isPresent() && team.isPresent()) {
solutionsRepository.add(new Solution(team.get(), task.get()));
......
......@@ -42,7 +42,7 @@ public class TaskResource
public Response getTask(@Auth User user,
final @PathParam("task_level") int taskLevel) throws IOException
{
Task task = tasksRepository.get(taskLevel);
Task task = tasksRepository.getByLevel(taskLevel);
if (task == null) {
return Response.status(Response.Status.BAD_REQUEST).build();
}
......
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