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 ash.resourcemanager.spring.controllers; import ash.resourcemanager.hibernate.GenericDAO; import ash.resourcemanager.hibernate.pojo.Project; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; 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.SessionAttributes; import org.springframework.web.servlet.ModelAndView; /** * * @author Ash */ @Controller @SessionAttributes public class ProjectsController { private GenericDAO<Project> _projectsDAO; private GenericDAO<Project> _customersDAO; @RequestMapping(value = "/projects", method = RequestMethod.GET) public ModelAndView showProjects() { List<Project> projects = getProjectsDAO().getAll(); ModelAndView modelAndView = new ModelAndView("projects"); modelAndView.addObject("projects", projects); return modelAndView; } @RequestMapping(value = "/projectForm") public ModelAndView showProjectForm(HttpServletRequest request) { //I need customers list, assignments list and worktypes list !!! ModelAndView modelAndView = new ModelAndView("projectForm"); String method = request.getParameter("action"); if (method.equals("add")) { modelAndView.addObject("command", new Project()); } else if (method.equals("edit")) { String projectId = request.getParameter("id"); Project project = getProjectsDAO().getById(Integer.parseInt(projectId)); modelAndView.addObject("command", project); } modelAndView.addObject("customersList", getCustomersDAO().getAll()); return modelAndView; } @RequestMapping(value = "/saveProject", method = RequestMethod.POST) public String saveProject(@ModelAttribute("project") Project project, BindingResult result) { System.out.println("project id:" + project.getProjectId() + "name" + project.getName()); if (project.getProjectId() == null) { getProjectsDAO().create(project); } else { Project projectObject = getProjectsDAO().getById(project.getProjectId()); projectObject.setName(project.getName()); getProjectsDAO().update(projectObject); } return "redirect:projects.htm"; } @RequestMapping(value = "/deleteProject") public String deleteProject(HttpServletRequest request) { GenericDAO<Project> dao = getProjectsDAO(); String projectId = request.getParameter("id"); Project project = dao.getById(Integer.parseInt(projectId)); dao.delete(project); return "redirect:projects.htm"; } private GenericDAO<Project> getProjectsDAO() { if (_projectsDAO == null) { _projectsDAO = new GenericDAO<Project>(Project.class); } return _projectsDAO; } private GenericDAO<Project> getCustomersDAO() { if (_customersDAO == null) { _customersDAO = new GenericDAO<Project>(Project.class); } return _customersDAO; } }