diff options
author | Samu <samurey@gmail.com> | 2013-06-02 14:14:15 (GMT) |
---|---|---|
committer | Samu <samurey@gmail.com> | 2013-06-02 14:14:15 (GMT) |
commit | 060d509644102051a60e67548d96ee5ea78840f5 (patch) | |
tree | eb451fa0e505d4b6bab2a36b1c4552e10422205a | |
parent | cd19dbe6f558ab22e8351a539c28df84ef7ef55e (diff) | |
parent | 7c5404224f253112ae6e5c1e7577a470e9af2c80 (diff) |
Merge remote-tracking branch 'remotes/origin/Cecilia' into samu
-rw-r--r-- | EjercitarJPA/src/model/Asignatura.java | 13 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Concepto.java | 12 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Tarea.java | 28 | ||||
-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 | 50 | ||||
-rw-r--r-- | EjercitarWeb/WebContent/vista_asignatura.jsp | 40 | ||||
-rw-r--r-- | EjercitarWeb/src/src/NuevaTareaServlet.java | 127 | ||||
-rw-r--r-- | EjercitarWeb/src/src/VistaAsignaturaServlet.java | 15 |
10 files changed, 288 insertions, 6 deletions
diff --git a/EjercitarJPA/src/model/Asignatura.java b/EjercitarJPA/src/model/Asignatura.java index a73af53..c757d6a 100644 --- a/EjercitarJPA/src/model/Asignatura.java +++ b/EjercitarJPA/src/model/Asignatura.java @@ -58,7 +58,10 @@ public class Asignatura implements Serializable { private Curso curso; @OneToMany(mappedBy = "asignatura") private List<Tema> temaList; - + @OneToMany(mappedBy = "asignatura") + private List<Tarea> tareaList; + + public Asignatura() { } @@ -120,6 +123,14 @@ public class Asignatura implements Serializable { this.temaList = temaList; } + @XmlTransient + public List<Tarea> getTareaList() { + return tareaList; + } + + public void setTareaList(List<Tarea> tareaList) { + this.tareaList = tareaList; + } @Override public int hashCode() { int hash = 0; diff --git a/EjercitarJPA/src/model/Concepto.java b/EjercitarJPA/src/model/Concepto.java index 12c2083..d31b1e9 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,14 @@ 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; + @JoinColumn(name = "tarea", referencedColumnName = "id_tarea") + @ManyToOne + private Tarea tarea; public Concepto() { } @@ -171,7 +175,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..7b0fb37 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,7 +54,13 @@ public class Tarea implements Serializable { @JoinColumn(name = "curso", referencedColumnName = "id_curso") @ManyToOne private Curso curso; + @OneToMany(mappedBy = "tarea") + private List<Concepto> conceptoList; + @JoinColumn(name = "asignatura", referencedColumnName = "id_asignatura") + @ManyToOne + private Asignatura asignatura; + public Tarea() { } @@ -96,7 +107,24 @@ public class Tarea implements Serializable { public void setCurso(Curso curso) { this.curso = curso; } + + public Asignatura getAsignatura() { + return asignatura; + } + public void setAsignatura(Asignatura asignatura) { + this.asignatura = asignatura; + } + + @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 9272ecd..6a378fe 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; /** @@ -117,6 +118,11 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac 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 1524b37..ad75a4b 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 @@ -28,5 +29,6 @@ public interface AdministracionBeanRemote { public void eliminarConcepto(int idConcepto); public void eliminarTema(int idTema); + public void agregarTarea(Tarea tarea); } diff --git a/EjercitarWeb/WebContent/Tarea.jsp b/EjercitarWeb/WebContent/Tarea.jsp new file mode 100644 index 0000000..74f1b2d --- /dev/null +++ b/EjercitarWeb/WebContent/Tarea.jsp @@ -0,0 +1,50 @@ +<%@ 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> +<script src="http://code.jquery.com/jquery-latest.js"></script> +</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 name="descripcion" id="descripcion"></textarea> + <br> + Tema: <select id="temas" name="temas" 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> + </div> + + <script type="text/javascript"> + + function cargarConceptos(){ + //obtiene los objetos productCode, y obtiene el valor del objeto + var tem_id=$("#temas").val(); //ya se tiene el objeto select + //llama al servlet con el parametro seleccionado + $("#conceptos").load("CargarConceptosServlet", {tema_id:tem_id}) + } + </script> + + +</body> +</html>
\ No newline at end of file diff --git a/EjercitarWeb/WebContent/vista_asignatura.jsp b/EjercitarWeb/WebContent/vista_asignatura.jsp index d3c2994..1cbdff1 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,44 @@ Descripcion: <%= asignatura.getDescripcion() %> </tr> <% } %> </table> + +<div > +<br> +Tareas: +<br> +<br> +<a href="/EjercitarWeb/NuevaTareaServlet?idCurso=<%= asignatura.getCurso().getIdCurso() %>&idAsignatura=<%= asignatura.getIdAsignatura()%> ">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">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"> + + <% 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..d7f4942 --- /dev/null +++ b/EjercitarWeb/src/src/NuevaTareaServlet.java @@ -0,0 +1,127 @@ +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.Asignatura; +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"); + System.out.println(descripcion); + tarea.setDescripcion(descripcion); + String idCurso= request.getParameter("idCurso"); + System.out.println(idCurso); + Curso curso = em.find(Curso.class, Integer.valueOf(idCurso)); + System.out.println(curso.getTurno()); + tarea.setCurso(curso); + + String idTema= request.getParameter("temas"); + System.out.println(idTema); + Tema tema = em.find(Tema.class, Integer.valueOf(idTema)); + System.out.println(tema.getDescripcion()); + tarea.setTema(tema); + + String [] conceptos = request.getParameterValues("concepto"); + ArrayList<Concepto> conceptoList = new ArrayList<Concepto>(); + for(String idConcepto : conceptos) { + System.out.println(idConcepto); + Concepto concepto = em.find(Concepto.class, Integer.valueOf(idConcepto)); + conceptoList.add(concepto); + } + + tarea.setConceptoList(conceptoList); + + String idAsignatura= request.getParameter("idAsignatura"); + System.out.println(idAsignatura); + Asignatura asignatura = em.find(Asignatura.class, Integer.valueOf(idAsignatura)); + System.out.println(asignatura.getDescripcion()); + tarea.setAsignatura(asignatura); + + + abr.agregarTarea(tarea); + response.sendRedirect("/EjercitarWeb/VistaAsignaturaServlet?asignatura=" + idAsignatura); + } + +} diff --git a/EjercitarWeb/src/src/VistaAsignaturaServlet.java b/EjercitarWeb/src/src/VistaAsignaturaServlet.java index b5aac0f..a7295be 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,8 +44,10 @@ 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()); @@ -51,12 +55,17 @@ public class VistaAsignaturaServlet extends HttpServlet { for (Tema tema : temaList){ System.out.println(tema.getConceptoList().toString()); } - //hasta aca + + + List<Tarea> tareaList = em.createQuery("Select t from Tarea t where t.asignatura = :asignatura").setParameter("asignatura", asignatura).getResultList(); + 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); } |