package src; import java.io.IOException; import java.util.List; import javax.ejb.EJB; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; 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 model.Alumno; import model.Asignatura; import model.Concepto; import model.Curso; import model.Tema; import beans.AdministracionBeanRemote; /** * Servlet implementation class IniciarCursoServlet */ @WebServlet("/IniciarCursoServlet") public class IniciarCursoServlet extends HttpServlet { private static final long serialVersionUID = 1L; @PersistenceContext EntityManager em; @EJB AdministracionBeanRemote abr; /** * @see HttpServlet#HttpServlet() */ public IniciarCursoServlet() { super(); // 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("/iniciar_curso.jsp"); int idAsignatura= Integer.valueOf(request.getParameter("asignatura")); Asignatura asignatura = em.find(Asignatura.class, idAsignatura); List temas = em.createQuery("Select e from Tema e where e.asignatura = :asignatura") .setParameter("asignatura", asignatura).getResultList(); System.out.print("tamañooooo"+temas.size()); request.setAttribute("lista_temas", temas); request.setAttribute("asignatura", asignatura); rd.forward(request, response); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //falta validar los montos int idAsignatura= Integer.valueOf(request.getParameter("asignatura")); Asignatura asignatura = em.find(Asignatura.class, idAsignatura); int cant_tema=0; List temas = em.createQuery("Select e from Tema e where e.asignatura = :asignatura") .setParameter("asignatura", asignatura).getResultList(); for (Tema tema: temas){ Double peso= Double.valueOf(request.getParameter("peso_"+cant_tema)); System.out.println("peso_"+cant_tema + " "+ peso.toString()); tema.setPeso(peso); abr.editarTema(tema); int cant_concep=0; System.out.println("tema: " + tema.getNombre()); for(Concepto concepto: tema.getConceptoList()){ System.out.println("Concepto: " + concepto.getNombre()); System.out.println("cpeso_"+cant_concep+"_t_"+cant_tema); Double peso_concepto= Double.valueOf(request.getParameter("cpeso_"+cant_concep+"_t_"+cant_tema)); System.out.println("cpeso_"+cant_concep+"_t_"+cant_tema +" "+ peso_concepto.toString()); cant_concep ++; concepto.setPeso(peso_concepto); abr.editarConcepto(concepto, request.getParameter("asignatura")); } cant_tema++; } abr.calcularProbabilidades(idAsignatura); abr.crearRedAlumnos(idAsignatura); //actualiza a iniciado la asignatura asignatura.setIdAsignatura(idAsignatura); asignatura.setIniciado(true); abr.editarAsignatura(asignatura); response.sendRedirect("/EjercitarWeb/VistaAsignaturaServlet?asignatura=" + idAsignatura); } }