package application.controllers; import application.model.Role; import application.model.User; import application.repositories.RoleRepository; import application.repositories.UserRepository; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import java.util.ArrayList; import java.util.HashSet; import java.util.Set; /** * Created by lukasgol on 21.04.14. */ @Controller @RequestMapping(value="/users") public class UserController { @Autowired private UserRepository userRepository; @Autowired private RoleRepository roleRepository; @PersistenceContext private EntityManager entityManager; @RequestMapping(value = "/add") @ResponseBody public String addUser(@RequestParam String username) { User user = new User(); user.setFirstName(username); Set roles = new HashSet(); roles.add(new Role("lala","lala")); roles.add(new Role("lala1","lala1")); user.setRoles(roles); userRepository.save(user); return "saved user: "+user.getUserId(); } @RequestMapping("/{userId}") public String getUser(@PathVariable("userId") Long userId) { User user = userRepository.findOne(userId); return "user: "+user.toString(); } @RequestMapping(value = "/init") public @ResponseBody String initialise() { Role ceo = new Role("CEO","101010"); Role worker = new Role("Worker","12345"); roleRepository.save(new Role("Cleaner","54321")); ceo = roleRepository.save(ceo); User user1 = new User("Łukasz", "Goliński", "boss@nfc.pl"); user1.addRole(worker); user1.addRole(ceo); userRepository.save(user1); ArrayList roles = (ArrayList) roleRepository.findAll(); for(Role r: roles){ System.out.println(r.getRoleName()); } Role r = roles.get(0); User user3 = new User("Monika", "Bigas", "boss_monika@nfc.pl"); user3.addRole(worker); user3.addRole(ceo); userRepository.save(user3); //entityManager.merge(user3); User user2 = new User("Marcin", "Michałek", "boss_marcin@nfc.pl"); user2.addRole(ceo); userRepository.save(user2); ArrayList users = (ArrayList) userRepository.findAll(); for(User u: users){ System.out.println(u.getFirstName()+" "+u.getLastName()); } for (User user : userRepository.findAll()) { System.out.println("USER: " + user.getFirstName() + " " + user.getLastName() + " " + user.getEmail()); System.out.println("roles: "); for (Role role : user.getRoles()) { System.out.println(" -" + role.getRoleName()); } System.out.println("enduser"); System.out.println(""); } return "initialised"; } @RequestMapping(value = "/all") public @ResponseBody String listUsersJson(ModelMap model) throws JSONException { JSONArray userArray = new JSONArray(); for (User user : userRepository.findAll()) { JSONObject userJSON = new JSONObject(); userJSON.put("id", user.getUserId()); userJSON.put("firstname", user.getFirstName()); userArray.put(userJSON); } return userArray.toString(); } @RequestMapping("/remove/{userId}") public String removeUser(@PathVariable("userId") Long userId) { userRepository.delete(userId); return "user deleted: "+userId; } }