Advertisement
Guest User

Untitled

a guest
May 29th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.69 KB | None | 0 0
  1. package com.controllers;
  2.  
  3. import com.DAO.newDAO.CharacterRepository;
  4. import com.DAO.newDAO.SpellsRepository;
  5. import com.fasterxml.jackson.databind.ObjectMapper;
  6. import com.models.Kostyly;
  7. import com.models.entity.CharactersEntity;
  8. import com.models.entity.UsersEntity;
  9. import com.services.UserService;
  10. //import com.sun.org.apache.xpath.internal.operations.String;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.ui.Model;
  14. import org.springframework.web.bind.annotation.GetMapping;
  15. import org.springframework.web.bind.annotation.ModelAttribute;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17.  
  18. import javax.servlet.http.Cookie;
  19. import javax.servlet.http.HttpServletResponse;
  20. import java.io.IOException;
  21. import java.net.URLEncoder;
  22.  
  23. @Controller
  24. public class RestController {
  25.  
  26.     private UsersEntity user;
  27.     private Kostyly kostyly;
  28.  
  29.     private final UserService userService;
  30.  
  31.     @Autowired
  32.     public CharacterRepository characterRepository;
  33.  
  34.     @Autowired
  35.     public SpellsRepository spellsRepository;
  36.  
  37.     @Autowired
  38.     public RestController(UserService userService) {
  39.         this.userService = userService;
  40.     }
  41.  
  42.     @GetMapping("/")
  43.     public String redirectToGreeting() {
  44.         return "redirect:/greeting";
  45.     }
  46.  
  47.     @GetMapping("/greeting")
  48.     public String greetingForm(Model model) {
  49.         model.addAttribute("reg", new UsersEntity());
  50.         return "index";
  51.     }
  52.  
  53.     @GetMapping("/main_page")
  54.     public String mainPage() {
  55.         return "user_main_page";
  56.     }
  57.  
  58.     @PostMapping("/greeting")
  59.     public String greetingSubmit(@ModelAttribute UsersEntity userR) {
  60.         System.out.println(userR);
  61.  
  62.         UsersEntity userByLoginAndPassword =
  63.                 userService.getUserByLoginAndPassword(
  64.                         userR.getLogin(),
  65.                         userR.getPassword()
  66.                 );
  67.  
  68.         System.out.println(userByLoginAndPassword);
  69.         if (userByLoginAndPassword == null) {
  70.             return "redirect:/greeting";
  71.         }
  72.         user = userByLoginAndPassword;
  73.         return "redirect:/character_menu";
  74.     }
  75.  
  76.     @GetMapping("/reg")
  77.     public String registrationForm(Model model) {
  78.         model.addAttribute("userR", new UsersEntity());
  79.         return "registration";
  80.     }
  81.  
  82.     @PostMapping("/reg")
  83.     public String registrationSubmit(@ModelAttribute UsersEntity userR) {
  84.         if (userService.checkLogin(userR.getLogin())) {
  85.             userService.saveUser(userR);
  86.             return "redirect:/greeting";
  87.         } else {
  88.             return "redirect:/reg";
  89.         }
  90.     }
  91.  
  92.     @GetMapping("/character_menu")
  93.     public String characterMenuForm(HttpServletResponse httpServletResponse, Model model) throws IOException {
  94.         if (user != null) {
  95.             model.addAttribute("characterId", new Kostyly());
  96.             ObjectMapper objectMapper = new ObjectMapper();
  97.             String jsonStr = objectMapper.writeValueAsString(user.getCharacters());
  98.             httpServletResponse.addCookie(new Cookie("characters", URLEncoder.encode(jsonStr, "UTF-8")));
  99.             return "character_menu";
  100.         } else
  101.             return "redirect:/greeting";
  102.     }
  103.  
  104.     @PostMapping("/character_menu")
  105.     public String characterMenuSubmit(@ModelAttribute Kostyly characterId) {
  106.         System.out.println(characterId.getCharacterId());
  107.         kostyly = characterId;
  108.         return "redirect:/home";
  109.     }
  110.  
  111.     @GetMapping("/home")
  112.     public String homeForm(HttpServletResponse httpServletResponse) throws IOException {
  113.         if (kostyly != null) {
  114.             CharactersEntity charactersEntity = null;
  115.             for (int i = 0; i < user.getCharacters().size(); i++) {
  116.                 if (Integer.parseInt(kostyly.getCharacterId())
  117.                         == user.getCharacters().get(i).getId()) {
  118.                     charactersEntity = user.getCharacters().get(i);
  119.                 }
  120.             }
  121.  
  122.             ObjectMapper objectMapper = new ObjectMapper();
  123.             String jsonStr = objectMapper.writeValueAsString(charactersEntity);
  124.             String jsonStr2 = objectMapper.writeValueAsString(charactersEntity.getSpells());
  125.             String jsonStr3 = objectMapper.writeValueAsString(spellsRepository.findAll());
  126.             httpServletResponse.addCookie(new Cookie("character", URLEncoder.encode(jsonStr, "UTF-8")));
  127.             httpServletResponse.addCookie(new Cookie("spells", URLEncoder.encode(jsonStr2, "UTF-8")));
  128.             httpServletResponse.addCookie(new Cookie("spellsAll", URLEncoder.encode(jsonStr3, "UTF-8")));
  129.             return "home";
  130.         } else
  131.             return "redirect:/greeting";
  132.     }
  133.  
  134.     //    @PostMapping("/character_menu")
  135. //    public String homeSubmit(@ModelAttribute Kostyly characterId) {
  136. //        System.out.println(characterId.getCharacterId());
  137. //        return "redirect:/greeting";
  138. //    }
  139.     @GetMapping("/create_character")
  140.     public String characterForm(Model model) {
  141.         model.addAttribute("character", new CharactersEntity());
  142.         return "create_character";
  143.     }
  144.  
  145.     @PostMapping("/create_character")
  146.     public String characterSubmit(@ModelAttribute CharactersEntity character) {
  147.  
  148.         CharactersEntity charactersEntity = character;
  149.         character.setUser(user);
  150.         characterRepository.save(character);
  151.         String login = user.getLogin();
  152.         String password = user.getPassword();
  153.  
  154.         UsersEntity userByLoginAndPassword =
  155.                 userService.getUserByLoginAndPassword(login, password);
  156.         user = userByLoginAndPassword;
  157.         return "redirect:/home";
  158.         /////////////
  159.     }
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement