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-19 13:40:26 (GMT)
committer sreyes <sreyes@dataworks.com.py>2014-10-19 13:40:26 (GMT)
commit4508276aef471d2555fadb729d098ab195d5c7d0 (patch)
tree9b215ea4567add00ecab6c40f4dc306cd81ad734
parentb8b28b4ed6e853a997a63539925acf95518a465e (diff)
parent5bea5a93c0ff7045a7f96877a7b37e6fe3ba2d87 (diff)
Merge remote-tracking branch 'remotes/origin/Cecilia' into samurey
Conflicts: EjercitarServer/ejbModule/beans/SimulacionBean.java
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java21
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java16
-rw-r--r--EjercitarServer/ejbModule/beans/SimulacionBean.java47
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");