diff --git a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/config/MySpringMvcDispatcherSerlvetIntitializer.java b/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/config/MySpringMvcDispatcherSerlvetIntitializer.java deleted file mode 100644 index 63582e9f..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/config/MySpringMvcDispatcherSerlvetIntitializer.java +++ /dev/null @@ -1,38 +0,0 @@ -package ru.alishev.springcourse.config; - -import org.springframework.web.filter.HiddenHttpMethodFilter; -import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; - -import javax.servlet.ServletContext; -import javax.servlet.ServletException; - -/** - * @author Neil Alishev - */ -public class MySpringMvcDispatcherSerlvetIntitializer extends AbstractAnnotationConfigDispatcherServletInitializer { - @Override - protected Class[] getRootConfigClasses() { - return null; - } - - @Override - protected Class[] getServletConfigClasses() { - return new Class[]{SpringConfig.class}; - } - - @Override - protected String[] getServletMappings() { - return new String[]{"/"}; - } - - @Override - public void onStartup(ServletContext aServletContext) throws ServletException { - super.onStartup(aServletContext); - registerHiddenFieldFilter(aServletContext); - } - - private void registerHiddenFieldFilter(ServletContext aContext) { - aContext.addFilter("hiddenHttpMethodFilter", - new HiddenHttpMethodFilter()).addMappingForUrlPatterns(null ,true, "/*"); - } -} diff --git a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/config/SpringConfig.java b/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/config/SpringConfig.java deleted file mode 100644 index a4de9f61..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/config/SpringConfig.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.alishev.springcourse.config; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.ApplicationContext; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import org.springframework.web.servlet.config.annotation.ViewResolverRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import org.thymeleaf.spring5.SpringTemplateEngine; -import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver; -import org.thymeleaf.spring5.view.ThymeleafViewResolver; - -/** - * @author Neil Alishev - */ -@Configuration -@ComponentScan("ru.alishev.springcourse") -@EnableWebMvc -public class SpringConfig implements WebMvcConfigurer { - - private final ApplicationContext applicationContext; - - @Autowired - public SpringConfig(ApplicationContext applicationContext) { - this.applicationContext = applicationContext; - } - - @Bean - public SpringResourceTemplateResolver templateResolver() { - SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); - templateResolver.setApplicationContext(applicationContext); - templateResolver.setPrefix("/WEB-INF/views/"); - templateResolver.setSuffix(".html"); - return templateResolver; - } - - @Bean - public SpringTemplateEngine templateEngine() { - SpringTemplateEngine templateEngine = new SpringTemplateEngine(); - templateEngine.setTemplateResolver(templateResolver()); - templateEngine.setEnableSpringELCompiler(true); - return templateEngine; - } - - @Override - public void configureViewResolvers(ViewResolverRegistry registry) { - ThymeleafViewResolver resolver = new ThymeleafViewResolver(); - resolver.setTemplateEngine(templateEngine()); - registry.viewResolver(resolver); - } -} diff --git a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/controllers/PeopleController.java b/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/controllers/PeopleController.java deleted file mode 100644 index 8de8ccd7..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/controllers/PeopleController.java +++ /dev/null @@ -1,75 +0,0 @@ -package ru.alishev.springcourse.controllers; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.*; -import ru.alishev.springcourse.dao.PersonDAO; -import ru.alishev.springcourse.models.Person; - -import javax.validation.Valid; - -/** - * @author Neil Alishev - */ -@Controller -@RequestMapping("/people") -public class PeopleController { - - private final PersonDAO personDAO; - - @Autowired - public PeopleController(PersonDAO personDAO) { - this.personDAO = personDAO; - } - - @GetMapping() - public String index(Model model) { - model.addAttribute("people", personDAO.index()); - return "people/index"; - } - - @GetMapping("/{id}") - public String show(@PathVariable("id") int id, Model model) { - model.addAttribute("person", personDAO.show(id)); - return "people/show"; - } - - @GetMapping("/new") - public String newPerson(@ModelAttribute("person") Person person) { - return "people/new"; - } - - @PostMapping() - public String create(@ModelAttribute("person") @Valid Person person, - BindingResult bindingResult) { - if (bindingResult.hasErrors()) - return "people/new"; - - personDAO.save(person); - return "redirect:/people"; - } - - @GetMapping("/{id}/edit") - public String edit(Model model, @PathVariable("id") int id) { - model.addAttribute("person", personDAO.show(id)); - return "people/edit"; - } - - @PatchMapping("/{id}") - public String update(@ModelAttribute("person") @Valid Person person, BindingResult bindingResult, - @PathVariable("id") int id) { - if (bindingResult.hasErrors()) - return "people/edit"; - - personDAO.update(id, person); - return "redirect:/people"; - } - - @DeleteMapping("/{id}") - public String delete(@PathVariable("id") int id) { - personDAO.delete(id); - return "redirect:/people"; - } -} diff --git a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/dao/PersonDAO.java b/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/dao/PersonDAO.java deleted file mode 100644 index c7d21b5f..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/dao/PersonDAO.java +++ /dev/null @@ -1,96 +0,0 @@ -package ru.alishev.springcourse.dao; - -import org.springframework.stereotype.Component; -import ru.alishev.springcourse.models.Person; - -import java.sql.*; -import java.util.ArrayList; -import java.util.List; - -/** - * @author Neil Alishev - */ -@Component -public class PersonDAO { - private static int PEOPLE_COUNT; - - private static final String URL = "jdbc:postgresql://localhost:5432/first_db"; - private static final String USERNAME = "postgres"; - private static final String PASSWORD = "postgres"; - - private static Connection connection; - - static { - try { - Class.forName("org.postgresql.Driver"); - } catch (ClassNotFoundException e) { - e.printStackTrace(); - } - - try { - connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - } - - public List index() { - List people = new ArrayList<>(); - - try { - Statement statement = connection.createStatement(); - String SQL = "SELECT * FROM Person"; - ResultSet resultSet = statement.executeQuery(SQL); - - while(resultSet.next()) { - Person person = new Person(); - - person.setId(resultSet.getInt("id")); - person.setName(resultSet.getString("name")); - person.setEmail(resultSet.getString("email")); - person.setAge(resultSet.getInt("age")); - - people.add(person); - } - - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - - return people; - } - - public Person show(int id) { -// return people.stream().filter(person -> person.getId() == id).findAny().orElse(null); - return null; - } - - public void save(Person person) { -// person.setId(++PEOPLE_COUNT); -// people.add(person); - - try { - Statement statement = connection.createStatement(); - String SQL = "INSERT INTO Person VALUES(" + 1 + ",'" + person.getName() + - "'," + person.getAge() + ",'" + person.getEmail() + "')"; - - statement.executeUpdate(SQL); - } catch (SQLException throwables) { - throwables.printStackTrace(); - } - - - } - - public void update(int id, Person updatedPerson) { -// Person personToBeUpdated = show(id); -// -// personToBeUpdated.setName(updatedPerson.getName()); -// personToBeUpdated.setAge(updatedPerson.getAge()); -// personToBeUpdated.setEmail(updatedPerson.getEmail()); - } - - public void delete(int id) { -// people.removeIf(p -> p.getId() == id); - } -} diff --git a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/models/Person.java b/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/models/Person.java deleted file mode 100644 index 4b9b5b57..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/java/ru/alishev/springcourse/models/Person.java +++ /dev/null @@ -1,67 +0,0 @@ -package ru.alishev.springcourse.models; - -import javax.validation.constraints.Email; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.Size; - -/** - * @author Neil Alishev - */ -public class Person { - private int id; - - @NotEmpty(message = "Name should not be empty") - @Size(min = 2, max = 30, message = "Name should be between 2 and 30 characters") - private String name; - - @Min(value = 0, message = "Age should be greater than 0") - private int age; - - @NotEmpty(message = "Email should not be empty") - @Email(message = "Email should be valid") - private String email; - - public Person() { - - } - - public Person(int id, String name, int age, String email) { - this.id = id; - this.name = name; - this.age = age; - this.email = email; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/edit.html b/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/edit.html deleted file mode 100644 index ba6aaaab..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/edit.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Update person - - - -
- - -
Name Error
-
- - -
Age Error
-
- - -
Email Error
-
- -
- - - \ No newline at end of file diff --git a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/index.html b/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/index.html deleted file mode 100644 index f143f770..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - Index - - - -
- user -
- -
-
- -Create new person - - - \ No newline at end of file diff --git a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/new.html b/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/new.html deleted file mode 100644 index 3e2cc5c9..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/new.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - New person - - - -
- - -
Name Error
-
- - -
Age Error
-
- - -
Email Error
-
- -
- - - \ No newline at end of file diff --git a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/show.html b/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/show.html deleted file mode 100644 index db8fb792..00000000 --- a/Lesson26_Starter.SpringJDBC2/src/main/webapp/WEB-INF/views/people/show.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - Show - - -

VALUE

-

VALUE

-

VALUE

- -Edit - -
- -
- - \ No newline at end of file