1 package usecase.comment;
2
3 import common.http.ParameterConverter;
4 import common.http.interceptor.InterceptableServlet;
5 import usecase.auth.AuthorizationConstraints;
6
7 import javax.inject.Inject;
8 import javax.servlet.ServletException;
9 import javax.servlet.annotation.WebServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 import java.io.IOException;
13
14 import static usecase.auth.AuthorizationConstraints.Types.REQUIRE_AUTHENTICATION;
15
16
17
18
19 @WebServlet("/editcomment")
20 @AuthorizationConstraints(REQUIRE_AUTHENTICATION)
21 class EditCommentServlet extends InterceptableServlet {
22 @Inject private CommentService service;
23
24 @Override
25 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
26 doPost(request, response);
27 }
28
29 @Override
30 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
31 ParameterConverter converter = new ParameterConverter(request);
32 int commentId = converter.getIntParameter("id").orElse(0);
33 String text = request.getParameter("text");
34 service.editComment(commentId,text);
35
36 int parentPostId = service.getComment(commentId).getPostId();
37
38 response.sendRedirect( getServletContext().getContextPath() + "/post/" + parentPostId);
39 }
40 }