Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcecigg <caggsld@gmail.com>2014-10-19 13:17:38 (GMT)
committer cecigg <caggsld@gmail.com>2014-10-19 13:17:38 (GMT)
commitfad06980c11d8e9257b4de4a3b96a0113cbd5ca3 (patch)
tree9a69a23be2ae93c90a104a28df1a5e84dd11ae25
parent30f2761491a92005be9ec3f7b316dcc163e8a265 (diff)
parentcab10f4b2346c40676f3c92d4eb86c03a20e03bb (diff)
Merge remote-tracking branch 'remotes/origin/samurey' into Cecilia
-rw-r--r--EjercitarJPA/build/classes/model/Alumno.classbin5874 -> 0 bytes
-rw-r--r--EjercitarJPA/build/classes/model/Asignatura.classbin5192 -> 0 bytes
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java60
-rw-r--r--EjercitarServer/ejbModule/beans/SimulacionBean.java66
4 files changed, 78 insertions, 48 deletions
diff --git a/EjercitarJPA/build/classes/model/Alumno.class b/EjercitarJPA/build/classes/model/Alumno.class
deleted file mode 100644
index 4a99982..0000000
--- a/EjercitarJPA/build/classes/model/Alumno.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarJPA/build/classes/model/Asignatura.class b/EjercitarJPA/build/classes/model/Asignatura.class
deleted file mode 100644
index 63a0eae..0000000
--- a/EjercitarJPA/build/classes/model/Asignatura.class
+++ /dev/null
Binary files differ
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
index 215916e..03f5e28 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
@@ -205,11 +205,19 @@ public class EjercitarWSBean implements EjercitarWSRemote {
private Ejercicio seleccionUtilidadMax(Tarea tarea, Alumno alumno, int idEjercicioAnterior) {
try{
+
+ //para obtener la sesion anterior.
+ Query query = em.createQuery("Select s from Sesion s where s.alumno.idAlumno = :alumno and s.tarea.idTarea = :tarea order by s.idSesion desc");
+ query.setParameter("alumno", alumno.getIdAlumno());
+ query.setParameter("tarea", tarea.getIdTarea());
+ query.setMaxResults(1);
+ Sesion sesionAnterior = (Sesion) query.getSingleResult();
+
List<Concepto> conceptoList = em.createQuery("Select c from Concepto c inner join c.tareaList t where t = :tarea").setParameter("tarea", tarea).getResultList();
// inicializacion
double utilidadMax = 0;
- Map<Double, Ejercicio> hUtilidades= new HashMap<Double, Ejercicio>();
+ Map<Double, List> hUtilidades= new HashMap<Double, List>();
Ejercicio ejercicio = null;
// System.out.println("cantidad concepto: " + conceptoList.size() + " de la tarea: " + tarea.getDescripcion());
for (Concepto concepto : conceptoList) {
@@ -268,6 +276,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
//System.out.println("utilidadParcial2: " + utilidadParcial2);
double utilidadMaxParcial = utilidadParcial1 + utilidadParcial2;
+ /*
if(utilidadMaxParcial > utilidadMax) {
utilidadMax = utilidadMaxParcial;
ejercicio = ejercicioConcepto;
@@ -278,40 +287,59 @@ public class EjercitarWSBean implements EjercitarWSRemote {
ejercicio = ejercicioConcepto;
}
}
+ */
+
+ List utilidades = hUtilidades.get(utilidadMaxParcial);
+ if (utilidades == null )
+ utilidades = new ArrayList();
+
+ if (!sesionAnterior.getEjercicioList().contains(ejercicioConcepto))
+ utilidades.add(ejercicioConcepto);
- hUtilidades.put(utilidadMaxParcial, ejercicioConcepto);
+ if (utilidades.size() > 0)
+ hUtilidades.put(utilidadMaxParcial, utilidades);
//System.out.println("utilidadMax: " + utilidadMax);
//System.out.println("cont" + cont++);
}
}
//System.out.println("obtener la sesion anterior ");
- TreeMap<Double, Ejercicio> tUtilidades = new TreeMap<Double, Ejercicio>(hUtilidades);
+ TreeMap<Double, List> tUtilidades = new TreeMap<Double, List>(hUtilidades);
///System.out.println(tUtilidades);
- //para obtener la sesion anterior.
- Query query = em.createQuery("Select s from Sesion s where s.alumno.idAlumno = :alumno and s.tarea.idTarea = :tarea order by s.idSesion desc");
- query.setParameter("alumno", alumno.getIdAlumno());
- query.setParameter("tarea", tarea.getIdTarea());
- query.setMaxResults(1);
- Sesion sesionAnterior = (Sesion) query.getSingleResult();
+
//int i = tUtilidades.size();
- Map.Entry<Double, Ejercicio> valor;
- Map.Entry<Double, Ejercicio> primerValor;
+ Map.Entry<Double, List> valor;
+ Map.Entry<Double, List> primerValor;
valor = tUtilidades.pollLastEntry();
- primerValor = valor;
+ //primerValor = valor;
//System.out.println("primerValor: " + primerValor);
-
+
+
+ List lista = valor.getValue();
+ Random rnd = new Random();
+ int eleccion = rnd.nextInt(lista.size());
+ return (Ejercicio) lista.get(eleccion);
+
+
+ /*
while(true) {
- if (valor == null) return primerValor.getValue();
- Ejercicio e = valor.getValue();
+ if (valor == null) {
+ List lista = primerValor.getValue();
+ Random rnd = new Random();
+ int eleccion = rnd.nextInt(lista.size());
+ return (Ejercicio) lista.get(eleccion);
+ }
+
+ List lista = valor.getValue();
+
if(sesionAnterior.getEjercicioList()== null || !sesionAnterior.getEjercicioList().contains(e)) {
return e;
}
valor = tUtilidades.pollLastEntry();
- }
+ }*/
//return ejercicio;
}catch(Exception e){
diff --git a/EjercitarServer/ejbModule/beans/SimulacionBean.java b/EjercitarServer/ejbModule/beans/SimulacionBean.java
index 4bdcd09..2f4cc1a 100644
--- a/EjercitarServer/ejbModule/beans/SimulacionBean.java
+++ b/EjercitarServer/ejbModule/beans/SimulacionBean.java
@@ -111,12 +111,8 @@ public class SimulacionBean {
Asignatura asignatura = admin.obtenerAsignatura(3);
Tarea tarea = admin.obtenerTarea(4);
- ArrayList<ArrayList<Object>> datos = new ArrayList();
-
-
- //getValorNodoRed
List<Alumno> alumnos = thisSimular.generacionAlumnos(asignatura);
- System.out.println("##########alumnos creados######" + alumnos.size());
+ System.out.println("##########alumnos creados######" + alumnos.size());
int cont = 0;
for(Alumno alumno : alumnos) {
thisSimular.simularAlumno(alumno, tarea, asignatura);
@@ -141,34 +137,39 @@ public class SimulacionBean {
Boolean parada = false;
int cant = 0;
Random rnd = new Random();
-
-
-
- for (int i = 0; i < tarea.getCantidadEjercicioParada(); i++) {
-
- String [] ejercicioString = siguienteEjercicio.split("#");
- Integer idEjercicio = Integer.valueOf(ejercicioString[0]);
- Ejercicio ejercicio = admin.obtenerEjercicio(idEjercicio);
-
-
- int decision = rnd.nextInt(100);
- String respuesta = null;
- int idRespuesta;
- Boolean respuestaCorrecta = false;
- if(decision <= (alumno.getTipoAlumno()*100)) {
- respuesta = ejercicio.getRespuesta().getDescripcion();
- idRespuesta = ejercicio.getRespuesta().getIdRespuesta();
- respuestaCorrecta = true;
- } else {
- 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(); */
- }
+
+ for (int i = 0; i < tarea.getCantidadEjercicioParada(); i++) {
+
+ String [] ejercicioString = siguienteEjercicio.split("#");
+ Integer idEjercicio = Integer.valueOf(ejercicioString[0]);
+ Ejercicio ejercicio = admin.obtenerEjercicio(idEjercicio);
+
+ int decision = rnd.nextInt(100);
+ String respuesta = null;
+ int idRespuesta;
+ Boolean respuestaCorrecta = false;
+ if(decision <= (alumno.getTipoAlumno()*100)) {
+ respuesta = ejercicio.getRespuesta().getDescripcion();
+ idRespuesta = ejercicio.getRespuesta().getIdRespuesta();
+ respuestaCorrecta = true;
+ } else {
+ 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(); */
+ respuestas.clear();
+ }
+
+ siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), ejercicio.getIdEjercicio(), respuesta);
+ //Asignatura asignatura, Integer idAlumno, Integer idEjercicio, Boolean 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(), ejercicio, respuestaCorrecta);
+ //datos.add(fila);
+ crearArchivo(fila);
+ fila.clear();
+ }
ArrayList <Object> fila = admin.registrarEjercicio(asignatura, alumno.getIdAlumno(), ejercicio, respuestaCorrecta);
@@ -196,6 +197,7 @@ public class SimulacionBean {
escribir.close();
+
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();