package com.mantenimiento.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mantenimiento.dao.Categoria;
import com.mantenimiento.dao.CategoriaDAO;
/**
* Servlet implementation class Categorias
*/
@WebServlet("/categorias")
public class Categorias extends HttpServlet {
private static final long serialVersionUID = 1L;
CategoriaDAO modelo;
/**
* @see HttpServlet#HttpServlet()
*/
public Categorias() {
super();
modelo = new CategoriaDAO();
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Tendré que tener una serie de urls para el mantenimiento CRUD
// Cuando me pongan esa url tendré que hacer lo que haga falta
// EJemplo: si yo quiero añadir una categoría tendré dos 'pantallas'
// 1) Un formulario que nos pida los datos de la categoría: accion=nueva
// 2) Una acción que recupere esos datos y dé de alta la categoría
// accion=insertar
String accion = request.getParameter("accion");
if (accion == null) {
accion = "";
}
Integer id;
switch (accion) {
case "nueva":
response.sendRedirect("categoria_nueva.jsp");
break;
case "insertar":
System.out.println("Insertar");
String nombre = request.getParameter("nombre");
System.out.println(nombre);
modelo.addCategoria(nombre);
response.sendRedirect("categorias");
break;
case "editar":
id = Integer.parseInt(request.getParameter("id"));
if (id != null) {
Categoria cat = modelo.getCategoria(id);
request.setAttribute("categoria", cat);
RequestDispatcher dispatcher = request.getRequestDispatcher("categoria_editar.jsp");
dispatcher.forward(request, response);
}
break;
case "actualizar":
System.out.println("Actualizar");
String nombre2 = request.getParameter("nombre");
id = Integer.parseInt(request.getParameter("id"));
Categoria cat = new Categoria(id, nombre2);
System.out.println(nombre2);
modelo.updateCategoria(cat);
response.sendRedirect("categorias");
break;
case "borrar":
System.out.println("Eliminar");
id = Integer.parseInt(request.getParameter("id"));
if (id != null) {
modelo.deleteCategoria(id);
}
response.sendRedirect("categorias");
break;
default:
List<Categoria> categorias = modelo.getCategorias();
request.setAttribute("categorias", categorias);
RequestDispatcher dispatcher = request.getRequestDispatcher("categorias.jsp");
dispatcher.forward(request, response);
break;
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}