Skip to content
Snippets Groups Projects
Select Git revision
  • a9c97b44735aaba33d7a7d3bbdac7a90777b4fd7
  • main default protected
2 results

Feed.java

Blame
  • Feed.java 3.62 KiB
    package controleurs;
    
    import dao.ThreadDAO;
    import dao.UserDAO;
    import dto.Message;
    import dto.MyThread;
    import dto.User;
    import jakarta.servlet.annotation.WebServlet;
    import jakarta.servlet.http.HttpServlet;
    import jakarta.servlet.http.HttpServletRequest;
    import jakarta.servlet.http.HttpServletResponse;
    
    import java.io.PrintWriter;
    import java.io.IOException;
    import java.sql.SQLException;
    import java.util.List;
    
    @WebServlet("/Welcome")
    public class Feed extends HttpServlet {
        public void service(HttpServletRequest req, HttpServletResponse res)
                throws IOException {
            if (req.getSession().getAttribute("user") != null) {
                System.out.println("Utilisateur connecté :" + req.getSession().getAttribute("user"));
                UserDAO userDao = new UserDAO();
                ThreadDAO threadDao = new ThreadDAO();
                PrintWriter out = res.getWriter();
                String login = (String) req.getSession().getAttribute("login");
                System.out.println(login);
    
                User user = userDao.getUserByLogs(login, req.getSession().getAttribute("password").toString());
    
                if (user != null) {
                    List<Message> messages = null;
                    try {
                        messages = userDao.getMostRecentMessages(user);
                    } catch (SQLException e) {
                        throw new RuntimeException(e);
                    }
    
                    out.println("<html><body><meta charset=\"utf-8\">");
                    out.println("<link rel=\"stylesheet\" href=\"css/feed.css\">");
                    out.println("<title>Welcome</title>");
                    
                    out.println("<h1>Welcome " + login + "</h1>");
    
                    out.println("<nav>");
                    out.println("<ul class=\"menu\">");
                    out.println("<li class=\"menu_option\"><a href=\"#\">\uD83C\uDFE0 Home</a></li>");
                    out.println("<li class=\"menu_option\"><a href=\"#\">\uD83E\uDDF5 Followed</a></li>");
                    out.println("<li class=\"menu_option\"><a href=\"#\">\uD83D\uDC64 Account</a></li>");
                    out.println("</ul></nav>");
    
    
                    if (!messages.isEmpty()) {
                        for (Message message : messages) {
                            MyThread msgThread = null;
                            try {
                                msgThread = threadDao.getThreadById(message.getThreadId());
                            } catch (SQLException e) {
                                throw new RuntimeException(e);
                            }
                            out.println("<div class=\"message\">");
                            out.println("<h3 class=\"msgThread\">" + msgThread.getThreadName() + "</h3>");
                            out.println("<p class=\"msgContent\">" + message.getContent() + "</p>");
                            out.println("<form><button class=\"react\" type=\"submit\" value=\"Like\">Like</button>");
                            out.println("</div>");
                        }
                    }
                    else {
                        out.println("<p class=\"information\">You are not following any thread yet.</p>");
                        out.println("<button><a href=\"\">Discover new threads</a></button>");
                    }
    
                    out.println("<a href=\"http://localhost:8080/s4a021-web-backend/NewThread\">Create a new thread</a>");
    
                    out.println("</body>");
                    out.println("<footer>");
                    out.println("Connected as " + login);
                    out.println("</footer>");
                    out.println("</html>");
    
                }
    
    
            } else {
                res.sendRedirect("http://localhost:8080/s4a021-web-backend/index.html");
            }
    
        }
    
    }