Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamu <samurey@gmail.com>2013-06-15 15:40:16 (GMT)
committer Samu <samurey@gmail.com>2013-06-15 15:40:16 (GMT)
commit2703c29ca123bedee2899ba3273650b1a1d6183a (patch)
tree48f38e40b5e67f91ef85a5ea8fbf9d2e34132730
parent5592cc2a6b46d3741b8ed1b16e69e18bc4d715e9 (diff)
iniciar curso
-rw-r--r--EjercitarClient/gui/casa.pngbin0 -> 19398 bytes
-rw-r--r--EjercitarClient/gui/enamorado.pngbin0 -> 7836 bytes
-rw-r--r--EjercitarClient/gui/familia1.pngbin0 -> 23315 bytes
-rw-r--r--EjercitarClient/gui/feliz.pngbin0 -> 7189 bytes
-rw-r--r--EjercitarClient/gui/suenho.pngbin0 -> 9092 bytes
-rw-r--r--EjercitarClient/gui/triste.pngbin0 -> 9769 bytes
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBean.java57
-rw-r--r--EjercitarServer/ejbModule/beans/AdministracionBeanRemote.java4
-rw-r--r--EjercitarWeb/src/src/IniciarCursoServlet.java70
9 files changed, 119 insertions, 12 deletions
diff --git a/EjercitarClient/gui/casa.png b/EjercitarClient/gui/casa.png
new file mode 100644
index 0000000..8740739
--- /dev/null
+++ b/EjercitarClient/gui/casa.png
Binary files differ
diff --git a/EjercitarClient/gui/enamorado.png b/EjercitarClient/gui/enamorado.png
new file mode 100644
index 0000000..ed15ab3
--- /dev/null
+++ b/EjercitarClient/gui/enamorado.png
Binary files differ
diff --git a/EjercitarClient/gui/familia1.png b/EjercitarClient/gui/familia1.png
new file mode 100644
index 0000000..ea148d2
--- /dev/null
+++ b/EjercitarClient/gui/familia1.png
Binary files differ
diff --git a/EjercitarClient/gui/feliz.png b/EjercitarClient/gui/feliz.png
new file mode 100644
index 0000000..b596e56
--- /dev/null
+++ b/EjercitarClient/gui/feliz.png
Binary files differ
diff --git a/EjercitarClient/gui/suenho.png b/EjercitarClient/gui/suenho.png
new file mode 100644
index 0000000..0e38a7d
--- /dev/null
+++ b/EjercitarClient/gui/suenho.png
Binary files differ
diff --git a/EjercitarClient/gui/triste.png b/EjercitarClient/gui/triste.png
new file mode 100644
index 0000000..31db931
--- /dev/null
+++ b/EjercitarClient/gui/triste.png
Binary files differ
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
+ }
+
+}