diff options
author | cecigg <caggsld@gmail.com> | 2014-09-21 18:28:28 (GMT) |
---|---|---|
committer | cecigg <caggsld@gmail.com> | 2014-09-21 18:28:28 (GMT) |
commit | 1dab372ff4dfb761e232edff3ef186fb1ff72e1d (patch) | |
tree | 7bca5ffeef719873575a1c0643baf8a6d3e0dec7 | |
parent | 0ca55c3c8222809b853f2b6c43a6a5c14b3fa7ae (diff) |
Se agrego la clase simulacion
-rw-r--r-- | EjercitarServer/ejbModule/beans/AdministracionBean.java | 10 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/EjercitarWSBean.java | 1 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/beans/Simulacion.java | 66 | ||||
-rw-r--r-- | EjercitarServer/ejbModule/util/ReadWriteExcel.java | 124 | ||||
-rw-r--r-- | EjercitarServer/lib/poi-3.10.1/poi-3.10.1-20140818.jar | bin | 0 -> 1949542 bytes | |||
-rw-r--r-- | EjercitarServer/lib/poi-3.10.1/poi-examples-3.10.1-20140818.jar | bin | 0 -> 312775 bytes | |||
-rw-r--r-- | EjercitarServer/lib/poi-3.10.1/poi-excelant-3.10.1-20140818.jar | bin | 0 -> 30534 bytes | |||
-rw-r--r-- | EjercitarServer/lib/poi-3.10.1/poi-ooxml-3.10.1-20140818.jar | bin | 0 -> 1035419 bytes | |||
-rw-r--r-- | EjercitarServer/lib/poi-3.10.1/poi-ooxml-schemas-3.10.1-20140818.jar | bin | 0 -> 4946391 bytes | |||
-rw-r--r-- | EjercitarServer/lib/poi-3.10.1/poi-scratchpad-3.10.1-20140818.jar | bin | 0 -> 1239802 bytes |
10 files changed, 201 insertions, 0 deletions
diff --git a/EjercitarServer/ejbModule/beans/AdministracionBean.java b/EjercitarServer/ejbModule/beans/AdministracionBean.java index 2884a25..6aea6d4 100644 --- a/EjercitarServer/ejbModule/beans/AdministracionBean.java +++ b/EjercitarServer/ejbModule/beans/AdministracionBean.java @@ -274,6 +274,16 @@ public class AdministracionBean implements AdministracionBeanRemote{ //em.merge(tarea); } + public void agregarAlumno(Alumno alumno){ + + em.persist(alumno); + } + + public Integer obtenerIdAlumno(){ + + return em.createQuery("select nextval('alumno_id_alumno_seq')").getFirstResult(); + + } public void calcularProbabilidades(int idAsignatura) { // Calculo de las probabilidades condicionales de las relaciones de agregacion diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java index 3ac4b14..cbd1c9d 100644 --- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java +++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java @@ -456,5 +456,6 @@ public class EjercitarWSBean implements EjercitarWSRemote { }
+
}
diff --git a/EjercitarServer/ejbModule/beans/Simulacion.java b/EjercitarServer/ejbModule/beans/Simulacion.java new file mode 100644 index 0000000..a82eaa0 --- /dev/null +++ b/EjercitarServer/ejbModule/beans/Simulacion.java @@ -0,0 +1,66 @@ +package beans; + +import javax.ejb.EJB; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + +import model.Alumno; +import model.Asignatura; +import model.Curso; + +public class Simulacion { + + + @EJB + AdministracionBean admin; + + + public Alumno crearAlumno(Curso curso, String tipo){ + + + Alumno alumno = new Alumno(); + + Integer idAlumno = admin.obtenerIdAlumno(); + alumno.setNombre("nom_" + idAlumno); + alumno.setApellido("ape_" + idAlumno); + alumno.setSerial(123456); + alumno.setCurso(curso); + alumno.setTipoAlumno(tipo); + + admin.agregarAlumno(alumno); + + return alumno; + + } + + public void generacionAlumno(Asignatura asignatura){ + + Curso curso = asignatura.getCurso(); + int cantidadAlumnos = 30; + String tipo; + for (int i = 0; i < cantidadAlumnos; i++) { + + if(i <= 10){ + tipo = TipoAlumno.NIVEL_CONOCIMIENTO_BAJO; + }else if(i >10 && i <=15){ + tipo = TipoAlumno.NIVEL_CONOCIMIENTO_MEDIO; + }else{ + tipo = TipoAlumno.NIVEL_CONOCIMIENTO_ALTO; + } + crearAlumno(curso, tipo); + + } + + admin.crearRedAlumnos(asignatura.getIdAsignatura()); + + } + + public static class TipoAlumno { + public static final String NIVEL_CONOCIMIENTO_BAJO = "OO"; + public static final String NIVEL_CONOCIMIENTO_MEDIO = "0.5"; + public static final String NIVEL_CONOCIMIENTO_ALTO = "1"; + + } + + +} diff --git a/EjercitarServer/ejbModule/util/ReadWriteExcel.java b/EjercitarServer/ejbModule/util/ReadWriteExcel.java new file mode 100644 index 0000000..248a0bb --- /dev/null +++ b/EjercitarServer/ejbModule/util/ReadWriteExcel.java @@ -0,0 +1,124 @@ +package util; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +/** + * + * @author Cristhian Britez - cristhian.britez@konecta.com.py + * + */ +public class ReadWriteExcel { + /** + * Metodo que carga un {@code Map} de {@code Object[]} que seran exportados + * + * @param lista + * lista de {@code Object[]} contieniendo los datos + * @param titulo + * titulo de los datos de la planilla + * @return + * @throws Exception + * Propaga una {@code Exception} en caso la lista sea + * {@code null} + */ + public Map<Integer, Object[]> cargarLista(ArrayList<Object[]> lista, + String titulo) throws Exception { + + if (lista.size() > 0) { + Map<Integer, Object[]> datos = new HashMap<Integer, Object[]>(); + int i = 0; + + if (titulo != null) { + datos.put(i, new Object[] { titulo }); + i++; + for (i = 1; i < lista.size() + 1; i++) { + datos.put(i, lista.get(i - 1)); + } + + } else { + for (i = 0; i < lista.size(); i++) { + datos.put(i, lista.get(i)); + } + } + + return datos; + } else { + throw new Exception("No hay datos para exportar"); + } + } + + /** + * Metodo que exporta los datos contenidos del {@code Map} a un archivo + * .xlsx + * + * @param datos + * {@code Map} de datos que seran exportados + * @param archivoExportado + * ruta y nombre del archivo a exportar + * @return retorna la ruta del archivo exportado + * + * @throws Exception + * Propaga un {@code Exception} si no puede escribir en el + * archivo especificado Propaga un {@code Exception} si por + * algun otro motivo no se pudo completar la exportacion de + * datos + */ + public String exportarExcel(Map<Integer, Object[]> datos, + String archivoExportado) throws Exception { + XSSFWorkbook libro = new XSSFWorkbook(); + XSSFSheet hoja = libro.createSheet("Exportados"); + + Set<Integer> keySet = datos.keySet(); + int filaNumero = 0; + + for (Integer key : keySet) { + XSSFRow fila = hoja.createRow(filaNumero++); + Object[] arrayObjecto = datos.get(key); + + int celdaNumero = 0; + for (Object objeto : arrayObjecto) { + XSSFCell celda = fila.createCell(celdaNumero++); + if (objeto instanceof Date) + celda.setCellValue((Date) objeto); + else if (objeto instanceof Boolean) + celda.setCellValue((Boolean) objeto); + else if (objeto instanceof String) + celda.setCellValue((String) objeto); + else if (objeto instanceof Double) + celda.setCellValue((Double) objeto); + else if (objeto instanceof Integer) + celda.setCellValue((Integer) objeto); + else if (objeto == null) + celda.setCellValue((String) ""); + else + throw new Exception("No se pudo agregar el valor <" + + objeto + "> al archivo"); + } + } + try { + File archivo = new File(archivoExportado); + FileOutputStream salida = new FileOutputStream(archivo); + libro.write(salida); + + return archivo.getAbsolutePath(); + + } catch (FileNotFoundException fnfex) { + throw new Exception( + "No se pudo escribir en el archivo especificado - Verifique que el archivo no esté en uso"); + } catch (IOException ioex) { + throw new Exception("No se pudo exportar en el archivo"); + } + } +}
\ No newline at end of file diff --git a/EjercitarServer/lib/poi-3.10.1/poi-3.10.1-20140818.jar b/EjercitarServer/lib/poi-3.10.1/poi-3.10.1-20140818.jar Binary files differnew file mode 100644 index 0000000..dd1ab4a --- /dev/null +++ b/EjercitarServer/lib/poi-3.10.1/poi-3.10.1-20140818.jar diff --git a/EjercitarServer/lib/poi-3.10.1/poi-examples-3.10.1-20140818.jar b/EjercitarServer/lib/poi-3.10.1/poi-examples-3.10.1-20140818.jar Binary files differnew file mode 100644 index 0000000..4985833 --- /dev/null +++ b/EjercitarServer/lib/poi-3.10.1/poi-examples-3.10.1-20140818.jar diff --git a/EjercitarServer/lib/poi-3.10.1/poi-excelant-3.10.1-20140818.jar b/EjercitarServer/lib/poi-3.10.1/poi-excelant-3.10.1-20140818.jar Binary files differnew file mode 100644 index 0000000..666ede0 --- /dev/null +++ b/EjercitarServer/lib/poi-3.10.1/poi-excelant-3.10.1-20140818.jar diff --git a/EjercitarServer/lib/poi-3.10.1/poi-ooxml-3.10.1-20140818.jar b/EjercitarServer/lib/poi-3.10.1/poi-ooxml-3.10.1-20140818.jar Binary files differnew file mode 100644 index 0000000..fab0eea --- /dev/null +++ b/EjercitarServer/lib/poi-3.10.1/poi-ooxml-3.10.1-20140818.jar diff --git a/EjercitarServer/lib/poi-3.10.1/poi-ooxml-schemas-3.10.1-20140818.jar b/EjercitarServer/lib/poi-3.10.1/poi-ooxml-schemas-3.10.1-20140818.jar Binary files differnew file mode 100644 index 0000000..f8602b5 --- /dev/null +++ b/EjercitarServer/lib/poi-3.10.1/poi-ooxml-schemas-3.10.1-20140818.jar diff --git a/EjercitarServer/lib/poi-3.10.1/poi-scratchpad-3.10.1-20140818.jar b/EjercitarServer/lib/poi-3.10.1/poi-scratchpad-3.10.1-20140818.jar Binary files differnew file mode 100644 index 0000000..61ec79f --- /dev/null +++ b/EjercitarServer/lib/poi-3.10.1/poi-scratchpad-3.10.1-20140818.jar |