diff --git a/pom.xml b/pom.xml index a703f4e..6b82abe 100644 --- a/pom.xml +++ b/pom.xml @@ -73,9 +73,7 @@ 5.3.8.RELEASE test - - diff --git a/src/main/java/com/mountblue/stackoverflow/config/SecurityConfiguration.java b/src/main/java/com/mountblue/stackoverflow/config/SecurityConfiguration.java index 16e12d9..69bf045 100644 --- a/src/main/java/com/mountblue/stackoverflow/config/SecurityConfiguration.java +++ b/src/main/java/com/mountblue/stackoverflow/config/SecurityConfiguration.java @@ -42,7 +42,7 @@ protected void configure(HttpSecurity http) throws Exception { "/img/**", "/question/showAllQuestionForNonLoggedInUser**", "/**" - ).permitAll() + ).permitAll() .anyRequest().authenticated() .and() .formLogin() diff --git a/src/main/java/com/mountblue/stackoverflow/controller/QuestionController.java b/src/main/java/com/mountblue/stackoverflow/controller/QuestionController.java index d94bc44..9fa338b 100644 --- a/src/main/java/com/mountblue/stackoverflow/controller/QuestionController.java +++ b/src/main/java/com/mountblue/stackoverflow/controller/QuestionController.java @@ -49,7 +49,7 @@ public String showQuestionForm(Model model, @RequestParam("userEmail") String us Question question = new Question(); model.addAttribute("question", question); model.addAttribute("userEmail", userEmail); - return "question/question-form"; + return "questionForm"; } @PostMapping("/saveQuestionData") @@ -86,10 +86,12 @@ public String saveQuestionData(@ModelAttribute("question") @Valid Question quest @PostMapping("/updateQuestionData") public String updateQuestionData(@ModelAttribute("question") @Valid Question question, - @RequestParam("userEmail") String userEmail, BindingResult bindingResult) { + @RequestParam("userEmail") String userEmail, BindingResult bindingResult, + @RequestParam("questionEmail") String questionEmail) { if (bindingResult.hasErrors()) { return "redirect:/question/showFormForQuestionUpdate?error"; } else { + question.setEmail(questionEmail); questionService.saveQuestion(question); return "redirect:/question/showQuestion?questionId="+question.getId()+"&userEmail="+userEmail+"&oldest="+oldest; } diff --git a/src/main/java/com/mountblue/stackoverflow/service/UserService.java b/src/main/java/com/mountblue/stackoverflow/service/UserService.java index aaa5604..8dabae4 100644 --- a/src/main/java/com/mountblue/stackoverflow/service/UserService.java +++ b/src/main/java/com/mountblue/stackoverflow/service/UserService.java @@ -2,15 +2,12 @@ import com.mountblue.stackoverflow.dto.UserRegistrationDto; import com.mountblue.stackoverflow.model.User; -import org.springframework.security.core.userdetails.UserDetailsService; -public interface UserService extends UserDetailsService { +public interface UserService { void saveUser(User user); boolean isValidUser(String userName, String password); User getUserByEmail(String email); - - User save(UserRegistrationDto registrationDto); } diff --git a/src/main/java/com/mountblue/stackoverflow/service/UserServiceImplementation.java b/src/main/java/com/mountblue/stackoverflow/service/UserServiceImplementation.java index eb14913..cbedca9 100644 --- a/src/main/java/com/mountblue/stackoverflow/service/UserServiceImplementation.java +++ b/src/main/java/com/mountblue/stackoverflow/service/UserServiceImplementation.java @@ -1,30 +1,16 @@ package com.mountblue.stackoverflow.service; -import com.mountblue.stackoverflow.dto.UserRegistrationDto; -import com.mountblue.stackoverflow.model.Role; import com.mountblue.stackoverflow.model.User; import com.mountblue.stackoverflow.repository.UserRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.GrantedAuthority; -import org.springframework.security.core.authority.SimpleGrantedAuthority; -import org.springframework.security.core.userdetails.UserDetails; -import org.springframework.security.core.userdetails.UsernameNotFoundException; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.Collection; import java.util.List; -import java.util.stream.Collectors; @Service public class UserServiceImplementation implements UserService{ private final UserRepository userRepository; - @Autowired - private BCryptPasswordEncoder passwordEncoder; - public UserServiceImplementation(UserRepository userRepository) { this.userRepository = userRepository; } @@ -51,27 +37,4 @@ public boolean isValidUser(String userName, String password) { public User getUserByEmail(String email) { return userRepository.getUserByEmail(email); } - - @Override - public User save(UserRegistrationDto registrationDto) { - User user = new User(registrationDto.getName(), registrationDto.getEmail(), - passwordEncoder.encode(registrationDto.getPassword()), - Arrays.asList(new Role("ROLE_ADMIN"))); - - return userRepository.save(user); - } - - @Override - public UserDetails loadUserByUsername(String userName) throws UsernameNotFoundException { - - User user = userRepository.findByEmail(userName); - if(user == null) { - throw new UsernameNotFoundException("Invalid username or password."); - } - return new org.springframework.security.core.userdetails.User(user.getEmail(), user.getPassword(), mapRolesToAuthorites(user.getRoles())); - } - - private Collection mapRolesToAuthorites(Collection roles) { - return roles.stream().map(role -> new SimpleGrantedAuthority(role.getName())).collect(Collectors.toList()); - } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0706e47..0d4d3cb 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -5,7 +5,7 @@ spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL94Dialect spring.datasource.driverClassName=org.postgresql.Driver spring.datasource.url= jdbc:postgresql://localhost:5432/stackoverflow spring.datasource.username=postgres -spring.datasource.password=31081994 +spring.datasource.password=kamesh spring.jpa.show-sql=true spring.session.store-type=none diff --git a/src/main/resources/templates/answer/answer-comment-form.html b/src/main/resources/templates/answer/answer-comment-form.html index 15d0439..34ac958 100644 --- a/src/main/resources/templates/answer/answer-comment-form.html +++ b/src/main/resources/templates/answer/answer-comment-form.html @@ -20,7 +20,7 @@

Comment

class="form-control mb-4 col-4" placeholder="Name"> + class="form-control mb-4 col-4" placeholder="Add Comment" required> diff --git a/src/main/resources/templates/answer/answer-update-form.html b/src/main/resources/templates/answer/answer-update-form.html index 3b1172a..8ff6f2b 100644 --- a/src/main/resources/templates/answer/answer-update-form.html +++ b/src/main/resources/templates/answer/answer-update-form.html @@ -5,8 +5,7 @@ - - Save post + Update Answer
@@ -21,7 +20,7 @@
- + @@ -32,15 +31,5 @@
Back Question Answer
- \ No newline at end of file diff --git a/src/main/resources/templates/question/question-form.html b/src/main/resources/templates/question/question-form.html index 8287166..6cb6f9f 100644 --- a/src/main/resources/templates/question/question-form.html +++ b/src/main/resources/templates/question/question-form.html @@ -2,14 +2,6 @@ - - - - - - - Ask Question @@ -38,7 +30,7 @@
+ th:required="mandatory" type="text"> Back to Question List
- diff --git a/src/main/resources/templates/question/question-list.html b/src/main/resources/templates/question/question-list.html index 41eafaf..4304db9 100644 --- a/src/main/resources/templates/question/question-list.html +++ b/src/main/resources/templates/question/question-list.html @@ -1,6 +1,5 @@ - + @@ -39,7 +38,7 @@
- +
diff --git a/src/main/resources/templates/question/show-question.html b/src/main/resources/templates/question/show-question.html index ad10832..ef65831 100644 --- a/src/main/resources/templates/question/show-question.html +++ b/src/main/resources/templates/question/show-question.html @@ -5,13 +5,12 @@ - - Save post + stackoverflow
- - diff --git a/src/main/resources/templates/question/update-question-form.html b/src/main/resources/templates/question/update-question-form.html index ecdf4b8..2c0a498 100644 --- a/src/main/resources/templates/question/update-question-form.html +++ b/src/main/resources/templates/question/update-question-form.html @@ -5,7 +5,6 @@ - @@ -17,7 +16,7 @@

Save Question

+ th:action="@{/question/updateQuestionData(userEmail=${userEmail}, questionEmail=${question.email})}" th:object="${question}"> @@ -32,14 +31,14 @@ th:if="${#fields.hasErrors('title')}">
- +
+ th:required="mandatory" type="text"> @@ -50,15 +49,5 @@
Back to Home Page
-