diff options
author | Samu <samurey@gmail.com> | 2013-06-15 15:40:16 (GMT) |
---|---|---|
committer | Samu <samurey@gmail.com> | 2013-06-15 15:40:16 (GMT) |
commit | 2703c29ca123bedee2899ba3273650b1a1d6183a (patch) | |
tree | 48f38e40b5e67f91ef85a5ea8fbf9d2e34132730 | |
parent | 5592cc2a6b46d3741b8ed1b16e69e18bc4d715e9 (diff) |
iniciar curso
-rw-r--r-- | EjercitarClient/gui/casa.png | bin | 0 -> 19398 bytes | |||
-rw-r--r-- | EjercitarClient/gui/enamorado.png | bin | 0 -> 7836 bytes | |||
-rw-r--r-- | EjercitarClient/gui/familia1.png | bin | 0 -> 23315 bytes | |||
-rw-r--r-- | EjercitarClient/gui/feliz.png | bin | 0 -> 7189 bytes | |||
-rw-r--r-- | EjercitarClient/gui/suenho.png | bin | 0 -> 9092 bytes | |||
-rw-r--r-- | EjercitarClient/gui/triste.png | bin | 0 -> 9769 bytes | |||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBean.java | 57 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java | 4 | ||||
-rw-r--r-- | EjercitarWeb/src/src/IniciarCursoServlet.java | 70 |
9 files changed, 119 insertions, 12 deletions
diff --git a/EjercitarClient/gui/casa.png b/EjercitarClient/gui/casa.png Binary files differnew file mode 100644 index 0000000..8740739 --- /dev/null +++ b/EjercitarClient/gui/casa.png diff --git a/EjercitarClient/gui/enamorado.png b/EjercitarClient/gui/enamorado.png Binary files differnew file mode 100644 index 0000000..ed15ab3 --- /dev/null +++ b/EjercitarClient/gui/enamorado.png diff --git a/EjercitarClient/gui/familia1.png b/EjercitarClient/gui/familia1.png Binary files differnew file mode 100644 index 0000000..ea148d2 --- /dev/null +++ b/EjercitarClient/gui/familia1.png diff --git a/EjercitarClient/gui/feliz.png b/EjercitarClient/gui/feliz.png Binary files differnew file mode 100644 index 0000000..b596e56 --- /dev/null +++ b/EjercitarClient/gui/feliz.png diff --git a/EjercitarClient/gui/suenho.png b/EjercitarClient/gui/suenho.png Binary files differnew file mode 100644 index 0000000..0e38a7d --- /dev/null +++ b/EjercitarClient/gui/suenho.png diff --git a/EjercitarClient/gui/triste.png b/EjercitarClient/gui/triste.png Binary files differnew file mode 100644 index 0000000..31db931 --- /dev/null +++ b/EjercitarClient/gui/triste.png diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java index 629ce9a..b63fa60 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBean.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java @@ -10,8 +10,10 @@ import javax.persistence.PersistenceContext; import smile.Network; +import model.Alumno; import model.Asignatura; import model.Concepto; +import model.Curso; import model.Ejercicio; import model.Profesor; import model.Tarea; @@ -126,27 +128,27 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac em.merge(tarea); } - public void calcularProbabilidades(Profesor profesor) { + public void calcularProbabilidades(int idAsignatura) { // Calculo de las probabilidades condicionales de las relaciones de agregacion - String nombreRed = "red_base_curso_1.xdsl"; + String nombreRed = "red_asignatura_" + idAsignatura + ".xdsl"; System.out.println("redes/" + nombreRed); Network net = new Network(); net.readFile("redes/" + nombreRed); - //agregar where - List<Tema> temaList = (List<Tema>) em.createQuery("Select e from Tema e").getResultList(); + Asignatura asignatura = em.find(Asignatura.class, idAsignatura); + + List<Tema> temaList = (List<Tema>) em.createQuery("Select e from Tema e where e.profesor = :profesor") + .setParameter("profesor", asignatura.getProfesor()).getResultList(); for(Tema tema : temaList) { double[] temaDef = calcularProbabilidadesTema(tema); net.setNodeDefinition(tema.getNombre(), temaDef); } - //agregar where - List<Asignatura> asignaturaList = (List<Asignatura>) em.createQuery("Select e from Asignatura e").getResultList(); - for(Asignatura asignatura : asignaturaList) { - double[] asignaturaDef = calcularProbabilidadesAsignatura(asignatura); - net.setNodeDefinition(asignatura.getNombre(), asignaturaDef); - } + + double[] asignaturaDef = calcularProbabilidadesAsignatura(asignatura); + net.setNodeDefinition(asignatura.getNombre(), asignaturaDef); + net.writeFile("redes/" + nombreRed); } @@ -168,6 +170,9 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac } private double cpAsignatura(Asignatura asignatura, int i) { + + + ////HAY QUE REVISAR ESTA FUNCION String comb = Integer.toBinaryString(i); int dimension = asignatura.getTemaList().size(); while(comb.length() != dimension){ @@ -175,9 +180,12 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac } int k = dimension - 1; double valTemp = 0; - for (int j = 0; j < dimension; j++) { + List<Tema> temaList = em.createQuery("Select e from Tema e where e.asignatura = :asignatura") + .setParameter("asignatura", asignatura).getResultList(); + System.out.println(temaList); + for (int j = 0; j < temaList.size(); j++) { if(comb.charAt(k) == '1') { - valTemp = valTemp + asignatura.getTemaList().get(j).getPeso(); + valTemp = valTemp + temaList.get(j).getPeso(); } k--; } @@ -370,4 +378,29 @@ public class AdministracionBean implements AdministracionBeanRemote, Administrac return Double.toString(conoce); } + + + + @Override + public void crearRedAlumnos(int idAsignatura) { + // TODO Auto-generated method stub + + Asignatura asignatura = em.find(Asignatura.class, idAsignatura); + Curso curso = asignatura.getCurso(); + List<Alumno> alumnoList = em.createQuery("Select e from Alumno e where e.curso = :curso") + .setParameter("curso", curso).getResultList(); + + String nombreRed = "red_asignatura_" + idAsignatura + ".xdsl"; + Network net = new Network(); + net.readFile("redes/" + nombreRed); + + + for (Alumno alumno : alumnoList) { + + String nombreRedAlumno = "red_alumno_" + alumno.getIdAlumno() + ".xdsl"; + net.writeFile("redes/" + nombreRedAlumno); + + } + + } } diff --git a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java index 23c553c..4f49de6 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java @@ -33,5 +33,9 @@ public interface AdministracionBeanRemote { public void agregarTarea(Tarea tarea, ArrayList<Concepto> conceptoList); public String getValorNodoRed(String nombre); + + public void calcularProbabilidades(int idAsignatura); + + public void crearRedAlumnos(int idAsignatura); } diff --git a/EjercitarWeb/src/src/IniciarCursoServlet.java b/EjercitarWeb/src/src/IniciarCursoServlet.java new file mode 100644 index 0000000..0f6644b --- /dev/null +++ b/EjercitarWeb/src/src/IniciarCursoServlet.java @@ -0,0 +1,70 @@ +package src;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.ejb.EJB;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import model.Alumno;
+import model.Asignatura;
+import model.Concepto;
+import model.Curso;
+
+import beans.AdministracionBeanRemote;
+
+/**
+ * Servlet implementation class IniciarCursoServlet
+ */
+@WebServlet("/IniciarCursoServlet")
+public class IniciarCursoServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ @PersistenceContext
+ EntityManager em;
+
+ @EJB
+ AdministracionBeanRemote abr;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public IniciarCursoServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+
+ response.setContentType("text/html;charset=UTF-8");
+
+
+ int idAsignatura= Integer.valueOf(request.getParameter("asignatura"));
+ Asignatura asignatura = em.find(Asignatura.class, idAsignatura);
+
+ abr.calcularProbabilidades(idAsignatura);
+
+ abr.crearRedAlumnos(idAsignatura);
+
+
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+}
|