Commit b5c5f9ce10537e56347219f2ef8ecb2a7f42d7aa

Authored by Herik dos Santos Lorenção
1 parent 6b522d72
Exists in master

Adicionando código para geração de DB

Showing 135 changed files with 2089 additions and 1892 deletions   Show diff stats
codigos/backend/pom.xml
... ... @@ -60,6 +60,11 @@
60 60 </exclusion>
61 61 </exclusions>
62 62 </dependency>
  63 + <dependency>
  64 + <groupId>org.postgresql</groupId>
  65 + <artifactId>postgresql</artifactId>
  66 + <scope>runtime</scope>
  67 + </dependency>
63 68 <dependency>
64 69 <groupId>org.hibernate.validator</groupId>
65 70 <artifactId>hibernate-validator</artifactId>
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/SrhApplication.java 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +package edu.ifes.ci.si.les.srh;
  2 +
  3 +import org.springframework.boot.SpringApplication;
  4 +import org.springframework.boot.autoconfigure.SpringBootApplication;
  5 +
  6 +@SpringBootApplication
  7 +public class SrhApplication {
  8 +
  9 + public static void main(String[] args) {
  10 + SpringApplication.run(SrhApplication.class, args);
  11 + }
  12 +
  13 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/AdminBuilder.java 0 → 100644
... ... @@ -0,0 +1,63 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Project;
  4 +import edu.ifes.ci.si.les.srh.model.Admin;
  5 +
  6 +import java.util.List;
  7 +
  8 +public final class AdminBuilder {
  9 + protected String login;
  10 + protected String password;
  11 + private List<Project> projects;
  12 + private Integer id;
  13 + private String name;
  14 + private String email;
  15 +
  16 + private AdminBuilder() {
  17 + }
  18 +
  19 + public static AdminBuilder anAdmin() {
  20 + return new AdminBuilder();
  21 + }
  22 +
  23 + public AdminBuilder withProjects(List<Project> projects) {
  24 + this.projects = projects;
  25 + return this;
  26 + }
  27 +
  28 + public AdminBuilder withId(Integer id) {
  29 + this.id = id;
  30 + return this;
  31 + }
  32 +
  33 + public AdminBuilder withLogin(String login) {
  34 + this.login = login;
  35 + return this;
  36 + }
  37 +
  38 + public AdminBuilder withName(String name) {
  39 + this.name = name;
  40 + return this;
  41 + }
  42 +
  43 + public AdminBuilder withEmail(String email) {
  44 + this.email = email;
  45 + return this;
  46 + }
  47 +
  48 + public AdminBuilder withPassword(String password) {
  49 + this.password = password;
  50 + return this;
  51 + }
  52 +
  53 + public Admin build() {
  54 + Admin admin = new Admin();
  55 + admin.setProjects(projects);
  56 + admin.setId(id);
  57 + admin.setLogin(login);
  58 + admin.setName(name);
  59 + admin.setEmail(email);
  60 + admin.setPassword(password);
  61 + return admin;
  62 + }
  63 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/ApiUserBuilder.java 0 → 100644
... ... @@ -0,0 +1,63 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Profile;
  4 +import edu.ifes.ci.si.les.srh.model.ApiUser;
  5 +
  6 +import java.util.List;
  7 +
  8 +public final class ApiUserBuilder {
  9 + protected String login;
  10 + protected String password;
  11 + private List<Profile> profiles;
  12 + private Integer id;
  13 + private String name;
  14 + private String email;
  15 +
  16 + private ApiUserBuilder() {
  17 + }
  18 +
  19 + public static ApiUserBuilder anApiUser() {
  20 + return new ApiUserBuilder();
  21 + }
  22 +
  23 + public ApiUserBuilder withProfiles(List<Profile> profiles) {
  24 + this.profiles = profiles;
  25 + return this;
  26 + }
  27 +
  28 + public ApiUserBuilder withId(Integer id) {
  29 + this.id = id;
  30 + return this;
  31 + }
  32 +
  33 + public ApiUserBuilder withLogin(String login) {
  34 + this.login = login;
  35 + return this;
  36 + }
  37 +
  38 + public ApiUserBuilder withName(String name) {
  39 + this.name = name;
  40 + return this;
  41 + }
  42 +
  43 + public ApiUserBuilder withEmail(String email) {
  44 + this.email = email;
  45 + return this;
  46 + }
  47 +
  48 + public ApiUserBuilder withPassword(String password) {
  49 + this.password = password;
  50 + return this;
  51 + }
  52 +
  53 + public ApiUser build() {
  54 + ApiUser apiUser = new ApiUser();
  55 + apiUser.setProfiles(profiles);
  56 + apiUser.setId(id);
  57 + apiUser.setLogin(login);
  58 + apiUser.setName(name);
  59 + apiUser.setEmail(email);
  60 + apiUser.setPassword(password);
  61 + return apiUser;
  62 + }
  63 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/EvaluatorBuilder.java 0 → 100644
... ... @@ -0,0 +1,79 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  4 +import edu.ifes.ci.si.les.srh.model.ItemRating;
  5 +import edu.ifes.ci.si.les.srh.model.Project;
  6 +import edu.ifes.ci.si.les.srh.model.RecommendationRating;
  7 +
  8 +import java.util.List;
  9 +
  10 +public final class EvaluatorBuilder {
  11 + protected String login;
  12 + protected String password;
  13 + private List<Project> projects;
  14 + private List<ItemRating> itemRatings;
  15 + private List<RecommendationRating> recommendationRatings;
  16 + private Integer id;
  17 + private String name;
  18 + private String email;
  19 +
  20 + private EvaluatorBuilder() {
  21 + }
  22 +
  23 + public static EvaluatorBuilder anEvaluator() {
  24 + return new EvaluatorBuilder();
  25 + }
  26 +
  27 + public EvaluatorBuilder withProjects(List<Project> projects) {
  28 + this.projects = projects;
  29 + return this;
  30 + }
  31 +
  32 + public EvaluatorBuilder withItemRatings(List<ItemRating> itemRatings) {
  33 + this.itemRatings = itemRatings;
  34 + return this;
  35 + }
  36 +
  37 + public EvaluatorBuilder withRecommendationRatings(List<RecommendationRating> recommendationRatings) {
  38 + this.recommendationRatings = recommendationRatings;
  39 + return this;
  40 + }
  41 +
  42 + public EvaluatorBuilder withId(Integer id) {
  43 + this.id = id;
  44 + return this;
  45 + }
  46 +
  47 + public EvaluatorBuilder withLogin(String login) {
  48 + this.login = login;
  49 + return this;
  50 + }
  51 +
  52 + public EvaluatorBuilder withName(String name) {
  53 + this.name = name;
  54 + return this;
  55 + }
  56 +
  57 + public EvaluatorBuilder withEmail(String email) {
  58 + this.email = email;
  59 + return this;
  60 + }
  61 +
  62 + public EvaluatorBuilder withPassword(String password) {
  63 + this.password = password;
  64 + return this;
  65 + }
  66 +
  67 + public Evaluator build() {
  68 + Evaluator evaluator = new Evaluator();
  69 + evaluator.setProjects(projects);
  70 + evaluator.setItemRatings(itemRatings);
  71 + evaluator.setRecommendationRatings(recommendationRatings);
  72 + evaluator.setId(id);
  73 + evaluator.setLogin(login);
  74 + evaluator.setName(name);
  75 + evaluator.setEmail(email);
  76 + evaluator.setPassword(password);
  77 + return evaluator;
  78 + }
  79 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/ItemBuilder.java 0 → 100644
... ... @@ -0,0 +1,84 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.*;
  4 +
  5 +import java.util.HashMap;
  6 +import java.util.List;
  7 +
  8 +public final class ItemBuilder {
  9 + private Integer id;
  10 + private String name;
  11 + private String description;
  12 + private HashMap<String, String> attributes;
  13 + private List<ItemRating> itemRatings;
  14 + private List<Recommendation> recommendations;
  15 + private Project project;
  16 + private TypeItem typeItem;
  17 + private List<Tag> tags;
  18 +
  19 + private ItemBuilder() {
  20 + }
  21 +
  22 + public static ItemBuilder anItem() {
  23 + return new ItemBuilder();
  24 + }
  25 +
  26 + public ItemBuilder withId(Integer id) {
  27 + this.id = id;
  28 + return this;
  29 + }
  30 +
  31 + public ItemBuilder withName(String name) {
  32 + this.name = name;
  33 + return this;
  34 + }
  35 +
  36 + public ItemBuilder withDescription(String description) {
  37 + this.description = description;
  38 + return this;
  39 + }
  40 +
  41 + public ItemBuilder withAttributes(HashMap<String, String> attributes) {
  42 + this.attributes = attributes;
  43 + return this;
  44 + }
  45 +
  46 + public ItemBuilder withItemRatings(List<ItemRating> itemRatings) {
  47 + this.itemRatings = itemRatings;
  48 + return this;
  49 + }
  50 +
  51 + public ItemBuilder withRecommendations(List<Recommendation> recommendations) {
  52 + this.recommendations = recommendations;
  53 + return this;
  54 + }
  55 +
  56 + public ItemBuilder withProject(Project project) {
  57 + this.project = project;
  58 + return this;
  59 + }
  60 +
  61 + public ItemBuilder withTypeItem(TypeItem typeItem) {
  62 + this.typeItem = typeItem;
  63 + return this;
  64 + }
  65 +
  66 + public ItemBuilder withTags(List<Tag> tags) {
  67 + this.tags = tags;
  68 + return this;
  69 + }
  70 +
  71 + public Item build() {
  72 + Item item = new Item();
  73 + item.setId(id);
  74 + item.setName(name);
  75 + item.setDescription(description);
  76 + item.setAttributes(attributes);
  77 + item.setItemRatings(itemRatings);
  78 + item.setRecommendations(recommendations);
  79 + item.setProject(project);
  80 + item.setTypeItem(typeItem);
  81 + item.setTags(tags);
  82 + return item;
  83 + }
  84 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/ItemRatingBuilder.java 0 → 100644
... ... @@ -0,0 +1,57 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Item;
  4 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  5 +import edu.ifes.ci.si.les.srh.model.ItemRating;
  6 +
  7 +import java.time.LocalDateTime;
  8 +
  9 +public final class ItemRatingBuilder {
  10 + private Evaluator user;
  11 + private Item item;
  12 + private Integer id;
  13 + private Double score;
  14 + private LocalDateTime date;
  15 +
  16 + private ItemRatingBuilder() {
  17 + }
  18 +
  19 + public static ItemRatingBuilder anItemRating() {
  20 + return new ItemRatingBuilder();
  21 + }
  22 +
  23 + public ItemRatingBuilder withUser(Evaluator user) {
  24 + this.user = user;
  25 + return this;
  26 + }
  27 +
  28 + public ItemRatingBuilder withItem(Item item) {
  29 + this.item = item;
  30 + return this;
  31 + }
  32 +
  33 + public ItemRatingBuilder withId(Integer id) {
  34 + this.id = id;
  35 + return this;
  36 + }
  37 +
  38 + public ItemRatingBuilder withScore(Double score) {
  39 + this.score = score;
  40 + return this;
  41 + }
  42 +
  43 + public ItemRatingBuilder withDate(LocalDateTime date) {
  44 + this.date = date;
  45 + return this;
  46 + }
  47 +
  48 + public ItemRating build() {
  49 + ItemRating itemRating = new ItemRating();
  50 + itemRating.setUser(user);
  51 + itemRating.setItem(item);
  52 + itemRating.setId(id);
  53 + itemRating.setScore(score);
  54 + itemRating.setDate(date);
  55 + return itemRating;
  56 + }
  57 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/ItemTagBuilder.java 0 → 100644
... ... @@ -0,0 +1,31 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Item;
  4 +import edu.ifes.ci.si.les.srh.model.ItemTag;
  5 +import edu.ifes.ci.si.les.srh.model.Tag;
  6 +
  7 +public final class ItemTagBuilder {
  8 + private Item item;
  9 + private Tag tag;
  10 +
  11 + private ItemTagBuilder() {
  12 + }
  13 +
  14 + public static ItemTagBuilder anItemTag() {
  15 + return new ItemTagBuilder();
  16 + }
  17 +
  18 + public ItemTagBuilder withItem(Item item) {
  19 + this.item = item;
  20 + return this;
  21 + }
  22 +
  23 + public ItemTagBuilder withTag(Tag tag) {
  24 + this.tag = tag;
  25 + return this;
  26 + }
  27 +
  28 + public ItemTag build() {
  29 + return new ItemTag(item, tag);
  30 + }
  31 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/ProfileBuilder.java 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ApiUser;
  4 +import edu.ifes.ci.si.les.srh.model.Profile;
  5 +
  6 +import java.util.List;
  7 +
  8 +public final class ProfileBuilder {
  9 + private Integer id;
  10 + private String name;
  11 + private List<ApiUser> apiUsers;
  12 +
  13 + private ProfileBuilder() {
  14 + }
  15 +
  16 + public static ProfileBuilder aProfile() {
  17 + return new ProfileBuilder();
  18 + }
  19 +
  20 + public ProfileBuilder withId(Integer id) {
  21 + this.id = id;
  22 + return this;
  23 + }
  24 +
  25 + public ProfileBuilder withName(String name) {
  26 + this.name = name;
  27 + return this;
  28 + }
  29 +
  30 + public ProfileBuilder withApiUsers(List<ApiUser> apiUsers) {
  31 + this.apiUsers = apiUsers;
  32 + return this;
  33 + }
  34 +
  35 + public Profile build() {
  36 + Profile profile = new Profile();
  37 + profile.setId(id);
  38 + profile.setName(name);
  39 + profile.setApiUsers(apiUsers);
  40 + return profile;
  41 + }
  42 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/ProjectBuilder.java 0 → 100644
... ... @@ -0,0 +1,84 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.*;
  4 +
  5 +import java.time.LocalDate;
  6 +import java.util.List;
  7 +
  8 +public final class ProjectBuilder {
  9 + private Integer id;
  10 + private String name;
  11 + private String description;
  12 + private LocalDate date;
  13 + private Boolean visible;
  14 + private Situations situation;
  15 + private Admin admin;
  16 + private List<Evaluator> evaluators;
  17 + private List<Item> itens;
  18 +
  19 + private ProjectBuilder() {
  20 + }
  21 +
  22 + public static ProjectBuilder aProject() {
  23 + return new ProjectBuilder();
  24 + }
  25 +
  26 + public ProjectBuilder withId(Integer id) {
  27 + this.id = id;
  28 + return this;
  29 + }
  30 +
  31 + public ProjectBuilder withName(String name) {
  32 + this.name = name;
  33 + return this;
  34 + }
  35 +
  36 + public ProjectBuilder withDescription(String description) {
  37 + this.description = description;
  38 + return this;
  39 + }
  40 +
  41 + public ProjectBuilder withDate(LocalDate date) {
  42 + this.date = date;
  43 + return this;
  44 + }
  45 +
  46 + public ProjectBuilder withVisible(Boolean visible) {
  47 + this.visible = visible;
  48 + return this;
  49 + }
  50 +
  51 + public ProjectBuilder withSituation(Situations situation) {
  52 + this.situation = situation;
  53 + return this;
  54 + }
  55 +
  56 + public ProjectBuilder withAdmin(Admin admin) {
  57 + this.admin = admin;
  58 + return this;
  59 + }
  60 +
  61 + public ProjectBuilder withEvaluators(List<Evaluator> evaluators) {
  62 + this.evaluators = evaluators;
  63 + return this;
  64 + }
  65 +
  66 + public ProjectBuilder withItens(List<Item> itens) {
  67 + this.itens = itens;
  68 + return this;
  69 + }
  70 +
  71 + public Project build() {
  72 + Project project = new Project();
  73 + project.setId(id);
  74 + project.setName(name);
  75 + project.setDescription(description);
  76 + project.setDate(date);
  77 + project.setVisible(visible);
  78 + project.setSituation(situation);
  79 + project.setAdmin(admin);
  80 + project.setEvaluators(evaluators);
  81 + project.setItens(itens);
  82 + return project;
  83 + }
  84 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/RecommendationBuilder.java 0 → 100644
... ... @@ -0,0 +1,77 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.*;
  4 +
  5 +import java.time.LocalDateTime;
  6 +import java.util.List;
  7 +
  8 +public final class RecommendationBuilder {
  9 + private Integer id;
  10 + private Double weight;
  11 + private LocalDateTime date;
  12 + private Integer runtimeInSeconds;
  13 + private TypeRecommendation typeRecommendation;
  14 + private Evaluator evaluator;
  15 + private Item item;
  16 + private List<RecommendationRating> recommendationRatings;
  17 +
  18 + private RecommendationBuilder() {
  19 + }
  20 +
  21 + public static RecommendationBuilder aRecommendation() {
  22 + return new RecommendationBuilder();
  23 + }
  24 +
  25 + public RecommendationBuilder withId(Integer id) {
  26 + this.id = id;
  27 + return this;
  28 + }
  29 +
  30 + public RecommendationBuilder withWeight(Double weight) {
  31 + this.weight = weight;
  32 + return this;
  33 + }
  34 +
  35 + public RecommendationBuilder withDate(LocalDateTime date) {
  36 + this.date = date;
  37 + return this;
  38 + }
  39 +
  40 + public RecommendationBuilder withRuntimeInSeconds(Integer runtimeInSeconds) {
  41 + this.runtimeInSeconds = runtimeInSeconds;
  42 + return this;
  43 + }
  44 +
  45 + public RecommendationBuilder withTypeRecommendation(TypeRecommendation typeRecommendation) {
  46 + this.typeRecommendation = typeRecommendation;
  47 + return this;
  48 + }
  49 +
  50 + public RecommendationBuilder withEvaluator(Evaluator evaluator) {
  51 + this.evaluator = evaluator;
  52 + return this;
  53 + }
  54 +
  55 + public RecommendationBuilder withItem(Item item) {
  56 + this.item = item;
  57 + return this;
  58 + }
  59 +
  60 + public RecommendationBuilder withRecommendationRatings(List<RecommendationRating> recommendationRatings) {
  61 + this.recommendationRatings = recommendationRatings;
  62 + return this;
  63 + }
  64 +
  65 + public Recommendation build() {
  66 + Recommendation recommendation = new Recommendation();
  67 + recommendation.setId(id);
  68 + recommendation.setWeight(weight);
  69 + recommendation.setDate(date);
  70 + recommendation.setRuntimeInSeconds(runtimeInSeconds);
  71 + recommendation.setTypeRecommendation(typeRecommendation);
  72 + recommendation.setEvaluator(evaluator);
  73 + recommendation.setItem(item);
  74 + recommendation.setRecommendationRatings(recommendationRatings);
  75 + return recommendation;
  76 + }
  77 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/RecommendationRatingBuilder.java 0 → 100644
... ... @@ -0,0 +1,57 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  4 +import edu.ifes.ci.si.les.srh.model.Recommendation;
  5 +import edu.ifes.ci.si.les.srh.model.RecommendationRating;
  6 +
  7 +import java.time.LocalDateTime;
  8 +
  9 +public final class RecommendationRatingBuilder {
  10 + private Recommendation recommendation;
  11 + private Evaluator evaluator;
  12 + private Integer id;
  13 + private Double score;
  14 + private LocalDateTime date;
  15 +
  16 + private RecommendationRatingBuilder() {
  17 + }
  18 +
  19 + public static RecommendationRatingBuilder aRecommendationRating() {
  20 + return new RecommendationRatingBuilder();
  21 + }
  22 +
  23 + public RecommendationRatingBuilder withRecommendation(Recommendation recommendation) {
  24 + this.recommendation = recommendation;
  25 + return this;
  26 + }
  27 +
  28 + public RecommendationRatingBuilder withEvaluator(Evaluator evaluator) {
  29 + this.evaluator = evaluator;
  30 + return this;
  31 + }
  32 +
  33 + public RecommendationRatingBuilder withId(Integer id) {
  34 + this.id = id;
  35 + return this;
  36 + }
  37 +
  38 + public RecommendationRatingBuilder withScore(Double score) {
  39 + this.score = score;
  40 + return this;
  41 + }
  42 +
  43 + public RecommendationRatingBuilder withDate(LocalDateTime date) {
  44 + this.date = date;
  45 + return this;
  46 + }
  47 +
  48 + public RecommendationRating build() {
  49 + RecommendationRating recommendationRating = new RecommendationRating();
  50 + recommendationRating.setRecommendation(recommendation);
  51 + recommendationRating.setEvaluator(evaluator);
  52 + recommendationRating.setId(id);
  53 + recommendationRating.setScore(score);
  54 + recommendationRating.setDate(date);
  55 + return recommendationRating;
  56 + }
  57 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/TagBuilder.java 0 → 100644
... ... @@ -0,0 +1,42 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Item;
  4 +import edu.ifes.ci.si.les.srh.model.Tag;
  5 +
  6 +import java.util.List;
  7 +
  8 +public final class TagBuilder {
  9 + private Integer id;
  10 + private String name;
  11 + private List<Item> itens;
  12 +
  13 + private TagBuilder() {
  14 + }
  15 +
  16 + public static TagBuilder aTag() {
  17 + return new TagBuilder();
  18 + }
  19 +
  20 + public TagBuilder withId(Integer id) {
  21 + this.id = id;
  22 + return this;
  23 + }
  24 +
  25 + public TagBuilder withName(String name) {
  26 + this.name = name;
  27 + return this;
  28 + }
  29 +
  30 + public TagBuilder withItens(List<Item> itens) {
  31 + this.itens = itens;
  32 + return this;
  33 + }
  34 +
  35 + public Tag build() {
  36 + Tag tag = new Tag();
  37 + tag.setId(id);
  38 + tag.setName(name);
  39 + tag.setItens(itens);
  40 + return tag;
  41 + }
  42 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/builder/TypeItemBuilder.java 0 → 100644
... ... @@ -0,0 +1,50 @@
  1 +package edu.ifes.ci.si.les.srh.builder;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Attribute;
  4 +import edu.ifes.ci.si.les.srh.model.Item;
  5 +import edu.ifes.ci.si.les.srh.model.TypeItem;
  6 +
  7 +import java.util.List;
  8 +
  9 +public final class TypeItemBuilder {
  10 + private Integer id;
  11 + private String name;
  12 + private List<Attribute> requiredAttributes;
  13 + private List<Item> itens;
  14 +
  15 + private TypeItemBuilder() {
  16 + }
  17 +
  18 + public static TypeItemBuilder aTypeItem() {
  19 + return new TypeItemBuilder();
  20 + }
  21 +
  22 + public TypeItemBuilder withId(Integer id) {
  23 + this.id = id;
  24 + return this;
  25 + }
  26 +
  27 + public TypeItemBuilder withName(String name) {
  28 + this.name = name;
  29 + return this;
  30 + }
  31 +
  32 + public TypeItemBuilder withRequiredAttributes(List<Attribute> requiredAttributes) {
  33 + this.requiredAttributes = requiredAttributes;
  34 + return this;
  35 + }
  36 +
  37 + public TypeItemBuilder withItens(List<Item> itens) {
  38 + this.itens = itens;
  39 + return this;
  40 + }
  41 +
  42 + public TypeItem build() {
  43 + TypeItem typeItem = new TypeItem();
  44 + typeItem.setId(id);
  45 + typeItem.setName(name);
  46 + typeItem.setRequiredAttributes(requiredAttributes);
  47 + typeItem.setItens(itens);
  48 + return typeItem;
  49 + }
  50 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/error/DefaultErrorDto.java 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +package edu.ifes.ci.si.les.srh.dto.error;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +@AllArgsConstructor
  8 +public class DefaultErrorDto {
  9 + private final String error;
  10 + private final String cause;
  11 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/error/FormErrorDto.java 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +package edu.ifes.ci.si.les.srh.dto.error;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +@AllArgsConstructor
  8 +public class FormErrorDto {
  9 + private final String error;
  10 + private final String field;
  11 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/AdminDto.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Admin;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +public class AdminDto {
  8 + private final Integer id;
  9 + private final String name;
  10 + private final String login;
  11 + private final String email;
  12 +
  13 + public AdminDto(Admin admin) {
  14 + this.id = admin.getId();
  15 + this.name = admin.getName();
  16 + this.login = admin.getLogin();
  17 + this.email = admin.getEmail();
  18 + }
  19 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/AdminForm.java 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.AdminBuilder;
  4 +import edu.ifes.ci.si.les.srh.model.Admin;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Getter;
  7 +import lombok.NoArgsConstructor;
  8 +import org.hibernate.validator.constraints.Length;
  9 +
  10 +import javax.validation.constraints.Email;
  11 +import javax.validation.constraints.NotEmpty;
  12 +import javax.validation.constraints.NotNull;
  13 +
  14 +@Getter
  15 +@AllArgsConstructor
  16 +@NoArgsConstructor
  17 +public class AdminForm {
  18 + @NotNull
  19 + @NotEmpty
  20 + private String name;
  21 +
  22 + @NotNull
  23 + @NotEmpty
  24 + private String login;
  25 +
  26 + @NotNull
  27 + @NotEmpty
  28 + @Length(min = 6)
  29 + private String password;
  30 +
  31 + @NotNull
  32 + @NotEmpty
  33 + @Email
  34 + private String email;
  35 +
  36 + public Admin build() {
  37 + return AdminBuilder.anAdmin()
  38 + .withName(name)
  39 + .withLogin(login)
  40 + .withEmail(email)
  41 + .withPassword(password)
  42 + .build();
  43 + }
  44 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ApiUserForm.java 0 → 100644
... ... @@ -0,0 +1,45 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.ApiUserBuilder;
  4 +import edu.ifes.ci.si.les.srh.model.ApiUser;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Getter;
  7 +import lombok.NoArgsConstructor;
  8 +import org.hibernate.validator.constraints.Length;
  9 +
  10 +import javax.validation.constraints.Email;
  11 +import javax.validation.constraints.NotEmpty;
  12 +import javax.validation.constraints.NotNull;
  13 +
  14 +@Getter
  15 +@AllArgsConstructor
  16 +@NoArgsConstructor
  17 +public class ApiUserForm {
  18 + @NotEmpty
  19 + @NotNull
  20 + @Length(min = 3)
  21 + private String name;
  22 +
  23 + @NotEmpty
  24 + @NotNull
  25 + @Length(min = 3)
  26 + private String login;
  27 +
  28 + @NotEmpty
  29 + @NotNull
  30 + @Length(min = 6)
  31 + private String password;
  32 +
  33 + @NotNull
  34 + @NotEmpty
  35 + @Email
  36 + private String email;
  37 +
  38 + public ApiUser build() {
  39 + return ApiUserBuilder.anApiUser()
  40 + .withLogin(login)
  41 + .withName(name)
  42 + .withPassword(password)
  43 + .build();
  44 + }
  45 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ApiUsersDto.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ApiUser;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +public class ApiUsersDto {
  8 + private final Integer id;
  9 + private final String name;
  10 + private final String login;
  11 + private final boolean isAdmin;
  12 +
  13 + public ApiUsersDto(ApiUser apiUser) {
  14 + this.id = apiUser.getId();
  15 + this.name = apiUser.getName();
  16 + this.login = apiUser.getLogin();
  17 + this.isAdmin = apiUser.isAdmin();
  18 + }
  19 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/EvaluatorDto.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +public class EvaluatorDto {
  8 + private final Integer id;
  9 + private final String name;
  10 + private final String login;
  11 + private final String email;
  12 +
  13 + public EvaluatorDto(Evaluator evaluator) {
  14 + this.id = evaluator.getId();
  15 + this.name = evaluator.getName();
  16 + this.login = evaluator.getLogin();
  17 + this.email = evaluator.getEmail();
  18 + }
  19 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/EvaluatorForm.java 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.EvaluatorBuilder;
  4 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Getter;
  7 +import lombok.NoArgsConstructor;
  8 +import org.hibernate.validator.constraints.Length;
  9 +
  10 +import javax.validation.constraints.Email;
  11 +import javax.validation.constraints.NotEmpty;
  12 +import javax.validation.constraints.NotNull;
  13 +
  14 +@Getter
  15 +@AllArgsConstructor
  16 +@NoArgsConstructor
  17 +public class EvaluatorForm {
  18 + @NotNull
  19 + @NotEmpty
  20 + private String name;
  21 +
  22 + @NotNull
  23 + @NotEmpty
  24 + private String login;
  25 +
  26 + @NotNull
  27 + @NotEmpty
  28 + @Length(min = 6)
  29 + private String password;
  30 +
  31 + @NotNull
  32 + @NotEmpty
  33 + @Email
  34 + private String email;
  35 +
  36 + public Evaluator build() {
  37 + return EvaluatorBuilder.anEvaluator()
  38 + .withName(name)
  39 + .withLogin(login)
  40 + .withPassword(password)
  41 + .withEmail(email)
  42 + .build();
  43 + }
  44 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ItemDto.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Item;
  4 +import lombok.Getter;
  5 +import java.util.HashMap;
  6 +
  7 +@Getter
  8 +public class ItemDto {
  9 + private final Integer id;
  10 + private final String name;
  11 + private final String description;
  12 + private final HashMap<String, String> attributes;
  13 +
  14 + public ItemDto(Item item) {
  15 + this.id = item.getId();
  16 + this.name = item.getName();
  17 + this.description = item.getDescription();
  18 + this.attributes = item.getAttributes();
  19 + }
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ItemForm.java 0 → 100644
... ... @@ -0,0 +1,37 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.ItemBuilder;
  4 +import edu.ifes.ci.si.les.srh.model.Item;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Getter;
  7 +import lombok.NoArgsConstructor;
  8 +import org.hibernate.validator.constraints.Length;
  9 +
  10 +import javax.validation.constraints.NotEmpty;
  11 +import javax.validation.constraints.NotNull;
  12 +
  13 +@Getter
  14 +@AllArgsConstructor
  15 +@NoArgsConstructor
  16 +public class ItemForm {
  17 + @NotNull
  18 + @NotEmpty
  19 + @Length(min = 3)
  20 + private String name;
  21 +
  22 + @NotNull
  23 + @NotEmpty
  24 + @Length(min = 3)
  25 + private String description;
  26 +
  27 + @NotNull
  28 + @NotEmpty
  29 + private String attributes;
  30 +
  31 + public Item build() {
  32 + return ItemBuilder.anItem()
  33 + .withName(name)
  34 + .withDescription(description)
  35 + .build();
  36 + }
  37 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ItemRatingDto.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ItemRating;
  4 +import lombok.Getter;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +@Getter
  9 +public class ItemRatingDto {
  10 + private final Integer id;
  11 + private final Double score;
  12 + private final LocalDateTime date;
  13 +
  14 + public ItemRatingDto(ItemRating itemRating) {
  15 + this.id = itemRating.getId();
  16 + this.score = itemRating.getScore();
  17 + this.date = itemRating.getDate();
  18 + }
  19 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ItemRatingForm.java 0 → 100644
... ... @@ -0,0 +1,43 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.EvaluatorBuilder;
  4 +import edu.ifes.ci.si.les.srh.builder.ItemBuilder;
  5 +import edu.ifes.ci.si.les.srh.builder.ItemRatingBuilder;
  6 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  7 +import edu.ifes.ci.si.les.srh.model.Item;
  8 +import edu.ifes.ci.si.les.srh.model.ItemRating;
  9 +import lombok.AllArgsConstructor;
  10 +import lombok.Getter;
  11 +import lombok.NoArgsConstructor;
  12 +
  13 +import javax.validation.constraints.NotNull;
  14 +import java.time.LocalDateTime;
  15 +
  16 +@Getter
  17 +@AllArgsConstructor
  18 +@NoArgsConstructor
  19 +public class ItemRatingForm {
  20 + @NotNull
  21 + private Double score;
  22 + @NotNull
  23 + private Integer evaluatorId;
  24 + @NotNull
  25 + private Integer itemId;
  26 +
  27 + public ItemRating build() {
  28 + Evaluator evaluator = EvaluatorBuilder.anEvaluator()
  29 + .withId(evaluatorId)
  30 + .build();
  31 +
  32 + Item item = ItemBuilder.anItem()
  33 + .withId(itemId)
  34 + .build();
  35 +
  36 + return ItemRatingBuilder.anItemRating()
  37 + .withScore(score)
  38 + .withItem(item)
  39 + .withUser(evaluator)
  40 + .withDate(LocalDateTime.now())
  41 + .build();
  42 + }
  43 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ItemTagDto.java 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ItemTag;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +public class ItemTagDto {
  8 + private final Integer itemId;
  9 + private final Integer tagId;
  10 +
  11 + public ItemTagDto(ItemTag itemTag) {
  12 + this.itemId = itemTag.getItem().getId();
  13 + this.tagId = itemTag.getTag().getId();
  14 + }
  15 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ItemTagForm.java 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +import lombok.NoArgsConstructor;
  6 +
  7 +import javax.validation.constraints.NotNull;
  8 +
  9 +@Getter
  10 +@AllArgsConstructor
  11 +@NoArgsConstructor
  12 +public class ItemTagForm {
  13 + @NotNull
  14 + private Integer itemId;
  15 + @NotNull
  16 + private Integer tagId;
  17 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ProjectDto.java 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Project;
  4 +import edu.ifes.ci.si.les.srh.model.Situations;
  5 +import lombok.Getter;
  6 +
  7 +import java.time.LocalDate;
  8 +
  9 +@Getter
  10 +public class ProjectDto {
  11 + private final Integer id;
  12 + private final String name;
  13 + private final String description;
  14 + private Situations situation;
  15 + private final LocalDate date;
  16 + private final Boolean visible;
  17 +
  18 + public ProjectDto(Project project) {
  19 + this.id = project.getId();
  20 + this.name = project.getName();
  21 + this.description = project.getDescription();
  22 + this.date = project.getDate();
  23 + this.situation = project.getSituation();
  24 + this.visible = project.getVisible();
  25 + }
  26 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ProjectEvaluatorDto.java 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ProjectEvaluator;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +public class ProjectEvaluatorDto {
  8 + private final Integer projectId;
  9 + private final Integer recommenderId;
  10 +
  11 + public ProjectEvaluatorDto(ProjectEvaluator projectEvaluator) {
  12 + this.projectId = projectEvaluator.getProject().getId();
  13 + this.recommenderId = projectEvaluator.getEvaluator().getId();
  14 + }
  15 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ProjectEvaluatorForm.java 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +import lombok.NoArgsConstructor;
  6 +
  7 +import javax.validation.constraints.NotNull;
  8 +
  9 +@Getter
  10 +@AllArgsConstructor
  11 +@NoArgsConstructor
  12 +public class ProjectEvaluatorForm {
  13 + @NotNull
  14 + private Integer projectId;
  15 + @NotNull
  16 + private Integer recommenderId;
  17 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/ProjectForm.java 0 → 100644
... ... @@ -0,0 +1,56 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.AdminBuilder;
  4 +import edu.ifes.ci.si.les.srh.builder.ProjectBuilder;
  5 +import edu.ifes.ci.si.les.srh.model.Admin;
  6 +import edu.ifes.ci.si.les.srh.model.Project;
  7 +import edu.ifes.ci.si.les.srh.model.Situations;
  8 +import lombok.AllArgsConstructor;
  9 +import lombok.Getter;
  10 +import lombok.NoArgsConstructor;
  11 +import org.hibernate.validator.constraints.Length;
  12 +
  13 +import javax.validation.constraints.NotEmpty;
  14 +import javax.validation.constraints.NotNull;
  15 +import java.time.LocalDate;
  16 +
  17 +@Getter
  18 +@AllArgsConstructor
  19 +@NoArgsConstructor
  20 +public class ProjectForm {
  21 +
  22 + @NotEmpty
  23 + @NotNull
  24 + @Length(min = 3)
  25 + private String name;
  26 +
  27 + @NotEmpty
  28 + @NotNull
  29 + @Length(min = 3)
  30 + private String description;
  31 +
  32 + @NotNull
  33 + private Integer adminId;
  34 +
  35 + @NotNull
  36 + @NotEmpty
  37 + private String situation;
  38 +
  39 + @NotNull
  40 + private Boolean visible;
  41 +
  42 + public Project build() {
  43 + Admin admin = AdminBuilder.anAdmin()
  44 + .withId(adminId)
  45 + .build();
  46 +
  47 + return ProjectBuilder.aProject()
  48 + .withName(name)
  49 + .withDescription(description)
  50 + .withAdmin(admin)
  51 + .withSituation(Situations.valueOf(situation))
  52 + .withDate(LocalDate.now())
  53 + .withVisible(visible)
  54 + .build();
  55 + }
  56 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/RecommendationDto.java 0 → 100644
... ... @@ -0,0 +1,24 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Recommendation;
  4 +import edu.ifes.ci.si.les.srh.model.TypeRecommendation;
  5 +import lombok.Getter;
  6 +
  7 +import java.time.LocalDateTime;
  8 +
  9 +@Getter
  10 +public class RecommendationDto {
  11 + private final Integer id;
  12 + private final Double weight;
  13 + private final LocalDateTime date;
  14 + private final Integer runtimeInSeconds;
  15 + private final TypeRecommendation typeRecommendation;
  16 +
  17 + public RecommendationDto(Recommendation recommendation) {
  18 + this.id = recommendation.getId();
  19 + this.weight = recommendation.getWeight();
  20 + this.date = recommendation.getDate();
  21 + this.runtimeInSeconds = recommendation.getRuntimeInSeconds();
  22 + this.typeRecommendation = recommendation.getTypeRecommendation();
  23 + }
  24 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/RecommendationRatingDto.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +
  4 +import edu.ifes.ci.si.les.srh.model.RecommendationRating;
  5 +import lombok.Getter;
  6 +
  7 +import java.time.LocalDateTime;
  8 +
  9 +@Getter
  10 +public class RecommendationRatingDto {
  11 + private final Integer id;
  12 + private final Double score;
  13 + private final LocalDateTime date;
  14 +
  15 + public RecommendationRatingDto(RecommendationRating recommendationRating) {
  16 + this.id = recommendationRating.getId();
  17 + this.score = recommendationRating.getScore();
  18 + this.date = recommendationRating.getDate();
  19 + }
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/RecommendationRatingForm.java 0 → 100644
... ... @@ -0,0 +1,35 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.EvaluatorBuilder;
  4 +import edu.ifes.ci.si.les.srh.builder.RecommendationBuilder;
  5 +import edu.ifes.ci.si.les.srh.builder.RecommendationRatingBuilder;
  6 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  7 +import edu.ifes.ci.si.les.srh.model.Recommendation;
  8 +import edu.ifes.ci.si.les.srh.model.RecommendationRating;
  9 +
  10 +import javax.validation.constraints.NotNull;
  11 +
  12 +public class RecommendationRatingForm {
  13 + @NotNull
  14 + private Double score;
  15 + @NotNull
  16 + private Integer evaluatorId;
  17 + @NotNull
  18 + private Integer recommendationId;
  19 +
  20 + public RecommendationRating build() {
  21 + Evaluator evaluator = EvaluatorBuilder.anEvaluator()
  22 + .withId(evaluatorId)
  23 + .build();
  24 +
  25 + Recommendation recommendation = RecommendationBuilder.aRecommendation()
  26 + .withId(recommendationId)
  27 + .build();
  28 +
  29 + return RecommendationRatingBuilder.aRecommendationRating()
  30 + .withScore(score)
  31 + .withEvaluator(evaluator)
  32 + .withRecommendation(recommendation)
  33 + .build();
  34 + }
  35 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/TagDto.java 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Tag;
  4 +import lombok.Getter;
  5 +
  6 +@Getter
  7 +public class TagDto {
  8 + private final Integer id;
  9 + private final String name;
  10 +
  11 + public TagDto(Tag tag) {
  12 + this.id = tag.getId();
  13 + this.name = tag.getName();
  14 + }
  15 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/TagForm.java 0 → 100644
... ... @@ -0,0 +1,25 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.TagBuilder;
  4 +import edu.ifes.ci.si.les.srh.model.Tag;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Getter;
  7 +import lombok.NoArgsConstructor;
  8 +
  9 +import javax.validation.constraints.NotEmpty;
  10 +import javax.validation.constraints.NotNull;
  11 +
  12 +@Getter
  13 +@AllArgsConstructor
  14 +@NoArgsConstructor
  15 +public class TagForm {
  16 + @NotEmpty
  17 + @NotNull
  18 + private String name;
  19 +
  20 + public Tag build() {
  21 + return TagBuilder.aTag()
  22 + .withName(name)
  23 + .build();
  24 + }
  25 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/TypeItemDto.java 0 → 100644
... ... @@ -0,0 +1,29 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Attribute;
  4 +import edu.ifes.ci.si.les.srh.model.TypeItem;
  5 +
  6 +import java.util.ArrayList;
  7 +import java.util.List;
  8 +
  9 +public class TypeItemDto {
  10 + private final Integer id;
  11 + private final String name;
  12 + private final List<Integer> requiredAttributes;
  13 +
  14 + public TypeItemDto(TypeItem typeItem) {
  15 + this.id = typeItem.getId();
  16 + this.name = typeItem.getName();
  17 + this.requiredAttributes = mountRequiredAttributes(typeItem.getRequiredAttributes());
  18 + }
  19 +
  20 + private List<Integer> mountRequiredAttributes(List<Attribute> requiredAttributes) {
  21 + List<Integer> attributes = new ArrayList<>();
  22 +
  23 + for (Attribute attribute : requiredAttributes) {
  24 + attributes.add(attribute.getId());
  25 + }
  26 +
  27 + return attributes;
  28 + }
  29 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/dto/resource/TypeItemForm.java 0 → 100644
... ... @@ -0,0 +1,30 @@
  1 +package edu.ifes.ci.si.les.srh.dto.resource;
  2 +
  3 +import edu.ifes.ci.si.les.srh.builder.TypeItemBuilder;
  4 +import edu.ifes.ci.si.les.srh.model.Attribute;
  5 +import edu.ifes.ci.si.les.srh.model.TypeItem;
  6 +
  7 +import java.util.ArrayList;
  8 +import java.util.List;
  9 +
  10 +public class TypeItemForm {
  11 + private Integer id;
  12 + private String name;
  13 + private List<Integer> requiredAttributes;
  14 +
  15 + public TypeItem build() {
  16 + List<Attribute> attributes = new ArrayList<>();
  17 +
  18 + for (Integer id : requiredAttributes) {
  19 + Attribute attribute = new Attribute();
  20 + attribute.setId(id);
  21 + attributes.add(attribute);
  22 + }
  23 +
  24 + return TypeItemBuilder.aTypeItem()
  25 + .withId(id)
  26 + .withName(name)
  27 + .withRequiredAttributes(attributes)
  28 + .build();
  29 + }
  30 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/error/exception/DuplicateValueException.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.error.exception;
  2 +
  3 +public class DuplicateValueException extends Exception {
  4 + public DuplicateValueException(String message) {
  5 + super(message);
  6 + }
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/error/exception/RelationshipNotFoundException.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.error.exception;
  2 +
  3 +public class RelationshipNotFoundException extends Exception{
  4 + public RelationshipNotFoundException(String message) {
  5 + super(message);
  6 + }
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/error/handler/DuplicateValueHandler.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.error.handler;
  2 +
  3 +import edu.ifes.ci.si.les.srh.dto.error.DefaultErrorDto;
  4 +import edu.ifes.ci.si.les.srh.error.exception.DuplicateValueException;
  5 +import org.springframework.http.HttpStatus;
  6 +import org.springframework.web.bind.annotation.ExceptionHandler;
  7 +import org.springframework.web.bind.annotation.ResponseStatus;
  8 +import org.springframework.web.bind.annotation.RestControllerAdvice;
  9 +
  10 +@RestControllerAdvice
  11 +public class DuplicateValueHandler {
  12 + @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR)
  13 + @ExceptionHandler(DuplicateValueException.class)
  14 + public DefaultErrorDto handle(Exception exception) {
  15 + return new DefaultErrorDto(
  16 + "O vínculo entre os recursos não existe",
  17 + exception.getMessage()
  18 + );
  19 + }
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/error/handler/FormHandler.java 0 → 100644
... ... @@ -0,0 +1,37 @@
  1 +package edu.ifes.ci.si.les.srh.error.handler;
  2 +
  3 +import edu.ifes.ci.si.les.srh.dto.error.FormErrorDto;
  4 +import org.springframework.beans.factory.annotation.Autowired;
  5 +import org.springframework.context.MessageSource;
  6 +import org.springframework.context.i18n.LocaleContextHolder;
  7 +import org.springframework.http.HttpStatus;
  8 +import org.springframework.validation.FieldError;
  9 +import org.springframework.web.bind.MethodArgumentNotValidException;
  10 +import org.springframework.web.bind.annotation.ExceptionHandler;
  11 +import org.springframework.web.bind.annotation.ResponseStatus;
  12 +import org.springframework.web.bind.annotation.RestControllerAdvice;
  13 +
  14 +import java.util.ArrayList;
  15 +import java.util.List;
  16 +
  17 +@RestControllerAdvice
  18 +public class FormHandler {
  19 + @Autowired
  20 + private MessageSource messageSource;
  21 +
  22 + @ResponseStatus(code = HttpStatus.BAD_REQUEST)
  23 + @ExceptionHandler(MethodArgumentNotValidException.class)
  24 + public List<FormErrorDto> handle(MethodArgumentNotValidException exception) {
  25 + List<FormErrorDto> dtos = new ArrayList<>();
  26 +
  27 + List<FieldError> fieldErrors = exception.getBindingResult().getFieldErrors();
  28 +
  29 + fieldErrors.forEach(e -> {
  30 + String message = messageSource.getMessage(e, LocaleContextHolder.getLocale());
  31 + FormErrorDto formError = new FormErrorDto(e.getField(), message);
  32 + dtos.add(formError);
  33 + });
  34 +
  35 + return dtos;
  36 + }
  37 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/error/handler/RelationshipNotFoundHandler.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.error.handler;
  2 +
  3 +import edu.ifes.ci.si.les.srh.dto.error.DefaultErrorDto;
  4 +import edu.ifes.ci.si.les.srh.error.exception.RelationshipNotFoundException;
  5 +import org.springframework.http.HttpStatus;
  6 +import org.springframework.web.bind.annotation.ExceptionHandler;
  7 +import org.springframework.web.bind.annotation.ResponseStatus;
  8 +import org.springframework.web.bind.annotation.RestControllerAdvice;
  9 +
  10 +@RestControllerAdvice
  11 +public class RelationshipNotFoundHandler {
  12 + @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR)
  13 + @ExceptionHandler(RelationshipNotFoundException.class)
  14 + public DefaultErrorDto handle(Exception exception) {
  15 + return new DefaultErrorDto(
  16 + "O relacionamento não existe",
  17 + exception.getMessage()
  18 + );
  19 + }
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Admin.java 0 → 100644
... ... @@ -0,0 +1,16 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +
  6 +import javax.persistence.Entity;
  7 +import javax.persistence.OneToMany;
  8 +import java.util.List;
  9 +
  10 +@Entity
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +public class Admin extends User {
  14 + @OneToMany(mappedBy = "admin")
  15 + private List<Project> projects;
  16 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/ApiUser.java 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +
  6 +import javax.persistence.Entity;
  7 +import javax.persistence.FetchType;
  8 +import javax.persistence.ManyToMany;
  9 +import java.util.List;
  10 +
  11 +@Entity
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +public class ApiUser extends User {
  15 + @ManyToMany(fetch = FetchType.EAGER)
  16 + private List<Profile> profiles;
  17 + private boolean isAdmin;
  18 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Attribute.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +
  7 +@Entity
  8 +@Data
  9 +public class Attribute {
  10 + @Id
  11 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  12 + private Integer id;
  13 +
  14 + @ManyToOne
  15 + private TypeItem typeItem;
  16 +
  17 + private String name;
  18 + private String type;
  19 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Evaluator.java 0 → 100644
... ... @@ -0,0 +1,23 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +
  6 +import javax.persistence.Entity;
  7 +import javax.persistence.ManyToMany;
  8 +import javax.persistence.OneToMany;
  9 +import java.util.List;
  10 +
  11 +@Entity
  12 +@Data
  13 +@EqualsAndHashCode(callSuper = true)
  14 +public class Evaluator extends User {
  15 + @ManyToMany
  16 + private List<Project> projects;
  17 +
  18 + @OneToMany(mappedBy = "user")
  19 + private List<ItemRating> itemRatings;
  20 +
  21 + @OneToMany(mappedBy = "evaluator")
  22 + private List<RecommendationRating> recommendationRatings;
  23 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Item.java 0 → 100644
... ... @@ -0,0 +1,34 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.HashMap;
  7 +import java.util.List;
  8 +
  9 +@Entity
  10 +@Data
  11 +public class Item {
  12 + @Id
  13 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  14 + private Integer id;
  15 +
  16 + private String name;
  17 + private String description;
  18 + private HashMap<String, String> attributes;
  19 +
  20 + @OneToMany(mappedBy = "item")
  21 + private List<ItemRating> itemRatings;
  22 +
  23 + @OneToMany(mappedBy = "item")
  24 + private List<Recommendation> recommendations;
  25 +
  26 + @ManyToOne
  27 + private Project project;
  28 +
  29 + @ManyToOne
  30 + private TypeItem typeItem;
  31 +
  32 + @ManyToMany(mappedBy = "itens")
  33 + private List<Tag> tags;
  34 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/ItemRating.java 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +
  6 +import javax.persistence.Entity;
  7 +import javax.persistence.ManyToOne;
  8 +
  9 +@Entity
  10 +@Data
  11 +@EqualsAndHashCode(callSuper = true)
  12 +public class ItemRating extends Rating {
  13 + @ManyToOne
  14 + private Evaluator user;
  15 +
  16 + @ManyToOne
  17 + private Item item;
  18 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/ItemTag.java 0 → 100644
... ... @@ -0,0 +1,76 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import edu.ifes.ci.si.les.srh.error.exception.DuplicateValueException;
  4 +import edu.ifes.ci.si.les.srh.error.exception.RelationshipNotFoundException;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Data;
  7 +import lombok.SneakyThrows;
  8 +
  9 +import java.util.List;
  10 +
  11 +@Data
  12 +@AllArgsConstructor
  13 +public class ItemTag {
  14 + private Item item;
  15 + private Tag tag;
  16 +
  17 + @SneakyThrows
  18 + public void addEntities() {
  19 + addItemInTag();
  20 + addTagInItem();
  21 + }
  22 +
  23 + @SneakyThrows
  24 + public void removeEntities() {
  25 + removeItemInTag();
  26 + removeTagInItem();
  27 + }
  28 +
  29 + @SneakyThrows
  30 + private void addItemInTag() {
  31 + List<Item> itensInTag = getItensListInTag();
  32 +
  33 + if (itensInTag.contains(item))
  34 + throw new DuplicateValueException("O item já possui vínculo com a tag");
  35 +
  36 + itensInTag.add(item);
  37 + }
  38 +
  39 + @SneakyThrows
  40 + private void addTagInItem() {
  41 + List<Tag> tagsInItem = getTagListInItem();
  42 +
  43 + if (tagsInItem.contains(tag))
  44 + throw new DuplicateValueException("A tag já possui vínculo com o item");
  45 +
  46 + tagsInItem.add(tag);
  47 + }
  48 +
  49 + @SneakyThrows
  50 + private void removeItemInTag() {
  51 + List<Item> itensInTag = getItensListInTag();
  52 +
  53 + if (!itensInTag.contains(item))
  54 + throw new RelationshipNotFoundException("Não existe vínculo entre o Item e a Tag");
  55 +
  56 + itensInTag.remove(item);
  57 + }
  58 +
  59 + @SneakyThrows
  60 + private void removeTagInItem() {
  61 + List<Tag> tagsInItem = getTagListInItem();
  62 +
  63 + if (!tagsInItem.contains(tag))
  64 + throw new RelationshipNotFoundException("Não existe vínculo entre a Tag e o Item");
  65 +
  66 + tagsInItem.remove(tag);
  67 + }
  68 +
  69 + private List<Item> getItensListInTag() {
  70 + return tag.getItens();
  71 + }
  72 +
  73 + private List<Tag> getTagListInItem() {
  74 + return item.getTags();
  75 + }
  76 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Profile.java 0 → 100644
... ... @@ -0,0 +1,19 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.List;
  7 +
  8 +@Entity
  9 +@Data
  10 +public class Profile {
  11 + @Id
  12 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  13 + private Integer id;
  14 +
  15 + private String name;
  16 +
  17 + @ManyToMany
  18 + private List<ApiUser> apiUsers;
  19 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Project.java 0 → 100644
... ... @@ -0,0 +1,32 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +import java.time.LocalDate;
  7 +import java.util.List;
  8 +
  9 +@Entity
  10 +@Data
  11 +public class Project {
  12 + @Id
  13 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  14 + private Integer id;
  15 +
  16 + private String name;
  17 + private String description;
  18 + private LocalDate date;
  19 + private Boolean visible;
  20 +
  21 + @Enumerated(EnumType.STRING)
  22 + private Situations situation;
  23 +
  24 + @ManyToOne
  25 + private Admin admin;
  26 +
  27 + @ManyToMany(mappedBy = "projects")
  28 + private List<Evaluator> evaluators;
  29 +
  30 + @OneToMany(mappedBy = "project")
  31 + private List<Item> itens;
  32 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/ProjectEvaluator.java 0 → 100644
... ... @@ -0,0 +1,76 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import edu.ifes.ci.si.les.srh.error.exception.DuplicateValueException;
  4 +import edu.ifes.ci.si.les.srh.error.exception.RelationshipNotFoundException;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Data;
  7 +import lombok.SneakyThrows;
  8 +
  9 +import java.util.List;
  10 +
  11 +@Data
  12 +@AllArgsConstructor
  13 +public class ProjectEvaluator {
  14 + private Project project;
  15 + private Evaluator evaluator;
  16 +
  17 + @SneakyThrows
  18 + public void addEntities() {
  19 + addProjectInRecommender();
  20 + addRecommenderInProject();
  21 + }
  22 +
  23 + @SneakyThrows
  24 + public void removeEntities() {
  25 + removeProjectInRecommender();
  26 + removeRecommenderInProject();
  27 + }
  28 +
  29 + @SneakyThrows
  30 + private void addRecommenderInProject() {
  31 + List<Evaluator> recommendersInProject = getRecommenderListInProject();
  32 +
  33 + if (recommendersInProject.contains(evaluator))
  34 + throw new DuplicateValueException("Recommender link already exists");
  35 +
  36 + recommendersInProject.add(evaluator);
  37 + }
  38 +
  39 + @SneakyThrows
  40 + private void addProjectInRecommender() {
  41 + List<Project> projectsInRecommender = getProjectListInRecommender();
  42 +
  43 + if (projectsInRecommender.contains(project))
  44 + throw new DuplicateValueException("Project link already exists");
  45 +
  46 + projectsInRecommender.add(project);
  47 + }
  48 +
  49 + @SneakyThrows
  50 + private void removeRecommenderInProject() {
  51 + List<Evaluator> recommendersInProject = getRecommenderListInProject();
  52 +
  53 + if (!recommendersInProject.contains(evaluator))
  54 + throw new RelationshipNotFoundException("Project not exist in Recommender");
  55 +
  56 + recommendersInProject.remove(evaluator);
  57 + }
  58 +
  59 + @SneakyThrows
  60 + private void removeProjectInRecommender() {
  61 + List<Project> projectsInRecommender = getProjectListInRecommender();
  62 +
  63 + if (!projectsInRecommender.contains(project))
  64 + throw new RelationshipNotFoundException("Recommender not exist in Project");
  65 +
  66 + projectsInRecommender.remove(project);
  67 + }
  68 +
  69 + private List<Evaluator> getRecommenderListInProject() {
  70 + return project.getEvaluators();
  71 + }
  72 +
  73 + private List<Project> getProjectListInRecommender() {
  74 + return evaluator.getProjects();
  75 + }
  76 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Rating.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.GeneratedValue;
  6 +import javax.persistence.GenerationType;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.MappedSuperclass;
  9 +import java.time.LocalDateTime;
  10 +
  11 +@MappedSuperclass
  12 +@Data
  13 +public abstract class Rating {
  14 + @Id
  15 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  16 + private Integer id;
  17 +
  18 + private Double score;
  19 + private LocalDateTime date;
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Recommendation.java 0 → 100644
... ... @@ -0,0 +1,31 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +import java.time.LocalDateTime;
  7 +import java.util.List;
  8 +
  9 +@Entity
  10 +@Data
  11 +public class Recommendation {
  12 + @Id
  13 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  14 + private Integer id;
  15 +
  16 + private Double weight;
  17 + private LocalDateTime date;
  18 + private Integer runtimeInSeconds;
  19 +
  20 + @Enumerated(EnumType.STRING)
  21 + private TypeRecommendation typeRecommendation;
  22 +
  23 + @ManyToOne
  24 + private Evaluator evaluator;
  25 +
  26 + @ManyToOne
  27 + private Item item;
  28 +
  29 + @OneToMany(mappedBy = "recommendation")
  30 + private List<RecommendationRating> recommendationRatings;
  31 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/RecommendationRating.java 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +import lombok.EqualsAndHashCode;
  5 +
  6 +import javax.persistence.Entity;
  7 +import javax.persistence.ManyToOne;
  8 +
  9 +@Entity
  10 +@Data
  11 +@EqualsAndHashCode(callSuper = true)
  12 +public class RecommendationRating extends Rating {
  13 + @ManyToOne
  14 + private Recommendation recommendation;
  15 +
  16 + @ManyToOne
  17 + private Evaluator evaluator;
  18 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Situations.java 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +public enum Situations {
  4 + OPEN, CLOSED
  5 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/Tag.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.List;
  7 +
  8 +@Entity
  9 +@Data
  10 +public class Tag {
  11 + @Id
  12 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  13 + private Integer id;
  14 +
  15 + @Column(unique = true)
  16 + private String name;
  17 +
  18 + @ManyToMany
  19 + private List<Item> itens;
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/TypeItem.java 0 → 100644
... ... @@ -0,0 +1,22 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +import java.util.List;
  7 +
  8 +@Entity
  9 +@Data
  10 +public class TypeItem {
  11 + @Id
  12 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  13 + private Integer id;
  14 +
  15 + private String name;
  16 +
  17 + @OneToMany(mappedBy = "typeItem")
  18 + private List<Attribute> requiredAttributes;
  19 +
  20 + @OneToMany(mappedBy = "typeItem")
  21 + private List<Item> itens;
  22 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/TypeRecommendation.java 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +public enum TypeRecommendation {
  4 + COLLABORATIVE, CONTENT, HYBRID
  5 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/model/User.java 0 → 100644
... ... @@ -0,0 +1,20 @@
  1 +package edu.ifes.ci.si.les.srh.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import javax.persistence.*;
  6 +
  7 +@MappedSuperclass
  8 +@Data
  9 +public abstract class User {
  10 + @Id
  11 + @GeneratedValue(strategy = GenerationType.IDENTITY)
  12 + private Integer id;
  13 +
  14 + @Column(unique = true)
  15 + protected String login;
  16 +
  17 + private String name;
  18 + private String email;
  19 + protected String password;
  20 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/AdminRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Admin;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface AdminRepository extends PagingAndSortingRepository<Admin, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/ApiUserRepository.java 0 → 100644
... ... @@ -0,0 +1,10 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ApiUser;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +import java.util.Optional;
  7 +
  8 +public interface ApiUserRepository extends PagingAndSortingRepository<ApiUser, Integer> {
  9 + Optional<ApiUser> findByLogin(String login);
  10 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/EvaluatorRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Evaluator;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface EvaluatorRepository extends PagingAndSortingRepository<Evaluator, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/ItemRatingRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.ItemRating;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface ItemRatingRepository extends PagingAndSortingRepository<ItemRating, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/ItemRepository.java 0 → 100644
... ... @@ -0,0 +1,8 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +
  4 +import edu.ifes.ci.si.les.srh.model.Item;
  5 +import org.springframework.data.repository.PagingAndSortingRepository;
  6 +
  7 +public interface ItemRepository extends PagingAndSortingRepository<Item, Integer> {
  8 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/ProfileRepository.java 0 → 100644
... ... @@ -0,0 +1,10 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Profile;
  4 +import org.springframework.data.jpa.repository.JpaRepository;
  5 +
  6 +import java.util.Optional;
  7 +
  8 +public interface ProfileRepository extends JpaRepository<Profile, Integer> {
  9 + Optional<Profile> findByName(String name);
  10 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/ProjectRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Project;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface ProjectRepository extends PagingAndSortingRepository<Project, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/RecommendationRatingRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.RecommendationRating;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface RecommendationRatingRepository extends PagingAndSortingRepository<RecommendationRating, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/RecommendationRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Recommendation;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface RecommendationRepository extends PagingAndSortingRepository<Recommendation, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/TagRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.Tag;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface TagRepository extends PagingAndSortingRepository<Tag, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/repository/TypeItemRepository.java 0 → 100644
... ... @@ -0,0 +1,7 @@
  1 +package edu.ifes.ci.si.les.srh.repository;
  2 +
  3 +import edu.ifes.ci.si.les.srh.model.TypeItem;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +
  6 +public interface TypeItemRepository extends PagingAndSortingRepository<TypeItem, Integer> {
  7 +}
... ...
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/SrhApplication.java
... ... @@ -1,13 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh;
2   -
3   -import org.springframework.boot.SpringApplication;
4   -import org.springframework.boot.autoconfigure.SpringBootApplication;
5   -
6   -@SpringBootApplication
7   -public class SrhApplication {
8   -
9   - public static void main(String[] args) {
10   - SpringApplication.run(SrhApplication.class, args);
11   - }
12   -
13   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/AdminBuilder.java
... ... @@ -1,63 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Admin;
4   -import edu.ifes.ci.si.les.srh.srh.model.Project;
5   -
6   -import java.util.List;
7   -
8   -public final class AdminBuilder {
9   - protected String login;
10   - protected String password;
11   - private List<Project> projects;
12   - private Integer id;
13   - private String name;
14   - private String email;
15   -
16   - private AdminBuilder() {
17   - }
18   -
19   - public static AdminBuilder anAdmin() {
20   - return new AdminBuilder();
21   - }
22   -
23   - public AdminBuilder withProjects(List<Project> projects) {
24   - this.projects = projects;
25   - return this;
26   - }
27   -
28   - public AdminBuilder withId(Integer id) {
29   - this.id = id;
30   - return this;
31   - }
32   -
33   - public AdminBuilder withLogin(String login) {
34   - this.login = login;
35   - return this;
36   - }
37   -
38   - public AdminBuilder withName(String name) {
39   - this.name = name;
40   - return this;
41   - }
42   -
43   - public AdminBuilder withEmail(String email) {
44   - this.email = email;
45   - return this;
46   - }
47   -
48   - public AdminBuilder withPassword(String password) {
49   - this.password = password;
50   - return this;
51   - }
52   -
53   - public Admin build() {
54   - Admin admin = new Admin();
55   - admin.setProjects(projects);
56   - admin.setId(id);
57   - admin.setLogin(login);
58   - admin.setName(name);
59   - admin.setEmail(email);
60   - admin.setPassword(password);
61   - return admin;
62   - }
63   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ApiUserBuilder.java
... ... @@ -1,63 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.ApiUser;
4   -import edu.ifes.ci.si.les.srh.srh.model.Profile;
5   -
6   -import java.util.List;
7   -
8   -public final class ApiUserBuilder {
9   - protected String login;
10   - protected String password;
11   - private List<Profile> profiles;
12   - private Integer id;
13   - private String name;
14   - private String email;
15   -
16   - private ApiUserBuilder() {
17   - }
18   -
19   - public static ApiUserBuilder anApiUser() {
20   - return new ApiUserBuilder();
21   - }
22   -
23   - public ApiUserBuilder withProfiles(List<Profile> profiles) {
24   - this.profiles = profiles;
25   - return this;
26   - }
27   -
28   - public ApiUserBuilder withId(Integer id) {
29   - this.id = id;
30   - return this;
31   - }
32   -
33   - public ApiUserBuilder withLogin(String login) {
34   - this.login = login;
35   - return this;
36   - }
37   -
38   - public ApiUserBuilder withName(String name) {
39   - this.name = name;
40   - return this;
41   - }
42   -
43   - public ApiUserBuilder withEmail(String email) {
44   - this.email = email;
45   - return this;
46   - }
47   -
48   - public ApiUserBuilder withPassword(String password) {
49   - this.password = password;
50   - return this;
51   - }
52   -
53   - public ApiUser build() {
54   - ApiUser apiUser = new ApiUser();
55   - apiUser.setProfiles(profiles);
56   - apiUser.setId(id);
57   - apiUser.setLogin(login);
58   - apiUser.setName(name);
59   - apiUser.setEmail(email);
60   - apiUser.setPassword(password);
61   - return apiUser;
62   - }
63   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/EvaluatorBuilder.java
... ... @@ -1,79 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
4   -import edu.ifes.ci.si.les.srh.srh.model.ItemRating;
5   -import edu.ifes.ci.si.les.srh.srh.model.Project;
6   -import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating;
7   -
8   -import java.util.List;
9   -
10   -public final class EvaluatorBuilder {
11   - protected String login;
12   - protected String password;
13   - private List<Project> projects;
14   - private List<ItemRating> itemRatings;
15   - private List<RecommendationRating> recommendationRatings;
16   - private Integer id;
17   - private String name;
18   - private String email;
19   -
20   - private EvaluatorBuilder() {
21   - }
22   -
23   - public static EvaluatorBuilder anEvaluator() {
24   - return new EvaluatorBuilder();
25   - }
26   -
27   - public EvaluatorBuilder withProjects(List<Project> projects) {
28   - this.projects = projects;
29   - return this;
30   - }
31   -
32   - public EvaluatorBuilder withItemRatings(List<ItemRating> itemRatings) {
33   - this.itemRatings = itemRatings;
34   - return this;
35   - }
36   -
37   - public EvaluatorBuilder withRecommendationRatings(List<RecommendationRating> recommendationRatings) {
38   - this.recommendationRatings = recommendationRatings;
39   - return this;
40   - }
41   -
42   - public EvaluatorBuilder withId(Integer id) {
43   - this.id = id;
44   - return this;
45   - }
46   -
47   - public EvaluatorBuilder withLogin(String login) {
48   - this.login = login;
49   - return this;
50   - }
51   -
52   - public EvaluatorBuilder withName(String name) {
53   - this.name = name;
54   - return this;
55   - }
56   -
57   - public EvaluatorBuilder withEmail(String email) {
58   - this.email = email;
59   - return this;
60   - }
61   -
62   - public EvaluatorBuilder withPassword(String password) {
63   - this.password = password;
64   - return this;
65   - }
66   -
67   - public Evaluator build() {
68   - Evaluator evaluator = new Evaluator();
69   - evaluator.setProjects(projects);
70   - evaluator.setItemRatings(itemRatings);
71   - evaluator.setRecommendationRatings(recommendationRatings);
72   - evaluator.setId(id);
73   - evaluator.setLogin(login);
74   - evaluator.setName(name);
75   - evaluator.setEmail(email);
76   - evaluator.setPassword(password);
77   - return evaluator;
78   - }
79   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ItemBuilder.java
... ... @@ -1,84 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.*;
4   -
5   -import java.util.HashMap;
6   -import java.util.List;
7   -
8   -public final class ItemBuilder {
9   - private Integer id;
10   - private String name;
11   - private String description;
12   - private HashMap<String, String> attributes;
13   - private List<ItemRating> itemRatings;
14   - private List<Recommendation> recommendations;
15   - private Project project;
16   - private TypeItem typeItem;
17   - private List<Tag> tags;
18   -
19   - private ItemBuilder() {
20   - }
21   -
22   - public static ItemBuilder anItem() {
23   - return new ItemBuilder();
24   - }
25   -
26   - public ItemBuilder withId(Integer id) {
27   - this.id = id;
28   - return this;
29   - }
30   -
31   - public ItemBuilder withName(String name) {
32   - this.name = name;
33   - return this;
34   - }
35   -
36   - public ItemBuilder withDescription(String description) {
37   - this.description = description;
38   - return this;
39   - }
40   -
41   - public ItemBuilder withAttributes(HashMap<String, String> attributes) {
42   - this.attributes = attributes;
43   - return this;
44   - }
45   -
46   - public ItemBuilder withItemRatings(List<ItemRating> itemRatings) {
47   - this.itemRatings = itemRatings;
48   - return this;
49   - }
50   -
51   - public ItemBuilder withRecommendations(List<Recommendation> recommendations) {
52   - this.recommendations = recommendations;
53   - return this;
54   - }
55   -
56   - public ItemBuilder withProject(Project project) {
57   - this.project = project;
58   - return this;
59   - }
60   -
61   - public ItemBuilder withTypeItem(TypeItem typeItem) {
62   - this.typeItem = typeItem;
63   - return this;
64   - }
65   -
66   - public ItemBuilder withTags(List<Tag> tags) {
67   - this.tags = tags;
68   - return this;
69   - }
70   -
71   - public Item build() {
72   - Item item = new Item();
73   - item.setId(id);
74   - item.setName(name);
75   - item.setDescription(description);
76   - item.setAttributes(attributes);
77   - item.setItemRatings(itemRatings);
78   - item.setRecommendations(recommendations);
79   - item.setProject(project);
80   - item.setTypeItem(typeItem);
81   - item.setTags(tags);
82   - return item;
83   - }
84   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ItemRatingBuilder.java
... ... @@ -1,57 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
4   -import edu.ifes.ci.si.les.srh.srh.model.Item;
5   -import edu.ifes.ci.si.les.srh.srh.model.ItemRating;
6   -
7   -import java.time.LocalDateTime;
8   -
9   -public final class ItemRatingBuilder {
10   - private Evaluator user;
11   - private Item item;
12   - private Integer id;
13   - private Double score;
14   - private LocalDateTime date;
15   -
16   - private ItemRatingBuilder() {
17   - }
18   -
19   - public static ItemRatingBuilder anItemRating() {
20   - return new ItemRatingBuilder();
21   - }
22   -
23   - public ItemRatingBuilder withUser(Evaluator user) {
24   - this.user = user;
25   - return this;
26   - }
27   -
28   - public ItemRatingBuilder withItem(Item item) {
29   - this.item = item;
30   - return this;
31   - }
32   -
33   - public ItemRatingBuilder withId(Integer id) {
34   - this.id = id;
35   - return this;
36   - }
37   -
38   - public ItemRatingBuilder withScore(Double score) {
39   - this.score = score;
40   - return this;
41   - }
42   -
43   - public ItemRatingBuilder withDate(LocalDateTime date) {
44   - this.date = date;
45   - return this;
46   - }
47   -
48   - public ItemRating build() {
49   - ItemRating itemRating = new ItemRating();
50   - itemRating.setUser(user);
51   - itemRating.setItem(item);
52   - itemRating.setId(id);
53   - itemRating.setScore(score);
54   - itemRating.setDate(date);
55   - return itemRating;
56   - }
57   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ItemTagBuilder.java
... ... @@ -1,31 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Item;
4   -import edu.ifes.ci.si.les.srh.srh.model.ItemTag;
5   -import edu.ifes.ci.si.les.srh.srh.model.Tag;
6   -
7   -public final class ItemTagBuilder {
8   - private Item item;
9   - private Tag tag;
10   -
11   - private ItemTagBuilder() {
12   - }
13   -
14   - public static ItemTagBuilder anItemTag() {
15   - return new ItemTagBuilder();
16   - }
17   -
18   - public ItemTagBuilder withItem(Item item) {
19   - this.item = item;
20   - return this;
21   - }
22   -
23   - public ItemTagBuilder withTag(Tag tag) {
24   - this.tag = tag;
25   - return this;
26   - }
27   -
28   - public ItemTag build() {
29   - return new ItemTag(item, tag);
30   - }
31   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ProfileBuilder.java
... ... @@ -1,42 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.ApiUser;
4   -import edu.ifes.ci.si.les.srh.srh.model.Profile;
5   -
6   -import java.util.List;
7   -
8   -public final class ProfileBuilder {
9   - private Integer id;
10   - private String name;
11   - private List<ApiUser> apiUsers;
12   -
13   - private ProfileBuilder() {
14   - }
15   -
16   - public static ProfileBuilder aProfile() {
17   - return new ProfileBuilder();
18   - }
19   -
20   - public ProfileBuilder withId(Integer id) {
21   - this.id = id;
22   - return this;
23   - }
24   -
25   - public ProfileBuilder withName(String name) {
26   - this.name = name;
27   - return this;
28   - }
29   -
30   - public ProfileBuilder withApiUsers(List<ApiUser> apiUsers) {
31   - this.apiUsers = apiUsers;
32   - return this;
33   - }
34   -
35   - public Profile build() {
36   - Profile profile = new Profile();
37   - profile.setId(id);
38   - profile.setName(name);
39   - profile.setApiUsers(apiUsers);
40   - return profile;
41   - }
42   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/ProjectBuilder.java
... ... @@ -1,84 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.*;
4   -
5   -import java.time.LocalDate;
6   -import java.util.List;
7   -
8   -public final class ProjectBuilder {
9   - private Integer id;
10   - private String name;
11   - private String description;
12   - private LocalDate date;
13   - private Boolean visible;
14   - private Situations situation;
15   - private Admin admin;
16   - private List<Evaluator> evaluators;
17   - private List<Item> itens;
18   -
19   - private ProjectBuilder() {
20   - }
21   -
22   - public static ProjectBuilder aProject() {
23   - return new ProjectBuilder();
24   - }
25   -
26   - public ProjectBuilder withId(Integer id) {
27   - this.id = id;
28   - return this;
29   - }
30   -
31   - public ProjectBuilder withName(String name) {
32   - this.name = name;
33   - return this;
34   - }
35   -
36   - public ProjectBuilder withDescription(String description) {
37   - this.description = description;
38   - return this;
39   - }
40   -
41   - public ProjectBuilder withDate(LocalDate date) {
42   - this.date = date;
43   - return this;
44   - }
45   -
46   - public ProjectBuilder withVisible(Boolean visible) {
47   - this.visible = visible;
48   - return this;
49   - }
50   -
51   - public ProjectBuilder withSituation(Situations situation) {
52   - this.situation = situation;
53   - return this;
54   - }
55   -
56   - public ProjectBuilder withAdmin(Admin admin) {
57   - this.admin = admin;
58   - return this;
59   - }
60   -
61   - public ProjectBuilder withEvaluators(List<Evaluator> evaluators) {
62   - this.evaluators = evaluators;
63   - return this;
64   - }
65   -
66   - public ProjectBuilder withItens(List<Item> itens) {
67   - this.itens = itens;
68   - return this;
69   - }
70   -
71   - public Project build() {
72   - Project project = new Project();
73   - project.setId(id);
74   - project.setName(name);
75   - project.setDescription(description);
76   - project.setDate(date);
77   - project.setVisible(visible);
78   - project.setSituation(situation);
79   - project.setAdmin(admin);
80   - project.setEvaluators(evaluators);
81   - project.setItens(itens);
82   - return project;
83   - }
84   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/RecommendationBuilder.java
... ... @@ -1,77 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.*;
4   -
5   -import java.time.LocalDateTime;
6   -import java.util.List;
7   -
8   -public final class RecommendationBuilder {
9   - private Integer id;
10   - private Double weight;
11   - private LocalDateTime date;
12   - private Integer runtimeInSeconds;
13   - private TypeRecommendation typeRecommendation;
14   - private Evaluator evaluator;
15   - private Item item;
16   - private List<RecommendationRating> recommendationRatings;
17   -
18   - private RecommendationBuilder() {
19   - }
20   -
21   - public static RecommendationBuilder aRecommendation() {
22   - return new RecommendationBuilder();
23   - }
24   -
25   - public RecommendationBuilder withId(Integer id) {
26   - this.id = id;
27   - return this;
28   - }
29   -
30   - public RecommendationBuilder withWeight(Double weight) {
31   - this.weight = weight;
32   - return this;
33   - }
34   -
35   - public RecommendationBuilder withDate(LocalDateTime date) {
36   - this.date = date;
37   - return this;
38   - }
39   -
40   - public RecommendationBuilder withRuntimeInSeconds(Integer runtimeInSeconds) {
41   - this.runtimeInSeconds = runtimeInSeconds;
42   - return this;
43   - }
44   -
45   - public RecommendationBuilder withTypeRecommendation(TypeRecommendation typeRecommendation) {
46   - this.typeRecommendation = typeRecommendation;
47   - return this;
48   - }
49   -
50   - public RecommendationBuilder withEvaluator(Evaluator evaluator) {
51   - this.evaluator = evaluator;
52   - return this;
53   - }
54   -
55   - public RecommendationBuilder withItem(Item item) {
56   - this.item = item;
57   - return this;
58   - }
59   -
60   - public RecommendationBuilder withRecommendationRatings(List<RecommendationRating> recommendationRatings) {
61   - this.recommendationRatings = recommendationRatings;
62   - return this;
63   - }
64   -
65   - public Recommendation build() {
66   - Recommendation recommendation = new Recommendation();
67   - recommendation.setId(id);
68   - recommendation.setWeight(weight);
69   - recommendation.setDate(date);
70   - recommendation.setRuntimeInSeconds(runtimeInSeconds);
71   - recommendation.setTypeRecommendation(typeRecommendation);
72   - recommendation.setEvaluator(evaluator);
73   - recommendation.setItem(item);
74   - recommendation.setRecommendationRatings(recommendationRatings);
75   - return recommendation;
76   - }
77   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/RecommendationRatingBuilder.java
... ... @@ -1,57 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
4   -import edu.ifes.ci.si.les.srh.srh.model.Recommendation;
5   -import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating;
6   -
7   -import java.time.LocalDateTime;
8   -
9   -public final class RecommendationRatingBuilder {
10   - private Recommendation recommendation;
11   - private Evaluator evaluator;
12   - private Integer id;
13   - private Double score;
14   - private LocalDateTime date;
15   -
16   - private RecommendationRatingBuilder() {
17   - }
18   -
19   - public static RecommendationRatingBuilder aRecommendationRating() {
20   - return new RecommendationRatingBuilder();
21   - }
22   -
23   - public RecommendationRatingBuilder withRecommendation(Recommendation recommendation) {
24   - this.recommendation = recommendation;
25   - return this;
26   - }
27   -
28   - public RecommendationRatingBuilder withEvaluator(Evaluator evaluator) {
29   - this.evaluator = evaluator;
30   - return this;
31   - }
32   -
33   - public RecommendationRatingBuilder withId(Integer id) {
34   - this.id = id;
35   - return this;
36   - }
37   -
38   - public RecommendationRatingBuilder withScore(Double score) {
39   - this.score = score;
40   - return this;
41   - }
42   -
43   - public RecommendationRatingBuilder withDate(LocalDateTime date) {
44   - this.date = date;
45   - return this;
46   - }
47   -
48   - public RecommendationRating build() {
49   - RecommendationRating recommendationRating = new RecommendationRating();
50   - recommendationRating.setRecommendation(recommendation);
51   - recommendationRating.setEvaluator(evaluator);
52   - recommendationRating.setId(id);
53   - recommendationRating.setScore(score);
54   - recommendationRating.setDate(date);
55   - return recommendationRating;
56   - }
57   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/TagBuilder.java
... ... @@ -1,42 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Item;
4   -import edu.ifes.ci.si.les.srh.srh.model.Tag;
5   -
6   -import java.util.List;
7   -
8   -public final class TagBuilder {
9   - private Integer id;
10   - private String name;
11   - private List<Item> itens;
12   -
13   - private TagBuilder() {
14   - }
15   -
16   - public static TagBuilder aTag() {
17   - return new TagBuilder();
18   - }
19   -
20   - public TagBuilder withId(Integer id) {
21   - this.id = id;
22   - return this;
23   - }
24   -
25   - public TagBuilder withName(String name) {
26   - this.name = name;
27   - return this;
28   - }
29   -
30   - public TagBuilder withItens(List<Item> itens) {
31   - this.itens = itens;
32   - return this;
33   - }
34   -
35   - public Tag build() {
36   - Tag tag = new Tag();
37   - tag.setId(id);
38   - tag.setName(name);
39   - tag.setItens(itens);
40   - return tag;
41   - }
42   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/builder/TypeItemBuilder.java
... ... @@ -1,49 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.builder;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Item;
4   -import edu.ifes.ci.si.les.srh.srh.model.TypeItem;
5   -
6   -import java.util.List;
7   -
8   -public final class TypeItemBuilder {
9   - private Integer id;
10   - private String name;
11   - private List<String> requiredAttributes;
12   - private List<Item> itens;
13   -
14   - private TypeItemBuilder() {
15   - }
16   -
17   - public static TypeItemBuilder aTypeItem() {
18   - return new TypeItemBuilder();
19   - }
20   -
21   - public TypeItemBuilder withId(Integer id) {
22   - this.id = id;
23   - return this;
24   - }
25   -
26   - public TypeItemBuilder withName(String name) {
27   - this.name = name;
28   - return this;
29   - }
30   -
31   - public TypeItemBuilder withRequiredAttributes(List<String> requiredAttributes) {
32   - this.requiredAttributes = requiredAttributes;
33   - return this;
34   - }
35   -
36   - public TypeItemBuilder withItens(List<Item> itens) {
37   - this.itens = itens;
38   - return this;
39   - }
40   -
41   - public TypeItem build() {
42   - TypeItem typeItem = new TypeItem();
43   - typeItem.setId(id);
44   - typeItem.setName(name);
45   - typeItem.setRequiredAttributes(requiredAttributes);
46   - typeItem.setItens(itens);
47   - return typeItem;
48   - }
49   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/error/DefaultErrorDto.java
... ... @@ -1,11 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.error;
2   -
3   -import lombok.AllArgsConstructor;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -@AllArgsConstructor
8   -public class DefaultErrorDto {
9   - private final String error;
10   - private final String cause;
11   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/error/FormErrorDto.java
... ... @@ -1,11 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.error;
2   -
3   -import lombok.AllArgsConstructor;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -@AllArgsConstructor
8   -public class FormErrorDto {
9   - private final String error;
10   - private final String field;
11   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/AdminDto.java
... ... @@ -1,19 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Admin;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -public class AdminDto {
8   - private final Integer id;
9   - private final String name;
10   - private final String login;
11   - private final String email;
12   -
13   - public AdminDto(Admin admin) {
14   - this.id = admin.getId();
15   - this.name = admin.getName();
16   - this.login = admin.getLogin();
17   - this.email = admin.getEmail();
18   - }
19   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/AdminForm.java
... ... @@ -1,44 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.AdminBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.model.Admin;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Getter;
7   -import lombok.NoArgsConstructor;
8   -import org.hibernate.validator.constraints.Length;
9   -
10   -import javax.validation.constraints.Email;
11   -import javax.validation.constraints.NotEmpty;
12   -import javax.validation.constraints.NotNull;
13   -
14   -@Getter
15   -@AllArgsConstructor
16   -@NoArgsConstructor
17   -public class AdminForm {
18   - @NotNull
19   - @NotEmpty
20   - private String name;
21   -
22   - @NotNull
23   - @NotEmpty
24   - private String login;
25   -
26   - @NotNull
27   - @NotEmpty
28   - @Length(min = 6)
29   - private String password;
30   -
31   - @NotNull
32   - @NotEmpty
33   - @Email
34   - private String email;
35   -
36   - public Admin build() {
37   - return AdminBuilder.anAdmin()
38   - .withName(name)
39   - .withLogin(login)
40   - .withEmail(email)
41   - .withPassword(password)
42   - .build();
43   - }
44   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ApiUserForm.java
... ... @@ -1,45 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.ApiUserBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.model.ApiUser;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Getter;
7   -import lombok.NoArgsConstructor;
8   -import org.hibernate.validator.constraints.Length;
9   -
10   -import javax.validation.constraints.Email;
11   -import javax.validation.constraints.NotEmpty;
12   -import javax.validation.constraints.NotNull;
13   -
14   -@Getter
15   -@AllArgsConstructor
16   -@NoArgsConstructor
17   -public class ApiUserForm {
18   - @NotEmpty
19   - @NotNull
20   - @Length(min = 3)
21   - private String name;
22   -
23   - @NotEmpty
24   - @NotNull
25   - @Length(min = 3)
26   - private String login;
27   -
28   - @NotEmpty
29   - @NotNull
30   - @Length(min = 6)
31   - private String password;
32   -
33   - @NotNull
34   - @NotEmpty
35   - @Email
36   - private String email;
37   -
38   - public ApiUser build() {
39   - return ApiUserBuilder.anApiUser()
40   - .withLogin(login)
41   - .withName(name)
42   - .withPassword(password)
43   - .build();
44   - }
45   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ApiUsersDto.java
... ... @@ -1,19 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.ApiUser;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -public class ApiUsersDto {
8   - private final Integer id;
9   - private final String name;
10   - private final String login;
11   - private final boolean isAdmin;
12   -
13   - public ApiUsersDto(ApiUser apiUser) {
14   - this.id = apiUser.getId();
15   - this.name = apiUser.getName();
16   - this.login = apiUser.getLogin();
17   - this.isAdmin = apiUser.isAdmin();
18   - }
19   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/EvaluatorDto.java
... ... @@ -1,19 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -public class EvaluatorDto {
8   - private final Integer id;
9   - private final String name;
10   - private final String login;
11   - private final String email;
12   -
13   - public EvaluatorDto(Evaluator evaluator) {
14   - this.id = evaluator.getId();
15   - this.name = evaluator.getName();
16   - this.login = evaluator.getLogin();
17   - this.email = evaluator.getEmail();
18   - }
19   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/EvaluatorForm.java
... ... @@ -1,44 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.EvaluatorBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Getter;
7   -import lombok.NoArgsConstructor;
8   -import org.hibernate.validator.constraints.Length;
9   -
10   -import javax.validation.constraints.Email;
11   -import javax.validation.constraints.NotEmpty;
12   -import javax.validation.constraints.NotNull;
13   -
14   -@Getter
15   -@AllArgsConstructor
16   -@NoArgsConstructor
17   -public class EvaluatorForm {
18   - @NotNull
19   - @NotEmpty
20   - private String name;
21   -
22   - @NotNull
23   - @NotEmpty
24   - private String login;
25   -
26   - @NotNull
27   - @NotEmpty
28   - @Length(min = 6)
29   - private String password;
30   -
31   - @NotNull
32   - @NotEmpty
33   - @Email
34   - private String email;
35   -
36   - public Evaluator build() {
37   - return EvaluatorBuilder.anEvaluator()
38   - .withName(name)
39   - .withLogin(login)
40   - .withPassword(password)
41   - .withEmail(email)
42   - .build();
43   - }
44   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemDto.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Item;
4   -import lombok.Getter;
5   -import java.util.HashMap;
6   -
7   -@Getter
8   -public class ItemDto {
9   - private final Integer id;
10   - private final String name;
11   - private final String description;
12   - private final HashMap<String, String> attributes;
13   -
14   - public ItemDto(Item item) {
15   - this.id = item.getId();
16   - this.name = item.getName();
17   - this.description = item.getDescription();
18   - this.attributes = item.getAttributes();
19   - }
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemForm.java
... ... @@ -1,37 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.ItemBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.model.Item;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Getter;
7   -import lombok.NoArgsConstructor;
8   -import org.hibernate.validator.constraints.Length;
9   -
10   -import javax.validation.constraints.NotEmpty;
11   -import javax.validation.constraints.NotNull;
12   -
13   -@Getter
14   -@AllArgsConstructor
15   -@NoArgsConstructor
16   -public class ItemForm {
17   - @NotNull
18   - @NotEmpty
19   - @Length(min = 3)
20   - private String name;
21   -
22   - @NotNull
23   - @NotEmpty
24   - @Length(min = 3)
25   - private String description;
26   -
27   - @NotNull
28   - @NotEmpty
29   - private String attributes;
30   -
31   - public Item build() {
32   - return ItemBuilder.anItem()
33   - .withName(name)
34   - .withDescription(description)
35   - .build();
36   - }
37   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemRatingDto.java
... ... @@ -1,19 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.ItemRating;
4   -import lombok.Getter;
5   -
6   -import java.time.LocalDateTime;
7   -
8   -@Getter
9   -public class ItemRatingDto {
10   - private final Integer id;
11   - private final Double score;
12   - private final LocalDateTime date;
13   -
14   - public ItemRatingDto(ItemRating itemRating) {
15   - this.id = itemRating.getId();
16   - this.score = itemRating.getScore();
17   - this.date = itemRating.getDate();
18   - }
19   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemRatingForm.java
... ... @@ -1,43 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.EvaluatorBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.builder.ItemBuilder;
5   -import edu.ifes.ci.si.les.srh.srh.builder.ItemRatingBuilder;
6   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
7   -import edu.ifes.ci.si.les.srh.srh.model.Item;
8   -import edu.ifes.ci.si.les.srh.srh.model.ItemRating;
9   -import lombok.AllArgsConstructor;
10   -import lombok.Getter;
11   -import lombok.NoArgsConstructor;
12   -
13   -import javax.validation.constraints.NotNull;
14   -import java.time.LocalDateTime;
15   -
16   -@Getter
17   -@AllArgsConstructor
18   -@NoArgsConstructor
19   -public class ItemRatingForm {
20   - @NotNull
21   - private Double score;
22   - @NotNull
23   - private Integer evaluatorId;
24   - @NotNull
25   - private Integer itemId;
26   -
27   - public ItemRating build() {
28   - Evaluator evaluator = EvaluatorBuilder.anEvaluator()
29   - .withId(evaluatorId)
30   - .build();
31   -
32   - Item item = ItemBuilder.anItem()
33   - .withId(itemId)
34   - .build();
35   -
36   - return ItemRatingBuilder.anItemRating()
37   - .withScore(score)
38   - .withItem(item)
39   - .withUser(evaluator)
40   - .withDate(LocalDateTime.now())
41   - .build();
42   - }
43   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemTagDto.java
... ... @@ -1,15 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.ItemTag;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -public class ItemTagDto {
8   - private final Integer itemId;
9   - private final Integer tagId;
10   -
11   - public ItemTagDto(ItemTag itemTag) {
12   - this.itemId = itemTag.getItem().getId();
13   - this.tagId = itemTag.getTag().getId();
14   - }
15   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ItemTagForm.java
... ... @@ -1,17 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import lombok.AllArgsConstructor;
4   -import lombok.Getter;
5   -import lombok.NoArgsConstructor;
6   -
7   -import javax.validation.constraints.NotNull;
8   -
9   -@Getter
10   -@AllArgsConstructor
11   -@NoArgsConstructor
12   -public class ItemTagForm {
13   - @NotNull
14   - private Integer itemId;
15   - @NotNull
16   - private Integer tagId;
17   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectDto.java
... ... @@ -1,26 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Project;
4   -import edu.ifes.ci.si.les.srh.srh.model.Situations;
5   -import lombok.Getter;
6   -
7   -import java.time.LocalDate;
8   -
9   -@Getter
10   -public class ProjectDto {
11   - private final Integer id;
12   - private final String name;
13   - private final String description;
14   - private Situations situation;
15   - private final LocalDate date;
16   - private final Boolean visible;
17   -
18   - public ProjectDto(Project project) {
19   - this.id = project.getId();
20   - this.name = project.getName();
21   - this.description = project.getDescription();
22   - this.date = project.getDate();
23   - this.situation = project.getSituation();
24   - this.visible = project.getVisible();
25   - }
26   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectEvaluatorDto.java
... ... @@ -1,15 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.ProjectEvaluator;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -public class ProjectEvaluatorDto {
8   - private final Integer projectId;
9   - private final Integer recommenderId;
10   -
11   - public ProjectEvaluatorDto(ProjectEvaluator projectEvaluator) {
12   - this.projectId = projectEvaluator.getProject().getId();
13   - this.recommenderId = projectEvaluator.getEvaluator().getId();
14   - }
15   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectEvaluatorForm.java
... ... @@ -1,17 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import lombok.AllArgsConstructor;
4   -import lombok.Getter;
5   -import lombok.NoArgsConstructor;
6   -
7   -import javax.validation.constraints.NotNull;
8   -
9   -@Getter
10   -@AllArgsConstructor
11   -@NoArgsConstructor
12   -public class ProjectEvaluatorForm {
13   - @NotNull
14   - private Integer projectId;
15   - @NotNull
16   - private Integer recommenderId;
17   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/ProjectForm.java
... ... @@ -1,56 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.AdminBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.builder.ProjectBuilder;
5   -import edu.ifes.ci.si.les.srh.srh.model.Admin;
6   -import edu.ifes.ci.si.les.srh.srh.model.Project;
7   -import edu.ifes.ci.si.les.srh.srh.model.Situations;
8   -import lombok.AllArgsConstructor;
9   -import lombok.Getter;
10   -import lombok.NoArgsConstructor;
11   -import org.hibernate.validator.constraints.Length;
12   -
13   -import javax.validation.constraints.NotEmpty;
14   -import javax.validation.constraints.NotNull;
15   -import java.time.LocalDate;
16   -
17   -@Getter
18   -@AllArgsConstructor
19   -@NoArgsConstructor
20   -public class ProjectForm {
21   -
22   - @NotEmpty
23   - @NotNull
24   - @Length(min = 3)
25   - private String name;
26   -
27   - @NotEmpty
28   - @NotNull
29   - @Length(min = 3)
30   - private String description;
31   -
32   - @NotNull
33   - private Integer adminId;
34   -
35   - @NotNull
36   - @NotEmpty
37   - private String situation;
38   -
39   - @NotNull
40   - private Boolean visible;
41   -
42   - public Project build() {
43   - Admin admin = AdminBuilder.anAdmin()
44   - .withId(adminId)
45   - .build();
46   -
47   - return ProjectBuilder.aProject()
48   - .withName(name)
49   - .withDescription(description)
50   - .withAdmin(admin)
51   - .withSituation(Situations.valueOf(situation))
52   - .withDate(LocalDate.now())
53   - .withVisible(visible)
54   - .build();
55   - }
56   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/RecommendationDto.java
... ... @@ -1,24 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Recommendation;
4   -import edu.ifes.ci.si.les.srh.srh.model.TypeRecommendation;
5   -import lombok.Getter;
6   -
7   -import java.time.LocalDateTime;
8   -
9   -@Getter
10   -public class RecommendationDto {
11   - private final Integer id;
12   - private final Double weight;
13   - private final LocalDateTime date;
14   - private final Integer runtimeInSeconds;
15   - private final TypeRecommendation typeRecommendation;
16   -
17   - public RecommendationDto(Recommendation recommendation) {
18   - this.id = recommendation.getId();
19   - this.weight = recommendation.getWeight();
20   - this.date = recommendation.getDate();
21   - this.runtimeInSeconds = recommendation.getRuntimeInSeconds();
22   - this.typeRecommendation = recommendation.getTypeRecommendation();
23   - }
24   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/RecommendationRatingDto.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -
4   -import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating;
5   -import lombok.Getter;
6   -
7   -import java.time.LocalDateTime;
8   -
9   -@Getter
10   -public class RecommendationRatingDto {
11   - private final Integer id;
12   - private final Double score;
13   - private final LocalDateTime date;
14   -
15   - public RecommendationRatingDto(RecommendationRating recommendationRating) {
16   - this.id = recommendationRating.getId();
17   - this.score = recommendationRating.getScore();
18   - this.date = recommendationRating.getDate();
19   - }
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/RecommendationRatingForm.java
... ... @@ -1,35 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.EvaluatorBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.builder.RecommendationBuilder;
5   -import edu.ifes.ci.si.les.srh.srh.builder.RecommendationRatingBuilder;
6   -import edu.ifes.ci.si.les.srh.srh.model.Evaluator;
7   -import edu.ifes.ci.si.les.srh.srh.model.Recommendation;
8   -import edu.ifes.ci.si.les.srh.srh.model.RecommendationRating;
9   -
10   -import javax.validation.constraints.NotNull;
11   -
12   -public class RecommendationRatingForm {
13   - @NotNull
14   - private Double score;
15   - @NotNull
16   - private Integer evaluatorId;
17   - @NotNull
18   - private Integer recommendationId;
19   -
20   - public RecommendationRating build() {
21   - Evaluator evaluator = EvaluatorBuilder.anEvaluator()
22   - .withId(evaluatorId)
23   - .build();
24   -
25   - Recommendation recommendation = RecommendationBuilder.aRecommendation()
26   - .withId(recommendationId)
27   - .build();
28   -
29   - return RecommendationRatingBuilder.aRecommendationRating()
30   - .withScore(score)
31   - .withEvaluator(evaluator)
32   - .withRecommendation(recommendation)
33   - .build();
34   - }
35   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/TagDto.java
... ... @@ -1,15 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.model.Tag;
4   -import lombok.Getter;
5   -
6   -@Getter
7   -public class TagDto {
8   - private final Integer id;
9   - private final String name;
10   -
11   - public TagDto(Tag tag) {
12   - this.id = tag.getId();
13   - this.name = tag.getName();
14   - }
15   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/dto/resource/TagForm.java
... ... @@ -1,25 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.dto.resource;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.builder.TagBuilder;
4   -import edu.ifes.ci.si.les.srh.srh.model.Tag;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Getter;
7   -import lombok.NoArgsConstructor;
8   -
9   -import javax.validation.constraints.NotEmpty;
10   -import javax.validation.constraints.NotNull;
11   -
12   -@Getter
13   -@AllArgsConstructor
14   -@NoArgsConstructor
15   -public class TagForm {
16   - @NotEmpty
17   - @NotNull
18   - private String name;
19   -
20   - public Tag build() {
21   - return TagBuilder.aTag()
22   - .withName(name)
23   - .build();
24   - }
25   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/exception/DuplicateValueException.java
... ... @@ -1,7 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.error.exception;
2   -
3   -public class DuplicateValueException extends Exception {
4   - public DuplicateValueException(String message) {
5   - super(message);
6   - }
7   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/exception/RelationshipNotFoundException.java
... ... @@ -1,7 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.error.exception;
2   -
3   -public class RelationshipNotFoundException extends Exception{
4   - public RelationshipNotFoundException(String message) {
5   - super(message);
6   - }
7   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/handler/DuplicateValueHandler.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.error.handler;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.dto.error.DefaultErrorDto;
4   -import edu.ifes.ci.si.les.srh.srh.error.exception.DuplicateValueException;
5   -import org.springframework.http.HttpStatus;
6   -import org.springframework.web.bind.annotation.ExceptionHandler;
7   -import org.springframework.web.bind.annotation.ResponseStatus;
8   -import org.springframework.web.bind.annotation.RestControllerAdvice;
9   -
10   -@RestControllerAdvice
11   -public class DuplicateValueHandler {
12   - @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR)
13   - @ExceptionHandler(DuplicateValueException.class)
14   - public DefaultErrorDto handle(Exception exception) {
15   - return new DefaultErrorDto(
16   - "O vínculo entre os recursos não existe",
17   - exception.getMessage()
18   - );
19   - }
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/handler/FormHandler.java
... ... @@ -1,37 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.error.handler;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.dto.error.FormErrorDto;
4   -import org.springframework.beans.factory.annotation.Autowired;
5   -import org.springframework.context.MessageSource;
6   -import org.springframework.context.i18n.LocaleContextHolder;
7   -import org.springframework.http.HttpStatus;
8   -import org.springframework.validation.FieldError;
9   -import org.springframework.web.bind.MethodArgumentNotValidException;
10   -import org.springframework.web.bind.annotation.ExceptionHandler;
11   -import org.springframework.web.bind.annotation.ResponseStatus;
12   -import org.springframework.web.bind.annotation.RestControllerAdvice;
13   -
14   -import java.util.ArrayList;
15   -import java.util.List;
16   -
17   -@RestControllerAdvice
18   -public class FormHandler {
19   - @Autowired
20   - private MessageSource messageSource;
21   -
22   - @ResponseStatus(code = HttpStatus.BAD_REQUEST)
23   - @ExceptionHandler(MethodArgumentNotValidException.class)
24   - public List<FormErrorDto> handle(MethodArgumentNotValidException exception) {
25   - List<FormErrorDto> dtos = new ArrayList<>();
26   -
27   - List<FieldError> fieldErrors = exception.getBindingResult().getFieldErrors();
28   -
29   - fieldErrors.forEach(e -> {
30   - String message = messageSource.getMessage(e, LocaleContextHolder.getLocale());
31   - FormErrorDto formError = new FormErrorDto(e.getField(), message);
32   - dtos.add(formError);
33   - });
34   -
35   - return dtos;
36   - }
37   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/error/handler/RelationshipNotFoundHandler.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.error.handler;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.dto.error.DefaultErrorDto;
4   -import edu.ifes.ci.si.les.srh.srh.error.exception.RelationshipNotFoundException;
5   -import org.springframework.http.HttpStatus;
6   -import org.springframework.web.bind.annotation.ExceptionHandler;
7   -import org.springframework.web.bind.annotation.ResponseStatus;
8   -import org.springframework.web.bind.annotation.RestControllerAdvice;
9   -
10   -@RestControllerAdvice
11   -public class RelationshipNotFoundHandler {
12   - @ResponseStatus(code = HttpStatus.INTERNAL_SERVER_ERROR)
13   - @ExceptionHandler(RelationshipNotFoundException.class)
14   - public DefaultErrorDto handle(Exception exception) {
15   - return new DefaultErrorDto(
16   - "O relacionamento não existe",
17   - exception.getMessage()
18   - );
19   - }
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Admin.java
... ... @@ -1,16 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -import lombok.EqualsAndHashCode;
5   -
6   -import javax.persistence.Entity;
7   -import javax.persistence.OneToMany;
8   -import java.util.List;
9   -
10   -@Entity
11   -@Data
12   -@EqualsAndHashCode(callSuper = true)
13   -public class Admin extends User {
14   - @OneToMany(mappedBy = "admin")
15   - private List<Project> projects;
16   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ApiUser.java
... ... @@ -1,18 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -import lombok.EqualsAndHashCode;
5   -
6   -import javax.persistence.Entity;
7   -import javax.persistence.FetchType;
8   -import javax.persistence.ManyToMany;
9   -import java.util.List;
10   -
11   -@Entity
12   -@Data
13   -@EqualsAndHashCode(callSuper = true)
14   -public class ApiUser extends User {
15   - @ManyToMany(fetch = FetchType.EAGER)
16   - private List<Profile> profiles;
17   - private boolean isAdmin;
18   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Evaluator.java
... ... @@ -1,23 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -import lombok.EqualsAndHashCode;
5   -
6   -import javax.persistence.Entity;
7   -import javax.persistence.ManyToMany;
8   -import javax.persistence.OneToMany;
9   -import java.util.List;
10   -
11   -@Entity
12   -@Data
13   -@EqualsAndHashCode(callSuper = true)
14   -public class Evaluator extends User {
15   - @ManyToMany
16   - private List<Project> projects;
17   -
18   - @OneToMany(mappedBy = "user")
19   - private List<ItemRating> itemRatings;
20   -
21   - @OneToMany(mappedBy = "evaluator")
22   - private List<RecommendationRating> recommendationRatings;
23   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Item.java
... ... @@ -1,34 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -import java.util.HashMap;
7   -import java.util.List;
8   -
9   -@Entity
10   -@Data
11   -public class Item {
12   - @Id
13   - @GeneratedValue(strategy = GenerationType.IDENTITY)
14   - private Integer id;
15   -
16   - private String name;
17   - private String description;
18   - private HashMap<String, String> attributes;
19   -
20   - @OneToMany(mappedBy = "item")
21   - private List<ItemRating> itemRatings;
22   -
23   - @OneToMany(mappedBy = "item")
24   - private List<Recommendation> recommendations;
25   -
26   - @ManyToOne
27   - private Project project;
28   -
29   - @ManyToOne
30   - private TypeItem typeItem;
31   -
32   - @ManyToMany(mappedBy = "itens")
33   - private List<Tag> tags;
34   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ItemRating.java
... ... @@ -1,18 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -import lombok.EqualsAndHashCode;
5   -
6   -import javax.persistence.Entity;
7   -import javax.persistence.ManyToOne;
8   -
9   -@Entity
10   -@Data
11   -@EqualsAndHashCode(callSuper = true)
12   -public class ItemRating extends Rating {
13   - @ManyToOne
14   - private Evaluator user;
15   -
16   - @ManyToOne
17   - private Item item;
18   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ItemTag.java
... ... @@ -1,76 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.error.exception.DuplicateValueException;
4   -import edu.ifes.ci.si.les.srh.srh.error.exception.RelationshipNotFoundException;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Data;
7   -import lombok.SneakyThrows;
8   -
9   -import java.util.List;
10   -
11   -@Data
12   -@AllArgsConstructor
13   -public class ItemTag {
14   - private Item item;
15   - private Tag tag;
16   -
17   - @SneakyThrows
18   - public void addEntities() {
19   - addItemInTag();
20   - addTagInItem();
21   - }
22   -
23   - @SneakyThrows
24   - public void removeEntities() {
25   - removeItemInTag();
26   - removeTagInItem();
27   - }
28   -
29   - @SneakyThrows
30   - private void addItemInTag() {
31   - List<Item> itensInTag = getItensListInTag();
32   -
33   - if (itensInTag.contains(item))
34   - throw new DuplicateValueException("O item já possui vínculo com a tag");
35   -
36   - itensInTag.add(item);
37   - }
38   -
39   - @SneakyThrows
40   - private void addTagInItem() {
41   - List<Tag> tagsInItem = getTagListInItem();
42   -
43   - if (tagsInItem.contains(tag))
44   - throw new DuplicateValueException("A tag já possui vínculo com o item");
45   -
46   - tagsInItem.add(tag);
47   - }
48   -
49   - @SneakyThrows
50   - private void removeItemInTag() {
51   - List<Item> itensInTag = getItensListInTag();
52   -
53   - if (!itensInTag.contains(item))
54   - throw new RelationshipNotFoundException("Não existe vínculo entre o Item e a Tag");
55   -
56   - itensInTag.remove(item);
57   - }
58   -
59   - @SneakyThrows
60   - private void removeTagInItem() {
61   - List<Tag> tagsInItem = getTagListInItem();
62   -
63   - if (!tagsInItem.contains(tag))
64   - throw new RelationshipNotFoundException("Não existe vínculo entre a Tag e o Item");
65   -
66   - tagsInItem.remove(tag);
67   - }
68   -
69   - private List<Item> getItensListInTag() {
70   - return tag.getItens();
71   - }
72   -
73   - private List<Tag> getTagListInItem() {
74   - return item.getTags();
75   - }
76   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Profile.java
... ... @@ -1,19 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -import java.util.List;
7   -
8   -@Entity
9   -@Data
10   -public class Profile {
11   - @Id
12   - @GeneratedValue(strategy = GenerationType.IDENTITY)
13   - private Integer id;
14   -
15   - private String name;
16   -
17   - @ManyToMany
18   - private List<ApiUser> apiUsers;
19   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Project.java
... ... @@ -1,32 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -import java.time.LocalDate;
7   -import java.util.List;
8   -
9   -@Entity
10   -@Data
11   -public class Project {
12   - @Id
13   - @GeneratedValue(strategy = GenerationType.IDENTITY)
14   - private Integer id;
15   -
16   - private String name;
17   - private String description;
18   - private LocalDate date;
19   - private Boolean visible;
20   -
21   - @Enumerated(EnumType.STRING)
22   - private Situations situation;
23   -
24   - @ManyToOne
25   - private Admin admin;
26   -
27   - @ManyToMany(mappedBy = "projects")
28   - private List<Evaluator> evaluators;
29   -
30   - @OneToMany(mappedBy = "project")
31   - private List<Item> itens;
32   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/ProjectEvaluator.java
... ... @@ -1,76 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import edu.ifes.ci.si.les.srh.srh.error.exception.DuplicateValueException;
4   -import edu.ifes.ci.si.les.srh.srh.error.exception.RelationshipNotFoundException;
5   -import lombok.AllArgsConstructor;
6   -import lombok.Data;
7   -import lombok.SneakyThrows;
8   -
9   -import java.util.List;
10   -
11   -@Data
12   -@AllArgsConstructor
13   -public class ProjectEvaluator {
14   - private Project project;
15   - private Evaluator evaluator;
16   -
17   - @SneakyThrows
18   - public void addEntities() {
19   - addProjectInRecommender();
20   - addRecommenderInProject();
21   - }
22   -
23   - @SneakyThrows
24   - public void removeEntities() {
25   - removeProjectInRecommender();
26   - removeRecommenderInProject();
27   - }
28   -
29   - @SneakyThrows
30   - private void addRecommenderInProject() {
31   - List<Evaluator> recommendersInProject = getRecommenderListInProject();
32   -
33   - if (recommendersInProject.contains(evaluator))
34   - throw new DuplicateValueException("Recommender link already exists");
35   -
36   - recommendersInProject.add(evaluator);
37   - }
38   -
39   - @SneakyThrows
40   - private void addProjectInRecommender() {
41   - List<Project> projectsInRecommender = getProjectListInRecommender();
42   -
43   - if (projectsInRecommender.contains(project))
44   - throw new DuplicateValueException("Project link already exists");
45   -
46   - projectsInRecommender.add(project);
47   - }
48   -
49   - @SneakyThrows
50   - private void removeRecommenderInProject() {
51   - List<Evaluator> recommendersInProject = getRecommenderListInProject();
52   -
53   - if (!recommendersInProject.contains(evaluator))
54   - throw new RelationshipNotFoundException("Project not exist in Recommender");
55   -
56   - recommendersInProject.remove(evaluator);
57   - }
58   -
59   - @SneakyThrows
60   - private void removeProjectInRecommender() {
61   - List<Project> projectsInRecommender = getProjectListInRecommender();
62   -
63   - if (!projectsInRecommender.contains(project))
64   - throw new RelationshipNotFoundException("Recommender not exist in Project");
65   -
66   - projectsInRecommender.remove(project);
67   - }
68   -
69   - private List<Evaluator> getRecommenderListInProject() {
70   - return project.getEvaluators();
71   - }
72   -
73   - private List<Project> getProjectListInRecommender() {
74   - return evaluator.getProjects();
75   - }
76   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Rating.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.GeneratedValue;
6   -import javax.persistence.GenerationType;
7   -import javax.persistence.Id;
8   -import javax.persistence.MappedSuperclass;
9   -import java.time.LocalDateTime;
10   -
11   -@MappedSuperclass
12   -@Data
13   -public abstract class Rating {
14   - @Id
15   - @GeneratedValue(strategy = GenerationType.IDENTITY)
16   - private Integer id;
17   -
18   - private Double score;
19   - private LocalDateTime date;
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Recommendation.java
... ... @@ -1,31 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -import java.time.LocalDateTime;
7   -import java.util.List;
8   -
9   -@Entity
10   -@Data
11   -public class Recommendation {
12   - @Id
13   - @GeneratedValue(strategy = GenerationType.IDENTITY)
14   - private Integer id;
15   -
16   - private Double weight;
17   - private LocalDateTime date;
18   - private Integer runtimeInSeconds;
19   -
20   - @Enumerated(EnumType.STRING)
21   - private TypeRecommendation typeRecommendation;
22   -
23   - @ManyToOne
24   - private Evaluator evaluator;
25   -
26   - @ManyToOne
27   - private Item item;
28   -
29   - @OneToMany(mappedBy = "recommendation")
30   - private List<RecommendationRating> recommendationRatings;
31   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/RecommendationRating.java
... ... @@ -1,18 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -import lombok.EqualsAndHashCode;
5   -
6   -import javax.persistence.Entity;
7   -import javax.persistence.ManyToOne;
8   -
9   -@Entity
10   -@Data
11   -@EqualsAndHashCode(callSuper = true)
12   -public class RecommendationRating extends Rating {
13   - @ManyToOne
14   - private Recommendation recommendation;
15   -
16   - @ManyToOne
17   - private Evaluator evaluator;
18   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Situations.java
... ... @@ -1,5 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -public enum Situations {
4   - OPEN, CLOSED
5   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/Tag.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -import java.util.List;
7   -
8   -@Entity
9   -@Data
10   -public class Tag {
11   - @Id
12   - @GeneratedValue(strategy = GenerationType.IDENTITY)
13   - private Integer id;
14   -
15   - @Column(unique = true)
16   - private String name;
17   -
18   - @ManyToMany
19   - private List<Item> itens;
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/TypeItem.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -import java.util.List;
7   -
8   -@Entity
9   -@Data
10   -public class TypeItem {
11   - @Id
12   - @GeneratedValue(strategy = GenerationType.IDENTITY)
13   - private Integer id;
14   -
15   - private String name;
16   - private List<String> requiredAttributes;
17   -
18   - @OneToMany(mappedBy = "typeItem")
19   - private List<Item> itens;
20   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/TypeRecommendation.java
... ... @@ -1,5 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -public enum TypeRecommendation {
4   - COLLABORATIVE, CONTENT, HYBRID
5   -}
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/srh/model/User.java
... ... @@ -1,20 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh.model;
2   -
3   -import lombok.Data;
4   -
5   -import javax.persistence.*;
6   -
7   -@MappedSuperclass
8   -@Data
9   -public abstract class User {
10   - @Id
11   - @GeneratedValue(strategy = GenerationType.IDENTITY)
12   - private Integer id;
13   -
14   - @Column(unique = true)
15   - protected String login;
16   -
17   - private String name;
18   - private String email;
19   - protected String password;
20   -}
codigos/backend/src/main/resources/application.properties
  1 +# datasource
  2 +spring.datasource.driverClassName=org.postgresql.Driver
  3 +spring.datasource.url=jdbc:postgresql://localhost:5432/srh_les
  4 +spring.datasource.username=postgres
  5 +spring.datasource.password=postgres
1 6  
  7 +# jpa
  8 +spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
  9 +spring.jpa.hibernate.ddl-auto=drop-and-create
  10 +spring.jpa.properties.hibernate.show_sql=true
  11 +spring.jpa.properties.hibernate.format_sql=true
2 12 \ No newline at end of file
... ...
codigos/backend/src/main/resources/data.sql 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +INSERT INTO api_user(id, name, login, password, is_admin)
  2 + VALUES (1, 'admin', 'admin', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq', true);
  3 +
  4 +INSERT INTO api_user(id, name, login, password, is_admin)
  5 + VALUES (2, 'client', 'client', '$2a$10$sFKmbxbG4ryhwPNx/l3pgOJSt.fW1z6YcUnuE2X8APA/Z3NI/oSpq', true);
  6 +
  7 +INSERT INTO profile(id, name) VALUES(1, 'ROLE_ADMIN');
  8 +INSERT INTO profile(id, name) VALUES(2, 'ROLE_USER');
  9 +
  10 +INSERT INTO api_user_profiles(api_user_id, profiles_id)
  11 + VALUES (1, 1);
  12 +
  13 +INSERT INTO api_user_profiles(api_user_id, profiles_id)
  14 + VALUES (1, 2);
  15 +
  16 +INSERT INTO api_user_profiles(api_user_id, profiles_id)
  17 + VALUES (2, 2);
0 18 \ No newline at end of file
... ...
codigos/backend/src/test/java/edu/ifes/ci/si/les/srh/SrhApplicationTests.java 0 → 100644
... ... @@ -0,0 +1,13 @@
  1 +package edu.ifes.ci.si.les.srh;
  2 +
  3 +import org.junit.jupiter.api.Test;
  4 +import org.springframework.boot.test.context.SpringBootTest;
  5 +
  6 +@SpringBootTest
  7 +class SrhApplicationTests {
  8 +
  9 + @Test
  10 + void contextLoads() {
  11 + }
  12 +
  13 +}
... ...
codigos/backend/src/test/java/edu/ifes/ci/si/les/srh/srh/SrhApplicationTests.java
... ... @@ -1,13 +0,0 @@
1   -package edu.ifes.ci.si.les.srh.srh;
2   -
3   -import org.junit.jupiter.api.Test;
4   -import org.springframework.boot.test.context.SpringBootTest;
5   -
6   -@SpringBootTest
7   -class SrhApplicationTests {
8   -
9   - @Test
10   - void contextLoads() {
11   - }
12   -
13   -}