Commit 4322e652 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

move getPublicfields to DBObjectsUtils

parent 03ac9fa1
......@@ -8,12 +8,11 @@ import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class DBObject
public class DBObjectUtils
{
public static String[] getPublicFields(Class<Task> taskClass) //todo: do not use argument
public static String[] getPublicFields(Class<Task> taskClass)
{
//todo: get upper class
Field[] declaredFields = taskClass.getDeclaredFields(); //todo: declared or not declared?
Field[] declaredFields = taskClass.getDeclaredFields();
List<String> publicFieldsNames = Stream.of(declaredFields)
.filter(field -> field.getAnnotation(PublicProperty.class) != null)
.map(Field::getName)
......
......@@ -3,20 +3,16 @@ package objects.tasks;
import com.fasterxml.jackson.annotation.JsonInclude;
import core.TaskType;
import helpers.PublicProperty;
import objects.DBObject;
import objects.Flag;
import org.bson.types.ObjectId;
import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;
import java.lang.reflect.Field;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Entity("tasks")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Task extends DBObject
public class Task
{
@Id
private ObjectId id;
......
......@@ -2,9 +2,9 @@ package repositories;
import core.ApplicationConfiguration;
import core.TaskType;
import helpers.PublicProperty;
import helpers.TextTaskConfig;
import helpers.WebTaskConfig;
import objects.DBObjectUtils;
import objects.Flag;
import objects.Solution;
import objects.Team;
......@@ -16,15 +16,12 @@ import org.mongodb.morphia.Datastore;
import javax.inject.Inject;
import javax.inject.Singleton;
import java.lang.reflect.Field;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Singleton
public class TasksRepository implements Repository
......@@ -67,7 +64,7 @@ public class TasksRepository implements Repository
public List<Task> getAllPublic()
{
return datastore.createQuery(Task.class)
.retrievedFields(true, Task.getPublicFields(Task.class)) //todo: refactor
.retrievedFields(true, DBObjectUtils.getPublicFields(Task.class))
.asList();
}
......
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