Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorceci <caggsld@gmail.com>2013-08-08 01:59:40 (GMT)
committer ceci <caggsld@gmail.com>2013-08-08 01:59:40 (GMT)
commit9445d7cebe5eef1aad40fb6bba019ee48be2beec (patch)
tree5282a7ad7a97353249e86a0afcea60b0c800f970
parentc19b8104b0c17ad747ad664f6f3827423621c25f (diff)
Se modificó la interfaz del cliente, donde se agrego registro de Sesion.classCecilia
Se agregar registarSesion y se modifico la entidad Sesion.
-rw-r--r--EjercitarClient/gui/ContenedorTareas.py23
-rw-r--r--EjercitarClient/gui/Ejercitario.py24
-rw-r--r--EjercitarClient/gui/Login.py71
-rw-r--r--EjercitarClient/gui/Temas.py9
-rw-r--r--EjercitarJPA/src/model/Alumno.java2
-rw-r--r--EjercitarJPA/src/model/Sesion.java23
-rw-r--r--EjercitarJPA/src/model/Tarea.java2
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java14
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBeanLocal.java10
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java4
-rw-r--r--EjercitarServer/ejbModule/beans/AdministrationBean.java38
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java37
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSRemote.java5
13 files changed, 166 insertions, 96 deletions
diff --git a/EjercitarClient/gui/ContenedorTareas.py b/EjercitarClient/gui/ContenedorTareas.py
index 58414b0..4e8be99 100644
--- a/EjercitarClient/gui/ContenedorTareas.py
+++ b/EjercitarClient/gui/ContenedorTareas.py
@@ -5,14 +5,17 @@ Created on Feb 4, 2013
'''
import gtk
from gui.Ejercitario import Ejercitario
+from suds.client import Client
+
class ContenedorTareas(gtk.HBox):
# This is a callback function. The data arguments are ignored
# in this example. More on callbacks below.
+ WSDL_URL = 'http://localhost:8080/EjercitarServer/EjercitarWSBean?wsdl'
- def __init__(self, id_alumno, id_tarea, descripcion, ventana_padre, vista_temas, cliente_WS):
+ def __init__(self, id_alumno, id_tarea, descripcion, ventana_padre, vista_temas, cliente_WS,ayuda_padres, desde_hogar, estado_animo):
# create a new window
super(ContenedorTareas, self).__init__()
self.ventana_padre = ventana_padre
@@ -20,6 +23,9 @@ class ContenedorTareas(gtk.HBox):
self.cliente_WS = cliente_WS
self.id_alumno = id_alumno
self.id_tarea = id_tarea
+ self.ayuda_padres = ayuda_padres
+ self.desde_hogar = desde_hogar
+ self.estado_animo = estado_animo
label_descripcion = gtk.Label(descripcion)
separador = gtk.HSeparator()
@@ -43,6 +49,17 @@ class ContenedorTareas(gtk.HBox):
def __comenzar_cb(self, boton):
self.ventana_padre.remove(self.vista_temas)
- ejercitario = Ejercitario(self.cliente_WS, self.id_tarea, self.id_alumno)
+
+ cliente_WS = self.__sincronizar_WS()
+
+ cliente_WS.service.registrarSesion(1,self.id_tarea, self.ayuda_padres, self.desde_hogar, self.estado_animo)
+ ejercitario = Ejercitario(self.cliente_WS, self.id_tarea, self.id_alumno, self.estado_animo)
self.ventana_padre.add (ejercitario)
- \ No newline at end of file
+
+ def __sincronizar_WS(self):
+ try:
+ cliente_WS = Client(self.WSDL_URL)
+
+ except:
+ print "\n\nERROR al instanciar el SINCRONIZAR PROXY:"
+ return cliente_WS \ No newline at end of file
diff --git a/EjercitarClient/gui/Ejercitario.py b/EjercitarClient/gui/Ejercitario.py
index 945eb78..a7cbfb8 100644
--- a/EjercitarClient/gui/Ejercitario.py
+++ b/EjercitarClient/gui/Ejercitario.py
@@ -14,8 +14,9 @@ class Ejercitario(gtk.VBox):
# This is a callback function. The data arguments are ignored
# in this example. More on callbacks below.
-
- def __init__(self, cliente_WS, id_tarea, id_alumno):
+ WSDL_URL = 'http://localhost:8080/EjercitarServer/EjercitarWSBean?wsdl'
+
+ def __init__(self, cliente_WS, id_tarea, id_alumno, estado_animo):
# create a new window
super(Ejercitario, self).__init__()
@@ -23,13 +24,13 @@ class Ejercitario(gtk.VBox):
self.id_alumno = id_alumno
self.cliente_WS = cliente_WS
- self.__inicializar_componentes(id_alumno)
+ self.__inicializar_componentes(id_alumno, estado_animo)
self.siguiente_ejercicio = self.__obtener_siguiente_ejercicio(cliente_WS, 0)
self.__organizar_gui(self.siguiente_ejercicio)
#self.__sincronizar_temas()
self.show_all()
- def __inicializar_componentes(self, id_alumno):
+ def __inicializar_componentes(self, id_alumno, estado_animo):
self.table = gtk.Table(6, 6, gtk.TRUE)
@@ -47,11 +48,15 @@ class Ejercitario(gtk.VBox):
barra_sider = gtk.VBox()
- boton_lecciones = gtk.Button("Lecciones")
- boton_ejercicios = gtk.Button("Ejercicios")
- barra_sider.add(boton_lecciones)
- barra_sider.add(boton_ejercicios)
- barra_sider.add(gtk.Label("2"))
+ #boton_lecciones = gtk.Button("Lecciones")
+ #boton_ejercicios = gtk.Button("Ejercicios")
+ #barra_sider.add(boton_lecciones)
+ #barra_sider.add(boton_ejercicios)
+ estado = gtk.Image()
+ estado.set_from_file(estado_animo+".png")
+ barra_sider.add(gtk.Label("Asi estoy hoy"))
+ barra_sider.add(estado)
+
self.table.attach(barra_sider, 0,1,1, 4)
@@ -124,7 +129,6 @@ class Ejercitario(gtk.VBox):
self.solucion2.set_label(siguiente_ejercicio.respuestaList.respuestaList[1].descripcion)
self.solucion3.set_label(siguiente_ejercicio.respuestaList.respuestaList[2].descripcion)
self.solucion4.set_label(siguiente_ejercicio.respuestaList.respuestaList[3].descripcion)
-
self.label_enunciado.set_label(siguiente_ejercicio.enunciado)
diff --git a/EjercitarClient/gui/Login.py b/EjercitarClient/gui/Login.py
index 38d6151..4ede00e 100644
--- a/EjercitarClient/gui/Login.py
+++ b/EjercitarClient/gui/Login.py
@@ -6,6 +6,11 @@ Created on Feb 2, 2013
import gtk
from gui.Temas import Temas
+
+
+
+
+
class Login(gtk.VBox):
# This is a callback function. The data arguments are ignored
@@ -164,7 +169,67 @@ class Login(gtk.VBox):
contenedor_ayuda_casa.add(contenedor_casa)
def __ingresar_cb(self, boton):
- self.ventana_padre.remove(self)
+
id_alumno = int(self.id_estudiante_entry.get_text())
- temas = Temas(self.ventana_padre, id_alumno)
- self.ventana_padre.add(temas)
+
+ #obtener el valor de ayuda padres
+ ayuda_padres = self.obtenerAyudaPadres()
+ desde_hogar = self.obtenerDesdeHogar()
+ estado_animo = self.obtenerEstadoAnimo()
+
+ if(ayuda_padres!=None and desde_hogar!=None and estado_animo!= None):
+ self.ventana_padre.remove(self)
+ temas = Temas(self.ventana_padre, id_alumno, ayuda_padres, desde_hogar, estado_animo)
+ self.ventana_padre.add(temas)
+ else:
+ self.pedir_confirmacion("Debe elegir: (*) su estado de animo, (*) Si hoy le van a ayudar sus padres y (*) Si esta en su casa.","Informe")
+
+ def obtenerEstadoAnimo(self):
+ animoMarcado = ""
+ f = self.feliz.get_active()
+ t = self.triste.get_active()
+ e = self.enamorado.get_active()
+ s = self.suenho.get_active()
+ ning = self.ninguno.get_active()
+ if (not ning):
+ if(f): animoMarcado = "Feliz"
+ if(t): animoMarcado = "Triste"
+ if(e): animoMarcado = "Enamorado"
+ if(s): animoMarcado = "Suenho"
+ return animoMarcado
+ else:
+ return None
+ def obtenerAyudaPadres(self):
+ ret = None
+ si = self.ayuda_padres_si.get_active()
+ no = self.ayuda_padres_no.get_active()
+ ninguno = self.ayuda_padres_ninguno.get_active()
+ if (ninguno == False):
+ if(si): ret = True
+ if(no): ret = False
+ return ret
+ else:
+ return None
+
+ def obtenerDesdeHogar(self):
+ ret = None
+ si = self.desde_hogar_si.get_active()
+ no = self.desde_hogar_no.get_active()
+ ninguno = self.desde_hogar_ninguno.get_active()
+ if (ninguno == False):
+ if(si): ret = True
+ if(no): ret = False
+ return ret
+ else:
+ return None
+
+ def pedir_confirmacion(self,texto,titulo):
+ dialog = gtk.MessageDialog(None, gtk.DIALOG_MODAL,gtk.MESSAGE_INFO, gtk.BUTTONS_OK,texto)
+ dialog.set_title(titulo)
+ response = dialog.run()
+ dialog.destroy()
+ if response == gtk.RESPONSE_YES:
+ print "A respondido que si!"
+
+
+
diff --git a/EjercitarClient/gui/Temas.py b/EjercitarClient/gui/Temas.py
index 7511a51..3a0b3cc 100644
--- a/EjercitarClient/gui/Temas.py
+++ b/EjercitarClient/gui/Temas.py
@@ -16,12 +16,15 @@ class Temas(gtk.VBox):
WSDL_URL = 'http://localhost:8080/EjercitarServer/EjercitarWSBean?wsdl'
- def __init__(self, ventana_padre, id_alumno):
+ def __init__(self, ventana_padre, id_alumno, ayuda_padres, desde_hogar, estado_animo):
# create a new window
+
super(Temas, self).__init__()
self.ventana_padre = ventana_padre
self.id_alumno = id_alumno
-
+ self.ayuda_padres = ayuda_padres
+ self.desde_hogar = desde_hogar
+ self.estado_animo = estado_animo
self.__inicializar_componentes()
self.cliente_WS = self.__sincronizar_temas()
self.__organizar_gui(self.cliente_WS)
@@ -46,7 +49,7 @@ class Temas(gtk.VBox):
lista_tareas = cliente_WS.service.getTareas(self.id_alumno)
for tarea in lista_tareas:
- nueva_tarea = ContenedorTareas(self.id_alumno, tarea.idTarea, tarea.descripcion, self.ventana_padre, self, self.cliente_WS)
+ nueva_tarea = ContenedorTareas(self.id_alumno, tarea.idTarea, tarea.descripcion, self.ventana_padre, self, self.cliente_WS, self.ayuda_padres, self.desde_hogar, self.estado_animo)
contenedor_lista.add(nueva_tarea)
diff --git a/EjercitarJPA/src/model/Alumno.java b/EjercitarJPA/src/model/Alumno.java
index 925dac3..d91bc89 100644
--- a/EjercitarJPA/src/model/Alumno.java
+++ b/EjercitarJPA/src/model/Alumno.java
@@ -64,7 +64,7 @@ public class Alumno implements Serializable {
@Size(max = 1)
@Column(name = "genero")
private String genero;
- @OneToMany(mappedBy = "idAlumno")
+ @OneToMany(mappedBy = "alumno")
private List<Sesion> sesionList;
@OneToMany(mappedBy = "alumno")
private List<EjercicioResueltoAlumno> ejercicioResueltoAlumnoList;
diff --git a/EjercitarJPA/src/model/Sesion.java b/EjercitarJPA/src/model/Sesion.java
index 77020f9..110e35a 100644
--- a/EjercitarJPA/src/model/Sesion.java
+++ b/EjercitarJPA/src/model/Sesion.java
@@ -52,7 +52,6 @@ public class Sesion implements Serializable {
@Temporal(TemporalType.TIMESTAMP)
private Date entrada;
@Basic(optional = false)
- @NotNull
@Column(name = "salida")
@Temporal(TemporalType.TIMESTAMP)
private Date salida;
@@ -60,15 +59,15 @@ public class Sesion implements Serializable {
private Boolean ayudaPadres;
@Column(name = "desde_hogar")
private Boolean desdeHogar;
- @Size(max = 5)
+ @Size(max = 10)
@Column(name = "estado_animo")
private String estadoAnimo;
@JoinColumn(name = "id_tarea", referencedColumnName = "id_tarea")
@ManyToOne
- private Tarea idTarea;
+ private Tarea tarea;
@JoinColumn(name = "id_alumno", referencedColumnName = "id_alumno")
@ManyToOne
- private Alumno idAlumno;
+ private Alumno alumno;
public Sesion() {
}
@@ -131,20 +130,20 @@ public class Sesion implements Serializable {
this.estadoAnimo = estadoAnimo;
}
- public Tarea getIdTarea() {
- return idTarea;
+ public Tarea getTarea() {
+ return tarea;
}
- public void setIdTarea(Tarea idTarea) {
- this.idTarea = idTarea;
+ public void setTarea(Tarea tarea) {
+ this.tarea = tarea;
}
- public Alumno getIdAlumno() {
- return idAlumno;
+ public Alumno getAlumno() {
+ return alumno;
}
- public void setIdAlumno(Alumno idAlumno) {
- this.idAlumno = idAlumno;
+ public void setAlumno(Alumno alumno) {
+ this.alumno = alumno;
}
@Override
diff --git a/EjercitarJPA/src/model/Tarea.java b/EjercitarJPA/src/model/Tarea.java
index 036e034..b31021a 100644
--- a/EjercitarJPA/src/model/Tarea.java
+++ b/EjercitarJPA/src/model/Tarea.java
@@ -55,7 +55,7 @@ public class Tarea implements Serializable {
@JoinColumn(name = "asignatura", referencedColumnName = "id_asignatura")
@ManyToOne
private Asignatura asignatura;
- @OneToMany(mappedBy = "idTarea")
+ @OneToMany(mappedBy = "tarea")
private List<Sesion> sesionList;
public Tarea() {
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java
index fe3ff89..be7ec2e 100644
--- a/EjercitarServer/ejbModule/beans/AdministracionBean.java
+++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java
@@ -26,7 +26,7 @@ import model.Tema;
*/
@Stateless
@LocalBean
-public class AdministracionBean implements AdministracionBeanRemote, AdministracionBeanLocal {
+public class AdministracionBean implements AdministracionBeanRemote{
@PersistenceContext
EntityManager em;
@@ -408,15 +408,5 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac
}
- @Override
- public void agregarSesion(int idAlumno, Boolean ayudaPadres, Boolean desdeHogar, String estadoAnimo) {
- Sesion sesion = new Sesion();
-
- sesion.setEntrada(new Date(System.currentTimeMillis()));
- sesion.setAyudaPadres(ayudaPadres);
- sesion.setDesdeHogar(desdeHogar);
- sesion.setEstadoAnimo(estadoAnimo);
- em.persist(sesion);
-
- }
+
}
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBeanLocal.java b/EjercitarServer/ejbModule/beans/AdministracionBeanLocal.java
deleted file mode 100644
index 65b5869..0000000
--- a/EjercitarServer/ejbModule/beans/AdministracionBeanLocal.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package beans;
-
-import java.util.List;
-
-import javax.ejb.Local;
-
-@Local
-public interface AdministracionBeanLocal {
- public List getConceptoList(int idTema);
-}
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java
index 79e2551..d4dfd3e 100644
--- a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java
+++ b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java
@@ -34,9 +34,7 @@ public interface AdministracionBeanRemote {
public void calcularProbabilidades(int idAsignatura);
public void crearRedAlumnos(int idAsignatura);
-
- public void agregarSesion(int idAlumno,Boolean ayudaPadres, Boolean desdeHogar, String estado);
-
+
}
diff --git a/EjercitarServer/ejbModule/beans/AdministrationBean.java b/EjercitarServer/ejbModule/beans/AdministrationBean.java
deleted file mode 100644
index 53a6b60..0000000
--- a/EjercitarServer/ejbModule/beans/AdministrationBean.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package beans;
-
-import java.util.List;
-
-import javax.ejb.LocalBean;
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-
-import model.Tema;
-
-
-
-/**
- * Session Bean implementation class getConceptoList
- */
-@Stateless
-@LocalBean
-public class AdministrationBean {
-
- @PersistenceContext
- EntityManager em;
-
- /**
- * Default constructor.
- */
- public AdministrationBean() {
- // TODO Auto-generated constructor stub
- }
-
- public List getConceptoList(int idTema) {
- Tema tema = em.find(Tema.class, idTema);
- List conceptoList = tema.getConceptoList();
- System.out.println(conceptoList.toString());
- return conceptoList;
- }
-
-}
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
index dd9ce8c..d01e985 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
@@ -2,6 +2,7 @@ package beans;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Date;
import java.util.List;
import java.util.Random;
@@ -23,6 +24,7 @@ import model.Alumno;
import model.Concepto;
import model.Curso;
import model.Ejercicio;
+import model.Sesion;
import model.Tarea;
import model.Tema;
@@ -186,5 +188,40 @@ public class EjercitarWSBean implements EjercitarWSRemote {
}
return ejercicio;
}
+
+ @WebMethod
+ public void registrarSesion(int idAlumno, int idTarea, Boolean ayudaPadres, Boolean desdeHogar, String estadoAnimo) {
+
+
+ Sesion sesion = new Sesion();
+
+ sesion.setEntrada(new Date(System.currentTimeMillis()));
+ sesion.setAyudaPadres(ayudaPadres);
+ sesion.setDesdeHogar(desdeHogar);
+ sesion.setEstadoAnimo(estadoAnimo);
+ System.out.println("#########Estado" + estadoAnimo + estadoAnimo.length());
+ Alumno alumno = em.find(Alumno.class,idAlumno);
+ System.out.println("#########" + alumno.getApellido());
+
+ Tarea tarea = em.find(Tarea.class, idTarea);
+
+ System.out.println("#########" + tarea.getDescripcion());
+
+ sesion.setAlumno(alumno);
+ sesion.setTarea(tarea);
+
+ em.persist(sesion);
+
+ }
+
+
+ @WebMethod
+ public Alumno obtenerIdAlumno(String serial) {
+ // TODO Auto-generated method stub
+ //Alumno alumno = (Alumno) em.createQuery("Select a from Alumno a where a.serial = :serial").getParameter(serial, serial).;
+ Alumno alumno = (Alumno) em.createQuery("Select a from Alumno a where a.serial = :serial")
+ .setParameter("serial", serial).getSingleResult();
+ return alumno;
+ }
}
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java b/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
index a4137e3..ddeb8e2 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
@@ -6,6 +6,7 @@ import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
+import model.Alumno;
import model.Ejercicio;
import model.Tarea;
import model.Tema;
@@ -18,5 +19,9 @@ public interface EjercitarWSRemote {
public Ejercicio getSiguienteEjercicio(int idTarea, int idAlumno, int idEjercicio, String respuesta);
public String getText();
+
+ public void registrarSesion(int idAlumno, int idTarea, Boolean ayudaPadres, Boolean desdeHogar, String estadoAnimo) ;
+
+ public Alumno obtenerIdAlumno(String serial);
} \ No newline at end of file