diff options
author | ceci <caggsld@gmail.com> | 2013-05-25 17:56:19 (GMT) |
---|---|---|
committer | ceci <caggsld@gmail.com> | 2013-05-25 17:56:19 (GMT) |
commit | 988d53d5ffcac60c7d08c11903aea5ff346b3cc4 (patch) | |
tree | 7917e7c2452449a55ae034a0b8316cc383287219 | |
parent | e3d531ea9870f72dd677fc84484020eca617fb4c (diff) |
se agrego tarea.jsp para agregar una nueva tarea. se modifico la vista
vista_asignatura.jsp para listar las tareas
-rw-r--r-- | EjercitarJPA/src/model/Concepto.java | 11 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Tarea.java | 16 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Tema.java | 1 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBean.java | 6 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java | 2 | ||||
-rw-r--r-- | EjercitarWeb/WebContent/Tarea.jsp | 49 | ||||
-rw-r--r-- | EjercitarWeb/WebContent/vista_asignatura.jsp | 41 | ||||
-rw-r--r-- | EjercitarWeb/src/src/NuevaTareaServlet.java | 114 | ||||
-rw-r--r-- | EjercitarWeb/src/src/VistaAsignaturaServlet.java | 20 |
9 files changed, 254 insertions, 6 deletions
diff --git a/EjercitarJPA/src/model/Concepto.java b/EjercitarJPA/src/model/Concepto.java index 12c2083..6352df7 100644 --- a/EjercitarJPA/src/model/Concepto.java +++ b/EjercitarJPA/src/model/Concepto.java @@ -9,6 +9,7 @@ import java.util.List; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @@ -72,11 +73,13 @@ public class Concepto implements Serializable { @ManyToMany private List<Ejercicio> ejercicioList; @JoinColumn(name = "tema", referencedColumnName = "id_tema") - @ManyToOne + @ManyToOne private Tema tema; @JoinColumn(name = "profesor", referencedColumnName = "id_profesor") @ManyToOne private Profesor profesor; + @ManyToOne + private Tarea tarea; public Concepto() { } @@ -171,7 +174,13 @@ public class Concepto implements Serializable { public void setProfesor(Profesor profesor) { this.profesor = profesor; } + public Tarea getTarea() { + return tarea; + } + public void setTarea(Tarea tarea) { + this.tarea = tarea; + } @Override public int hashCode() { int hash = 0; diff --git a/EjercitarJPA/src/model/Tarea.java b/EjercitarJPA/src/model/Tarea.java index 6a1c72b..b16a520 100644 --- a/EjercitarJPA/src/model/Tarea.java +++ b/EjercitarJPA/src/model/Tarea.java @@ -5,19 +5,24 @@ package model; import java.io.Serializable; +import java.util.List; + import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; /** * @@ -49,6 +54,8 @@ public class Tarea implements Serializable { @JoinColumn(name = "curso", referencedColumnName = "id_curso") @ManyToOne private Curso curso; + @OneToMany(mappedBy = "tarea") + private List<Concepto> conceptoList; public Tarea() { } @@ -97,6 +104,15 @@ public class Tarea implements Serializable { this.curso = curso; } + @XmlTransient + public List<Concepto> getConceptoList() { + return conceptoList; + } + + public void setConceptoList(List<Concepto> conceptoList) { + this.conceptoList = conceptoList; + } + @Override public int hashCode() { int hash = 0; diff --git a/EjercitarJPA/src/model/Tema.java b/EjercitarJPA/src/model/Tema.java index 2ba32cd..ca4e087 100644 --- a/EjercitarJPA/src/model/Tema.java +++ b/EjercitarJPA/src/model/Tema.java @@ -9,6 +9,7 @@ import java.util.List; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java index 67ff358..261255a 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBean.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java @@ -14,6 +14,7 @@ import model.Asignatura; import model.Concepto; import model.Ejercicio; import model.Profesor; +import model.Tarea; import model.Tema; /** @@ -86,6 +87,11 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac System.out.print("#############" +asignatura.getProfesor().getNombre()); em.persist(asignatura); } + + public void agregarTarea(Tarea tarea) { + + em.persist(tarea); + } public void calcularProbabilidades(Profesor profesor) { // Calculo de las probabilidades condicionales de las relaciones de agregacion diff --git a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java index 36e58dc..6e5c908 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java @@ -8,6 +8,7 @@ import model.Asignatura; import model.Concepto; import model.Ejercicio; import model.Profesor; +import model.Tarea; import model.Tema; @Remote @@ -20,5 +21,6 @@ public interface AdministracionBeanRemote { public void agregarProfesor(Profesor profesor); public Profesor logIn(String usuario, String password); public void agregarAsignatura(Asignatura asignatura); + public void agregarTarea(Tarea tarea); } diff --git a/EjercitarWeb/WebContent/Tarea.jsp b/EjercitarWeb/WebContent/Tarea.jsp new file mode 100644 index 0000000..3fb3f7c --- /dev/null +++ b/EjercitarWeb/WebContent/Tarea.jsp @@ -0,0 +1,49 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> +<%@ include file="templateCSS.jsp" %> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>Tareas</title> +</head> +<body> +<%@page import="java.util.List" import="model.Tema" %> +<%@page import="java.util.List" import="model.Concepto" %> + +<div id="content"> +<form style="width: 1071px; height: 521px;" method="post" name="ejercicio_form"> + <br> + Descripcion: + <br> + <textarea cols="40" rows="10" name="descripcion" id="descripcion"></textarea> + + Tema: <select id="temas" name="Tema" onchange="cargarConceptos()"> + <% List<Tema> temas = (List<Tema>)request.getAttribute("lista_temas"); %> + <% for(Tema tema : temas) {%> + <option value="<%= tema.getIdTema() %>"><%= tema.getNombre() %></option> + <% } %> + </select> + <br> + Concepto: <select id="conceptos" multiple="multiple" name="concepto" > + + </select> + + + <input type="submit" name="Aceptar" value="Aceptar"> + + </form> + + <script type="text/javascript"> + + function cargarConceptos(){ + //obtiene los objetos productCode, y obtiene el valor del objeto + var tema_id=$("#temas").val(); //ya se tiene el objeto select + //llama al servlet con el parametro seleccionado + $("#conceptos").load("CargarConceptosServlet", {tema_id:tema_id}) + } + </script> + +</div> +</body> +</html>
\ No newline at end of file diff --git a/EjercitarWeb/WebContent/vista_asignatura.jsp b/EjercitarWeb/WebContent/vista_asignatura.jsp index 90a54dd..939cf52 100644 --- a/EjercitarWeb/WebContent/vista_asignatura.jsp +++ b/EjercitarWeb/WebContent/vista_asignatura.jsp @@ -8,7 +8,7 @@ <title>Insert title here</title> </head> <body> -<%@page import="model.Profesor" import="model.Concepto" import="model.Asignatura" import="model.Tema" import="java.util.List"%> +<%@page import="model.Profesor" import="model.Concepto" import="model.Asignatura" import="model.Tarea" import="model.Tema" import="java.util.List"%> <div id="content"> @@ -54,6 +54,45 @@ Descripcion: <%= asignatura.getDescripcion() %> </tr> <% } %> </table> + +<div > +<br> +Tareas de la Asignatura: +<br> +<br> +<a href="/EjercitarWeb/NuevaTareaServlet">Nueva Tarea</a> + +</div> + + <table id="tabla" width="507" border="0" align="center"> + + <tr bordercolor="#000000"> + <th bgcolor="#666666"><span class="Estilo16">Descripcion</th> + <th width="152" bgcolor="#666666"><span class="Estilo16">Tema></th> + <th width="152" bgcolor="#666666"><span class="Estilo16">Conceptos</span> + </tr> + + <% List<Tarea> tareaList = (List<Tarea>) request.getAttribute("tareaList");%> + <% for(Tarea tarea : tareaList) {%> + + <tr bordercolor="#000000"> + <td bgcolor="#CCCCCC"><span class="Estilo17"><a> <%=tarea.getDescripcion() %></a>></span></td> + + <td bgcolor="#CCCCCC"><span class="Estilo17"><a> <%= tarea.getTema().getNombre()%></a>></span></td> + <td bgcolor="#CCCCCC"><span class="Estilo17"> + + <% List<Concepto> conceptoList = (List<Concepto>) tarea.getConceptoList();%> + <% for(Concepto concepto : conceptoList) {%> + + <%= concepto.getNombre()%> + <br> + <% } %> + + </span></td> + + </tr> + <% } %> + </table> <script type="text/javascript"> diff --git a/EjercitarWeb/src/src/NuevaTareaServlet.java b/EjercitarWeb/src/src/NuevaTareaServlet.java new file mode 100644 index 0000000..b89f867 --- /dev/null +++ b/EjercitarWeb/src/src/NuevaTareaServlet.java @@ -0,0 +1,114 @@ +package src; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import javax.ejb.EJB; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +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.Concepto; +import model.Curso; +import model.Ejercicio; +import model.Profesor; +import model.Tarea; +import model.Tema; + +import beans.AdministracionBeanRemote; + +/** + * Servlet implementation class NuevaTareaServlet + */ +@WebServlet("/NuevaTareaServlet") +public class NuevaTareaServlet extends HttpServlet { + private static final long serialVersionUID = 1L; + @PersistenceContext + EntityManager em; + + @EJB + AdministracionBeanRemote abr; + /** + * @see HttpServlet#HttpServlet() + */ + public NuevaTareaServlet() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + RequestDispatcher rd = getServletContext().getRequestDispatcher("/Tarea.jsp"); + + //Asignatura matematica = em.find(Asignatura.class, 1); // Asignatura: Matematica + + + List temas = em.createQuery("Select t from Tema t").getResultList(); + + + List<Tema> temasTareas = new ArrayList<Tema>(); + //listar solo los temas que tengan pendientes conceptos + + for(int i=0; i < temas.size(); i++){ + Tema tema = (Tema) temas.get(i); + System.out.println("############################ " +tema.getNombre()); + if(tema.getConceptoList() != null){ + + System.out.println("############################ 1111111" ); + List<Concepto> conceptoList = tema.getConceptoList(); + + for(Concepto concepto : conceptoList){ + System.out.println("############################ " + concepto.getNombre()); + + if(concepto.getTarea() == null){ + + temasTareas.add(tema); + } + } + } + } + request.setAttribute("lista_temas", temasTareas); + rd.forward(request, response); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + Tarea tarea = new Tarea(); + + String descripcion= request.getParameter("descripcion"); + tarea.setDescripcion(descripcion); + String idCurso= request.getParameter("curso"); + Curso curso = em.find(Curso.class, Integer.valueOf(idCurso)); + tarea.setCurso(curso); + + String idTema= request.getParameter("temas"); + Tema tema = em.find(Tema.class, Integer.valueOf(idTema)); + tarea.setTema(tema); + + String [] conceptos = request.getParameterValues("concepto"); + ArrayList<Concepto> conceptoList = new ArrayList<Concepto>(); + for(String idConcepto : conceptos) { + Concepto concepto = em.find(Concepto.class, Integer.valueOf(idConcepto)); + conceptoList.add(concepto); + } + + tarea.setConceptoList(conceptoList); + + //tarea.setSesion(sesion); + + + abr.agregarTarea(tarea); + } + +} diff --git a/EjercitarWeb/src/src/VistaAsignaturaServlet.java b/EjercitarWeb/src/src/VistaAsignaturaServlet.java index b5aac0f..3348034 100644 --- a/EjercitarWeb/src/src/VistaAsignaturaServlet.java +++ b/EjercitarWeb/src/src/VistaAsignaturaServlet.java @@ -13,6 +13,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.Asignatura; +import model.Curso; +import model.Tarea; import model.Tema; /** @@ -42,21 +44,31 @@ public class VistaAsignaturaServlet extends HttpServlet { String idAsignatura = request.getParameter("asignatura"); Asignatura asignatura = em.find(Asignatura.class, Integer.valueOf(idAsignatura)); - List<Tema> temaList = em.createQuery("Select e from Tema e where e.asignatura = :asignatura") - .setParameter("asignatura", asignatura).getResultList(); + + + List<Tema> temaList = em.createQuery("Select e from Tema e where e.asignatura = :asignatura").setParameter("asignatura", asignatura).getResultList(); + //no borrar System.out.println(temaList.toString()); - for (Tema tema : temaList){ + /*for (Tema tema : temaList){ System.out.println(tema.getConceptoList().toString()); - } + } */ //hasta aca + System.out.println("tareeeeaaaaaasssss"); + Curso curso = asignatura.getCurso(); + System.out.println(curso.getTurno()+"######"); + List<Tarea>tareaList = em.createQuery("Select e from Tarea e where e.curso = :curso").setParameter("curso", curso).getResultList(); + if(tareaList.size() > 0) + System.out.println("haaayyyy"); request.setAttribute("asignatura", asignatura); request.setAttribute("temaList", temaList); + request.setAttribute("tareaList", tareaList); response.setContentType("text/html;charset=UTF-8"); RequestDispatcher rd = getServletContext().getRequestDispatcher("/vista_asignatura.jsp"); + System.out.println("fin"); rd.forward(request, response); } |