Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.rr.wabshs.ui.resources; import com.registryKit.resources.programResources; import com.registryKit.resources.resourceManager; import com.registryKit.user.User; import com.registryKit.user.userManager; import java.util.List; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; /** * * @author chadmccue */ @Controller @RequestMapping("/resources") public class resourcesController { private static Integer moduleId = 13; @Autowired resourceManager resourceManager; @Autowired private userManager usermanager; @Value("${programId}") private Integer programId; @Value("${topSecret}") private String topSecret; @RequestMapping(value = "", method = RequestMethod.GET) public ModelAndView resourcesList(HttpSession session) throws Exception { /* Get a list of completed surveys the logged in user has access to */ User userDetails = (User) session.getAttribute("userDetails"); ModelAndView mav = new ModelAndView(); mav.setViewName("/resources/users"); /* Get a list of top level entities */ Integer userId = 0; if (userDetails.getRoleId() == 3) { userId = userDetails.getId(); } /* Get a list of available program resources */ List<programResources> programResources = resourceManager.getResources(programId); mav.addObject("programResources", programResources); boolean allowResourceAdmin = false; if (userDetails.getRoleId() == 2) { allowResourceAdmin = true; } mav.addObject("allowResourceAdmin", allowResourceAdmin); return mav; } /** * The 'getUserList' POST method will return the list of users based on the search parameters passed in. * @param session * @param searchString * @param selectedResources * @param selectedCriteria * @return * @throws Exception */ @RequestMapping(value = "/getUserList", method = RequestMethod.POST) @ResponseBody public ModelAndView getUserList(HttpSession session, @RequestParam(value = "searchString", required = false) String searchString, @RequestParam(value = "selectedResources", required = false) List<Integer> selectedResources, @RequestParam(value = "selectedCriteria", required = false) String selectedCriteria) throws Exception { ModelAndView mav = new ModelAndView(); mav.setViewName("/resources/userList"); mav.addObject("searchString", searchString); /* Find users */ if ((searchString != null && !"".contains(searchString)) || (selectedResources != null && selectedResources.size() > 0)) { List<User> users = usermanager.getUsersByResource(programId, searchString, selectedResources, selectedCriteria); mav.addObject("users", users); } return mav; } /** * The 'resourceList' GET request will return the main program resource list page. * * @param session * @return * @throws Exception */ @RequestMapping(value = "/skillSetList", method = RequestMethod.GET) public ModelAndView resourceList(HttpSession session) throws Exception { ModelAndView mav = new ModelAndView(); mav.setViewName("/resources"); return mav; } /** * The 'getResourceList' GET request will return the list of available resources. * @param session * @return * @throws Exception */ @RequestMapping(value = "/getResourceList", method = RequestMethod.GET) @ResponseBody public ModelAndView getResourceList(HttpSession session) throws Exception { ModelAndView mav = new ModelAndView(); mav.setViewName("/resources/resourceList"); /* Get a list of available program resources */ List<programResources> programResources = resourceManager.getResources(programId); mav.addObject("programResources", programResources); return mav; } /** * The 'getResourceModal.do' GET request will return the resource modal window. * * @param session * @return * @throws Exception */ @RequestMapping(value = "/getResourceModal.do", method = RequestMethod.GET) public ModelAndView getResourceModal(HttpSession session, @RequestParam(value = "resourceId", required = true) Integer resourceId) throws Exception { ModelAndView mav = new ModelAndView(); mav.setViewName("/resources/resourceModal"); programResources programResourceDetails; if (resourceId > 0) { programResourceDetails = resourceManager.getResourceById(resourceId); } else { programResourceDetails = new programResources(); } mav.addObject("programResources", programResourceDetails); return mav; } /** * The 'saveresources.do' POST request will save/update the passed in programResources object * @param programResources * @param session * @return * @throws Exception */ @RequestMapping(value = "/saveresources.do", method = RequestMethod.POST) @ResponseBody public Integer saveresources(@ModelAttribute(value = "programResources") programResources programResources, HttpSession session) throws Exception { programResources.setProgramId(programId); resourceManager.saveResource(programResources); return 1; } @RequestMapping(value = "/deleteResources.do", method = RequestMethod.POST) @ResponseBody public Integer deleteResources(@RequestParam(value = "resourceId", required = true) Integer resourceId, HttpSession session) throws Exception { if (resourceId > 0) { resourceManager.removeResource(resourceId); } return 1; } }