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 br.com.projetotcc.controller; import br.com.projetotcc.dao.ComplexidadeDao; import br.com.projetotcc.dao.FuncionalidadeDao; import br.com.projetotcc.dao.ProjetoDao; import br.com.projetotcc.model.Complexidade; import br.com.projetotcc.model.Funcionalidade; import br.com.projetotcc.model.Projeto; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; /** * * @author leoja */ @Controller @Transactional public class FuncionalidadeController { @Autowired private FuncionalidadeDao funcDao = new FuncionalidadeDao(); @Autowired private ComplexidadeDao complexDao = new ComplexidadeDao(); @Autowired private ProjetoDao projetoDao; @RequestMapping("/funcionalidades") public ModelAndView funcionalidades() { ModelAndView modelAndView = new ModelAndView("funcionalidades"); modelAndView.addObject("funcionalidades", funcDao.list()); return modelAndView; } @RequestMapping("/funcionalidade") public ModelAndView novaFuncionalidade() { ModelAndView modelAndView = new ModelAndView("funcionalidade"); modelAndView.addObject("complexidades", complexDao.list()); modelAndView.addObject("projetos", projetoDao.list()); return modelAndView; } @RequestMapping("/novafuncionalidade") public ModelAndView saveFuncionalidade(HttpServletRequest request) { Funcionalidade func = new Funcionalidade(); func.setNome(request.getParameter("nome")); func.setDescricao(request.getParameter("descricao")); func.setUcp(Double.parseDouble(request.getParameter("ucp"))); func.setComplexidade(complexDao.getComplexidade(Integer.parseInt(request.getParameter("complexidade")))); func.setProjeto(projetoDao.getProjeto(Integer.parseInt(request.getParameter("projeto")))); funcDao.save(func); return new ModelAndView("redirect:funcionalidades"); } @RequestMapping("/detalhesfuncionalidade") public ModelAndView getFuncionalidade(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("detalhesfuncionalidade"); modelAndView.addObject("funcionalidade", funcDao.getFuncionalidade(Integer.parseInt(request.getParameter("id")))); return modelAndView; } @RequestMapping("/deletefuncionalidade") public ModelAndView deleteFuncionalidade(HttpServletRequest request) { Funcionalidade func = funcDao.getFuncionalidade(Integer.parseInt(request.getParameter("id"))); funcDao.deleteFuncionalidade(func); return new ModelAndView("redirect:funcionalidades"); } @RequestMapping("/updatefuncionalidade") public ModelAndView updateFuncionalidade(HttpServletRequest request) { Funcionalidade func = new Funcionalidade(); func.setId(Integer.parseInt(request.getParameter("id"))); func.setNome(request.getParameter("nome")); func.setDescricao(request.getParameter("descricao")); func.setUcp(Double.parseDouble(request.getParameter("ucp"))); func.setComplexidade(complexDao.getComplexidade(Integer.parseInt(request.getParameter("complexidade")))); func.setProjeto(projetoDao.getProjeto(Integer.parseInt(request.getParameter("projeto")))); funcDao.updateFuncionalidade(func); return new ModelAndView("redirect:funcionalidades"); } @RequestMapping("/editarfuncionalidade") public ModelAndView editarFuncionalidade(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("editarfuncionalidade"); Funcionalidade func = funcDao.getFuncionalidade(Integer.parseInt(request.getParameter("id"))); modelAndView.addObject("funcionalidade", func); List<Complexidade> complexidades = complexDao.list(); complexidades.remove(func.getComplexidade()); complexidades.add(0, func.getComplexidade()); modelAndView.addObject("complexidades", complexidades); List<Projeto> projetos = projetoDao.list(); projetos.remove(func.getProjeto()); projetos.add(0, func.getProjeto()); modelAndView.addObject("projetos", projetos); return modelAndView; } }