diff options
author | ceci <caggsld@gmail.com> | 2013-08-08 01:59:40 (GMT) |
---|---|---|
committer | ceci <caggsld@gmail.com> | 2013-08-08 01:59:40 (GMT) |
commit | 9445d7cebe5eef1aad40fb6bba019ee48be2beec (patch) | |
tree | 5282a7ad7a97353249e86a0afcea60b0c800f970 | |
parent | c19b8104b0c17ad747ad664f6f3827423621c25f (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.py | 23 | ||||
-rw-r--r-- | EjercitarClient/gui/Ejercitario.py | 24 | ||||
-rw-r--r-- | EjercitarClient/gui/Login.py | 71 | ||||
-rw-r--r-- | EjercitarClient/gui/Temas.py | 9 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Alumno.java | 2 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Sesion.java | 23 | ||||
-rw-r--r-- | EjercitarJPA/src/model/Tarea.java | 2 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBean.java | 14 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBeanLocal.java | 10 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java | 4 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministrationBean.java | 38 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/EjercitarWSBean.java | 37 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/EjercitarWSRemote.java | 5 |
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 |