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.saludtec.web; import com.saludtec.entidades.Especialidades; import com.saludtec.entidades.Procedimientos; import com.saludtec.jpa.EspecialidadesEjb; import com.saludtec.jpa.ProcedimientosEjb; import com.saludtec.jpa.exceptions.NonexistentEntityException; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.ejb.EJB; import javax.ejb.EJBException; 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 org.json.simple.JSONArray; import org.json.simple.JSONObject; /** * * @author saintec */ @WebServlet(name = "ProcedimientosWeb", urlPatterns = { "/procedimientos/*" }) public class ProcedimientosWeb extends HttpServlet { @EJB ProcedimientosEjb ejb; EspecialidadesEjb ejbEspecialidades; JSONObject obj; JSONArray objArray; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { String servicio = request.getRequestURI().replace("/Adminio/procedimientos/", ""); switch (servicio) { case "getprocedure": traerProcedimiento(request).writeJSONString(out); break; case "listprocedures": listarProcedimientos().writeJSONString(out); break; case "saveprocedure": guardarProcedimiento(request).writeJSONString(out); break; case "updateprocedure": editarProcedimiento(request).writeJSONString(out); break; case "deleteprocedures": eliminarProcedimientos(request).writeJSONString(out); break; default: obj = new JSONObject(); obj.put("error", "404 - El servicio " + servicio + " no existe"); obj.writeJSONString(out); break; } } catch (NonexistentEntityException ex) { Logger.getLogger(ProcedimientosWeb.class.getName()).log(Level.SEVERE, null, ex); } } private JSONArray traerProcedimiento(HttpServletRequest request) throws NonexistentEntityException { Procedimientos procedimiento = ejb .traerProcedimientos(Integer.parseInt(request.getParameter("idProcedimiento"))); obj = new JSONObject(); objArray = new JSONArray(); if (procedimiento != null) { obj.put("idProcedimiento", procedimiento.getIdProcedimiento()); obj.put("nombreProcedimiento", procedimiento.getNombreProcedimiento()); obj.put("idCategoriaProcedimiento", procedimiento.getIdCategoriaProcedimiento().getIdCategoria()); obj.put("rangoProcedimiento", procedimiento.getRangoProcedimiento()); obj.put("cups", procedimiento.getCups()); obj.put("valor", procedimiento.getValor()); obj.put("ambitoRealizacion", procedimiento.getAmbitoRealizacion()); obj.put("finalidad", procedimiento.getFinalidad()); obj.put("actoQuirurjico", procedimiento.getActoQuirurjico()); objArray.add(obj); } return objArray; } private JSONArray listarProcedimientos() throws NonexistentEntityException { List<Procedimientos> procedimientos = ejb.traerProcedimientos(); objArray = new JSONArray(); if (procedimientos != null) { for (Procedimientos procedimiento : procedimientos) { obj = new JSONObject(); obj.put("idProcedimiento", procedimiento.getIdProcedimiento()); obj.put("nombreProcedimiento", procedimiento.getNombreProcedimiento()); obj.put("idCategoriaProcedimiento", procedimiento.getIdCategoriaProcedimiento().getIdCategoria()); obj.put("categoriaProcedimiento", procedimiento.getIdCategoriaProcedimiento().getCategoriaProcedimiento()); obj.put("rangoProcedimiento", procedimiento.getRangoProcedimiento()); obj.put("cups", procedimiento.getCups()); obj.put("valor", procedimiento.getValor()); obj.put("ambitoRealizacion", procedimiento.getAmbitoRealizacion()); obj.put("finalidad", procedimiento.getFinalidad()); obj.put("actoQuirurjico", procedimiento.getActoQuirurjico()); objArray.add(obj); } } return objArray; } private JSONArray guardarProcedimiento(HttpServletRequest request) throws NonexistentEntityException { Procedimientos procedimiento = new Procedimientos(); Especialidades especialidad = ejbEspecialidades .traerEspecialidades(Integer.parseInt(request.getParameter("idCategoriaProcedimientos"))); procedimiento.setNombreProcedimiento(request.getParameter("nombreProcedimiento")); procedimiento.setIdCategoriaProcedimiento(especialidad); procedimiento.setRangoProcedimiento(request.getParameter("rangoProcedimiento")); procedimiento.setCups(request.getParameter("cups")); procedimiento.setValor(Integer.parseInt(request.getParameter("valor"))); procedimiento.setAmbitoRealizacion(request.getParameter("ambitoRealizacion")); procedimiento.setFinalidad(request.getParameter("finalidad")); procedimiento.setActoQuirurjico(request.getParameter("actoQuirurjico")); procedimiento = ejb.crear(procedimiento); obj = new JSONObject(); objArray = new JSONArray(); if (procedimiento != null) { obj.put("idProcedimieno", procedimiento.getIdProcedimiento()); obj.put("procedimiento", procedimiento.getNombreProcedimiento()); } else { obj.put("error", "no se pudo guardar el procedimiento"); objArray.add(obj); } return objArray; } private JSONArray editarProcedimiento(HttpServletRequest request) throws NonexistentEntityException { Procedimientos procedimiento = new Procedimientos(); Especialidades especialidad = ejbEspecialidades .traerEspecialidades(Integer.parseInt(request.getParameter("idCategoriaProcedimientos"))); procedimiento.setNombreProcedimiento(request.getParameter("nombreProcedimiento")); procedimiento.setIdProcedimiento(Integer.parseInt(request.getParameter("idProcedimiento"))); procedimiento.setNombreProcedimiento(request.getParameter("nombreProcedimiento")); procedimiento.setIdCategoriaProcedimiento(especialidad); procedimiento.setRangoProcedimiento(request.getParameter("rangoProcedimiento")); procedimiento.setCups(request.getParameter("cups")); procedimiento.setValor(Integer.parseInt(request.getParameter("valor"))); procedimiento.setAmbitoRealizacion(request.getParameter("ambitoRealizacion")); procedimiento.setFinalidad(request.getParameter("finalidad")); procedimiento.setActoQuirurjico(request.getParameter("actoQuirurjico")); procedimiento = ejb.editar(procedimiento); obj = new JSONObject(); objArray = new JSONArray(); if (procedimiento != null) { obj.put("mensaje", "Registro con id " + procedimiento.getIdProcedimiento() + " editado"); objArray.add(obj); } else { if (procedimiento != null) { obj.put("mensaje", "Registro con id " + procedimiento.getIdProcedimiento() + " editado"); objArray.add(obj); } else { obj.put("error", "no se pudo editar el procedimiento"); objArray.add(obj); } } return objArray; } private JSONObject eliminarProcedimientos(HttpServletRequest request) throws NonexistentEntityException { ejb.eliminar(Integer.parseInt(request.getParameter("idProcedimiento"))); obj = new JSONObject(); obj.put("menasaje", "eliminado"); return obj; } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }