Changeset 3ded84d in Git for src/main


Ignore:
Timestamp:
01/18/22 17:18:17 (3 years ago)
Author:
Test <matonikolov77@…>
Branches:
main
Children:
e0ef1b1
Parents:
7fafead
Message:

Model-database resolved bugs for mapping

Location:
src/main
Files:
1 added
13 deleted
25 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/com/wediscussmovies/project/WeDiscussMoviesApplication.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project;
    22
     3import org.springframework.beans.factory.annotation.Autowired;
     4import org.springframework.boot.CommandLineRunner;
    35import org.springframework.boot.SpringApplication;
    46import org.springframework.boot.autoconfigure.SpringBootApplication;
     7import org.springframework.jdbc.core.JdbcTemplate;
    58
    69@SpringBootApplication
     
    811
    912    public static void main(String[] args) {
     13
    1014        SpringApplication.run(WeDiscussMoviesApplication.class, args);
    1115    }
    1216
     17
    1318}
  • src/main/java/com/wediscussmovies/project/exception/MovieIdNotFoundException.java

    r7fafead r3ded84d  
    22
    33public class MovieIdNotFoundException extends RuntimeException{
    4     public MovieIdNotFoundException(Long id){
     4    public MovieIdNotFoundException(Integer id){
    55        super("Movie with that id=" + id + " does not exist!");
    66    }
  • src/main/java/com/wediscussmovies/project/repository/DiscussionRepository.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.repository;
    22
    3 import com.wediscussmovies.project.model.Discussion;
    43import org.springframework.data.jpa.repository.JpaRepository;
    54import org.springframework.stereotype.Repository;
    65
    76import java.util.List;
     7import com.wediscussmovies.project.model.*;
    88
    99@Repository
  • src/main/java/com/wediscussmovies/project/repository/GenreRepository.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.repository;
    22
    3 import com.wediscussmovies.project.model.Genre;
     3import com.wediscussmovies.project.model.*;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
     
    99@Repository
    1010public interface GenreRepository extends JpaRepository<Genre, Integer> {
    11     public List<Genre> findAllByGenre(String genre_type);
     11    public List<Genre> findAllByGenreType(String genre);
    1212}
  • src/main/java/com/wediscussmovies/project/repository/MovieRepository.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.repository;
    22
    3 import com.wediscussmovies.project.model.Movie;
    43import org.springframework.data.jpa.repository.JpaRepository;
    54import org.springframework.stereotype.Repository;
    65
    76import java.util.List;
     7import com.wediscussmovies.project.model.*;
    88
    99@Repository
  • src/main/java/com/wediscussmovies/project/repository/PersonRepository.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.repository;
    22
    3 import com.wediscussmovies.project.model.Person;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.model.enumerations.PersonType;
    55import org.springframework.data.jpa.repository.JpaRepository;
    6 import org.springframework.data.jpa.repository.Query;
    76import org.springframework.stereotype.Repository;
    87
     
    1211@Repository
    1312public interface PersonRepository extends JpaRepository<Person, Integer> {
    14     public List<Person> findAllByPersonType(PersonType type);
    15     public List<Person> findAllByPersonTypeAndNameLike(PersonType type, String name);
    16     public List<Person> findAllByPersonTypeAndSurnameLike(PersonType type, String surname);
    17     public Optional<Person> findPersonByPerson_idAndPersonType(Integer id, PersonType type);
     13    public List<Person> findAllByType(Character type);
     14    public List<Person> findAllByTypeAndNameLike(Character type, String name);
     15    public List<Person> findAllByTypeAndSurnameLike(Character type, String surname);
     16    public Optional<Person> findPersonByPersonIdAndType(Integer id, Character type);
    1817}
  • src/main/java/com/wediscussmovies/project/repository/ReplyRepository.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.repository;
    22
    3 import com.wediscussmovies.project.model.Reply;
    43import org.springframework.data.jpa.repository.JpaRepository;
    54import org.springframework.stereotype.Repository;
     5import com.wediscussmovies.project.model.*;
     6
    67
    78@Repository
  • src/main/java/com/wediscussmovies/project/repository/UserRepository.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.repository;
    22
    3 import com.wediscussmovies.project.model.User;
     3import com.wediscussmovies.project.model.*;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
    66
    7 import java.util.EnumMap;
    87import java.util.Optional;
    98
  • src/main/java/com/wediscussmovies/project/service/DiscussionService.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service;
    22
    3 import com.wediscussmovies.project.model.Discussion;
     3import com.wediscussmovies.project.model.*;
    44
    55import java.util.List;
  • src/main/java/com/wediscussmovies/project/service/GenreService.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service;
    22
    3 import com.wediscussmovies.project.model.Genre;
     3import com.wediscussmovies.project.model.*;
    44import org.springframework.stereotype.Service;
    55
  • src/main/java/com/wediscussmovies/project/service/MovieService.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service;
    22
    3 import com.wediscussmovies.project.model.Movie;
     3import com.wediscussmovies.project.model.*;
    44
    55import java.util.List;
     
    99    public List<Movie> listAll();
    1010    public List<Movie> searchByTitle(String title);
    11     public Optional<Movie> findById(Long id);
     11    public Optional<Movie> findById(Integer id);
    1212    public Movie save(Movie movie);
    13     public void deleteById(Long id);
     13    public void deleteById(Integer id);
    1414}
  • src/main/java/com/wediscussmovies/project/service/PersonService.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service;
    22
    3 import com.wediscussmovies.project.model.Person;
     3import com.wediscussmovies.project.model.*;
    44
    55import java.util.List;
  • src/main/java/com/wediscussmovies/project/service/UserService.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service;
    22
    3 import com.wediscussmovies.project.model.User;
     3import com.wediscussmovies.project.model.*;
    44
    55import javax.servlet.http.HttpServletRequest;
  • src/main/java/com/wediscussmovies/project/service/impl/DiscussionServiceImpl.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service.impl;
    22
    3 import com.wediscussmovies.project.model.Discussion;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.repository.DiscussionRepository;
    55import com.wediscussmovies.project.service.DiscussionService;
  • src/main/java/com/wediscussmovies/project/service/impl/GenreServiceImpl.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service.impl;
    22
    3 import com.wediscussmovies.project.model.Genre;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.repository.GenreRepository;
    55import com.wediscussmovies.project.service.GenreService;
     
    2424    @Override
    2525    public List<Genre> findAllByType(String genre) {
    26         return genreRepository.findAllByGenre(genre);
     26        return genreRepository.findAllByGenreType(genre);
    2727    }
    2828
    2929    @Override
    3030    public Genre save(String genreName) {
    31         Genre genre = new Genre(genreName);
     31       Genre genre = new Genre(genreName);
    3232        return genreRepository.save(genre);
    3333    }
  • src/main/java/com/wediscussmovies/project/service/impl/MovieServiceImpl.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service.impl;
    22
    3 import com.wediscussmovies.project.model.Movie;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.repository.MovieRepository;
    55import com.wediscussmovies.project.service.MovieService;
     
    2323
    2424    @Override
    25     public Optional<Movie> findById(Long id) {
     25    public Optional<Movie> findById(Integer id) {
    2626        return movieRepository.findById(1);
    2727    }
     
    3333
    3434    @Override
    35     public void deleteById(Long id) {
    36         movieRepository.deleteById(0);
     35    public void deleteById(Integer id) {
     36        movieRepository.deleteById(id);
    3737    }
    3838
  • src/main/java/com/wediscussmovies/project/service/impl/PersonServiceImpl.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service.impl;
    22
    3 import com.wediscussmovies.project.model.Person;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.model.enumerations.PersonType;
    55import com.wediscussmovies.project.repository.PersonRepository;
     
    2121    @Override
    2222    public List<Person> findAllDirectors() {
    23         return personRepository.findAllByPersonType(PersonType.D);
     23        return personRepository.findAllByType('D');
    2424    }
    2525
    2626    @Override
    2727    public Optional<Person> findActorById(Integer id) {
    28         return personRepository.findPersonByPerson_idAndPersonType(id, PersonType.A);
     28        return personRepository.findPersonByPersonIdAndType(id, 'A');
    2929    }
    3030
     
    3636    @Override
    3737    public Optional<Person> findDirectorById(Integer id) {
    38         return personRepository.findPersonByPerson_idAndPersonType(id, PersonType.D);
     38        return personRepository.findPersonByPersonIdAndType(id, 'D');
    3939    }
    4040
    4141    @Override
    4242    public List<Person> findAllActors() {
    43         return personRepository.findAllByPersonType(PersonType.A);
     43        return personRepository.findAllByType('A');
    4444    }
    4545
     
    5454    @Override
    5555    public List<Person> findActorsByNameLike(String name) {
    56         return personRepository.findAllByPersonTypeAndNameLike(PersonType.A, name);
     56        return personRepository.findAllByTypeAndNameLike('A', name);
    5757    }
    5858
    5959    @Override
    6060    public List<Person> findActorsBySurnameLike(String surname) {
    61         return personRepository.findAllByPersonTypeAndSurnameLike(PersonType.A, surname);
     61        return personRepository.findAllByTypeAndSurnameLike('A', surname);
    6262    }
    6363
    6464    @Override
    6565    public List<Person> findDirectorsByNameLike(String name) {
    66         return personRepository.findAllByPersonTypeAndNameLike(PersonType.D, name);
     66        return personRepository.findAllByTypeAndNameLike('D', name);
    6767    }
    6868
    6969    @Override
    7070    public List<Person> findDirectorsBySurnameLike(String surname) {
    71         return personRepository.findAllByPersonTypeAndSurnameLike(PersonType.D, surname);
     71        return personRepository.findAllByTypeAndSurnameLike('D', surname);
    7272    }
    7373}
  • src/main/java/com/wediscussmovies/project/service/impl/ReplyServiceImpl.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service.impl;
    22
    3 import com.wediscussmovies.project.model.Reply;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.repository.ReplyRepository;
    55import com.wediscussmovies.project.service.ReplyService;
  • src/main/java/com/wediscussmovies/project/service/impl/UserServiceImpl.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.service.impl;
    22
    3 import com.wediscussmovies.project.model.PasswordEncoder;
    4 import com.wediscussmovies.project.model.User;
     3import com.wediscussmovies.project.model.*;
    54import com.wediscussmovies.project.model.exception.PasswordsDontMatchException;
    65import com.wediscussmovies.project.model.exception.UserWithEmailAlreadyExists;
     
    87import com.wediscussmovies.project.repository.UserRepository;
    98import com.wediscussmovies.project.service.UserService;
    10 import org.springframework.http.HttpRequest;
    119import org.springframework.stereotype.Service;
    1210
    1311import javax.servlet.http.HttpServletRequest;
    14 import java.security.NoSuchAlgorithmException;
    1512import java.util.Optional;
    1613
  • src/main/java/com/wediscussmovies/project/web/controller/DiscussionsController.java

    r7fafead r3ded84d  
    22
    33import com.wediscussmovies.project.model.*;
    4 import com.wediscussmovies.project.model.enumerations.DiscussionType;
     4
    55import com.wediscussmovies.project.service.DiscussionService;
    66import com.wediscussmovies.project.service.MovieService;
     
    1414import java.sql.Date;
    1515import java.time.LocalDate;
    16 import java.util.ArrayList;
    1716import java.util.List;
    1817import java.util.Optional;
     
    8079        if(discussion.isEmpty())
    8180            return "redirect:/discussions";
    82         Reply reply = new Reply(discussion.get(), user, date, text);
    83         replyService.save(reply);
     81        //Reply reply = new Reply(discussion.get(), user, date, text);
     82       // replyService.save(reply);
    8483        return "redirect:/discussions/"+id;
    8584    }
     
    103102            return "redirect:/login";
    104103        }
    105         Long movie_id = (Long) request.getSession().getAttribute("movieId");
     104        Integer movie_id = (Integer) request.getSession().getAttribute("movieId");
    106105        request.getSession().setAttribute("movieId", null);
    107106        Optional<Movie> movieOp = movieService.findById(movie_id);
    108107        if(movieOp.isEmpty())
    109108            return "redirect:/movies";
    110         Discussion discussion = new Discussion(DiscussionType.M,text, title, Date.valueOf(LocalDate.now()),user,movieOp.get(),null,new ArrayList<>());
    111         discussionService.save(discussion);
     109      //  Discussion discussion = new Discussion('M',text, title, Date.valueOf(LocalDate.now()),user,movieOp.get(),null);
     110       // discussionService.save(discussion);
    112111        return "redirect:/discussions";
    113112    }
     
    137136        if(personOp.isEmpty())
    138137            return "redirect:/discussions";
    139         Discussion discussion = new Discussion(DiscussionType.P,title, text,Date.valueOf(LocalDate.now()),user,null,personOp.get(),new ArrayList<>());
    140         discussionService.save(discussion);
     138
     139      //  Discussion discussion = new Discussion('P',title, text,Date.valueOf(LocalDate.now()),user,null,personOp.get());
     140      //  discussionService.save(discussion);
    141141        return "redirect:/discussions";
    142142    }
  • src/main/java/com/wediscussmovies/project/web/controller/MovieController.java

    r7fafead r3ded84d  
    22
    33import com.wediscussmovies.project.exception.MovieIdNotFoundException;
    4 import com.wediscussmovies.project.model.Genre;
    5 import com.wediscussmovies.project.model.Movie;
    6 import com.wediscussmovies.project.model.Person;
     4import com.wediscussmovies.project.model.*;
     5
    76import com.wediscussmovies.project.service.GenreService;
    87import com.wediscussmovies.project.service.MovieService;
     
    3332    public String getMovies(@RequestParam(required = false) String titleQuery, Model model){
    3433        List<Movie> movies;
    35         if(titleQuery == null || titleQuery.isEmpty()) {
     34        if(titleQuery == null ) {
    3635            movies = movieService.listAll();
    3736        }
     
    4039        }
    4140
    42         movies.sort(Movie.comparatorTitle);
    4341
    4442        model.addAttribute("movies", movies);
    4543        model.addAttribute("contentTemplate", "moviesList");
    46         return "template";
     44        return "list";
    4745    }
    4846
     
    5957
    6058    @PostMapping("/{id}/delete")
    61     public String addMovie(@PathVariable Long id){
     59    public String addMovie(@PathVariable Integer id){
    6260        Optional<Movie> movie = movieService.findById(id);
    6361        if(movie.isPresent()){
    64             movieService.deleteById(movie.get().getId());
     62            movieService.deleteById(movie.get().getMovieId());
    6563        }
    6664        return "redirect:/movies";
     
    122120
    123121        Movie movie = new Movie(title, description, image_url, airing_date,
    124                     rating, director, actorsList, genreList);
     122                    rating, director.getPersonId());
    125123
    126124        movieService.save(movie);
     
    131129    @PostMapping("/edit/confirm")
    132130    public String editMoviePost(
    133                                 @RequestParam Long movie_id,
     131                                @RequestParam Integer movie_id,
    134132                                @RequestParam String title,
    135133                               @RequestParam String description,
     
    198196        movieService.deleteById(movie_id);
    199197
    200         movie.setActors(actorsList);
    201         movie.setDirector(director);
    202         movie.setGenres(genreList);
    203         movie.setTitle(title);
    204         movie.setDescription(description);
    205         movie.setAringDate(airing_date);
    206         movie.setImageUrl(image_url);
    207         movie.setImbdRating(rating);
     198//      //  movie.setActors(actorsList);
     199//        movie.setDirector(director);
     200//        movie.setGenres(genreList);
     201//        movie.setTitle(title);
     202//        movie.setDescription(description);
     203//        movie.setAringDate(airing_date);
     204//        movie.setImageUrl(image_url);
     205//        movie.setImbdRating(rating);
    208206
    209207        movieService.save(movie);
     
    213211
    214212    @GetMapping("/{id}/edit")
    215     public String editMovie(@PathVariable Long id, Model model){
     213    public String editMovie(@PathVariable Integer id, Model model){
    216214        Movie movie = movieService.findById(id).orElseThrow(() -> new MovieIdNotFoundException(id));
    217215        model.addAttribute("directors", personService.findAllDirectors());
  • src/main/java/com/wediscussmovies/project/web/controller/PersonsController.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.web.controller;
    22
    3 import com.wediscussmovies.project.model.Person;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.model.enumerations.PersonType;
    55import com.wediscussmovies.project.service.PersonService;
     
    1515
    1616@Controller
    17 @RequestMapping(".")
    1817public class PersonsController {
    1918    private final PersonService personSerivce;
     
    101100            @RequestParam String name,
    102101            @RequestParam String surname,
    103             @RequestParam PersonType type,
     102            @RequestParam Character type,
    104103            @RequestParam Date date_of_birth,
    105104            @RequestParam String image_url,
     
    108107        if(personSerivce.save(person)){
    109108            String toWhere = "actors";
    110             if(type == PersonType.D)
     109            //if(type == PersonType.D)
    111110                toWhere = "directors";
    112111            return "redirect:/"+toWhere;
  • src/main/java/com/wediscussmovies/project/web/controller/ReplyController.java

    r7fafead r3ded84d  
    11package com.wediscussmovies.project.web.controller;
    22
    3 import com.wediscussmovies.project.model.Reply;
     3import com.wediscussmovies.project.model.*;
    44import com.wediscussmovies.project.service.ReplyService;
     5import org.springframework.stereotype.Controller;
    56import org.springframework.ui.Model;
    67import org.springframework.web.bind.annotation.GetMapping;
     
    1112import java.util.Optional;
    1213
     14@Controller
    1315public class ReplyController {
    1416    private final ReplyService replyService;
     
    3739        reply.setText(text);
    3840        replyService.save(reply);
    39         return "redirect:/discussions/"+reply.getDiscussion().getId();
     41        return "redirect:/discussions/"+reply.getDiscussionId();
    4042    }
    4143}
  • src/main/resources/application-prod.properties

    r7fafead r3ded84d  
    1 spring.datasource.url=jdbc:postgresql://localhost:5432/db_202122z_va_prj_wediscussmovies
     1spring.datasource.url=jdbc:postgresql://localhost:9999/db_202122z_va_prj_wediscussmovies
    22spring.datasource.username=db_202122z_va_prj_wediscussmovies_owner
    33spring.datasource.password=7d8fb26b5697
  • src/main/resources/application.properties

    r7fafead r3ded84d  
    11spring.profiles.active=prod
     2
     3server.port=9090
Note: See TracChangeset for help on using the changeset viewer.