diff options
author | sreyes <sreyes@dataworks.com.py> | 2014-10-12 20:20:48 (GMT) |
---|---|---|
committer | sreyes <sreyes@dataworks.com.py> | 2014-10-12 20:20:48 (GMT) |
commit | cc483ec621db687ea3b5cbfffd1bbab954b38510 (patch) | |
tree | 036cb7faa30798de4ebe5b9ef2242ddfd700e6f7 | |
parent | 7a0ff6c9f17d87daeeab45292cbf1cd89c74cb0c (diff) | |
parent | 4215a259c0bbecd9a135ce3a9fff674fab8757e0 (diff) |
Merge remote-tracking branch 'remotes/origin/Cecilia' into samurey
Conflicts:
EjercitarJPA/build/classes/model/Ejercicio.class
EjercitarJPA/build/classes/model/Sesion.class
16 files changed, 139 insertions, 71 deletions
diff --git a/EjercitarJPA/build/classes/META-INF/MANIFEST.MF b/EjercitarJPA/build/classes/META-INF/MANIFEST.MF deleted file mode 100644 index 254272e..0000000 --- a/EjercitarJPA/build/classes/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/EjercitarJPA/build/classes/META-INF/persistence.xml b/EjercitarJPA/build/classes/META-INF/persistence.xml deleted file mode 100644 index a5aee30..0000000 --- a/EjercitarJPA/build/classes/META-INF/persistence.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> - <persistence-unit name="EjercitarJPA" transaction-type="JTA"> - <jta-data-source>java:/EjercitarDS</jta-data-source> - <class>model.Alumno</class> - <class>model.Concepto</class> - <class>model.Curso</class> - <class>model.Ejercicio</class> - <class>model.Escuela</class> - <class>model.Profesor</class> - <class>model.Respuesta</class> - <class>model.Sesion</class> - <class>model.Tarea</class> - <class>model.Tema</class> - <class>model.Asignatura</class> - <class>model.EjercicioResueltoAlumno</class> - </persistence-unit> -</persistence> diff --git a/EjercitarJPA/build/classes/model/Concepto.class b/EjercitarJPA/build/classes/model/Concepto.class Binary files differdeleted file mode 100644 index 2775171..0000000 --- a/EjercitarJPA/build/classes/model/Concepto.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/Curso.class b/EjercitarJPA/build/classes/model/Curso.class Binary files differdeleted file mode 100644 index 6ae6052..0000000 --- a/EjercitarJPA/build/classes/model/Curso.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.class b/EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.class Binary files differdeleted file mode 100644 index 85e75c1..0000000 --- a/EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/Escuela.class b/EjercitarJPA/build/classes/model/Escuela.class Binary files differdeleted file mode 100644 index 7adf95a..0000000 --- a/EjercitarJPA/build/classes/model/Escuela.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/Profesor.class b/EjercitarJPA/build/classes/model/Profesor.class Binary files differdeleted file mode 100644 index 138adc7..0000000 --- a/EjercitarJPA/build/classes/model/Profesor.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/Respuesta.class b/EjercitarJPA/build/classes/model/Respuesta.class Binary files differdeleted file mode 100644 index 42b82a2..0000000 --- a/EjercitarJPA/build/classes/model/Respuesta.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/Tarea.class b/EjercitarJPA/build/classes/model/Tarea.class Binary files differdeleted file mode 100644 index 2d5e2d5..0000000 --- a/EjercitarJPA/build/classes/model/Tarea.class +++ /dev/null diff --git a/EjercitarJPA/build/classes/model/Tema.class b/EjercitarJPA/build/classes/model/Tema.class Binary files differdeleted file mode 100644 index 2077d27..0000000 --- a/EjercitarJPA/build/classes/model/Tema.class +++ /dev/null diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java index f1f22c2..406e606 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBean.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java @@ -274,14 +274,17 @@ public class AdministracionBean implements AdministracionBeanRemote{ //em.merge(tarea); } - public void agregarAlumno(Alumno alumno){ + public Alumno agregarAlumno(Alumno alumno){ em.persist(alumno); + em.flush(); + return alumno; + } public Integer obtenerIdAlumno(){ - return em.createQuery("select nextval('alumno_id_alumno_seq')").getFirstResult(); + return em.createNativeQuery("select max(id_alumno) from alumno ").getFirstResult(); } public void calcularProbabilidades(int idAsignatura) { @@ -794,7 +797,8 @@ public class AdministracionBean implements AdministracionBeanRemote{ Query query = em.createQuery(queryConceptos); query.setParameter("asignatura", asignatura); List <Concepto>conceptos = query.getResultList(); - List<Tema> temas= asignatura.getTemaList(); + List<Tema> temas= obtenerTemas(asignatura); + datosFila.add(idAlumno); for(Tema tema : temas){ String porcentajeTema = getValorNodoRed(tema.getNombre(), asignatura.getIdAsignatura(), idAlumno); @@ -802,12 +806,13 @@ public class AdministracionBean implements AdministracionBeanRemote{ } for(Concepto concepto : conceptos){ - String porcentajeTema = getValorNodoRed(concepto.getNombre(), asignatura.getIdAsignatura(), idAlumno); - datosFila.add(porcentajeTema); + String porcentajeConcepto = getValorNodoRed(concepto.getNombre(), asignatura.getIdAsignatura(), idAlumno); + datosFila.add(porcentajeConcepto); } datosFila.add(idEjercicio); datosFila.add((respuesta)?"SI":"NO"); - + datosFila.add("\r"); + return datosFila; } @@ -824,6 +829,22 @@ public class AdministracionBean implements AdministracionBeanRemote{ } - + public Ejercicio obtenerEjercicio(Integer id){ + + return em.find(Ejercicio.class, id); + + } + + public List obtenerRespuestas(Ejercicio ejercicio){ + String queryRespuesta = "select r from Respuesta r join r.ejercicioList e where e = :ejercicio "; + List <Respuesta>respuestas = em.createQuery(queryRespuesta).setParameter("ejercicio", ejercicio).getResultList(); + return respuestas; + } + + public List obtenerTemas(Asignatura asignatura){ + List<Tema> temaList = (List<Tema>) em.createQuery("Select e from Tema e where e.asignatura=:asignatura" ) + .setParameter("asignatura", asignatura).getResultList() ; + return temaList; + } } diff --git a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java index d873653..aaaa913 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java @@ -48,6 +48,7 @@ public interface AdministracionBeanRemote { public Asignatura obtenerAsignatura (Integer idAsignatura); public ArrayList <Object> registrarEjercicio(Asignatura asignatura, Integer idAlumno, Integer idEjercicio, Boolean respuesta); public Integer obtenerIdAlumno(); - public void agregarAlumno(Alumno alumno); - + public Alumno agregarAlumno(Alumno alumno); + public Ejercicio obtenerEjercicio(Integer id); + public List obtenerRespuestas(Ejercicio ejercicio); } diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java index d6b9be1..0b42735 100644 --- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java +++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java @@ -132,7 +132,6 @@ public class EjercitarWSBean implements EjercitarWSRemote { //Ejercicio ejercicio = seleccionAleatoria(tarea);
Ejercicio ejercicio = seleccionUtilidadMax(tarea, alumno, idEjercicio);
String enunciado = toASCII(ejercicio.getEnunciado());
- System.out.println(enunciado);
String ejercicioElement = ejercicio.getIdEjercicio().toString() + "#" + enunciado;
return ejercicioElement;
}
@@ -145,7 +144,6 @@ public class EjercitarWSBean implements EjercitarWSRemote { net1.readFile("/home/redes/" + nombreRed);
net1.updateBeliefs();
String nombreEjercicio = "E" + idEjercicio;
- System.out.println("proba d");
if(respuesta.equals(ejercicio.getRespuesta().getDescripcion())) {
net1.setEvidence(nombreEjercicio, "Correcto");
} else {
@@ -176,6 +174,9 @@ public class EjercitarWSBean implements EjercitarWSRemote { Sesion sesionAnterior = (Sesion) query.getSingleResult();
List<Ejercicio> respondidos = sesionAnterior.getEjercicioList();
+ if(respondidos==null){
+ respondidos = new ArrayList<Ejercicio>();
+ }
respondidos.add(ejercicio);
sesionAnterior.setEjercicioList(respondidos);
em.persist(sesionAnterior);
@@ -295,22 +296,17 @@ public class EjercitarWSBean implements EjercitarWSRemote { query.setMaxResults(1);
Sesion sesionAnterior = (Sesion) query.getSingleResult();
- System.out.println(sesionAnterior.getEstadoAnimo());
//int i = tUtilidades.size();
Map.Entry<Double, Ejercicio> valor;
Map.Entry<Double, Ejercicio> primerValor;
valor = tUtilidades.pollLastEntry();
primerValor = valor;
while(true) {
- System.out.println(valor.toString());
if (valor == null) return primerValor.getValue();
Ejercicio e = valor.getValue();
- if(!sesionAnterior.getEjercicioList().contains(e)) {
- System.out.println("no hay");
+ if(sesionAnterior.getEjercicioList()== null || !sesionAnterior.getEjercicioList().contains(e)) {
return e;
- } else {
- System.out.println("ya hay");
- }
+ }
valor = tUtilidades.pollLastEntry();
}
diff --git a/EjercitarServer/ejbModule/beans/SimulacionBean.java b/EjercitarServer/ejbModule/beans/SimulacionBean.java index 59d5064..27e5a56 100644 --- a/EjercitarServer/ejbModule/beans/SimulacionBean.java +++ b/EjercitarServer/ejbModule/beans/SimulacionBean.java @@ -17,11 +17,10 @@ import javax.jws.soap.SOAPBinding; import model.Alumno; import model.Asignatura; -import model.Concepto; import model.Curso; import model.Ejercicio; +import model.Respuesta; import model.Tarea; -import model.Tema; @Stateless @LocalBean @@ -37,19 +36,19 @@ public class SimulacionBean { @EJB EjercitarWSRemote ws; - public Alumno crearAlumno(Curso curso, Double tipo){ + public Alumno crearAlumno(Curso curso, Double tipo, Integer id){ Alumno alumno = new Alumno(); - Integer idAlumno = admin.obtenerIdAlumno(); - alumno.setNombre("nom_" + idAlumno); - alumno.setApellido("ape_" + idAlumno); + // Integer idAlumno = admin.obtenerIdAlumno() + 1; + alumno.setNombre("nom_" + id); + alumno.setApellido("ape_" + id); alumno.setSerial(123456); alumno.setCurso(curso); alumno.setTipoAlumno(tipo); - admin.agregarAlumno(alumno); + alumno = admin.agregarAlumno(alumno); return alumno; @@ -62,9 +61,10 @@ public class SimulacionBean { int ayuda = rnd.nextInt(2); int hogar = rnd.nextInt(2); String estadoAnimo = estados[estado]; - Boolean ayudaPadres = (ayuda%2==0) ? true:false; - Boolean desdeHogar = (hogar%2==0) ? true:false; - + Boolean ayudaPadres = (ayuda == 0) ? true:false; + Boolean desdeHogar = (hogar ==0) ? true:false; + + Integer idSesion = ws.registrarSesion(idAlumno, idTarea, ayudaPadres, desdeHogar, estadoAnimo); return idSesion; @@ -73,7 +73,7 @@ public class SimulacionBean { public List<Alumno> generacionAlumnos(Asignatura asignatura){ Curso curso = asignatura.getCurso(); - int cantidadAlumnos = 30; + int cantidadAlumnos = 4; Double tipo; List<Alumno> alumnos = new ArrayList<Alumno>(); @@ -87,7 +87,7 @@ public class SimulacionBean { }else{ tipo = TipoAlumno.NIVEL_CONOCIMIENTO_ALTO; } - Alumno alumno = crearAlumno(curso, tipo); + Alumno alumno = crearAlumno(curso, tipo, i); alumnos.add(alumno); } @@ -103,28 +103,31 @@ public class SimulacionBean { Asignatura asignatura = admin.obtenerAsignatura(3); Tarea tarea = admin.obtenerTarea(3); - File tmpFile = new File ("prueba.xlsx"); ArrayList<ArrayList<Object>> datos = new ArrayList(); //getValorNodoRed List<Alumno> alumnos = generacionAlumnos(asignatura); - + System.out.println("##########alumnos creados######" + alumnos.size()); for(Alumno alumno : alumnos) { + System.out.println("tarea: " + tarea.getIdTarea() + "alumno: " + alumno.getIdAlumno()); + + Integer idSesion = crearSesion(alumno.getIdAlumno(), tarea.getIdTarea()); + System.out.println("##########sesion creada ######"); + String siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), 0, "respuesta"); Boolean parada = false; int cant = 0; Random rnd = new Random(); - Integer idSesion = crearSesion(alumno.getIdAlumno(), tarea.getIdTarea()); - + for (int i = 0; i < tarea.getCantidadEjercicioParada(); i++) { String [] ejercicioString = siguienteEjercicio.split("#"); Integer idEjercicio = Integer.valueOf(ejercicioString[0]); - Ejercicio ejercicio = null;//admin.getEjercicio(idEjercicio); + Ejercicio ejercicio = admin.obtenerEjercicio(idEjercicio); int decision = rnd.nextInt(100); @@ -136,37 +139,41 @@ public class SimulacionBean { idRespuesta = ejercicio.getRespuesta().getIdRespuesta(); respuestaCorrecta = true; } else { - respuesta = ejercicio.getRespuestaList().get(0).equals(ejercicio.getRespuesta()) ? - ejercicio.getRespuestaList().get(1).getDescripcion() : ejercicio.getRespuestaList().get(0).getDescripcion(); - idRespuesta = ejercicio.getRespuestaList().get(0).equals(ejercicio.getRespuesta()) ? - ejercicio.getRespuestaList().get(1).getIdRespuesta() : ejercicio.getRespuestaList().get(0).getIdRespuesta(); + List <Respuesta> respuestas = admin.obtenerRespuestas(ejercicio); + respuesta = respuestas.get(0).equals(ejercicio.getRespuesta()) ? + respuestas.get(1).getDescripcion() : respuestas.get(0).getDescripcion(); + /*idRespuesta = ejercicio.getRespuestaList().get(0).equals(ejercicio.getRespuesta()) ? + ejercicio.getRespuestaList().get(1).getIdRespuesta() : ejercicio.getRespuestaList().get(0).getIdRespuesta(); */ } - siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), idRespuesta, respuesta); + siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), ejercicio.getIdEjercicio(), respuesta); //Asignatura asignatura, Integer idAlumno, Integer idEjercicio, Boolean respuesta - + + ArrayList <Object> fila = admin.registrarEjercicio(asignatura, alumno.getIdAlumno(), idEjercicio, respuestaCorrecta); - datos.add(fila); + //datos.add(fila); + crearArchivo(fila); } - + System.out.println("alumno creado " + alumno.getNombre()); + ws.terminarTarea(idSesion); } - crearArchivo(datos); + // crearArchivo(datos); } - private void crearArchivo(ArrayList<ArrayList<Object>> datos) { + private void crearArchivo(ArrayList<Object> fila) { File archivo = new File("prueba_tarea.csv"); FileWriter escribir; try { escribir = new FileWriter(archivo,true); - for(ArrayList<Object> fila : datos){ + String idList = fila.toString(); String csv = idList.substring(1, idList.length() - 1).replace(", ", ","); escribir.write(csv); - } + escribir.close(); diff --git a/EjercitarWeb/WebContent/login.jsp b/EjercitarWeb/WebContent/login.jsp index ea908a1..3e10f05 100644 --- a/EjercitarWeb/WebContent/login.jsp +++ b/EjercitarWeb/WebContent/login.jsp @@ -33,11 +33,55 @@ .input-group { margin-bottom: 5px; } + + + body { + background: url('/img/fondo.png') no-repeat center center fixed; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + } + + .panel-default { + opacity: 0.9; + margin-top:30px; + } + .form-group.last { + margin-bottom:0px; + } + + .white, .white a { + color: #fff; + } + + .navbar { + background-color: transparent; + background: transparent; + border-color: transparent; + } + + + </style> </head> <body> + + + + <div class="container"> - <div class="center well"> + <div class="row"> <br/><br/><br/><br/><br/></div> + <div class="row "> + <div class="col-md-6 white "> + <h1 > Bienvenidos a Ejercitar!</h1> + + <p><h3> Ejercitar es un modelo de aprendizaje basado en el uso de computadoras. </h3></p> + </div> + <div class="col-md-4 col-md-offset-2"> + <div class="panel panel-default"> + <div class="panel-heading"> <strong class="">Login</strong> </div> + <div class="panel-body"> <div class="alert alert-danger" id="e-msg-error-cnt"> <a class="close" data-dismiss="alert" href="#">x</a><div id="e-msg-error"><%= request.getAttribute("error") %></div> </div> @@ -53,7 +97,24 @@ <button class="btn btn-lg btn-primary btn-block" type="submit" name="submit">Aceptar</button> <button class="btn btn-lg btn-success btn-block" type="button" onclick="location.href='/EjercitarWeb/NuevoProfesorServlet';">Crear Cuenta</button> </form> + </div> + </div> </div> </div> + </div> + + <nav class="navbar navbar-default navbar-fixed-bottom" role="navigation"> + <div class="container-fluid"> + + <ul class="nav navbar-nav navbar-right"> + <a href="http://one.laptop.org/"><img src="/img/olpc-logo.png" class="img-rounded" alt="Rounded Image"></img></a> + <a href="http://www.paraguayeduca.org/"><img src="/img/educa-logo.png" class="img-rounded" alt="Rounded Image"></img></a> + <a href="http://www.pol.una.py/"><img src="/img/fpuna-logo.png" class="img-rounded" alt="Rounded Image"></img></a> + + </ul> + + </div> + </nav> + </body> </html> diff --git a/EjercitarWeb/src/src/MenuPrincipalServlet.java b/EjercitarWeb/src/src/MenuPrincipalServlet.java index eb3d4f9..2bee6fd 100644 --- a/EjercitarWeb/src/src/MenuPrincipalServlet.java +++ b/EjercitarWeb/src/src/MenuPrincipalServlet.java @@ -3,6 +3,7 @@ package src; import java.io.IOException; import java.util.List; +import javax.ejb.EJB; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.servlet.RequestDispatcher; @@ -14,6 +15,7 @@ import javax.servlet.http.HttpServletResponse; import model.Asignatura; import model.Profesor; +import beans.SimulacionBeanRemote; /** * Servlet implementation class MenuPrincipalServlet @@ -26,7 +28,8 @@ public class MenuPrincipalServlet extends HttpServlet { /** * @see HttpServlet#HttpServlet() */ - + @EJB + SimulacionBeanRemote simular; public MenuPrincipalServlet() { super(); @@ -42,7 +45,7 @@ public class MenuPrincipalServlet extends HttpServlet { response.setContentType("text/html;charset=UTF-8"); Profesor profesor = (Profesor)request.getSession().getAttribute("profesor"); Profesor profTemp = em.find(Profesor.class, profesor.getIdProfesor()); - + simular.simular(); List<Asignatura> asignaturas = em.createQuery("select a from Asignatura a where a.profesor = :profesor ").setParameter("profesor", profTemp).getResultList(); request.setAttribute("lista_asignatura", asignaturas); |