From b8f8069a733ad247ac98a8db809e42f5e1fe1552 Mon Sep 17 00:00:00 2001 From: Litegene Date: Fri, 17 Jun 2022 23:04:09 +0200 Subject: [PATCH] More mappers --- .../business/playlist/PlaylistMapper.java | 45 ++++++++++++++++ .../business/playlist/PlaylistService.java | 25 +++------ .../business/video/VideoMapper.java | 51 +++++++++++++++++++ .../business/video/VideoService.java | 22 +++----- .../controller/VideoController.java | 4 -- 5 files changed, 109 insertions(+), 38 deletions(-) create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistMapper.java create mode 100644 backend/kaiser/src/main/java/com/example/springKaiser/business/video/VideoMapper.java diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistMapper.java b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistMapper.java new file mode 100644 index 0000000..29ea2fc --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/business/playlist/PlaylistMapper.java @@ -0,0 +1,45 @@ +package com.example.springKaiser.business.playlist; + +import com.example.springKaiser.entities.PlaylistName; +import com.example.springKaiser.entities.PlaylistVideo; +import com.example.springKaiser.entities.Video; +import com.example.springKaiser.repositories.PlaylistVideoRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class PlaylistMapper { + +// @Autowired +// PlaylistVideoRepository playlistVideoRepository; + + ListPlaylistByVideoNameAndChannelNameDto playlistEntityToPlaylistDto(List playlistVideos){ + ListPlaylistByVideoNameAndChannelNameDto listPlaylistByVideoNameAndChannelNameDtos = new ListPlaylistByVideoNameAndChannelNameDto(); + listPlaylistByVideoNameAndChannelNameDtos.setPlaylistName(playlistVideos.get(0).getPlaylistName().getPlaylistname()); + listPlaylistByVideoNameAndChannelNameDtos.setVideoName(playlistVideos.get(0).getVideo().getName()); + listPlaylistByVideoNameAndChannelNameDtos.setChannelName(playlistVideos.get(0).getVideo().getChannel().getChannelName()); + return listPlaylistByVideoNameAndChannelNameDtos; + } + + List playlistEntityToPlaylistChannelDto(List playlistVideos){ + List listPlaylistByChannelDtos = new ArrayList<>(); + for (int i = 0; i < playlistVideos.size(); i++) { + ListPlaylistByChannelDto listPlaylistByChannelDto = new ListPlaylistByChannelDto(); + listPlaylistByChannelDto.setPlaylistName(playlistVideos.get(i).getPlaylistName().getPlaylistname()); + listPlaylistByChannelDto.setChannelName(playlistVideos.get(i).getVideo().getChannel().getChannelName()); + listPlaylistByChannelDtos.add(listPlaylistByChannelDto); + } + return listPlaylistByChannelDtos; + } + + PlaylistVideo addPlaylistAndVideo(PlaylistName playlistName, Video video){ + PlaylistVideo playlistVideo = new PlaylistVideo(); + playlistVideo.setPlaylistName(playlistName); + playlistVideo.setVideo(video); + return playlistVideo; + } +} + 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 4e5f779..857ef65 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 @@ -26,6 +26,9 @@ public class PlaylistService { @Autowired VideoRepository videoRepository; + @Autowired + PlaylistMapper playlistMapper; + public void addPlaylist(PlaylistName playlistName) { @@ -63,33 +66,17 @@ public String addVideoToPlaylist(String playlist, String videoName) { PlaylistName playlistName = playlistNameRepository.findOneByName(playlist); Video video = videoRepository.findOneByName(videoName); - PlaylistVideo playlistVideo = new PlaylistVideo(); - playlistVideo.setPlaylistName(playlistName); - playlistVideo.setVideo(video); - playlistVideoRepository.save(playlistVideo); - + playlistVideoRepository.save(playlistMapper.addPlaylistAndVideo(playlistName, video)); return "Success"; } public ListPlaylistByVideoNameAndChannelNameDto listByVideoNameAndChannelName(String videoName, String channelName) { List playlistVideos = playlistVideoRepository.findByVideoNameAndChannelName(videoName, channelName); - ListPlaylistByVideoNameAndChannelNameDto listPlaylistByVideoNameAndChannelNameDtos = new ListPlaylistByVideoNameAndChannelNameDto(); - listPlaylistByVideoNameAndChannelNameDtos.setPlaylistName(playlistVideos.get(0).getPlaylistName().getPlaylistname()); - listPlaylistByVideoNameAndChannelNameDtos.setVideoName(playlistVideos.get(0).getVideo().getName()); - listPlaylistByVideoNameAndChannelNameDtos.setChannelName(playlistVideos.get(0).getVideo().getChannel().getChannelName()); - return listPlaylistByVideoNameAndChannelNameDtos; + return playlistMapper.playlistEntityToPlaylistDto(playlistVideos); } public List listPlaylistNameByChannelName(String channelName) { List playlistVideos = playlistVideoRepository.findPlaylistNameByChannelName(channelName); - ListPlaylistByChannelDto listPlaylistByChannelDto = new ListPlaylistByChannelDto(); - List listPlaylistByChannelDtos = new ArrayList<>(); - for (int i = 0; i < playlistVideos.size(); i++) { - listPlaylistByChannelDto.setPlaylistName(playlistVideos.get(i).getPlaylistName().getPlaylistname()); - listPlaylistByChannelDto.setChannelName(playlistVideos.get(i).getVideo().getChannel().getChannelName()); - listPlaylistByChannelDtos.add(listPlaylistByChannelDto); - - } - return listPlaylistByChannelDtos; + return playlistMapper.playlistEntityToPlaylistChannelDto(playlistVideos); } } diff --git a/backend/kaiser/src/main/java/com/example/springKaiser/business/video/VideoMapper.java b/backend/kaiser/src/main/java/com/example/springKaiser/business/video/VideoMapper.java new file mode 100644 index 0000000..0305fee --- /dev/null +++ b/backend/kaiser/src/main/java/com/example/springKaiser/business/video/VideoMapper.java @@ -0,0 +1,51 @@ +package com.example.springKaiser.business.video; + +import com.example.springKaiser.business.student.StudentDto; +import com.example.springKaiser.entities.Channel; +import com.example.springKaiser.entities.PlaylistVideo; +import com.example.springKaiser.entities.Video; +import com.example.springKaiser.repositories.ChannelRepository; +import com.example.springKaiser.repositories.PlaylistVideoRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class VideoMapper { + + @Autowired ChannelRepository channelRepository; +// method can be called toEntity() + //saving video + Video videoDtoToVideoEntity(VideoDto videoDto){ + Video video = new Video(); + video.setName(videoDto.getName()); + video.setComments(videoDto.getComments()); + video.setLikes(videoDto.getLikes()); + video.setViews(videoDto.getViews()); + Channel channel = channelRepository.findById(videoDto.getChannelId()).get(); + video.setChannel(channel); + return video; + } + + List findByChannelId(int channelId, List listVideoDto ){ + List listByChannelNameDto = new ArrayList<>(); + for (VideoDto videoDto : listVideoDto){ + if (videoDto.getChannelId() == channelId){ + listByChannelNameDto.add(videoDto); + } + } + return listByChannelNameDto; + } +// List