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-09-21 19:56:24 (GMT)
committer sreyes <sreyes@dataworks.com.py>2014-09-21 19:56:24 (GMT)
commitaf8d9fd66795d45da0593f2d7eca90a723c92946 (patch)
tree57d63d654e5ba5b422b7d8f8df69d537cffb7657
parent3fd87d2be90086dd118249c54028cd33426c539e (diff)
metodo simular - falta sesion
-rw-r--r--EjercitarJPA/src/model/Alumno.java6
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java5
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java6
-rw-r--r--EjercitarServer/ejbModule/beans/Simulacion.java72
4 files changed, 71 insertions, 18 deletions
diff --git a/EjercitarJPA/src/model/Alumno.java b/EjercitarJPA/src/model/Alumno.java
index 45d1fbb..b878a19 100644
--- a/EjercitarJPA/src/model/Alumno.java
+++ b/EjercitarJPA/src/model/Alumno.java
@@ -73,13 +73,13 @@ public class Alumno implements Serializable {
@ManyToOne
private Curso curso;
@Transient
- private String tipoAlumno;
+ private Double tipoAlumno;
- public String getTipoAlumno() {
+ public Double getTipoAlumno() {
return tipoAlumno;
}
- public void setTipoAlumno(String tipoAlumno) {
+ public void setTipoAlumno(Double tipoAlumno) {
this.tipoAlumno = tipoAlumno;
}
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java
index e8ad4b4..7a6c376 100644
--- a/EjercitarServer/ejbModule/beans/AdministracionBean.java
+++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java
@@ -769,7 +769,10 @@ public class AdministracionBean implements AdministracionBeanRemote{
}
-
+ public Ejercicio getEjercicio(int idEjercicio ){
+ Ejercicio ejercicio = em.find(Ejercicio.class, idEjercicio);
+ return ejercicio;
+ }
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
index b5b7148..8b29f74 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
@@ -67,9 +67,9 @@ public class EjercitarWSBean implements EjercitarWSRemote {
// TODO Auto-generated method stub
System.out.println("getdatosalumno");
Alumno alumno = em.find(Alumno.class, idAlumno);
- //String curso = alumno.getCurso().getSeccion() + ""+ alumno.getCurso().getTurno();
- //String escuela = alumno.getCurso().getEscuela().getNombre();
- String nombreApellidoCursoEscuela = alumno.getNombre() + "#" + alumno.getApellido();// + "#" + curso + "#" + escuela ;
+ String curso = alumno.getCurso().getSeccion() + ""+ alumno.getCurso().getTurno();
+ String escuela = alumno.getCurso().getEscuela().getNombre();
+ String nombreApellidoCursoEscuela = alumno.getNombre() + "#" + alumno.getApellido() + "#" + curso + "#" + escuela ;
return nombreApellidoCursoEscuela;
}
diff --git a/EjercitarServer/ejbModule/beans/Simulacion.java b/EjercitarServer/ejbModule/beans/Simulacion.java
index a82eaa0..7c9b8fd 100644
--- a/EjercitarServer/ejbModule/beans/Simulacion.java
+++ b/EjercitarServer/ejbModule/beans/Simulacion.java
@@ -1,5 +1,9 @@
package beans;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
import javax.ejb.EJB;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@@ -7,15 +11,19 @@ import javax.persistence.PersistenceContext;
import model.Alumno;
import model.Asignatura;
import model.Curso;
+import model.Ejercicio;
+import model.Tarea;
public class Simulacion {
@EJB
AdministracionBean admin;
-
- public Alumno crearAlumno(Curso curso, String tipo){
+ @EJB
+ EjercitarWSBean ws;
+
+ public Alumno crearAlumno(Curso curso, Double tipo){
Alumno alumno = new Alumno();
@@ -33,32 +41,74 @@ public class Simulacion {
}
- public void generacionAlumno(Asignatura asignatura){
+ public List<Alumno> generacionAlumnos(Asignatura asignatura){
Curso curso = asignatura.getCurso();
int cantidadAlumnos = 30;
- String tipo;
+ Double tipo;
+
+ List<Alumno> alumnos = new ArrayList<Alumno>();
+
for (int i = 0; i < cantidadAlumnos; i++) {
if(i <= 10){
tipo = TipoAlumno.NIVEL_CONOCIMIENTO_BAJO;
- }else if(i >10 && i <=15){
+ }else if(i >10 && i <=20){
tipo = TipoAlumno.NIVEL_CONOCIMIENTO_MEDIO;
}else{
tipo = TipoAlumno.NIVEL_CONOCIMIENTO_ALTO;
}
- crearAlumno(curso, tipo);
-
+ Alumno alumno = crearAlumno(curso, tipo);
+
+ alumnos.add(alumno);
}
admin.crearRedAlumnos(asignatura.getIdAsignatura());
-
+
+ return alumnos;
+ }
+
+
+ public void simular(Asignatura asignatura, Tarea tarea) {
+
+
+ List<Alumno> alumnos = generacionAlumnos(asignatura);
+
+ for(Alumno alumno : alumnos) {
+
+ String siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), 0, "respuesta");
+ Boolean parada = false;
+ int cant = 0;
+ while(!parada) {
+
+ String [] ejercicioString = siguienteEjercicio.split("#");
+ int idEjercicio = Integer.valueOf(ejercicioString[0]);
+ Ejercicio ejercicio = admin.getEjercicio(idEjercicio);
+
+ Random rnd = new Random();
+ int decision = rnd.nextInt(100);
+ String respuesta = null;
+ int idRespuesta;
+ if(decision <= (alumno.getTipoAlumno()*100)) {
+ respuesta = ejercicio.getRespuesta().getDescripcion();
+ idRespuesta = ejercicio.getRespuesta().getIdRespuesta();
+ } 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();
+ }
+
+ siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), idRespuesta, respuesta);
+
+ }
+ }
}
public static class TipoAlumno {
- public static final String NIVEL_CONOCIMIENTO_BAJO = "OO";
- public static final String NIVEL_CONOCIMIENTO_MEDIO = "0.5";
- public static final String NIVEL_CONOCIMIENTO_ALTO = "1";
+ public static final Double NIVEL_CONOCIMIENTO_BAJO = 0.0;
+ public static final Double NIVEL_CONOCIMIENTO_MEDIO = 0.5;
+ public static final Double NIVEL_CONOCIMIENTO_ALTO = 1.0;
}