Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcecigg <caggsld@gmail.com>2013-11-24 18:24:28 (GMT)
committer cecigg <caggsld@gmail.com>2013-11-24 18:24:28 (GMT)
commita7ca5050ebce79150f9347e394863d6c02bde4ad (patch)
treef38db9358a82f773b901ec113ef90cf1fc804d74
parent36149f530a7f467881daf0e4d784ca555ac78199 (diff)
parent06f3b39d7d57400bdcfbd6397edbaf36b5d855c1 (diff)
Merge remote-tracking branch 'remotes/origin/samu' into Cecilia
Conflicts: EjercitarServer/ejbModule/beans/EjercitarWSBean.java EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java92
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSRemote.java7
2 files changed, 63 insertions, 36 deletions
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
index 938a813..d2511b9 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
@@ -24,6 +24,7 @@ import model.Alumno;
import model.Concepto;
import model.Curso;
import model.Ejercicio;
+import model.Respuesta;
import model.Sesion;
import model.Tarea;
import model.Tema;
@@ -37,17 +38,10 @@ import model.Tema;
@Stateless
public class EjercitarWSBean implements EjercitarWSRemote {
- @PersistenceContext
- EntityManager em;
- /**
-<<<<<<< HEAD
- * Default constructor.
- */
- public EjercitarWSBean() {
-
- }
+ /**
+
@WebMethod
public String getDatosAlumno(int idAlumno) {
// TODO Auto-generated method stub
@@ -58,6 +52,15 @@ public class EjercitarWSBean implements EjercitarWSRemote {
}
+ @WebMethod
+ public String getDatosAlumno(int idAlumno) {
+ // TODO Auto-generated method stub
+ System.out.println("getdatosalumno");
+ Alumno alumno = em.find(Alumno.class, idAlumno);
+ String nombreApellido = alumno.getNombre() + "#" + alumno.getApellido();
+ return nombreApellido;
+ }
+
@WebMethod
public String [] getTareas(int idAlumno) {
@@ -97,37 +100,38 @@ public class EjercitarWSBean implements EjercitarWSRemote {
return curso;
}
+
+ /*
+
@WebMethod
- public String getSiguienteEjercicio(int idTarea, int idAlumno,
- int idEjercicio, String respuesta) {
+ public String getSiguienteEjercicio(int idTarea, int idAlumno, int idEjercicio, String respuesta) {
// TODO Auto-generated method stub
Tarea tarea = em.find(Tarea.class, idTarea);
Alumno alumno = em.find(Alumno.class, idAlumno);
//
- if (idEjercicio != 0)
- responderEjercicio(idEjercicio, respuesta, alumno);
-
- //
-
- Ejercicio ejercicio = seleccionAleatoria(tarea);
- // seleccionUtilidadMax(tarea, alumno);
- System.out.println(ejercicio.getRespuestaList().toString()); // NO
- System.out.println(ejercicio.getEnunciado()); // BORRAR
+ if(idEjercicio != 0)
+ responderEjercicio(idEjercicio, respuesta, alumno, tarea.getAsignatura().getIdAsignatura());
+ //
- return ejercicio.getIdEjercicio() + "#" + ejercicio.getEnunciado();
+ //Ejercicio ejercicio = seleccionAleatoria(tarea);
+ Ejercicio ejercicio = seleccionUtilidadMax(tarea, alumno);
+ String enunciado = toASCII(ejercicio.getEnunciado());
+ System.out.println(enunciado);
+ String ejercicioElement = ejercicio.getIdEjercicio().toString() + "#" + enunciado;
+ return ejercicioElement;
}
- private void responderEjercicio(int idEjercicio, String respuesta,
- Alumno alumno) {
+ private void responderEjercicio(int idEjercicio, String respuesta, Alumno alumno, int idAsignatura) {
Ejercicio ejercicio = em.find(Ejercicio.class, idEjercicio);
Network net1 = new Network();
- String nombreRed = "red_alumno_" + alumno.getIdAlumno() + ".xdsl";
+
+ String nombreRed = "red_alumno_" + alumno.getIdAlumno() + "_asignatura_" + idAsignatura + ".xdsl";
net1.readFile("redes/" + nombreRed);
net1.updateBeliefs();
String nombreEjercicio = "E" + idEjercicio;
System.out.println("proba d");
- if (respuesta.equals(ejercicio.getRespuesta().getDescripcion())) {
+
net1.setEvidence(nombreEjercicio, "Correcto");
} else {
net1.setEvidence(nombreEjercicio, "Incorrecto");
@@ -135,9 +139,10 @@ public class EjercitarWSBean implements EjercitarWSRemote {
net1.updateBeliefs();
List<Concepto> conceptoList = ejercicio.getConceptoList();
+
for (Concepto concepto : conceptoList) {
String nombreConcepto = concepto.getNombre();
- double[] probCalc = net1.getNodeValue(nombreConcepto);
+
System.out.println("proba " + probCalc.toString());
net1.setNodeDefinition(nombreConcepto, probCalc);
}
@@ -163,15 +168,14 @@ public class EjercitarWSBean implements EjercitarWSRemote {
int siguienteID = rnd.nextInt(ejercicios.size());
System.out.println(siguienteID);
Ejercicio ejercicio = ejercicios.get(siguienteID);
- System.out.println(ejercicio.getEnunciado());
+ System.out.println(ejercicio.getEnunciado().getBytes());
return ejercicio;
}
private Ejercicio seleccionUtilidadMax(Tarea tarea, Alumno alumno) {
// Tema tema = tarea.getTema();
// List<Concepto> conceptoList = new ArrayList();
- List<Concepto> conceptoList = tarea.getConceptoList();
-
+ //List<Concepto> conceptoList = tarea.getConceptoList();
// inicializacion
double utilidadMax = 0;
Ejercicio ejercicio = null;
@@ -180,7 +184,8 @@ public class EjercitarWSBean implements EjercitarWSRemote {
// red
Network net1 = new Network();
- String nombreRed = "red_alumno_" + alumno.getIdAlumno() + ".xdsl";
+
+ String nombreRed = "red_alumno_" + alumno.getIdAlumno() + "_asignatura_" + tarea.getAsignatura().getIdAsignatura() +".xdsl";
System.out.println("redes/" + nombreRed);
net1.readFile("redes/" + nombreRed);
net1.updateBeliefs();
@@ -188,8 +193,8 @@ public class EjercitarWSBean implements EjercitarWSRemote {
// net2.readFile("redes/" + nombreRed);
// red
- String nombreConcepto = "C" + concepto.getIdConcepto();
- // prueba de evidencias 1
+
+ String nombreConcepto = concepto.getNombre();
double[] values = net1.getNodeValue(nombreConcepto);
System.out.println("values");
@@ -198,6 +203,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
double pC0 = values[1]; // P(C=0)
List<Ejercicio> ejercicios = concepto.getEjercicioList();
+
for (Ejercicio ejercicioConcepto : ejercicios) {
String nombreEjercicio = "E"
+ ejercicioConcepto.getIdEjercicio();
@@ -206,8 +212,6 @@ public class EjercitarWSBean implements EjercitarWSRemote {
values = net1.getNodeValue(nombreEjercicio);
double pE1C1 = values[0]; // P(E=1/C=1)
- double utilidadParcial1 = pE1C1 * pC1;
-
net1.clearEvidence(nombreConcepto);
net1.updateBeliefs();
net1.setEvidence(nombreConcepto, "No_conoce");
@@ -266,6 +270,26 @@ public class EjercitarWSBean implements EjercitarWSRemote {
.setParameter("serial", serial).getSingleResult();
return alumno;
}
+
+ /**
+ * Función que elimina acentos y caracteres especiales de
+ * una cadena de texto.
+ * @param input
+ * @return cadena de texto limpia de acentos y caracteres especiales.
+ */
+ public String toASCII(String input) {
+ // Cadena de caracteres original a sustituir.
+ String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";
+ // Cadena de caracteres ASCII que reemplazarán los originales.
+ String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";
+ String output = input;
+ for (int i=0; i<original.length(); i++) {
+ // Reemplazamos los caracteres especiales.
+ output = output.replace(original.charAt(i), ascii.charAt(i));
+ }//for i
+ System.out.println(output);
+ return output;
+ }//remove1
@WebMethod
public Boolean getCriterioParada(Integer idAlumno, Integer idTarea) {
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java b/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
index 8d8f739..48072e3 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSRemote.java
@@ -13,15 +13,18 @@ import model.Tema;
@WebService
public interface EjercitarWSRemote {
-
-
+
public String getDatosAlumno(int idAlumno);
+
public String [] getTareas(int idAlumno);
+
public String getSiguienteEjercicio(int idTarea, int idAlumno, int idEjercicio, String respuesta);
+ public String [] getRespuestas (int idEjercicio);
+
public String getText();
public void registrarSesion(int idAlumno, int idTarea, Boolean ayudaPadres, Boolean desdeHogar, String estadoAnimo) ;