Package org.krams.controller

Source Code of org.krams.controller.UserController

package org.krams.controller;

import java.util.ArrayList;
import java.util.List;

import org.krams.domain.Role;
import org.krams.domain.User;
import org.krams.repository.UserRepository;
import org.krams.response.UserDto;
import org.krams.service.UserService;
import org.krams.util.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.ui.ModelMap;

@Controller
@RequestMapping("/users")
public class UserController {
 
  @Autowired
  private UserRepository repository;
 
  @Autowired
  private UserService service;
 
  @ModelAttribute("allRoles")
  public List<Integer> getAllRoles() {
    List<Integer> roles = new ArrayList<Integer>();
    roles.add(1);
    roles.add(2);
    return roles;
  }
 
  @RequestMapping
  public String getUsersPage(ModelMap model) {
    Pageable pageRequest = new PageRequest(0, 10);
    Page<User> users = repository.findAll(pageRequest);
    model.addAttribute("users", UserMapper.map(users));
    model.addAttribute("commanduser", new UserDto());
    model.addAttribute("usertype", "new");
    return "users";
  }
 
  @RequestMapping(value="/get", produces="application/json")
  public @ResponseBody UserDto get(@RequestBody UserDto user) {
    return UserMapper.map(repository.findByUsername(user.getUsername()));
  }

  @RequestMapping(value="/create", produces="application/json", method=RequestMethod.POST)
  public String create(UserDto dto) {
    if (dto.getId() != null)  {
      User existingUser = new User(dto.getUsername(),
        dto.getFirstName(),
        dto.getLastName(),
        new Role(dto.getRole()));
      service.update(existingUser);
    } else {
      User newUser = new User(dto.getUsername(),
        null,
        dto.getFirstName(),
        dto.getLastName(),
        new Role(dto.getRole()));
      service.create(newUser);
    }
   
    return "redirect:/users";
  }
 
  @RequestMapping(value="/edit")
  public String edit(Long id, ModelMap model) {
    Pageable pageRequest = new PageRequest(0, 10);
    Page<User> users = repository.findAll(pageRequest);
    model.addAttribute("users", UserMapper.map(users));
    model.addAttribute("commanduser", UserMapper.map(repository.findOne(id)));
    model.addAttribute("usertype", "update");
    return "users";
  }
 
  @RequestMapping(value="/delete")
  public String delete(Long id) {

    User existingUser = new User();
    existingUser.setId(id);
    service.delete(existingUser);
    return "redirect:/users";
  }
}
TOP

Related Classes of org.krams.controller.UserController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.