From defd063140dfb56424a02237e27a16fdd4eafe34 Mon Sep 17 00:00:00 2001 From: Charlie Date: Mon, 6 Jun 2022 21:53:38 +0200 Subject: [PATCH 01/25] Mapper Examples --- .../business/playlist/PlaylistService.java | 23 ++++++------- .../business/student/StudentMapper.java | 34 +++++++++++++++++++ .../business/student/StudentsService.java | 8 +++++ .../controller/StudentsController.java | 4 +++ 4 files changed, 57 insertions(+), 12 deletions(-) create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentMapper.java diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java index 6e0ad0b..dfca3ab 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java @@ -27,39 +27,39 @@ public class PlaylistService { VideoRepository videoRepository; - public void addPlaylist(PlaylistName playlistName){ + public void addPlaylist(PlaylistName playlistName) { playlistNameRepository.save(playlistName); } - public void addVideo(PlaylistVideo playlistVideo){ + public void addVideo(PlaylistVideo playlistVideo) { playlistVideoRepository.save(playlistVideo); } - public List listPlaylist(){ + public List listPlaylist() { List listPlaylistName = playlistNameRepository.findAll(); return listPlaylistName; } - public List sortPlaylist(){ + public List sortPlaylist() { List listByPlaylistName = playlistNameRepository.findAll(); List sortList = listByPlaylistName.stream().sorted(Comparator.comparing(PlaylistName::getPlaylistname)).collect(Collectors.toList()); return sortList; } - public List listPlaylistVideo(){ + public List listPlaylistVideo() { List listPlaylistVideo = playlistVideoRepository.findAll(); return listPlaylistVideo; } - public String countPlaylist(String playlistName){ - List listByPlaylistVideo =playlistVideoRepository.findByPlaylistName(playlistName); + public String countPlaylist(String playlistName) { + List listByPlaylistVideo = playlistVideoRepository.findByPlaylistName(playlistName); return "Number of videos inside playlist: " + listByPlaylistVideo.size(); } - public String addVideoToPlaylist(String playlist, String videoName){ + public String addVideoToPlaylist(String playlist, String videoName) { PlaylistName playlistName = playlistNameRepository.findOneByName(playlist); Video video = videoRepository.findOneByName(videoName); @@ -71,7 +71,7 @@ public String addVideoToPlaylist(String playlist, String videoName){ return "Success"; } - public ListPlaylistByVideoNameAndChannelNameDto listByVideoNameAndChannelName (String videoName, String channelName){ + public ListPlaylistByVideoNameAndChannelNameDto listByVideoNameAndChannelName(String videoName, String channelName) { List playlistVideos = playlistVideoRepository.findByVideoNameAndChannelName(videoName, channelName); ListPlaylistByVideoNameAndChannelNameDto listPlaylistByVideoNameAndChannelNameDtos = new ListPlaylistByVideoNameAndChannelNameDto(); listPlaylistByVideoNameAndChannelNameDtos.setPlaylistName(playlistVideos.get(0).getPlaylistName().getPlaylistname()); @@ -80,12 +80,11 @@ public ListPlaylistByVideoNameAndChannelNameDto listByVideoNameAndChannelName (S return listPlaylistByVideoNameAndChannelNameDtos; } - public List listPlaylistNameByChannelName(String channelName){ + public List listPlaylistNameByChannelName(String channelName) { List playlistVideos = playlistVideoRepository.findPlaylistNameByChannelName(channelName); ListPlaylistByChannelDto listPlaylistByChannelDto = new ListPlaylistByChannelDto(); List listPlaylistByChannelDtos = new ArrayList<>(); - for (int i =0; i toList(List studentsList) { + List studentDtoList = new ArrayList<>(); + //Same as below +// for (Students studentElement : studentsList){ +// studentDtoList.add(toDto(studentElement)); +// } + + for (int i = 0; i < studentsList.size(); i++) { + StudentDto studentDto = toDto(studentsList.get(i)); + studentDtoList.add(studentDto); + } + return studentDtoList; + } +} diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java b/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java index f576df4..83a0381 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java @@ -31,6 +31,9 @@ public class StudentsService { @Autowired TeacherRepository teacherRepository; + @Autowired + StudentMapper studentMapper; + final int gradeOne = 1; public String saveStudentOnGrade(){ @@ -87,6 +90,11 @@ public List listStudents() { return listStudents; } + public List getListOfStudents() { + List studentsDtos = studentMapper.toList(studentsRepository.findAll()); + return studentsDtos; + } + public List listStudentsByGrade(int studentGrade) { List studentsOnThatSpecificGrade = new ArrayList<>(); for(Students student : listStudents()) { diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java b/backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java index aad3ac9..dd5b32a 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java @@ -61,5 +61,9 @@ public String addStudents(@RequestBody StudentDto studentDto) { return studentsService.saveStudent(studentDto); } + @GetMapping("/getStudentDtoList") + public List getStudentsDtos() { + return studentsService.getListOfStudents(); + } } \ No newline at end of file From 010b6747385d91bb1dbebcfcc0b94567cc2e6870 Mon Sep 17 00:00:00 2001 From: Litegene Date: Mon, 6 Jun 2022 22:15:01 +0200 Subject: [PATCH 02/25] List object reference --- .../business/playlist/PlaylistService.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java index 6e0ad0b..3303ab2 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java @@ -82,12 +82,19 @@ public ListPlaylistByVideoNameAndChannelNameDto listByVideoNameAndChannelName (S public List listPlaylistNameByChannelName(String channelName){ List playlistVideos = playlistVideoRepository.findPlaylistNameByChannelName(channelName); - ListPlaylistByChannelDto listPlaylistByChannelDto = new ListPlaylistByChannelDto(); List listPlaylistByChannelDtos = new ArrayList<>(); - for (int i =0; i Date: Mon, 6 Jun 2022 22:20:54 +0200 Subject: [PATCH 03/25] List object reference --- .../example/springKaiser/business/playlist/PlaylistService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java index 3303ab2..e413cbc 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistService.java @@ -96,6 +96,7 @@ public List listPlaylistNameByChannelName(String chann listPlaylistByChannelDto.setPlaylistName(playlistVideoIterator.getPlaylistName().getPlaylistname()); listPlaylistByChannelDto.setChannelName(playlistVideoIterator.getVideo().getChannel().getChannelName()); listPlaylistByChannelDtos.add(listPlaylistByChannelDto); + } return listPlaylistByChannelDtos; } From 57930fc2ecc8a473fc1a138c27dc7407cb263a2a Mon Sep 17 00:00:00 2001 From: Charlie Date: Tue, 11 Oct 2022 05:52:46 +0200 Subject: [PATCH 04/25] Student Refactoring --- .../SOLID/OpenClosedPrinciple/BetterFilter.java | 2 +- .../OpenClosedPrinciple/EmailSpecification.java | 2 +- .../OpenClosedPrinciple/NameSpecification.java | 2 +- .../YoutubeFeedManagerApplication.java | 10 ++-------- .../controller/SubscriberController.java | 2 -- .../Repository}/GradeRepository.java | 4 ++-- .../Repository}/StudentsRepository.java | 7 ++----- .../Repository}/TeacherRepository.java | 4 ++-- .../controller/StudentsController.java | 11 +++++------ .../springKaiser/{ => school}/entities/Grades.java | 2 +- .../{ => school}/entities/Students.java | 2 +- .../{ => school}/entities/Teachers.java | 2 +- .../{business => school}/student/StudentDto.java | 2 +- .../student/StudentsService.java | 14 +++++++------- .../Service/StudentSpecificationServiceTest.java | 6 +----- 15 files changed, 28 insertions(+), 44 deletions(-) rename backend/kaiser/src/main/java/com/example/springKaiser/{repositories => school/Repository}/GradeRepository.java (56%) rename backend/kaiser/src/main/java/com/example/springKaiser/{repositories => school/Repository}/StudentsRepository.java (73%) rename backend/kaiser/src/main/java/com/example/springKaiser/{repositories => school/Repository}/TeacherRepository.java (56%) rename backend/kaiser/src/main/java/com/example/springKaiser/{ => school}/controller/StudentsController.java (83%) rename backend/kaiser/src/main/java/com/example/springKaiser/{ => school}/entities/Grades.java (93%) rename backend/kaiser/src/main/java/com/example/springKaiser/{ => school}/entities/Students.java (96%) rename backend/kaiser/src/main/java/com/example/springKaiser/{ => school}/entities/Teachers.java (94%) rename backend/kaiser/src/main/java/com/example/springKaiser/{business => school}/student/StudentDto.java (93%) rename backend/kaiser/src/main/java/com/example/springKaiser/{business => school}/student/StudentsService.java (88%) diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/BetterFilter.java b/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/BetterFilter.java index 93818da..e24f6f7 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/BetterFilter.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/BetterFilter.java @@ -1,6 +1,6 @@ package com.example.springKaiser.SOLID.OpenClosedPrinciple; -import com.example.springKaiser.entities.Students; +import com.example.springKaiser.school.entities.Students; import java.util.List; import java.util.stream.Stream; diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/EmailSpecification.java b/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/EmailSpecification.java index 74162c8..fefae16 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/EmailSpecification.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/EmailSpecification.java @@ -1,6 +1,6 @@ package com.example.springKaiser.SOLID.OpenClosedPrinciple; -import com.example.springKaiser.entities.Students; +import com.example.springKaiser.school.entities.Students; public class EmailSpecification implements Specification { diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/NameSpecification.java b/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/NameSpecification.java index aed4339..09226e6 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/NameSpecification.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/NameSpecification.java @@ -1,6 +1,6 @@ package com.example.springKaiser.SOLID.OpenClosedPrinciple; -import com.example.springKaiser.entities.Students; +import com.example.springKaiser.school.entities.Students; public class NameSpecification implements Specification { diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/YoutubeFeedManagerApplication.java b/backend/kaiser/src/main/java/com/example/springKaiser/YoutubeFeedManagerApplication.java index 4e2fe3d..b27ac2f 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/YoutubeFeedManagerApplication.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/YoutubeFeedManagerApplication.java @@ -1,18 +1,12 @@ package com.example.springKaiser; -import com.example.springKaiser.entities.Students; -import com.example.springKaiser.entities.Subscriber; -import com.example.springKaiser.entities.Video; -import com.example.springKaiser.repositories.*; +import com.example.springKaiser.school.Repository.GradeRepository; +import com.example.springKaiser.school.Repository.TeacherRepository; import lombok.Builder; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.ApplicationRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; -import org.springframework.context.annotation.Bean; - -import java.util.stream.Stream; @SpringBootApplication(exclude = { SecurityAutoConfiguration.class }) @Builder diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/controller/SubscriberController.java b/backend/kaiser/src/main/java/com/example/springKaiser/controller/SubscriberController.java index 96611b5..dfa4d37 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/controller/SubscriberController.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/controller/SubscriberController.java @@ -1,10 +1,8 @@ package com.example.springKaiser.controller; -import com.example.springKaiser.entities.Students; import com.example.springKaiser.entities.Subscriber; import com.example.springKaiser.repositories.SubscriberRepository; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/repositories/GradeRepository.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/GradeRepository.java similarity index 56% rename from backend/kaiser/src/main/java/com/example/springKaiser/repositories/GradeRepository.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/GradeRepository.java index 8616485..5b23d28 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/repositories/GradeRepository.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/GradeRepository.java @@ -1,6 +1,6 @@ -package com.example.springKaiser.repositories; +package com.example.springKaiser.school.Repository; -import com.example.springKaiser.entities.Grades; +import com.example.springKaiser.school.entities.Grades; import org.springframework.data.jpa.repository.JpaRepository; public interface GradeRepository extends JpaRepository { diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/repositories/StudentsRepository.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/StudentsRepository.java similarity index 73% rename from backend/kaiser/src/main/java/com/example/springKaiser/repositories/StudentsRepository.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/StudentsRepository.java index f1e1f55..dc7fae4 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/repositories/StudentsRepository.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/StudentsRepository.java @@ -1,12 +1,9 @@ -package com.example.springKaiser.repositories; +package com.example.springKaiser.school.Repository; -import com.example.springKaiser.entities.Students; -import com.example.springKaiser.entities.Teachers; +import com.example.springKaiser.school.entities.Students; import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.data.jpa.repository.Query; import java.util.List; -import java.util.Optional; //Repositories manage the persisting (Saving) of data into our databases diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/repositories/TeacherRepository.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/TeacherRepository.java similarity index 56% rename from backend/kaiser/src/main/java/com/example/springKaiser/repositories/TeacherRepository.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/TeacherRepository.java index cd74f7d..3c00cd7 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/repositories/TeacherRepository.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/Repository/TeacherRepository.java @@ -1,6 +1,6 @@ -package com.example.springKaiser.repositories; +package com.example.springKaiser.school.Repository; -import com.example.springKaiser.entities.Teachers; +import com.example.springKaiser.school.entities.Teachers; import org.springframework.data.jpa.repository.JpaRepository; public interface TeacherRepository extends JpaRepository { diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/controller/StudentsController.java similarity index 83% rename from backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/controller/StudentsController.java index aad3ac9..9966b57 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/controller/StudentsController.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/controller/StudentsController.java @@ -1,11 +1,10 @@ -package com.example.springKaiser.controller; +package com.example.springKaiser.school.controller; -import com.example.springKaiser.business.student.StudentDto; -import com.example.springKaiser.business.student.StudentsService; -import com.example.springKaiser.entities.Students; -import com.example.springKaiser.repositories.StudentsRepository; +import com.example.springKaiser.school.student.StudentDto; +import com.example.springKaiser.school.student.StudentsService; +import com.example.springKaiser.school.entities.Students; +import com.example.springKaiser.school.Repository.StudentsRepository; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.repository.query.Param; import org.springframework.web.bind.annotation.*; import java.util.List; diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/entities/Grades.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Grades.java similarity index 93% rename from backend/kaiser/src/main/java/com/example/springKaiser/entities/Grades.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Grades.java index 5712dab..555950e 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/entities/Grades.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Grades.java @@ -1,4 +1,4 @@ -package com.example.springKaiser.entities; +package com.example.springKaiser.school.entities; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/entities/Students.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Students.java similarity index 96% rename from backend/kaiser/src/main/java/com/example/springKaiser/entities/Students.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Students.java index 1cf4649..5bea714 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/entities/Students.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Students.java @@ -1,4 +1,4 @@ -package com.example.springKaiser.entities; +package com.example.springKaiser.school.entities; import jakarta.persistence.*; import lombok.Data; diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/entities/Teachers.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Teachers.java similarity index 94% rename from backend/kaiser/src/main/java/com/example/springKaiser/entities/Teachers.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Teachers.java index 9229bbc..f12c142 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/entities/Teachers.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/entities/Teachers.java @@ -1,4 +1,4 @@ -package com.example.springKaiser.entities; +package com.example.springKaiser.school.entities; import jakarta.persistence.*; diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentDto.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentDto.java similarity index 93% rename from backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentDto.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentDto.java index 4bda3ca..5add4b1 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentDto.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentDto.java @@ -1,4 +1,4 @@ -package com.example.springKaiser.business.student; +package com.example.springKaiser.school.student; public class StudentDto { diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentsService.java similarity index 88% rename from backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java rename to backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentsService.java index f576df4..b2dd92d 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/business/student/StudentsService.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentsService.java @@ -1,12 +1,12 @@ -package com.example.springKaiser.business.student; +package com.example.springKaiser.school.student; -import com.example.springKaiser.entities.Grades; -import com.example.springKaiser.entities.Students; -import com.example.springKaiser.entities.Teachers; -import com.example.springKaiser.repositories.GradeRepository; -import com.example.springKaiser.repositories.StudentsRepository; -import com.example.springKaiser.repositories.TeacherRepository; +import com.example.springKaiser.school.entities.Grades; +import com.example.springKaiser.school.entities.Students; +import com.example.springKaiser.school.entities.Teachers; +import com.example.springKaiser.school.Repository.GradeRepository; +import com.example.springKaiser.school.Repository.StudentsRepository; +import com.example.springKaiser.school.Repository.TeacherRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/backend/kaiser/src/test/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/Service/StudentSpecificationServiceTest.java b/backend/kaiser/src/test/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/Service/StudentSpecificationServiceTest.java index 8247ce7..cb8f915 100644 --- a/backend/kaiser/src/test/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/Service/StudentSpecificationServiceTest.java +++ b/backend/kaiser/src/test/java/com/example/springKaiser/SOLID/OpenClosedPrinciple/Service/StudentSpecificationServiceTest.java @@ -2,19 +2,15 @@ import com.example.springKaiser.SOLID.OpenClosedPrinciple.BetterFilter; import com.example.springKaiser.SOLID.OpenClosedPrinciple.NameSpecification; -import com.example.springKaiser.entities.Students; +import com.example.springKaiser.school.entities.Students; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import java.util.stream.Stream; -import static org.mockito.Mockito.when; import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.*; - class StudentSpecificationServiceTest { @Test From 4fca96d9d456789da004fa9296732d78c2bc2e9d Mon Sep 17 00:00:00 2001 From: Charlie Date: Tue, 11 Oct 2022 06:15:09 +0200 Subject: [PATCH 05/25] Student Refactoring- fix student mapper --- .../school/student/StudentMapper.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java new file mode 100644 index 0000000..b76c62d --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java @@ -0,0 +1,35 @@ +package com.example.springKaiser.school.student; + + +import com.example.springKaiser.school.entities.Students; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class StudentMapper { + + StudentDto toDto(Students students) { + StudentDto studentDto = new StudentDto(); + studentDto.setName(students.getName()); + studentDto.setEmail(students.getEmail()); + studentDto.setGradeId(students.getGrade().getId()); + studentDto.setHomeGradeTeacherId(students.getHomeGradeTeacher().getId()); + return studentDto; + } + + List toList(List studentsList) { + List studentDtoList = new ArrayList<>(); + //Same as below +// for (Students studentElement : studentsList){ +// studentDtoList.add(toDto(studentElement)); +// } + + for (int i = 0; i < studentsList.size(); i++) { + StudentDto studentDto = toDto(studentsList.get(i)); + studentDtoList.add(studentDto); + } + return studentDtoList; + } +} \ No newline at end of file From 784612f05301f862ccbfdf0550c239417e94458a Mon Sep 17 00:00:00 2001 From: Charlie Date: Tue, 11 Oct 2022 06:31:35 +0200 Subject: [PATCH 06/25] Student Refactoring- fix student mapper --- .../com/example/springKaiser/school/student/StudentMapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java index b76c62d..0477582 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java @@ -1,7 +1,8 @@ package com.example.springKaiser.school.student; -import com.example.springKaiser.school.entities.Students; +import com.example.springKaiser.business.student.StudentDto; +import com.example.springKaiser.entities.Students; import org.springframework.stereotype.Service; import java.util.ArrayList; From 37467484d48676e1f4335c282c2012b9469f0101 Mon Sep 17 00:00:00 2001 From: Charlie Date: Tue, 11 Oct 2022 06:35:01 +0200 Subject: [PATCH 07/25] Student Refactoring- fix student mapper --- backend/kaiser/pom.xml | 7 ++++++- .../example/springKaiser/school/student/StudentMapper.java | 4 +--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/backend/kaiser/pom.xml b/backend/kaiser/pom.xml index af32153..0e7160a 100644 --- a/backend/kaiser/pom.xml +++ b/backend/kaiser/pom.xml @@ -53,7 +53,12 @@ postgresql 42.2.5 - + + junit + junit + test + + diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java index 0477582..7e683fa 100644 --- a/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java +++ b/backend/kaiser/src/main/java/com/example/springKaiser/school/student/StudentMapper.java @@ -1,8 +1,6 @@ package com.example.springKaiser.school.student; - -import com.example.springKaiser.business.student.StudentDto; -import com.example.springKaiser.entities.Students; +import com.example.springKaiser.school.entities.Students; import org.springframework.stereotype.Service; import java.util.ArrayList; From 3a8403099a5f5b5c95bde6e2d725a1d01bcd3e3a Mon Sep 17 00:00:00 2001 From: Charlie Date: Thu, 13 Oct 2022 06:13:22 +0200 Subject: [PATCH 08/25] Adding a unit test for VideoService --- .../business/video/VideoServiceTest.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 backend/kaiser/src/test/java/com/example/springKaiser/business/video/VideoServiceTest.java diff --git a/backend/kaiser/src/test/java/com/example/springKaiser/business/video/VideoServiceTest.java b/backend/kaiser/src/test/java/com/example/springKaiser/business/video/VideoServiceTest.java new file mode 100644 index 0000000..c42a855 --- /dev/null +++ b/backend/kaiser/src/test/java/com/example/springKaiser/business/video/VideoServiceTest.java @@ -0,0 +1,53 @@ +package com.example.springKaiser.business.video; + +import com.example.springKaiser.entities.Video; +import com.example.springKaiser.repositories.VideoRepository; +import org.junit.Assert; +import org.junit.jupiter.api.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.ArrayList; +import java.util.List; + +@RunWith(SpringRunner.class) +@SpringBootTest +class VideoServiceTest { + + @Autowired + VideoService videoService; + + //Mock data (in this case VideoRepository), so we can call it when we call the service. + @MockBean + VideoRepository videoRepository; + + @Test + void listVideoTest() { + //Unit test layout: When, Call Service, Assert/Test + + //When + List