diff --git a/data.trace.db b/data.trace.db index fe084f1..898d571 100644 --- a/data.trace.db +++ b/data.trace.db @@ -184,3 +184,64 @@ Wrong user name or password [28000-210] at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) ... 50 more +2023-04-21 13:55:26 database: wrong user or password; user: "SA" +org.h2.message.DbException: Неверное имя пользователя или пароль +Wrong user name or password [28000-210] + at org.h2.message.DbException.get(DbException.java:227) + at org.h2.message.DbException.get(DbException.java:203) + at org.h2.message.DbException.get(DbException.java:192) + at org.h2.engine.Engine.openSession(Engine.java:154) + at org.h2.engine.Engine.openSession(Engine.java:222) + at org.h2.engine.Engine.createSession(Engine.java:201) + at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) + at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) + at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288) + at org.h2.server.web.WebServer.getConnection(WebServer.java:807) + at org.h2.server.web.WebApp.login(WebApp.java:1033) + at org.h2.server.web.WebApp.process(WebApp.java:226) + at org.h2.server.web.WebApp.processRequest(WebApp.java:176) + at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) + at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:833) +Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль +Wrong user name or password [28000-210] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) + ... 53 more diff --git a/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostController.java b/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostController.java index 74e4ab4..189e3b2 100644 --- a/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostController.java +++ b/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostController.java @@ -5,11 +5,12 @@ import org.springframework.web.bind.annotation.*; import ru.ulstu.is.sbapp.Comment.model.CommentDto; import ru.ulstu.is.sbapp.Post.model.PostDto; import ru.ulstu.is.sbapp.Post.service.PostService; +import ru.ulstu.is.sbapp.WebConfiguration; import java.util.List; @RestController -@RequestMapping("/post") +@RequestMapping(WebConfiguration.REST_API + "/post") public class PostController { private final PostService postService; public PostController(PostService postService) { diff --git a/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostMvcController.java b/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostMvcController.java new file mode 100644 index 0000000..549f243 --- /dev/null +++ b/src/main/java/ru/ulstu/is/sbapp/Post/controller/PostMvcController.java @@ -0,0 +1,102 @@ +package ru.ulstu.is.sbapp.Post.controller; + +import jakarta.validation.Valid; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import ru.ulstu.is.sbapp.Comment.model.CommentDto; +import ru.ulstu.is.sbapp.Comment.service.CommentService; +import ru.ulstu.is.sbapp.Post.model.PostDto; +import ru.ulstu.is.sbapp.Post.service.PostService; +import ru.ulstu.is.sbapp.User.model.UserDto; +import ru.ulstu.is.sbapp.User.service.UserService; + +@Controller +@RequestMapping("/post") +public class PostMvcController { + private final PostService postService; + private final UserService userService; + private final CommentService commentService; + public PostMvcController(PostService postService,UserService userService,CommentService commentService) + { + this.postService = postService; + this.userService = userService; + this.commentService=commentService; + } + @GetMapping("/{id}") + public String getPost(@PathVariable Long id,Model model) + { + model.addAttribute("post", + new PostDto(postService.findPost(id))); + model.addAttribute("users", + userService.findAllUsers().stream() + .map(UserDto::new) + .toList()); + model.addAttribute("comments", + postService.GetPostComments(id).stream() + .map(CommentDto::new) + .toList()); + return "post-page"; + } + @GetMapping + public String getPosts(Model model) { + model.addAttribute("posts", + postService.findAllPosts().stream() + .map(PostDto::new) + .toList()); + model.addAttribute("users", + userService.findAllUsers().stream() + .map(UserDto::new) + .toList()); + return "post"; + } + + @GetMapping(value = {"/add/{userId}", "/edit/{id}"}) + public String editPost(@PathVariable(required = false) Long id, + @PathVariable(required = false) Long userId, + Model model) { + if (id == null || id <= 0) { + model.addAttribute("userId",userId); + model.addAttribute("postDto", new PostDto()); + return "post-create"; + } else { + model.addAttribute("postId", id); + model.addAttribute("postDto", new PostDto(postService.findPost(id))); + return "post-edit"; + } + + } + + @PostMapping(value = {"user/{userId}", "/{id}"}) + public String savePost(@PathVariable(required = false) Long id, + @PathVariable(required = false) Long userId, + @ModelAttribute @Valid PostDto postDto, + BindingResult bindingResult, + Model model) { + if (bindingResult.hasErrors()) { + model.addAttribute("errors", bindingResult.getAllErrors()); + return "post-edit"; + } + if (id == null || id <= 0 && userId!=null) { + userService.addNewPost(userId,postDto); + } else { + postService.updatePost(id, postDto); + } + return "redirect:/post"; + } + + @PostMapping("/delete/{id}/{postId}") + public String deletePost(@PathVariable Long id, + @PathVariable Long postId) { + userService.deletePost(id,postId); + return "redirect:/post"; + } + + @PostMapping("/deleteComment/{id}/{commentId}") + public String deleteComment(@PathVariable Long id, + @PathVariable Long commentId) { + postService.removeCommentFromPost(id,commentId); + return "redirect:/post"; + } +} diff --git a/src/main/java/ru/ulstu/is/sbapp/Post/model/PostDto.java b/src/main/java/ru/ulstu/is/sbapp/Post/model/PostDto.java index 141f27f..b632b8e 100644 --- a/src/main/java/ru/ulstu/is/sbapp/Post/model/PostDto.java +++ b/src/main/java/ru/ulstu/is/sbapp/Post/model/PostDto.java @@ -14,6 +14,7 @@ public class PostDto { private String content; + private Long userId; private List comments = new ArrayList<>(); private String image; @@ -28,6 +29,7 @@ public class PostDto { comments = post.getComments().stream() .map(CommentDto::new).toList(); } + userId=post.getUser().getId(); } @@ -51,4 +53,22 @@ public class PostDto { public String getImage() { return image; } + + public void setHeading(String Heading) + { + this.heading=Heading; + } + + public void setContent(String content) { + this.content = content; + } + + public void setComments(List comments) { + this.comments = comments; + } + + public void setImage(String image) { + this.image = image; + } + } diff --git a/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java b/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java index 053a8c3..6ab4a09 100644 --- a/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java +++ b/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java @@ -17,7 +17,7 @@ public class UserMvcController { this.userService=userService; } @GetMapping - public String getUser(Model model) { + public String getUsers(Model model) { model.addAttribute("users", userService.findAllUsers().stream() .map(UserDto::new) diff --git a/src/main/resources/templates/comment-edit.html b/src/main/resources/templates/comment-edit.html new file mode 100644 index 0000000..a9cdfc7 --- /dev/null +++ b/src/main/resources/templates/comment-edit.html @@ -0,0 +1,25 @@ + + + + + +
+
+
+
+ + + + + + +
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/templates/default.html b/src/main/resources/templates/default.html index 036f9e1..461346a 100644 --- a/src/main/resources/templates/default.html +++ b/src/main/resources/templates/default.html @@ -28,7 +28,7 @@ diff --git a/src/main/resources/templates/post-create.html b/src/main/resources/templates/post-create.html new file mode 100644 index 0000000..3b15bdc --- /dev/null +++ b/src/main/resources/templates/post-create.html @@ -0,0 +1,34 @@ + + + + + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + + Назад + +
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/templates/post-edit.html b/src/main/resources/templates/post-edit.html new file mode 100644 index 0000000..0b0b637 --- /dev/null +++ b/src/main/resources/templates/post-edit.html @@ -0,0 +1,34 @@ + + + + + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + + Назад + +
+
+
+ + \ No newline at end of file diff --git a/src/main/resources/templates/post-page.html b/src/main/resources/templates/post-page.html new file mode 100644 index 0000000..ca493b0 --- /dev/null +++ b/src/main/resources/templates/post-page.html @@ -0,0 +1,67 @@ + + + + + + +
+
+
+
+

+

[[${post.content}]]

+
+
+ + + + + +
+
+ + + + + + + + + + + + + + +
#ПользовательСодержимое
+ + + +
+ + + Изменить + + +
+
+ +
+
+
+ +
+
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/post.html b/src/main/resources/templates/post.html new file mode 100644 index 0000000..9d46106 --- /dev/null +++ b/src/main/resources/templates/post.html @@ -0,0 +1,64 @@ + + + + + + +
+
+
+
+ +
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+

+
+
+
+
+ +
+
+
+
+
+ + + + + \ No newline at end of file