Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorceci <caggsld@gmail.com>2013-05-25 17:56:19 (GMT)
committer ceci <caggsld@gmail.com>2013-05-25 17:56:19 (GMT)
commit988d53d5ffcac60c7d08c11903aea5ff346b3cc4 (patch)
tree7917e7c2452449a55ae034a0b8316cc383287219
parente3d531ea9870f72dd677fc84484020eca617fb4c (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.java11
-rw-r--r--EjercitarJPA/src/model/Tarea.java16
-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.jsp49
-rw-r--r--EjercitarWeb/WebContent/vista_asignatura.jsp41
-rw-r--r--EjercitarWeb/src/src/NuevaTareaServlet.java114
-rw-r--r--EjercitarWeb/src/src/VistaAsignaturaServlet.java20
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);
}