Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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<PlaylistVideo> 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<ListPlaylistByChannelDto> playlistEntityToPlaylistChannelDto(List<PlaylistVideo> playlistVideos){
List<ListPlaylistByChannelDto> 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;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ public class PlaylistService {
@Autowired
VideoRepository videoRepository;

@Autowired
PlaylistMapper playlistMapper;


public void addPlaylist(PlaylistName playlistName) {

Expand Down Expand Up @@ -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<PlaylistVideo> 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<ListPlaylistByChannelDto> listPlaylistNameByChannelName(String channelName) {
List<PlaylistVideo> playlistVideos = playlistVideoRepository.findPlaylistNameByChannelName(channelName);
ListPlaylistByChannelDto listPlaylistByChannelDto = new ListPlaylistByChannelDto();
List<ListPlaylistByChannelDto> 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);
}
}
Original file line number Diff line number Diff line change
@@ -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<VideoDto> findByChannelId(int channelId, List<VideoDto> listVideoDto ){
List<VideoDto> listByChannelNameDto = new ArrayList<>();
for (VideoDto videoDto : listVideoDto){
if (videoDto.getChannelId() == channelId){
listByChannelNameDto.add(videoDto);
}
}
return listByChannelNameDto;
}
// List<Video> toList(List<VideoDto> videoDtoList){
// List<Video> listByChannelNameDto = new ArrayList<>();
//
// for (int i = 0; i < videoDtoList.size(); i++) {
// Video video = videoDtoToVideoEntity(videoDtoList.get(i));
// listByChannelNameDto.add(video);
// }
// return listByChannelNameDto;
// }

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public class VideoService {
@Autowired
ChannelRepository channelRepository;

@Autowired VideoMapper videoMapper;

// public String saveAVideo(Video video){
// return video.getName();
// }
Expand Down Expand Up @@ -78,24 +80,14 @@ private VideoDto convertDto(Video video){
// }
//Homework
public List<VideoDto> listByChannelDto(int channelId){
List<VideoDto> listByChannelNameDto = new ArrayList<>();
for (VideoDto videoDto : listVideoDto()){
if (videoDto.getChannelId() == channelId){
listByChannelNameDto.add(videoDto);
}
}
return listByChannelNameDto;
// List<VideoDto> videoDtos = videoMapper.findByChannelId(channelId, listVideoDto();
// return videoDtos;
//above code does the same as below
return videoMapper.findByChannelId(channelId, listVideoDto());
}

public String saveVideos(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);
Video video = videoMapper.videoDtoToVideoEntity(videoDto);
videoRepository.save(video);
return "Success " + video.getName();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,11 @@ public class VideoController {

@GetMapping("/videoList")
public List<Video> listVideo() {

return videoService.listVideo();
}

@GetMapping("/videoListDto")
public List<VideoDto> listVideoDto() {

return videoService.listVideoDto();
}

Expand All @@ -47,13 +45,11 @@ public List<VideoDto> listByChannelDto(@PathVariable int channelId){

@PostMapping("/saveVideo")
public void saveVideo(@RequestBody Video video){

videoService.saveVideo(video);
}

@PostMapping("/saveVideoDto")
public String saveVideoDto(@RequestBody VideoDto videoDto){

return videoService.saveVideos(videoDto);
}
}