From 780f29930482bb2f645c23f91a21eb908ee6788a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isidoro=20Nevares=20Mart=C3=ADn?= Date: Thu, 30 Oct 2025 14:25:42 +0100 Subject: [PATCH] Cambios para gestionar los filtros --- .classpath | 3 +- informacion-IES.json | 196 ++++++++++++++++++ .../palomafp/aadd/inm/GestorInstitutoXML.java | 17 +- target/classes/.gitignore | 2 + target/classes/META-INF/MANIFEST.MF | 2 +- .../aadd_act1_12/aadd_act1_12/pom.properties | 4 +- 6 files changed, 216 insertions(+), 8 deletions(-) create mode 100644 informacion-IES.json create mode 100644 target/classes/.gitignore diff --git a/.classpath b/.classpath index 7d2db28..542b101 100644 --- a/.classpath +++ b/.classpath @@ -1,7 +1,8 @@ - + + diff --git a/informacion-IES.json b/informacion-IES.json new file mode 100644 index 0000000..cd226af --- /dev/null +++ b/informacion-IES.json @@ -0,0 +1,196 @@ +{ + "nombre": "IES Virgen de la Paloma", + "tipo": "FP", + "ciclo": [ + { + "codigo": "IFC05", + "nivel": "CFGS", + "familia": "IFC", + "numero_horas": "2000", + "nombre_corto": "DAM", + "nombre_largo": "Técnico Superior en Desarrollo de Aplicaciones Multiplataforma", + "curso": [ + { + "numero": "1", + "modulo": [ + { + "id": "11", + "ref": "0186", + "titulo": "Bases de datos", + "numerohoras": "205" + }, + { + "id": "12", + "ref": "0188", + "numerohoras": "90", + "titulo": "Entornos de desarrollo" + }, + { + "id": "13", + "ref": "0194", + "numerohoras": "90", + "titulo": "Formación y orientación laboral" + }, + { + "id": "14", + "ref": "0190", + "numerohoras": "140", + "titulo": "Lenguaje de marcas y sistemas de gestión de información" + }, + { + "id": "14", + "ref": "0189", + "numerohoras": "270", + "titulo": "Programación" + }, + { + "id": "15", + "ref": "0191", + "numerohoras": "205", + "titulo": "Sistemas informáticos" + } + ] + }, + { + "numero": "2", + "modulo": [ + { + "id": "21", + "ref": "0286", + "titulo": "Acceso a Datos", + "numerohoras": "120" + }, + { + "id": "22", + "ref": "0288", + "numerohoras": "120", + "titulo": "Diseño de interfaces" + }, + { + "id": "23", + "ref": "0294", + "numerohoras": "65", + "titulo": "Empresa e iniciativa emprendedora" + }, + { + "id": "24", + "ref": "0290", + "numerohoras": "80", + "titulo": "Programación de servicios y procesos" + }, + { + "id": "25", + "ref": "0289", + "numerohoras": "80", + "titulo": "Programación multimedia y dispositivos móviles" + }, + { + "id": "26", + "ref": "0291", + "numerohoras": "40", + "titulo": "Inglés técnico para grado superior" + } + ] + } + ] + }, + { + "codigo": "IFC06", + "nivel": "CFGS", + "familia": "IFC", + "numero_horas": "2000", + "nombre_corto": "DAW", + "nombre_largo": "Técnico Superior en Desarrollo de Aplicaciones Web", + "curso": [ + { + "numero": "1", + "modulo": [ + { + "id": "31", + "ref": "0186", + "titulo": "Bases de datos", + "numerohoras": "205" + }, + { + "id": "32", + "ref": "0188", + "numerohoras": "90", + "titulo": "Entornos de desarrollo" + }, + { + "id": "33", + "ref": "0194", + "numerohoras": "90", + "titulo": "Formación y orientación laboral" + }, + { + "id": "34", + "ref": "0190", + "numerohoras": "140", + "titulo": "Lenguaje de marcas y sistemas de gestión de información" + }, + { + "id": "34", + "ref": "0189", + "numerohoras": "270", + "titulo": "Programación" + }, + { + "id": "35", + "ref": "0191", + "numerohoras": "205", + "titulo": "Sistemas informáticos" + } + ] + }, + { + "numero": "2", + "modulo": [ + { + "id": "41", + "ref": "0286", + "titulo": "Desarrollo web en entorno cliente", + "numerohoras": "115" + }, + { + "id": "42", + "ref": "0288", + "numerohoras": "180", + "titulo": "Desarrollo web en entorno servidor" + }, + { + "id": "43", + "ref": "0294", + "numerohoras": "85", + "titulo": "Despliegue de aplicaciones web" + }, + { + "id": "44", + "ref": "0290", + "numerohoras": "115", + "titulo": "Diseño de interfaces web" + }, + { + "id": "45", + "ref": "0289", + "numerohoras": "30", + "titulo": "Proyecto de desarrollo de aplicaciones web" + }, + { + "id": "46", + "ref": "0291", + "numerohoras": "40", + "titulo": "Inglés técnico para grado superior" + }, + { + "id": "23", + "ref": "0294", + "numerohoras": "65", + "titulo": "Empresa e iniciativa emprendedora" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/es/palomafp/aadd/inm/GestorInstitutoXML.java b/src/es/palomafp/aadd/inm/GestorInstitutoXML.java index b5c6f90..3f5e56a 100644 --- a/src/es/palomafp/aadd/inm/GestorInstitutoXML.java +++ b/src/es/palomafp/aadd/inm/GestorInstitutoXML.java @@ -19,6 +19,7 @@ import tools.jackson.dataformat.xml.XmlMapper; public class GestorInstitutoXML { private static final String RUTA_FICHERO_XML = "informacion-IES.xml"; + private static final String RUTA_FICHERO_JSON = "informacion-IES.json"; public static void main(String[] args) { GestorInstitutoXML gestor = new GestorInstitutoXML(); @@ -47,7 +48,7 @@ public class GestorInstitutoXML { } private void imprimirInstituto() { - JsonNode nodoRaiz = obtenerJsonNodeDeFichero(); // El nodo raíz es el nodo "instituto" (y únicamente hay uno). + JsonNode nodoRaiz = obtenerJsonNodeDeFicheroJSON(); // El nodo raíz es el nodo "instituto" (y únicamente hay uno). // Obtener los atributos del nodo "instituto" String nombreInstituto = nodoRaiz.path("nombre").asString(); String tipoInstituto = nodoRaiz.path("tipo").asString(); @@ -56,7 +57,7 @@ public class GestorInstitutoXML { } private void imprimirCiclos() { - JsonNode nodoRaiz = obtenerJsonNodeDeFichero(); + JsonNode nodoRaiz = obtenerJsonNodeDeFicheroJSON(); // Obtener los nodos "ciclo" ArrayNode ciclos = convertirJsonNodeEnArrayNode(nodoRaiz.path("ciclo")); @@ -70,7 +71,7 @@ public class GestorInstitutoXML { } private void imprimirModulosPrograma() { - JsonNode nodoRaiz = obtenerJsonNodeDeFichero(); + JsonNode nodoRaiz = obtenerJsonNodeDeFicheroJSON(); // Obtener los nodos "ciclo" ArrayNode ciclos = convertirJsonNodeEnArrayNode(nodoRaiz.path("ciclo")); @@ -99,7 +100,7 @@ public class GestorInstitutoXML { } - private JsonNode obtenerJsonNodeDeFichero() { + private JsonNode obtenerJsonNodeDeFicheroXML() { // Cargar el XML XmlMapper xmlMapper = new XmlMapper(); JsonNode root = xmlMapper.readTree(new File(RUTA_FICHERO_XML)); @@ -107,6 +108,14 @@ public class GestorInstitutoXML { return root; } + private JsonNode obtenerJsonNodeDeFicheroJSON() { + // Cargar el XML + ObjectMapper xmlMapper = new ObjectMapper(); + JsonNode root = xmlMapper.readTree(new File(RUTA_FICHERO_JSON)); + + return root; + } + private ArrayNode convertirJsonNodeEnArrayNode(JsonNode node) { ObjectMapper mapper = new ObjectMapper(); if (node.isArray()) { diff --git a/target/classes/.gitignore b/target/classes/.gitignore new file mode 100644 index 0000000..f4a84f8 --- /dev/null +++ b/target/classes/.gitignore @@ -0,0 +1,2 @@ +/META-INF/ +/es/ diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF index 9bdf3b1..a297ac5 100644 --- a/target/classes/META-INF/MANIFEST.MF +++ b/target/classes/META-INF/MANIFEST.MF @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -Build-Jdk-Spec: 21 +Build-Jdk-Spec: 25 Created-By: Maven Integration for Eclipse diff --git a/target/classes/META-INF/maven/aadd_act1_12/aadd_act1_12/pom.properties b/target/classes/META-INF/maven/aadd_act1_12/aadd_act1_12/pom.properties index 2cf605a..22e3c6a 100644 --- a/target/classes/META-INF/maven/aadd_act1_12/aadd_act1_12/pom.properties +++ b/target/classes/META-INF/maven/aadd_act1_12/aadd_act1_12/pom.properties @@ -1,7 +1,7 @@ #Generated by Maven Integration for Eclipse -#Wed Oct 22 18:09:00 CEST 2025 +#Thu Oct 30 12:26:29 CET 2025 artifactId=aadd_act1_12 groupId=aadd_act1_12 -m2e.projectLocation=C\:\\Users\\Isidoro NM\\02-AccesoDatos-2AMT\\workspace\\aadd_act1_12 +m2e.projectLocation=C\:\\Users\\ineva\\INM\\Personal\\Trabajo\\00-Educaci\u00F3n - CM\\10-Curso 2025-2026\\02-Acceso de datos -DAM2\\workspace\\aadd_act1_12 m2e.projectName=aadd_act1_12 version=0.0.1-SNAPSHOT