From fb23a163741baf8fe514ea4908e1230f24b28155 Mon Sep 17 00:00:00 2001 From: Camille31 Date: Mon, 28 Nov 2016 23:59:51 +0100 Subject: [PATCH] Add a view to show user recommendations. --- .../controller/MainController.java | 32 +++++++++++++++++++ .../webapp/WEB-INF/views/recommendations.jsp | 23 +++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 src/main/webapp/WEB-INF/views/recommendations.jsp diff --git a/src/main/java/com/camillepradel/movierecommender/controller/MainController.java b/src/main/java/com/camillepradel/movierecommender/controller/MainController.java index 4069439..9a6dc34 100644 --- a/src/main/java/com/camillepradel/movierecommender/controller/MainController.java +++ b/src/main/java/com/camillepradel/movierecommender/controller/MainController.java @@ -92,4 +92,36 @@ public class MainController { return "redirect:/movieratings?user_id=" + rating.getUserId(); } + + @RequestMapping(value = "/recommendations", method = RequestMethod.GET) + public ModelAndView ProcessRecommendations( + @RequestParam(value = "user_id", required = true) Integer userId, + @RequestParam(value = "processing_mode", required = false, defaultValue = "0") Integer processingMode){ + System.out.println("GET /movieratings for user " + userId); + + // TODO: process recommendations for specified user exploiting other users ratings + // use different methods depending on processingMode parameter + Genre genre0 = new Genre(0, "genre0"); + Genre genre1 = new Genre(1, "genre1"); + Genre genre2 = new Genre(2, "genre2"); + List recommendations = new LinkedList(); + String titlePrefix; + if (processingMode.equals(0)) + titlePrefix = "0_"; + else if (processingMode.equals(1)) + titlePrefix = "1_"; + else if (processingMode.equals(2)) + titlePrefix = "2_"; + else + titlePrefix = "default_"; + recommendations.add(new Rating(new Movie(0, titlePrefix + "Titre 0", Arrays.asList(new Genre[] {genre0, genre1})), userId, 5)); + recommendations.add(new Rating(new Movie(1, titlePrefix + "Titre 1", Arrays.asList(new Genre[] {genre0, genre2})), userId, 5)); + recommendations.add(new Rating(new Movie(2, titlePrefix + "Titre 2", Arrays.asList(new Genre[] {genre1})), userId, 4)); + recommendations.add(new Rating(new Movie(3, titlePrefix + "Titre 3", Arrays.asList(new Genre[] {genre0, genre1, genre2})), userId, 3)); + + ModelAndView mv = new ModelAndView("recommendations"); + mv.addObject("recommendations", recommendations); + + return mv; + } } diff --git a/src/main/webapp/WEB-INF/views/recommendations.jsp b/src/main/webapp/WEB-INF/views/recommendations.jsp new file mode 100644 index 0000000..0d93e2e --- /dev/null +++ b/src/main/webapp/WEB-INF/views/recommendations.jsp @@ -0,0 +1,23 @@ +<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> + + + +Recommandations + + + +

+ Vos recommandations +

+
    + +
  • + ${recommendation.getMovie().title} +
  • +
    +
+ + + \ No newline at end of file