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

move getPublicfields to DBObjectsUtils

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