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,6 +60,11 @@
60 </exclusion> 60 </exclusion>
61 </exclusions> 61 </exclusions>
62 </dependency> 62 </dependency>
  63 + <dependency>
  64 + <groupId>org.postgresql</groupId>
  65 + <artifactId>postgresql</artifactId>
  66 + <scope>runtime</scope>
  67 + </dependency>
63 <dependency> 68 <dependency>
64 <groupId>org.hibernate.validator</groupId> 69 <groupId>org.hibernate.validator</groupId>
65 <artifactId>hibernate-validator</artifactId> 70 <artifactId>hibernate-validator</artifactId>
codigos/backend/src/main/java/edu/ifes/ci/si/les/srh/SrhApplication.java 0 → 100644
@@ -0,0 +1,13 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ @@ -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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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 \ No newline at end of file 12 \ No newline at end of file
codigos/backend/src/main/resources/data.sql 0 → 100644
@@ -0,0 +1,17 @@ @@ -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 \ No newline at end of file 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 @@ @@ -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,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 -}