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