br.com.projetotcc.controller.FuncionalidadeController.java Source code

Java tutorial

Introduction

Here is the source code for br.com.projetotcc.controller.FuncionalidadeController.java

Source

/*
 * 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;
    }
}