/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package controller; import domain.Comment; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import repository.CommentDAO; import repository.CompareDAO; /** * * @author Pratham * @author Ying */ /** * Information class that contains all the features of one Promote * @ doc author Rui Hou */ @WebServlet(name = "Promote", urlPatterns = {"/Promote"}) public class Promote extends HttpServlet { /** * Processes requests for both HTTP * <code>GET</code> and * <code>POST</code> methods. * * @param request * servlet request * @param response * servlet response * @throws ServletException * if a servlet-specific error occurs * @throws IOException * if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession(true); int userId = Integer.parseInt(session.getAttribute("userId").toString()); String userName = session.getAttribute("username").toString(); updatePromoteCount(request); saveComment(request,userId,userName); /* removed by Xuesong Meng EditingHistory editObj = new EditingHistory(); editObj.setDiagramId(imageId); editObj.setUserId(Integer.parseInt(userId)); //update edit history EditingHistoryDAO.addHistory(editObj); */ RequestDispatcher dispatcher = request.getRequestDispatcher("Compare"); dispatcher.forward(request, response); } /** * Handles the HTTP * <code>POST</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Save comment * @param request * @param userId * @param userName */ private void saveComment(HttpServletRequest request, int userId, String userName) { int compareId = Integer.parseInt(request.getParameter("compareId")); Comment comment = new Comment(); comment.setPromotedDiagramId(Integer.parseInt(request.getParameter("diagramId"))); comment.setCommentText(request.getParameter("comment")); comment.setCompareId(compareId); comment.setUserId(userId); comment.setUserName(userName); CommentDAO.addComment(comment); } /** * Check which diagram is promoted and update the count in compare object. * @param request */ private void updatePromoteCount(HttpServletRequest request) { int AId = Integer.parseInt(request.getParameter("A")); int BId = Integer.parseInt(request.getParameter("B")); int diagramId = Integer.parseInt(request.getParameter("diagramId")); int compareId = Integer.parseInt(request.getParameter("compareId")); if(diagramId == AId){ CompareDAO.updateCount(compareId, "A"); } else if(diagramId == BId) { CompareDAO.updateCount(compareId, "B"); } } }