Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsreyes <sreyes@dataworks.com.py>2014-10-12 20:20:48 (GMT)
committer sreyes <sreyes@dataworks.com.py>2014-10-12 20:20:48 (GMT)
commitcc483ec621db687ea3b5cbfffd1bbab954b38510 (patch)
tree036cb7faa30798de4ebe5b9ef2242ddfd700e6f7
parent7a0ff6c9f17d87daeeab45292cbf1cd89c74cb0c (diff)
parent4215a259c0bbecd9a135ce3a9fff674fab8757e0 (diff)
Merge remote-tracking branch 'remotes/origin/Cecilia' into samurey
Conflicts: EjercitarJPA/build/classes/model/Ejercicio.class EjercitarJPA/build/classes/model/Sesion.class
-rw-r--r--EjercitarJPA/build/classes/META-INF/MANIFEST.MF3
-rw-r--r--EjercitarJPA/build/classes/META-INF/persistence.xml18
-rw-r--r--EjercitarJPA/build/classes/model/Concepto.classbin6087 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Curso.classbin5034 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.classbin3599 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Escuela.classbin4373 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Profesor.classbin6954 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Respuesta.classbin3757 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Tarea.classbin4908 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Tema.classbin5090 -> 0 bytes
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java35
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java5
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java14
-rw-r--r--EjercitarServer/ejbModule/beans/SimulacionBean.java65
-rw-r--r--EjercitarWeb/WebContent/login.jsp63
-rw-r--r--EjercitarWeb/src/src/MenuPrincipalServlet.java7
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
deleted file mode 100644
index 2775171..0000000
--- a/EjercitarJPA/build/classes/model/Concepto.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Curso.class b/EjercitarJPA/build/classes/model/Curso.class
deleted file mode 100644
index 6ae6052..0000000
--- a/EjercitarJPA/build/classes/model/Curso.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.class b/EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.class
deleted file mode 100644
index 85e75c1..0000000
--- a/EjercitarJPA/build/classes/model/EjercicioResueltoAlumno.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Escuela.class b/EjercitarJPA/build/classes/model/Escuela.class
deleted file mode 100644
index 7adf95a..0000000
--- a/EjercitarJPA/build/classes/model/Escuela.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Profesor.class b/EjercitarJPA/build/classes/model/Profesor.class
deleted file mode 100644
index 138adc7..0000000
--- a/EjercitarJPA/build/classes/model/Profesor.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Respuesta.class b/EjercitarJPA/build/classes/model/Respuesta.class
deleted file mode 100644
index 42b82a2..0000000
--- a/EjercitarJPA/build/classes/model/Respuesta.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Tarea.class b/EjercitarJPA/build/classes/model/Tarea.class
deleted file mode 100644
index 2d5e2d5..0000000
--- a/EjercitarJPA/build/classes/model/Tarea.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Tema.class b/EjercitarJPA/build/classes/model/Tema.class
deleted file mode 100644
index 2077d27..0000000
--- a/EjercitarJPA/build/classes/model/Tema.class
+++ /dev/null
Binary files differ
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);