Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamu <samurey@gmail.com>2013-06-02 14:14:15 (GMT)
committer Samu <samurey@gmail.com>2013-06-02 14:14:15 (GMT)
commit060d509644102051a60e67548d96ee5ea78840f5 (patch)
treeeb451fa0e505d4b6bab2a36b1c4552e10422205a
parentcd19dbe6f558ab22e8351a539c28df84ef7ef55e (diff)
parent7c5404224f253112ae6e5c1e7577a470e9af2c80 (diff)
Merge remote-tracking branch 'remotes/origin/Cecilia' into samu
-rw-r--r--EjercitarJPA/src/model/Asignatura.java13
-rw-r--r--EjercitarJPA/src/model/Concepto.java12
-rw-r--r--EjercitarJPA/src/model/Tarea.java28
-rw-r--r--EjercitarJPA/src/model/Tema.java1
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java6
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java2
-rw-r--r--EjercitarWeb/WebContent/Tarea.jsp50
-rw-r--r--EjercitarWeb/WebContent/vista_asignatura.jsp40
-rw-r--r--EjercitarWeb/src/src/NuevaTareaServlet.java127
-rw-r--r--EjercitarWeb/src/src/VistaAsignaturaServlet.java15
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);
}