package src; import java.io.IOException; import java.io.InputStream; import java.sql.Array; import java.util.ArrayList; import java.util.List; import javax.ejb.EJB; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.servlet.MultipartConfigElement; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import javax.servlet.http.Part; import com.sun.mail.util.BASE64DecoderStream; import com.sun.mail.util.BASE64EncoderStream; import beans.AdministracionBeanRemote; import model.Asignatura; import model.Concepto; import model.Ejercicio; import model.Profesor; import model.Respuesta; import model.Tema; /** * Servlet implementation class EjercitarServlet */ @MultipartConfig @WebServlet("/NuevoEjercicioServlet") public class NuevoEjercicioServlet extends HttpServlet { private static final long serialVersionUID = 1L; @PersistenceContext EntityManager em; @EJB AdministracionBeanRemote abr; /** * Default constructor. */ public NuevoEjercicioServlet() { // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html;charset=UTF-8"); RequestDispatcher rd = getServletContext().getRequestDispatcher("/Ejercicios.jsp"); rd.forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub Ejercicio ejercicio = new Ejercicio(); ejercicio.setEnunciado(request.getParameter("enunciado")); int idProfesor = Integer.valueOf(request.getParameter("profesor")); Profesor profesor = em.find(Profesor.class, idProfesor); ejercicio.setProfesor(profesor); String conceptos = request.getParameter("lista_conceptos"); ArrayList conceptoList = new ArrayList(); String [] lista = conceptos.split(","); System.out.println(lista.toString()); for(String idConcepto : lista) { Concepto concepto = em.find(Concepto.class, Integer.valueOf(idConcepto)); conceptoList.add(concepto); } System.out.println(conceptoList.toString()); ejercicio.setConceptoList(conceptoList); List respuestaList = new ArrayList(); Respuesta respuesta1 = new Respuesta(); respuesta1.setDescripcion(request.getParameter("respuesta1")); Respuesta respuesta2 = new Respuesta(); respuesta2.setDescripcion(request.getParameter("respuesta2")); Respuesta respuesta3 = new Respuesta(); respuesta3.setDescripcion(request.getParameter("respuesta3")); Respuesta respuesta4 = new Respuesta(); respuesta4.setDescripcion(request.getParameter("respuesta4")); respuestaList.add(respuesta1); respuestaList.add(respuesta2); respuestaList.add(respuesta3); respuestaList.add(respuesta4); ejercicio.setRespuestaList(respuestaList); Part filePart = request.getPart("imagen"); //byte [] imagen = request.getParameter("imagen").getBytes(); //ejercicio.setImagen(imagen); int respuesta = Integer.valueOf(request.getParameter("respuesta_correcta")); switch (respuesta) { case 1: ejercicio.setRespuesta(respuesta1); break; case 2: ejercicio.setRespuesta(respuesta2); break; case 3: ejercicio.setRespuesta(respuesta3); break; case 4: ejercicio.setRespuesta(respuesta4); break; } int idAsignatura = Integer.valueOf(request.getParameter("asignatura")); System.out.println(request.getParameter("descuido")); System.out.println(request.getParameter("dificultad")); double adivinanza = Double.valueOf(request.getParameter("descuido")); ejercicio.setAdivinanza(adivinanza); ejercicio.setNivelDificultad(Integer.valueOf(request.getParameter("dificultad"))); // System.out.println(request.getParameter("imagen").getBytes()); abr.agregarEjercicio(ejercicio, idAsignatura); System.out.print(request.getServletContext().getRealPath("/")); Ejercicio ej = (Ejercicio) em.createQuery("Select e from Ejercicio e where e.enunciado = :enunciado") .setParameter("enunciado", ejercicio.getEnunciado()).getSingleResult(); //filePart.write("img/imagen_ejercicio_" + ej.getIdEjercicio()+ ".png"); response.sendRedirect("/EjercitarWeb/VistaAsignaturaServlet?asignatura="+idAsignatura); } }