diff options
author | sreyes <sreyes@dataworks.com.py> | 2014-10-19 13:40:26 (GMT) |
---|---|---|
committer | sreyes <sreyes@dataworks.com.py> | 2014-10-19 13:40:26 (GMT) |
commit | 4508276aef471d2555fadb729d098ab195d5c7d0 (patch) | |
tree | 9b215ea4567add00ecab6c40f4dc306cd81ad734 | |
parent | b8b28b4ed6e853a997a63539925acf95518a465e (diff) | |
parent | 5bea5a93c0ff7045a7f96877a7b37e6fe3ba2d87 (diff) |
Merge remote-tracking branch 'remotes/origin/Cecilia' into samurey
Conflicts:
EjercitarServer/ejbModule/beans/SimulacionBean.java
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBean.java | 21 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/EjercitarWSBean.java | 16 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/SimulacionBean.java | 47 |
3 files changed, 58 insertions, 26 deletions
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java index d2a3416..92a251f 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBean.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java @@ -89,13 +89,13 @@ public class AdministracionBean implements AdministracionBeanRemote{ private double calcularXasterisco(Ejercicio ejercicio) { // TODO Auto-generated method stub //indice de discriminacion - double a = 1; + double a = 2; //b = nivel de dificultad double b = ejercicio.getNivelDificultad(); - //c = 1/n - double c = 1.0 / Double.valueOf(ejercicio.getConceptoList().size()); + //c = 1/n n = cantidad respuesta. + double c = 1.0 / 4 ;// Double.valueOf(ejercicio.getConceptoList().size()); //s = adivinanza double s = ejercicio.getAdivinanza(); @@ -112,13 +112,13 @@ public class AdministracionBean implements AdministracionBeanRemote{ //G(X) = 1- ( (1-c)(1+exp(-1.7ab)) ) / ( 1+exp(1.7a(x-b)) ) System.out.println("##################################################"); //indice de discriminacion - double a = 1; + double a = 2; //b = nivel de dificultad double b = ejercicio.getNivelDificultad(); //c = 1/n - double c = 1.0 / Double.valueOf(ejercicio.getConceptoList().size()); + double c = 1.0 / 4;// Double.valueOf(ejercicio.getConceptoList().size()); System.out.println("cant concepto: " + ejercicio.getConceptoList().size()); System.out.println("a: " + a + "b: " + b + "c: " + c); @@ -368,7 +368,7 @@ public class AdministracionBean implements AdministracionBeanRemote{ System.out.println("**************************************************************"); int j = 0; for(int i = 0; i < dimension; i++) { - temaDef[j] = 1- cpTema(tema, i); + temaDef[j] = 1 - cpTema(tema, i); j++; temaDef[j] = 1 - temaDef[j-1]; j++; @@ -534,9 +534,9 @@ public class AdministracionBean implements AdministracionBeanRemote{ net.updateBeliefs(); //cambiar formato nodo - System.out.println(nombre); + //System.out.println(nombre); String titulo = sp.convertirEspacioToGuion(nombre); - System.out.println(titulo); + //System.out.println(titulo); double [] valor = net.getNodeValue(titulo); double conoce = valor[1]; @@ -798,11 +798,12 @@ public class AdministracionBean implements AdministracionBeanRemote{ query.setParameter("asignatura", asignatura); List <Concepto>conceptos = query.getResultList(); List<Tema> temas= obtenerTemas(asignatura); - System.out.println("temas: " + temas.toString()); - System.out.println("conceptos: " + conceptos.toString()); + //System.out.println("temas: " + temas.toString()); + //System.out.println("conceptos: " + conceptos.toString()); datosFila.add(idAlumno); + datosFila.add( getValorNodoRed(asignatura.getNombre(), asignatura.getIdAsignatura(), idAlumno)); for(Tema tema : temas){ String porcentajeTema = getValorNodoRed(tema.getNombre(), asignatura.getIdAsignatura(), idAlumno); datosFila.add(porcentajeTema); diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java index 0b42735..215916e 100644 --- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java +++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java @@ -156,7 +156,7 @@ public class EjercitarWSBean implements EjercitarWSRemote { for (Concepto concepto : conceptoList) {
String nombreConcepto = concepto.getNombre();
double [] probCalc = net1.getNodeValue(nombreConcepto);
- System.out.println("proba " + probCalc.toString());
+ //System.out.println("proba " + probCalc.toString());
net1.setNodeDefinition(nombreConcepto, probCalc);
}
@@ -211,7 +211,7 @@ public class EjercitarWSBean implements EjercitarWSRemote { double utilidadMax = 0;
Map<Double, Ejercicio> hUtilidades= new HashMap<Double, Ejercicio>();
Ejercicio ejercicio = null;
- //System.out.println("cantidad concepto: " + conceptoList.size() + " de la tarea: " + tarea.getDescripcion());
+ // System.out.println("cantidad concepto: " + conceptoList.size() + " de la tarea: " + tarea.getDescripcion());
for (Concepto concepto : conceptoList) {
//System.out.println("concepto " + concepto.getNombre());
Network net1 = new Network();
@@ -233,7 +233,7 @@ public class EjercitarWSBean implements EjercitarWSRemote { double pC0 = values[0]; // P(C=0)
-
+ int cont = 0;
List<Ejercicio> ejercicios = concepto.getEjercicioList();
//System.out.println("cantidad ejercicio: " + ejercicios.size());
for(Ejercicio ejercicioConcepto : ejercicios){
@@ -281,10 +281,11 @@ public class EjercitarWSBean implements EjercitarWSRemote { hUtilidades.put(utilidadMaxParcial, ejercicioConcepto);
//System.out.println("utilidadMax: " + utilidadMax);
- //System.out.println("utilidadMaxParcial: " + utilidadMaxParcial);
+ //System.out.println("cont" + cont++);
}
}
- //System.out.println(hUtilidades);
+
+ //System.out.println("obtener la sesion anterior ");
TreeMap<Double, Ejercicio> tUtilidades = new TreeMap<Double, Ejercicio>(hUtilidades);
///System.out.println(tUtilidades);
@@ -301,6 +302,8 @@ public class EjercitarWSBean implements EjercitarWSRemote { Map.Entry<Double, Ejercicio> primerValor;
valor = tUtilidades.pollLastEntry();
primerValor = valor;
+ //System.out.println("primerValor: " + primerValor);
+
while(true) {
if (valor == null) return primerValor.getValue();
Ejercicio e = valor.getValue();
@@ -470,6 +473,9 @@ public class EjercitarWSBean implements EjercitarWSRemote { Asignatura asignatura = em.find(Asignatura.class, 3);
+
+ admin.calcularProbabilidades(asignatura.getIdAsignatura());
+
System.out.println(asignatura.getNombre());
List<Tema> temas = (List<Tema>) em.createQuery("select t from Tema t where t.asignatura = :asignatura").setParameter("asignatura", asignatura).getResultList();
System.out.println("tema " + temas.size());
diff --git a/EjercitarServer/ejbModule/beans/SimulacionBean.java b/EjercitarServer/ejbModule/beans/SimulacionBean.java index 1b7e0ba..2041590 100644 --- a/EjercitarServer/ejbModule/beans/SimulacionBean.java +++ b/EjercitarServer/ejbModule/beans/SimulacionBean.java @@ -11,6 +11,9 @@ import javax.ejb.EJB; import javax.ejb.LocalBean; import javax.ejb.Remote; import javax.ejb.Stateless; +import javax.ejb.TransactionAttribute; +import javax.ejb.TransactionAttributeType; +import javax.ejb.TransactionManagement; import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; @@ -36,6 +39,10 @@ public class SimulacionBean { @EJB EjercitarWSRemote ws; + @EJB + SimulacionBean thisSimular; + + public Alumno crearAlumno(Curso curso, Double tipo, Integer id){ @@ -70,10 +77,11 @@ public class SimulacionBean { } + @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public List<Alumno> generacionAlumnos(Asignatura asignatura){ Curso curso = asignatura.getCurso(); - int cantidadAlumnos = 4; + int cantidadAlumnos = 30; Double tipo; List<Alumno> alumnos = new ArrayList<Alumno>(); @@ -101,16 +109,29 @@ public class SimulacionBean { public void simular() { Asignatura asignatura = admin.obtenerAsignatura(3); - Tarea tarea = admin.obtenerTarea(3); + Tarea tarea = admin.obtenerTarea(4); - List<Alumno> alumnos = generacionAlumnos(asignatura); + List<Alumno> alumnos = thisSimular.generacionAlumnos(asignatura); System.out.println("##########alumnos creados######" + alumnos.size()); - for(Alumno alumno : alumnos) { + int cont = 0; + for(Alumno alumno : alumnos) { + thisSimular.simularAlumno(alumno, tarea, asignatura); + System.out.println("---------------alumno simulado nro: " + ++cont + "----------------------"); + + } + + // crearArchivo(datos); + } + + @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) + public void simularAlumno(Alumno alumno, Tarea tarea, Asignatura asignatura){ + + System.out.println("tarea: " + tarea.getIdTarea() + "alumno: " + alumno.getIdAlumno()); Integer idSesion = crearSesion(alumno.getIdAlumno(), tarea.getIdTarea()); - System.out.println("##########sesion creada ######"); + //System.out.println("##########sesion creada ######"); String siguienteEjercicio = ws.getSiguienteEjercicio(tarea.getIdTarea(), alumno.getIdAlumno(), 0, "respuesta"); Boolean parada = false; @@ -150,14 +171,18 @@ public class SimulacionBean { fila.clear(); } - System.out.println("alumno creado " + alumno.getNombre()); - - ws.terminarTarea(idSesion); - } + + ArrayList <Object> fila = admin.registrarEjercicio(asignatura, alumno.getIdAlumno(), ejercicio, respuestaCorrecta); + //datos.add(fila); + crearArchivo(fila); + } + + //System.out.println("alumno creado " + alumno.getNombre()); + + ws.terminarTarea(idSesion); + - // crearArchivo(datos); } - private void crearArchivo(ArrayList<Object> fila) { File archivo = new File("prueba_tarea.csv"); |