From 65ee21f2a2017dbed50c2e020045dfdd27b2530e Mon Sep 17 00:00:00 2001 From: Patricio Angel Date: Wed, 20 Apr 2022 16:15:13 -0400 Subject: [PATCH 1/5] =?UTF-8?q?feat=20(desafio3):=20Patricio=20Angel=20Ast?= =?UTF-8?q?orga=20Toledo=20pastorgatoledo@gmail.com=20me=20enter=C3=A9=20d?= =?UTF-8?q?el=20desafio=20luego=20de=20hablar=20con=20Maria=20Paz=20Coloma?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 33 + .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 58727 bytes .mvn/wrapper/maven-wrapper.properties | 2 + SOLUCION_README.md | 83 + doc/allclasses-index.html | 102 ++ doc/allpackages-index.html | 71 + doc/cl/zco/desafio3/Configuracion.html | 225 +++ doc/cl/zco/desafio3/Desafio3Application.html | 190 +++ doc/cl/zco/desafio3/Proveedor.html | 198 +++ .../zco/desafio3/class-use/Configuracion.html | 58 + .../class-use/Desafio3Application.html | 58 + doc/cl/zco/desafio3/class-use/Proveedor.html | 58 + doc/cl/zco/desafio3/dto/FormatoJsonDTO.html | 254 +++ doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html | 229 +++ .../dto/class-use/FormatoJsonDTO.html | 113 ++ .../dto/class-use/FormatoUfJsonDTO.html | 115 ++ doc/cl/zco/desafio3/dto/package-summary.html | 104 ++ doc/cl/zco/desafio3/dto/package-tree.html | 73 + doc/cl/zco/desafio3/dto/package-use.html | 116 ++ .../desafio3/negocio/ConsumirJarPrevired.html | 244 +++ .../desafio3/negocio/ManejadorArchivos.html | 223 +++ .../class-use/ConsumirJarPrevired.html | 58 + .../negocio/class-use/ManejadorArchivos.html | 58 + .../zco/desafio3/negocio/package-summary.html | 104 ++ doc/cl/zco/desafio3/negocio/package-tree.html | 73 + doc/cl/zco/desafio3/negocio/package-use.html | 58 + doc/cl/zco/desafio3/package-summary.html | 109 ++ doc/cl/zco/desafio3/package-tree.html | 74 + doc/cl/zco/desafio3/package-use.html | 58 + doc/cl/zco/desafio3/util/Constantes.html | 340 ++++ doc/cl/zco/desafio3/util/Util.html | 306 ++++ .../desafio3/util/class-use/Constantes.html | 58 + doc/cl/zco/desafio3/util/class-use/Util.html | 58 + doc/cl/zco/desafio3/util/package-summary.html | 104 ++ doc/cl/zco/desafio3/util/package-tree.html | 73 + doc/cl/zco/desafio3/util/package-use.html | 58 + doc/constant-values.html | 98 ++ doc/element-list | 4 + doc/help-doc.html | 187 ++ doc/index-files/index-1.html | 66 + doc/index-files/index-10.html | 68 + doc/index-files/index-11.html | 70 + doc/index-files/index-12.html | 94 + doc/index-files/index-13.html | 66 + doc/index-files/index-14.html | 68 + doc/index-files/index-15.html | 70 + doc/index-files/index-2.html | 125 ++ doc/index-files/index-3.html | 68 + doc/index-files/index-4.html | 66 + doc/index-files/index-5.html | 86 + doc/index-files/index-6.html | 102 ++ doc/index-files/index-7.html | 70 + doc/index-files/index-8.html | 74 + doc/index-files/index-9.html | 76 + doc/index.html | 73 + doc/jquery-ui.overrides.css | 34 + doc/legal/ADDITIONAL_LICENSE_INFO | 1 + doc/legal/ASSEMBLY_EXCEPTION | 1 + doc/legal/LICENSE | 1 + doc/legal/jquery.md | 72 + doc/legal/jqueryUI.md | 49 + doc/member-search-index.js | 1 + doc/module-search-index.js | 1 + doc/overview-summary.html | 26 + doc/overview-tree.html | 83 + doc/package-search-index.js | 1 + doc/resources/glass.png | Bin 0 -> 499 bytes doc/resources/x.png | Bin 0 -> 394 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes doc/script-dir/jquery-3.5.1.min.js | 2 + doc/script-dir/jquery-ui.min.css | 7 + doc/script-dir/jquery-ui.min.js | 6 + doc/script-dir/jquery-ui.structure.min.css | 5 + doc/script.js | 132 ++ doc/search.js | 354 ++++ doc/stylesheet.css | 865 ++++++++++ doc/tag-search-index.js | 1 + doc/type-search-index.js | 1 + evidencia/imagen1.png | Bin 0 -> 163611 bytes evidencia/imagen2.png | Bin 0 -> 257042 bytes evidencia/imagen3.png | Bin 0 -> 252726 bytes evidencia/imagen4.png | Bin 0 -> 220604 bytes evidencia/imagen5.png | Bin 0 -> 260404 bytes evidencia/imagen6.png | Bin 0 -> 262591 bytes evidencia/imagen7.png | Bin 0 -> 242453 bytes evidencia/mvn_install.log | 114 ++ evidencia/valores.json | 406 +++++ files/valores.json | 406 +++++ jar/desafio3-0.0.1-SNAPSHOT.jar | Bin 0 -> 13458448 bytes jar/desafio3-0.0.1-SNAPSHOT.jar.original | Bin 0 -> 14700 bytes mvnw | 316 ++++ mvnw.cmd | 188 ++ pom.xml | 104 ++ resumen/cobertura/desafio3/index.html | 1 + .../cl.zco.desafio3.dto/FormatoJsonDTO.html | 1 + .../FormatoJsonDTO.java.html | 82 + .../cl.zco.desafio3.dto/FormatoUfJsonDTO.html | 1 + .../FormatoUfJsonDTO.java.html | 63 + .../cl.zco.desafio3.dto/index.html | 1 + .../cl.zco.desafio3.dto/index.source.html | 1 + .../ConsumirJarPrevired.html | 1 + .../ConsumirJarPrevired.java.html | 122 ++ .../ManejadorArchivos.html | 1 + .../ManejadorArchivos.java.html | 79 + .../cl.zco.desafio3.negocio/index.html | 1 + .../cl.zco.desafio3.negocio/index.source.html | 1 + .../cl.zco.desafio3.util/Constantes.html | 1 + .../cl.zco.desafio3.util/Constantes.java.html | 65 + .../cl.zco.desafio3.util/Util.html | 1 + .../cl.zco.desafio3.util/Util.java.html | 143 ++ .../cl.zco.desafio3.util/index.html | 1 + .../cl.zco.desafio3.util/index.source.html | 1 + .../cl.zco.desafio3/Configuracion.html | 1 + .../cl.zco.desafio3/Configuracion.java.html | 64 + .../cl.zco.desafio3/Desafio3Application.html | 1 + .../Desafio3Application.java.html | 61 + .../cl.zco.desafio3/Proveedor.html | 1 + .../cl.zco.desafio3/Proveedor.java.html | 40 + .../src_main_java/cl.zco.desafio3/index.html | 1 + .../cl.zco.desafio3/index.source.html | 1 + .../desafio3/src_main_java/index.html | 1 + .../desafio3/src_main_resources/index.html | 1 + .../ConsumirJarPreviredTest.html | 1 + .../ConsumirJarPreviredTest.java.html | 38 + .../ManejadorArchivosTest.html | 1 + .../ManejadorArchivosTest.java.html | 81 + .../cl.zco.desafio3.negocio/index.html | 1 + .../cl.zco.desafio3.negocio/index.source.html | 1 + .../cl.zco.desafio3.util/DtoTest.html | 1 + .../cl.zco.desafio3.util/DtoTest.java.html | 71 + .../cl.zco.desafio3.util/UtilTest.html | 1 + .../cl.zco.desafio3.util/UtilTest.java.html | 141 ++ .../cl.zco.desafio3.util/index.html | 1 + .../cl.zco.desafio3.util/index.source.html | 1 + .../Desafio3ApplicationTests.html | 1 + .../Desafio3ApplicationTests.java.html | 25 + .../src_test_java/cl.zco.desafio3/index.html | 1 + .../cl.zco.desafio3/index.source.html | 1 + .../desafio3/src_test_java/index.html | 1 + .../index.html | 1 + .../index.html | 1 + resumen/cobertura/index.html | 1 + .../cobertura/jacoco-resources/branchfc.gif | Bin 0 -> 91 bytes .../cobertura/jacoco-resources/branchnc.gif | Bin 0 -> 91 bytes .../cobertura/jacoco-resources/branchpc.gif | Bin 0 -> 91 bytes resumen/cobertura/jacoco-resources/bundle.gif | Bin 0 -> 709 bytes resumen/cobertura/jacoco-resources/class.gif | Bin 0 -> 586 bytes resumen/cobertura/jacoco-resources/down.gif | Bin 0 -> 67 bytes .../cobertura/jacoco-resources/greenbar.gif | Bin 0 -> 91 bytes resumen/cobertura/jacoco-resources/group.gif | Bin 0 -> 351 bytes resumen/cobertura/jacoco-resources/method.gif | Bin 0 -> 193 bytes .../cobertura/jacoco-resources/package.gif | Bin 0 -> 227 bytes .../cobertura/jacoco-resources/prettify.css | 13 + .../cobertura/jacoco-resources/prettify.js | 1510 +++++++++++++++++ resumen/cobertura/jacoco-resources/redbar.gif | Bin 0 -> 91 bytes resumen/cobertura/jacoco-resources/report.css | 243 +++ resumen/cobertura/jacoco-resources/report.gif | Bin 0 -> 363 bytes .../cobertura/jacoco-resources/session.gif | Bin 0 -> 213 bytes resumen/cobertura/jacoco-resources/sort.gif | Bin 0 -> 58 bytes resumen/cobertura/jacoco-resources/sort.js | 148 ++ resumen/cobertura/jacoco-resources/source.gif | Bin 0 -> 354 bytes resumen/cobertura/jacoco-resources/up.gif | Bin 0 -> 67 bytes resumen/cobertura/jacoco-sessions.html | 1 + .../java/cl/zco/desafio3/Configuracion.java | 63 + .../cl/zco/desafio3/Desafio3Application.java | 60 + src/main/java/cl/zco/desafio3/Proveedor.java | 39 + .../cl/zco/desafio3/dto/FormatoJsonDTO.java | 81 + .../cl/zco/desafio3/dto/FormatoUfJsonDTO.java | 62 + .../desafio3/negocio/ConsumirJarPrevired.java | 121 ++ .../desafio3/negocio/ManejadorArchivos.java | 78 + .../java/cl/zco/desafio3/util/Constantes.java | 64 + src/main/java/cl/zco/desafio3/util/Util.java | 142 ++ src/main/resources/application.properties | 0 src/main/resources/desafio3.properties | 2 + .../desafio3/Desafio3ApplicationTests.java | 24 + .../negocio/ConsumirJarPreviredTest.java | 37 + .../negocio/ManejadorArchivosTest.java | 80 + .../java/cl/zco/desafio3/util/DtoTest.java | 70 + .../java/cl/zco/desafio3/util/UtilTest.java | 140 ++ 189 files changed, 12934 insertions(+) create mode 100644 .gitignore create mode 100644 .mvn/wrapper/maven-wrapper.jar create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 SOLUCION_README.md create mode 100644 doc/allclasses-index.html create mode 100644 doc/allpackages-index.html create mode 100644 doc/cl/zco/desafio3/Configuracion.html create mode 100644 doc/cl/zco/desafio3/Desafio3Application.html create mode 100644 doc/cl/zco/desafio3/Proveedor.html create mode 100644 doc/cl/zco/desafio3/class-use/Configuracion.html create mode 100644 doc/cl/zco/desafio3/class-use/Desafio3Application.html create mode 100644 doc/cl/zco/desafio3/class-use/Proveedor.html create mode 100644 doc/cl/zco/desafio3/dto/FormatoJsonDTO.html create mode 100644 doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html create mode 100644 doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html create mode 100644 doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html create mode 100644 doc/cl/zco/desafio3/dto/package-summary.html create mode 100644 doc/cl/zco/desafio3/dto/package-tree.html create mode 100644 doc/cl/zco/desafio3/dto/package-use.html create mode 100644 doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html create mode 100644 doc/cl/zco/desafio3/negocio/ManejadorArchivos.html create mode 100644 doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html create mode 100644 doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html create mode 100644 doc/cl/zco/desafio3/negocio/package-summary.html create mode 100644 doc/cl/zco/desafio3/negocio/package-tree.html create mode 100644 doc/cl/zco/desafio3/negocio/package-use.html create mode 100644 doc/cl/zco/desafio3/package-summary.html create mode 100644 doc/cl/zco/desafio3/package-tree.html create mode 100644 doc/cl/zco/desafio3/package-use.html create mode 100644 doc/cl/zco/desafio3/util/Constantes.html create mode 100644 doc/cl/zco/desafio3/util/Util.html create mode 100644 doc/cl/zco/desafio3/util/class-use/Constantes.html create mode 100644 doc/cl/zco/desafio3/util/class-use/Util.html create mode 100644 doc/cl/zco/desafio3/util/package-summary.html create mode 100644 doc/cl/zco/desafio3/util/package-tree.html create mode 100644 doc/cl/zco/desafio3/util/package-use.html create mode 100644 doc/constant-values.html create mode 100644 doc/element-list create mode 100644 doc/help-doc.html create mode 100644 doc/index-files/index-1.html create mode 100644 doc/index-files/index-10.html create mode 100644 doc/index-files/index-11.html create mode 100644 doc/index-files/index-12.html create mode 100644 doc/index-files/index-13.html create mode 100644 doc/index-files/index-14.html create mode 100644 doc/index-files/index-15.html create mode 100644 doc/index-files/index-2.html create mode 100644 doc/index-files/index-3.html create mode 100644 doc/index-files/index-4.html create mode 100644 doc/index-files/index-5.html create mode 100644 doc/index-files/index-6.html create mode 100644 doc/index-files/index-7.html create mode 100644 doc/index-files/index-8.html create mode 100644 doc/index-files/index-9.html create mode 100644 doc/index.html create mode 100644 doc/jquery-ui.overrides.css create mode 100644 doc/legal/ADDITIONAL_LICENSE_INFO create mode 100644 doc/legal/ASSEMBLY_EXCEPTION create mode 100644 doc/legal/LICENSE create mode 100644 doc/legal/jquery.md create mode 100644 doc/legal/jqueryUI.md create mode 100644 doc/member-search-index.js create mode 100644 doc/module-search-index.js create mode 100644 doc/overview-summary.html create mode 100644 doc/overview-tree.html create mode 100644 doc/package-search-index.js create mode 100644 doc/resources/glass.png create mode 100644 doc/resources/x.png create mode 100644 doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 doc/script-dir/images/ui-icons_222222_256x240.png create mode 100644 doc/script-dir/images/ui-icons_2e83ff_256x240.png create mode 100644 doc/script-dir/images/ui-icons_454545_256x240.png create mode 100644 doc/script-dir/images/ui-icons_888888_256x240.png create mode 100644 doc/script-dir/images/ui-icons_cd0a0a_256x240.png create mode 100644 doc/script-dir/jquery-3.5.1.min.js create mode 100644 doc/script-dir/jquery-ui.min.css create mode 100644 doc/script-dir/jquery-ui.min.js create mode 100644 doc/script-dir/jquery-ui.structure.min.css create mode 100644 doc/script.js create mode 100644 doc/search.js create mode 100644 doc/stylesheet.css create mode 100644 doc/tag-search-index.js create mode 100644 doc/type-search-index.js create mode 100644 evidencia/imagen1.png create mode 100644 evidencia/imagen2.png create mode 100644 evidencia/imagen3.png create mode 100644 evidencia/imagen4.png create mode 100644 evidencia/imagen5.png create mode 100644 evidencia/imagen6.png create mode 100644 evidencia/imagen7.png create mode 100644 evidencia/mvn_install.log create mode 100644 evidencia/valores.json create mode 100644 files/valores.json create mode 100644 jar/desafio3-0.0.1-SNAPSHOT.jar create mode 100644 jar/desafio3-0.0.1-SNAPSHOT.jar.original create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml create mode 100644 resumen/cobertura/desafio3/index.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoJsonDTO.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/FormatoUfJsonDTO.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.dto/index.source.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ConsumirJarPrevired.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/ManejadorArchivos.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.negocio/index.source.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Constantes.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/Util.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3.util/index.source.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Configuracion.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Desafio3Application.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/Proveedor.java.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.html create mode 100644 resumen/cobertura/desafio3/src_main_java/cl.zco.desafio3/index.source.html create mode 100644 resumen/cobertura/desafio3/src_main_java/index.html create mode 100644 resumen/cobertura/desafio3/src_main_resources/index.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ConsumirJarPreviredTest.java.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/ManejadorArchivosTest.java.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.negocio/index.source.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/DtoTest.java.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/UtilTest.java.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3.util/index.source.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/Desafio3ApplicationTests.java.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.html create mode 100644 resumen/cobertura/desafio3/src_test_java/cl.zco.desafio3/index.source.html create mode 100644 resumen/cobertura/desafio3/src_test_java/index.html create mode 100644 resumen/cobertura/desafio3/target_generated-sources_annotations/index.html create mode 100644 resumen/cobertura/desafio3/target_generated-test-sources_test-annotations/index.html create mode 100644 resumen/cobertura/index.html create mode 100644 resumen/cobertura/jacoco-resources/branchfc.gif create mode 100644 resumen/cobertura/jacoco-resources/branchnc.gif create mode 100644 resumen/cobertura/jacoco-resources/branchpc.gif create mode 100644 resumen/cobertura/jacoco-resources/bundle.gif create mode 100644 resumen/cobertura/jacoco-resources/class.gif create mode 100644 resumen/cobertura/jacoco-resources/down.gif create mode 100644 resumen/cobertura/jacoco-resources/greenbar.gif create mode 100644 resumen/cobertura/jacoco-resources/group.gif create mode 100644 resumen/cobertura/jacoco-resources/method.gif create mode 100644 resumen/cobertura/jacoco-resources/package.gif create mode 100644 resumen/cobertura/jacoco-resources/prettify.css create mode 100644 resumen/cobertura/jacoco-resources/prettify.js create mode 100644 resumen/cobertura/jacoco-resources/redbar.gif create mode 100644 resumen/cobertura/jacoco-resources/report.css create mode 100644 resumen/cobertura/jacoco-resources/report.gif create mode 100644 resumen/cobertura/jacoco-resources/session.gif create mode 100644 resumen/cobertura/jacoco-resources/sort.gif create mode 100644 resumen/cobertura/jacoco-resources/sort.js create mode 100644 resumen/cobertura/jacoco-resources/source.gif create mode 100644 resumen/cobertura/jacoco-resources/up.gif create mode 100644 resumen/cobertura/jacoco-sessions.html create mode 100644 src/main/java/cl/zco/desafio3/Configuracion.java create mode 100644 src/main/java/cl/zco/desafio3/Desafio3Application.java create mode 100644 src/main/java/cl/zco/desafio3/Proveedor.java create mode 100644 src/main/java/cl/zco/desafio3/dto/FormatoJsonDTO.java create mode 100644 src/main/java/cl/zco/desafio3/dto/FormatoUfJsonDTO.java create mode 100644 src/main/java/cl/zco/desafio3/negocio/ConsumirJarPrevired.java create mode 100644 src/main/java/cl/zco/desafio3/negocio/ManejadorArchivos.java create mode 100644 src/main/java/cl/zco/desafio3/util/Constantes.java create mode 100644 src/main/java/cl/zco/desafio3/util/Util.java create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/desafio3.properties create mode 100644 src/test/java/cl/zco/desafio3/Desafio3ApplicationTests.java create mode 100644 src/test/java/cl/zco/desafio3/negocio/ConsumirJarPreviredTest.java create mode 100644 src/test/java/cl/zco/desafio3/negocio/ManejadorArchivosTest.java create mode 100644 src/test/java/cl/zco/desafio3/util/DtoTest.java create mode 100644 src/test/java/cl/zco/desafio3/util/UtilTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..c1dd12f17644411d6e840bd5a10c6ecda0175f18 GIT binary patch literal 58727 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%0ANsA|A3-jj|r`KAo%oTajX3>^E` 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 YM{}PByk10KD_nuQ4E7Du?}+~TKh4V)`~Uy| literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b7cb93e --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/SOLUCION_README.md b/SOLUCION_README.md new file mode 100644 index 0000000..ac044cb --- /dev/null +++ b/SOLUCION_README.md @@ -0,0 +1,83 @@ +# DESAFIO 3 + +La siguiente app permite consumir una libreria de previred, obtener las uf + +## Descripcion de la implementación: + +Se realiza en base al requerimiento un aplicativo que permite consumir la libreria jar de previred, en el cual por medio de el metodo getRange(), se obtienen valores de uf y la fecha a la que pertenece, estos valores vienen desordenados y no secuenciales hay lagunas muchas veces entre ellos, en base al requerimiento entregado se entiende que en base al rango entregado hay que completar la secuencia hasta obtener todos los valores comprendidos en ese rango, lo que se hace es por medio del metodo getUfs, se obtienen todos los valores, luego se valida que los encontrados previamente existan en la lista obtenida por rango luego se ordena de manera descendente y finalmente se exporta a un archivo con nombre valores.json que se encuentra en la carpeta files, la libreria esta en la carpeta lib y el detalle de la jerarquia y estructura de carpetas se detalla a continuacion, se agrega logger para ver el trace del aplicativo. se documenta el codigo, se agregan pruebas unitarias y se realiza un scan con sonarlint para asegurar la calidad de codigo. + +## Tecnologia utilizada: + - Springboot + - Java 1.8 + - Libreria Gson version 2.9.0 (para la gestion de json) + - Libreria commons-collections y commons-beansutils ( para el ordenamiento) + - Libreria lof4j-springboot (para todo el registro, seguimiento) + - Libreria springboot configuration-processor para los configurationProperties. + - Libreria mockito y powermock-module (este incorpora alguno assert parael control de excepciones) + - Maven para la gestion de repositorio. + - Libreria jar proporcionada por previred para el desafio(Generador_Datos_Desafio_Tres-1.0.0.jar) + +## Pruebas unitarias y calidad de codigo: + - Se realizan pruebas unitarias, y ejecucion de analisis para verificar covertura, se cumple con los standares minimos de un 90% de covertura del proyecto, se adjunta evidencia en carpeta /evidencia con el detalle de covertura. + - Se realiza analisis con Plugin SonarLint, para reducir deuda tecnica. y cumplir con los standares minimos. + +## Comenzando 🚀 +La jerarquía de carpetas del proyecto es de la siguiente manera. + src/main/java + cl.zco.desafio3 -> lanzador, configuraciones, proveedor de contexto + cl.zco.desafio3.dto -> los dto que se utilizaran para la generacion con la estructura deseada + cl.zco.desafio3.negocio -> Definicion logica del requerimiento + cl.zco.desafio3.util-> las utilidades que se crearon para que el codigo estuviera limpio y fuera mantenible + src/test/java + cl.zco.desafio3 -> prueba unitaria lanzador + cl.zco.desafio3.negocio -> pruebas unitarias negocio + cl.zco.desafio3.util -> pruebas unitarias de las utilidades + lib/ + Generador_Datos_Desafio_Tres-1.0.0.jar + doc/ + javadoc > index.html + resumen/cobertura + index.html > aqui esta el detalle y resultado de junit + coverage + files/ + valores.json (archivo con la salida en json) + evidencia/ + imagen1 -> evidencia de cobertura junit + imagen2, imagen3 y imagen4 -> ejecucion desde IDE + imagen5, imagen6 y imagen7 -> ejecucion desde CMD + mvn_install.log -> log de maven install build success + valores.json -> archivo generado + jar/ + desafio3-0.0.1-SNAPSHOT.jar ->ultimo jar compilado con todas las librerias + +## Pre-requisitos. 📋 + +Java 1.8 +Maven configurado + +## Configuraciones para arrancar: 📦 +En el problema si indicaba que solo mostraba 100 valores de UF, como la salida es mas extensa se crea una propiedad en el fichero desafio3.properties donde se puede colocar la cantidad maxima de UF de la lista en el json de salida, si se quiere cambiar simplemente se debe modificar el property, si se deja en valor 0 (cero) se mostrará todos los valores de UF dentro del rango. + +Los datos entregados para desplegar la aplicación son: + +### Arrancar directamente desde el jar: +1. Ir a la consola (CMD) +2. Ir a la ruta donde esta el jar +3. Escribir esta sentencia-> java -jar desafio3-0.0.1-SNAPSHOT.jar +4. Aparecerá mensaje dando la bienvenida, indicando que es necesario tener una carpeta en C:\files\ porque en esa ubicacion se guardara el archivo 'valores.json' +5. Al terminar mostrará un mensaje indicando que el proceso a finalizado. + +### Arranchar desde el ambiente de desarrollo (eclipse > SpringToolSuite4) +1. Sincronizar repositorio +2. Realizar un maven install +3. Ir a la clase 'Desafio3Application.java' boton derecho > Run As > Spring Boot App +4. Aparecerá mensaje dando la bienvenida, indicando que se creará el archivo json en la carpeta /files dentro del workspacecon el nombre solicitado 'valores.json' +5. Al terminar mostrará un mensaje indicando que el proceso a finalizado. + +## Autor ✒️ +**Patricio Angel Astorga Toledo** - *Ingeniería informática* - [mail] pastorgatoledo@gmail.com + +--- + +Patricio Angel Astorga Toledo +pastorgatoledo@gmail.com +me enteré del desafio luego de hablar con Maria Paz Coloma diff --git a/doc/allclasses-index.html b/doc/allclasses-index.html new file mode 100644 index 0000000..bac47de --- /dev/null +++ b/doc/allclasses-index.html @@ -0,0 +1,102 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
Classes
+
+
Class
+
Description
+ +
+
Clase de configuracion, en esta tendremos las configuraciones de un archivo + propierties y que tengan el prefijo 'desafio3'.
+
+ +
+
Clase que contiene las constantes.
+
+ +
+
The Class ConsumirJarPrevired.
+
+ +
+
The Class Desafio3Application.
+
+ +
+
Clase FormatoJsonDTO.
+
+ +
+
Clase FormatoUfJsonDTO.
+
+ +
+
Clase que manejará los archivos.
+
+ +
+
Clase con el proveedor del contexto.
+
+ +
+
Clase que contiene las utilidades del aplicativo.
+
+
+
+
+
+
+ + diff --git a/doc/allpackages-index.html b/doc/allpackages-index.html new file mode 100644 index 0000000..f2a049b --- /dev/null +++ b/doc/allpackages-index.html @@ -0,0 +1,71 @@ + + + + +All Packages + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/Configuracion.html b/doc/cl/zco/desafio3/Configuracion.html new file mode 100644 index 0000000..c5e094f --- /dev/null +++ b/doc/cl/zco/desafio3/Configuracion.html @@ -0,0 +1,225 @@ + + + + +Configuracion + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Configuracion

+
+
java.lang.Object +
cl.zco.desafio3.Configuracion
+
+
+
+
@ConfigurationProperties(prefix="desafio3") +public class Configuracion +extends Object
+
Clase de configuracion, en esta tendremos las configuraciones de un archivo + propierties y que tengan el prefijo 'desafio3'.
+
+
Author:
+
Patricio Angel
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
    +
    Constructor de la clase Configuracion sin parametros.
    +
    +
    Configuracion(int cantidadjson)
    +
    +
    Constructor de la clase Configuracion con parametros.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
    +
    Gets the cantidadjson.
    +
    +
    void
    +
    setCantidadjson(int cantidadjson)
    +
    +
    Sets the cantidadjson.
    +
    + + +
    +
    To string.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Configuracion

      +
      public Configuracion(int cantidadjson)
      +
      Constructor de la clase Configuracion con parametros.
      +
      +
      Parameters:
      +
      cantidadjson - the cantidadjson
      +
      +
      +
    • +
    • +
      +

      Configuracion

      +
      public Configuracion()
      +
      Constructor de la clase Configuracion sin parametros.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getCantidadjson

      +
      public int getCantidadjson()
      +
      Gets the cantidadjson.
      +
      +
      Returns:
      +
      the cantidadjson
      +
      +
      +
    • +
    • +
      +

      setCantidadjson

      +
      public void setCantidadjson(int cantidadjson)
      +
      Sets the cantidadjson.
      +
      +
      Parameters:
      +
      cantidadjson - the new cantidadjson
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/Desafio3Application.html b/doc/cl/zco/desafio3/Desafio3Application.html new file mode 100644 index 0000000..53a636d --- /dev/null +++ b/doc/cl/zco/desafio3/Desafio3Application.html @@ -0,0 +1,190 @@ + + + + +Desafio3Application + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Desafio3Application

+
+
java.lang.Object +
cl.zco.desafio3.Desafio3Application
+
+
+
+
@SpringBootApplication +@PropertySource("classpath:desafio3.properties") +@EnableConfigurationProperties(Configuracion.class) +public class Desafio3Application +extends Object
+
The Class Desafio3Application.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Desafio3Application

      +
      public Desafio3Application()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args) + throws Throwable
      +
      The main method.
      +
      +
      Parameters:
      +
      args - the arguments
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    • +
      +

      iniciarAplicacion

      +
      public static void iniciarAplicacion() + throws Throwable
      +
      Iniciar aplicacion.
      +
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/Proveedor.html b/doc/cl/zco/desafio3/Proveedor.html new file mode 100644 index 0000000..9d03d71 --- /dev/null +++ b/doc/cl/zco/desafio3/Proveedor.html @@ -0,0 +1,198 @@ + + + + +Proveedor + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Proveedor

+
+
java.lang.Object +
cl.zco.desafio3.Proveedor
+
+
+
+
All Implemented Interfaces:
+
org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware
+
+
+
@Component +public class Proveedor +extends Object +implements org.springframework.context.ApplicationContextAware
+
Clase con el proveedor del contexto.
+
+
Author:
+
Patricio Angel
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static org.springframework.context.ApplicationContext
    + +
    +
    Gets the contexto.
    +
    +
    void
    +
    setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
    +
    +
    Sets the application context.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Proveedor

      +
      public Proveedor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setApplicationContext

      +
      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) + throws org.springframework.beans.BeansException
      +
      Sets the application context.
      +
      +
      Specified by:
      +
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      +
      Parameters:
      +
      applicationContext - the new application context
      +
      Throws:
      +
      org.springframework.beans.BeansException - the beans exception
      +
      +
      +
    • +
    • +
      +

      getContexto

      +
      public static org.springframework.context.ApplicationContext getContexto()
      +
      Gets the contexto.
      +
      +
      Returns:
      +
      the contexto
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/class-use/Configuracion.html b/doc/cl/zco/desafio3/class-use/Configuracion.html new file mode 100644 index 0000000..13fb158 --- /dev/null +++ b/doc/cl/zco/desafio3/class-use/Configuracion.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.Configuracion + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.Configuracion

+
+No usage of cl.zco.desafio3.Configuracion
+
+
+ + diff --git a/doc/cl/zco/desafio3/class-use/Desafio3Application.html b/doc/cl/zco/desafio3/class-use/Desafio3Application.html new file mode 100644 index 0000000..c5364b2 --- /dev/null +++ b/doc/cl/zco/desafio3/class-use/Desafio3Application.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.Desafio3Application + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.Desafio3Application

+
+No usage of cl.zco.desafio3.Desafio3Application
+
+
+ + diff --git a/doc/cl/zco/desafio3/class-use/Proveedor.html b/doc/cl/zco/desafio3/class-use/Proveedor.html new file mode 100644 index 0000000..d00f730 --- /dev/null +++ b/doc/cl/zco/desafio3/class-use/Proveedor.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.Proveedor + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.Proveedor

+
+No usage of cl.zco.desafio3.Proveedor
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/FormatoJsonDTO.html b/doc/cl/zco/desafio3/dto/FormatoJsonDTO.html new file mode 100644 index 0000000..e65cba6 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/FormatoJsonDTO.html @@ -0,0 +1,254 @@ + + + + +FormatoJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FormatoJsonDTO

+
+
java.lang.Object +
cl.zco.desafio3.dto.FormatoJsonDTO
+
+
+
+
public class FormatoJsonDTO +extends Object
+
Clase FormatoJsonDTO.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FormatoJsonDTO

      +
      public FormatoJsonDTO()
      +
      Instantiates a new formato json DTO.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getInicio

      +
      public String getInicio()
      +
      Gets the inicio.
      +
      +
      Returns:
      +
      the inicio
      +
      +
      +
    • +
    • +
      +

      setInicio

      +
      public void setInicio(String inicio)
      +
      Sets the inicio.
      +
      +
      Parameters:
      +
      inicio - the new inicio
      +
      +
      +
    • +
    • +
      +

      getFin

      +
      public String getFin()
      +
      Gets the fin.
      +
      +
      Returns:
      +
      the fin
      +
      +
      +
    • +
    • +
      +

      setFin

      +
      public void setFin(String fin)
      +
      Sets the fin.
      +
      +
      Parameters:
      +
      fin - the new fin
      +
      +
      +
    • +
    • +
      +

      getUFs

      +
      public List<FormatoUfJsonDTO> getUFs()
      +
      Gets the u fs.
      +
      +
      Returns:
      +
      the u fs
      +
      +
      +
    • +
    • +
      +

      setUFs

      +
      public void setUFs(List<FormatoUfJsonDTO> uFs)
      +
      Sets the u fs.
      +
      +
      Parameters:
      +
      uFs - the new u fs
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html b/doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html new file mode 100644 index 0000000..1aeaa48 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/FormatoUfJsonDTO.html @@ -0,0 +1,229 @@ + + + + +FormatoUfJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class FormatoUfJsonDTO

+
+
java.lang.Object +
cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
+
+
public class FormatoUfJsonDTO +extends Object
+
Clase FormatoUfJsonDTO.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      FormatoUfJsonDTO

      +
      public FormatoUfJsonDTO(String fecha, + String dato)
      +
      Instantiates a new formato uf json DTO.
      +
      +
      Parameters:
      +
      fecha - the fecha
      +
      dato - the dato
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getFecha

      +
      public String getFecha()
      +
      Gets the fecha.
      +
      +
      Returns:
      +
      the fecha
      +
      +
      +
    • +
    • +
      +

      setFecha

      +
      public void setFecha(String fecha)
      +
      Sets the fecha.
      +
      +
      Parameters:
      +
      fecha - the new fecha
      +
      +
      +
    • +
    • +
      +

      getDato

      +
      public String getDato()
      +
      Gets the dato.
      +
      +
      Returns:
      +
      the dato
      +
      +
      +
    • +
    • +
      +

      setDato

      +
      public void setDato(String dato)
      +
      Sets the dato.
      +
      +
      Parameters:
      +
      dato - the new dato
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html b/doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html new file mode 100644 index 0000000..0b48893 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/class-use/FormatoJsonDTO.html @@ -0,0 +1,113 @@ + + + + +Uses of Class cl.zco.desafio3.dto.FormatoJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.dto.FormatoJsonDTO

+
+
Packages that use FormatoJsonDTO
+
+
Package
+
Description
+ +
 
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html b/doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html new file mode 100644 index 0000000..6caa34b --- /dev/null +++ b/doc/cl/zco/desafio3/dto/class-use/FormatoUfJsonDTO.html @@ -0,0 +1,115 @@ + + + + +Uses of Class cl.zco.desafio3.dto.FormatoUfJsonDTO + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.dto.FormatoUfJsonDTO

+
+
Packages that use FormatoUfJsonDTO
+
+
Package
+
Description
+ +
 
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/package-summary.html b/doc/cl/zco/desafio3/dto/package-summary.html new file mode 100644 index 0000000..cd28bad --- /dev/null +++ b/doc/cl/zco/desafio3/dto/package-summary.html @@ -0,0 +1,104 @@ + + + + +cl.zco.desafio3.dto + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3.dto

+
+
+
package cl.zco.desafio3.dto
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/package-tree.html b/doc/cl/zco/desafio3/dto/package-tree.html new file mode 100644 index 0000000..68b3ec0 --- /dev/null +++ b/doc/cl/zco/desafio3/dto/package-tree.html @@ -0,0 +1,73 @@ + + + + +cl.zco.desafio3.dto Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3.dto

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/dto/package-use.html b/doc/cl/zco/desafio3/dto/package-use.html new file mode 100644 index 0000000..d59ec3b --- /dev/null +++ b/doc/cl/zco/desafio3/dto/package-use.html @@ -0,0 +1,116 @@ + + + + +Uses of Package cl.zco.desafio3.dto + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3.dto

+
+
Packages that use cl.zco.desafio3.dto
+
+
Package
+
Description
+ +
 
+ +
 
+ +
 
+
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html b/doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html new file mode 100644 index 0000000..de8bdf0 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/ConsumirJarPrevired.html @@ -0,0 +1,244 @@ + + + + +ConsumirJarPrevired + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConsumirJarPrevired

+
+
java.lang.Object +
cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
+
+
public class ConsumirJarPrevired +extends Object
+
The Class ConsumirJarPrevired.
+
+
Author:
+
Patricio Angel
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    boolean
    +
    generarCSV(com.previred.desafio.tres.uf.vo.Ufs ufs)
    +
    +
    Metodo para generar los CSV
    +
    +
    boolean
    +
    generarJson(com.previred.desafio.tres.uf.vo.Ufs ufs, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango)
    +
    +
    Metodo que genera el json.
    +
    +
    boolean
    +
    generarXML(com.previred.desafio.tres.uf.vo.Ufs ufs)
    +
    +
    Metodo para generar los XML
    +
    +
    boolean
    + +
    +
    Iniciar.
    +
    +
    boolean
    + +
    +
    Metodo que obtiene los valores de las UF.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConsumirJarPrevired

      +
      public ConsumirJarPrevired()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      iniciar

      +
      public boolean iniciar()
      +
      Iniciar.
      +
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      obtenerValoresUF

      +
      public boolean obtenerValoresUF()
      +
      Metodo que obtiene los valores de las UF.
      +
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      generarCSV

      +
      public boolean generarCSV(com.previred.desafio.tres.uf.vo.Ufs ufs)
      +
      Metodo para generar los CSV
      +
      +
      Parameters:
      +
      ufs - parametro de entrada con data de ufs
      +
      Returns:
      +
      boolean generacion exitosa
      +
      +
      +
    • +
    • +
      +

      generarXML

      +
      public boolean generarXML(com.previred.desafio.tres.uf.vo.Ufs ufs)
      +
      Metodo para generar los XML
      +
      +
      Parameters:
      +
      ufs - parametro de entrada con data de ufs
      +
      Returns:
      +
      boolean generacion exitosa
      +
      +
      +
    • +
    • +
      +

      generarJson

      +
      public boolean generarJson(com.previred.desafio.tres.uf.vo.Ufs ufs, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango)
      +
      Metodo que genera el json.
      +
      +
      Parameters:
      +
      ufs - parametro de entrada con data de ufs
      +
      listUfRango - the list uf rango
      +
      Returns:
      +
      boolean generacion exitosa
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/ManejadorArchivos.html b/doc/cl/zco/desafio3/negocio/ManejadorArchivos.html new file mode 100644 index 0000000..a02ed00 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/ManejadorArchivos.html @@ -0,0 +1,223 @@ + + + + +ManejadorArchivos + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ManejadorArchivos

+
+
java.lang.Object +
cl.zco.desafio3.negocio.ManejadorArchivos
+
+
+
+
public class ManejadorArchivos +extends Object
+
Clase que manejará los archivos.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ManejadorArchivos

      +
      public ManejadorArchivos()
      +
      Instantiates a new manejador archivos.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      crearFicheroJson

      +
      public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, + String destino)
      +
      Crear fichero json.
      +
      +
      Parameters:
      +
      jsonDTO - the json DTO
      +
      destino - the destino
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      crearFicheroJson

      +
      public static boolean crearFicheroJson(FormatoJsonDTO jsonDTO, + String destino, + boolean ignorarValidacion)
      +
      Crear fichero json. + Metodo que crea el fichero valores.json.
      +
      +
      Parameters:
      +
      jsonDTO - the json DTO
      +
      destino - the destino
      +
      ignorarValidacion - the ignorar validacion
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    • +
      +

      existeCarpeta

      +
      public static boolean existeCarpeta(String ruta)
      +
      Existe carpeta. + Metodo que valida que exista carpeta segun ruta
      +
      +
      Parameters:
      +
      ruta - the ruta
      +
      Returns:
      +
      true, if successful
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html b/doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html new file mode 100644 index 0000000..462e96f --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/class-use/ConsumirJarPrevired.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.negocio.ConsumirJarPrevired + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.negocio.ConsumirJarPrevired

+
+No usage of cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html b/doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html new file mode 100644 index 0000000..10c69ec --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/class-use/ManejadorArchivos.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.negocio.ManejadorArchivos + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.negocio.ManejadorArchivos

+
+No usage of cl.zco.desafio3.negocio.ManejadorArchivos
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/package-summary.html b/doc/cl/zco/desafio3/negocio/package-summary.html new file mode 100644 index 0000000..2c15f0e --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/package-summary.html @@ -0,0 +1,104 @@ + + + + +cl.zco.desafio3.negocio + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3.negocio

+
+
+
package cl.zco.desafio3.negocio
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/package-tree.html b/doc/cl/zco/desafio3/negocio/package-tree.html new file mode 100644 index 0000000..26df820 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/package-tree.html @@ -0,0 +1,73 @@ + + + + +cl.zco.desafio3.negocio Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3.negocio

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/negocio/package-use.html b/doc/cl/zco/desafio3/negocio/package-use.html new file mode 100644 index 0000000..ff658a6 --- /dev/null +++ b/doc/cl/zco/desafio3/negocio/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package cl.zco.desafio3.negocio + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3.negocio

+
+No usage of cl.zco.desafio3.negocio
+
+
+ + diff --git a/doc/cl/zco/desafio3/package-summary.html b/doc/cl/zco/desafio3/package-summary.html new file mode 100644 index 0000000..d631301 --- /dev/null +++ b/doc/cl/zco/desafio3/package-summary.html @@ -0,0 +1,109 @@ + + + + +cl.zco.desafio3 + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3

+
+
+
package cl.zco.desafio3
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/package-tree.html b/doc/cl/zco/desafio3/package-tree.html new file mode 100644 index 0000000..f19200a --- /dev/null +++ b/doc/cl/zco/desafio3/package-tree.html @@ -0,0 +1,74 @@ + + + + +cl.zco.desafio3 Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/package-use.html b/doc/cl/zco/desafio3/package-use.html new file mode 100644 index 0000000..3329a50 --- /dev/null +++ b/doc/cl/zco/desafio3/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package cl.zco.desafio3 + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3

+
+No usage of cl.zco.desafio3
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/Constantes.html b/doc/cl/zco/desafio3/util/Constantes.html new file mode 100644 index 0000000..9134b3e --- /dev/null +++ b/doc/cl/zco/desafio3/util/Constantes.html @@ -0,0 +1,340 @@ + + + + +Constantes + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Constantes

+
+
java.lang.Object +
cl.zco.desafio3.util.Constantes
+
+
+
+
public class Constantes +extends Object
+
Clase que contiene las constantes.
+
+
Author:
+
Patricio Angel
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      FORMATO_DD_MMM_YYYY

      +
      public static final String FORMATO_DD_MMM_YYYY
      +
      The Constant FORMATO_DD_MMM_YYYY.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      FORMATO_YYYY_MM_DD

      +
      public static final String FORMATO_YYYY_MM_DD
      +
      The Constant FORMATO_YYYY_MM_DD.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      RUTA_WKS_JSON

      +
      public static final String RUTA_WKS_JSON
      +
      The Constant RUTA_WKS_JSON.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      RUTA_JAR_JSON

      +
      public static final String RUTA_JAR_JSON
      +
      The Constant RUTA_JAR_JSON.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      SIMBOLO_NUEVA_LINEA

      +
      public static final String SIMBOLO_NUEVA_LINEA
      +
      The Constant SIMBOLO_NUEVA_LINEA.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      ATRIB_FECHA

      +
      public static final String ATRIB_FECHA
      +
      The Constant ATRIB_FECHA.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      VACIO

      +
      public static final String VACIO
      +
      The Constant VACIO.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Constantes

      +
      public Constantes()
      +
      Instantiates a new constantes.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      obtenerEtiqueta

      +
      public static String obtenerEtiqueta(String codigo)
      +
      Metodo que obtiene la etiqueta mapeaa + (alternativa rapida concentrar todas las etiquetas, la idea es luego pasar estos codigo + de etiquetas a i18).
      +
      +
      Parameters:
      +
      codigo - the codigo
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/Util.html b/doc/cl/zco/desafio3/util/Util.html new file mode 100644 index 0000000..7d49325 --- /dev/null +++ b/doc/cl/zco/desafio3/util/Util.html @@ -0,0 +1,306 @@ + + + + +Util + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Util

+
+
java.lang.Object +
cl.zco.desafio3.util.Util
+
+
+
+
public class Util +extends Object
+
Clase que contiene las utilidades del aplicativo.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Util

      +
      public Util()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      obtenerFechaFormato

      +
      public static String obtenerFechaFormato(Date fecha, + String formato)
      +
      Metodo que obtiene la fecha y le da el formato recibido.
      +
      +
      Parameters:
      +
      fecha - parametro con la fecha
      +
      formato - the formato
      +
      Returns:
      +
      String con la fecha de salida
      +
      +
      +
    • +
    • +
      +

      clasificarColeccion

      +
      public static <T> void clasificarColeccion(List<T> list, + boolean esAscendente, + String... bean)
      +
      Metodo que ordena lo que reciba y en base al nombre del atributo.
      +
      +
      Type Parameters:
      +
      T - cualquier elemento
      +
      Parameters:
      +
      list - lista del elemento T
      +
      esAscendente - boolean que indica si la lista sera asc o desc
      +
      bean - este es el atributo de la clase por el cual se va a ordenar
      +
      +
      +
    • +
    • +
      +

      convertiraJsonDTO

      +
      public static FormatoJsonDTO convertiraJsonDTO(com.previred.desafio.tres.uf.vo.Ufs ufs, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango, + int maxJson)
      +
      Convertir a json DTO. + Metodo que convierte el ufs a formato json dto
      +
      +
      Parameters:
      +
      ufs - the ufs
      +
      listUfRango - the list uf rango
      +
      maxJson - the max json
      +
      Returns:
      +
      the formato json DTO
      +
      +
      +
    • +
    • +
      +

      convertiraJsonUfDTO

      +
      public static List<FormatoUfJsonDTO> convertiraJsonUfDTO(List<com.previred.desafio.tres.uf.vo.Uf> listUf, + int maxJson)
      +
      Convertira json uf DTO. +Metodo que convierte al DTO jsonUF en base al UF recibido.
      +
      +
      Parameters:
      +
      listUf - the list uf
      +
      maxJson - the max json
      +
      Returns:
      +
      the list
      +
      +
      +
    • +
    • +
      +

      validacionElementosEnRango

      +
      public static boolean validacionElementosEnRango(List<com.previred.desafio.tres.uf.vo.Uf> listUf, + List<com.previred.desafio.tres.uf.vo.Uf> listUfRango)
      +
      metodo que valida que los elementos retornados de getRange() esten en la lista.
      +
      +
      Parameters:
      +
      listUf - the list uf
      +
      listUfRango - the list uf rango
      +
      Returns:
      +
      verdadero si todos los elementos de la lista a se encuetran en la lista b.
      +
      +
      +
    • +
    • +
      +

      controlExcepcion

      +
      public static void controlExcepcion(String msg) + throws Throwable
      +
      Metodo sobrecargado para controlar la excepcion.
      +
      +
      Parameters:
      +
      msg - mensaje a mostrar por pantalla
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    • +
      +

      controlExcepcion

      +
      public static void controlExcepcion(String msg, + Integer optionMsg) + throws Throwable
      +
      Control excepcion. + Metodo creado para controlar la excepcion en caso de inconveniente
      +
      +
      Parameters:
      +
      msg - the msg
      +
      optionMsg - the option msg
      +
      Throws:
      +
      Throwable - the throwable
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/class-use/Constantes.html b/doc/cl/zco/desafio3/util/class-use/Constantes.html new file mode 100644 index 0000000..9b6630e --- /dev/null +++ b/doc/cl/zco/desafio3/util/class-use/Constantes.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.util.Constantes + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.util.Constantes

+
+No usage of cl.zco.desafio3.util.Constantes
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/class-use/Util.html b/doc/cl/zco/desafio3/util/class-use/Util.html new file mode 100644 index 0000000..196c1f4 --- /dev/null +++ b/doc/cl/zco/desafio3/util/class-use/Util.html @@ -0,0 +1,58 @@ + + + + +Uses of Class cl.zco.desafio3.util.Util + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
cl.zco.desafio3.util.Util

+
+No usage of cl.zco.desafio3.util.Util
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/package-summary.html b/doc/cl/zco/desafio3/util/package-summary.html new file mode 100644 index 0000000..0bc4ddb --- /dev/null +++ b/doc/cl/zco/desafio3/util/package-summary.html @@ -0,0 +1,104 @@ + + + + +cl.zco.desafio3.util + + + + + + + + + + + + + + + +
+ +
+
+
+

Package cl.zco.desafio3.util

+
+
+
package cl.zco.desafio3.util
+
+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/package-tree.html b/doc/cl/zco/desafio3/util/package-tree.html new file mode 100644 index 0000000..b819bff --- /dev/null +++ b/doc/cl/zco/desafio3/util/package-tree.html @@ -0,0 +1,73 @@ + + + + +cl.zco.desafio3.util Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package cl.zco.desafio3.util

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/cl/zco/desafio3/util/package-use.html b/doc/cl/zco/desafio3/util/package-use.html new file mode 100644 index 0000000..fae1cbd --- /dev/null +++ b/doc/cl/zco/desafio3/util/package-use.html @@ -0,0 +1,58 @@ + + + + +Uses of Package cl.zco.desafio3.util + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
cl.zco.desafio3.util

+
+No usage of cl.zco.desafio3.util
+
+
+ + diff --git a/doc/constant-values.html b/doc/constant-values.html new file mode 100644 index 0000000..d1635e8 --- /dev/null +++ b/doc/constant-values.html @@ -0,0 +1,98 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+

Contents

+ +
+
+
+

cl.zco.*

+ +
+
+
+
+ + diff --git a/doc/element-list b/doc/element-list new file mode 100644 index 0000000..fe10777 --- /dev/null +++ b/doc/element-list @@ -0,0 +1,4 @@ +cl.zco.desafio3 +cl.zco.desafio3.dto +cl.zco.desafio3.negocio +cl.zco.desafio3.util diff --git a/doc/help-doc.html b/doc/help-doc.html new file mode 100644 index 0000000..40b5a14 --- /dev/null +++ b/doc/help-doc.html @@ -0,0 +1,187 @@ + + + + +API Help + + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enums
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Types
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Use

+

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/doc/index-files/index-1.html b/doc/index-files/index-1.html new file mode 100644 index 0000000..428fcc7 --- /dev/null +++ b/doc/index-files/index-1.html @@ -0,0 +1,66 @@ + + + + +A-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

A

+
+
ATRIB_FECHA - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant ATRIB_FECHA.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-10.html b/doc/index-files/index-10.html new file mode 100644 index 0000000..b5aa535 --- /dev/null +++ b/doc/index-files/index-10.html @@ -0,0 +1,68 @@ + + + + +P-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

P

+
+
Proveedor - Class in cl.zco.desafio3
+
+
Clase con el proveedor del contexto.
+
+
Proveedor() - Constructor for class cl.zco.desafio3.Proveedor
+
 
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-11.html b/doc/index-files/index-11.html new file mode 100644 index 0000000..7296a57 --- /dev/null +++ b/doc/index-files/index-11.html @@ -0,0 +1,70 @@ + + + + +R-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

R

+
+
RUTA_JAR_JSON - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant RUTA_JAR_JSON.
+
+
RUTA_WKS_JSON - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant RUTA_WKS_JSON.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-12.html b/doc/index-files/index-12.html new file mode 100644 index 0000000..e06f2b3 --- /dev/null +++ b/doc/index-files/index-12.html @@ -0,0 +1,94 @@ + + + + +S-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

S

+
+
setApplicationContext(ApplicationContext) - Method in class cl.zco.desafio3.Proveedor
+
+
Sets the application context.
+
+
setCantidadjson(int) - Method in class cl.zco.desafio3.Configuracion
+
+
Sets the cantidadjson.
+
+
setDato(String) - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Sets the dato.
+
+
setFecha(String) - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Sets the fecha.
+
+
setFin(String) - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Sets the fin.
+
+
setInicio(String) - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Sets the inicio.
+
+
setUFs(List<FormatoUfJsonDTO>) - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Sets the u fs.
+
+
SIMBOLO_NUEVA_LINEA - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant SIMBOLO_NUEVA_LINEA.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-13.html b/doc/index-files/index-13.html new file mode 100644 index 0000000..d1c54e2 --- /dev/null +++ b/doc/index-files/index-13.html @@ -0,0 +1,66 @@ + + + + +T-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

T

+
+
toString() - Method in class cl.zco.desafio3.Configuracion
+
+
To string.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-14.html b/doc/index-files/index-14.html new file mode 100644 index 0000000..ce42673 --- /dev/null +++ b/doc/index-files/index-14.html @@ -0,0 +1,68 @@ + + + + +U-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

U

+
+
Util - Class in cl.zco.desafio3.util
+
+
Clase que contiene las utilidades del aplicativo.
+
+
Util() - Constructor for class cl.zco.desafio3.util.Util
+
 
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-15.html b/doc/index-files/index-15.html new file mode 100644 index 0000000..cc4e5b6 --- /dev/null +++ b/doc/index-files/index-15.html @@ -0,0 +1,70 @@ + + + + +V-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

V

+
+
VACIO - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant VACIO.
+
+
validacionElementosEnRango(List<Uf>, List<Uf>) - Static method in class cl.zco.desafio3.util.Util
+
+
metodo que valida que los elementos retornados de getRange() esten en la lista.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-2.html b/doc/index-files/index-2.html new file mode 100644 index 0000000..fe79b7a --- /dev/null +++ b/doc/index-files/index-2.html @@ -0,0 +1,125 @@ + + + + +C-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

C

+
+
cl.zco.desafio3 - package cl.zco.desafio3
+
 
+
cl.zco.desafio3.dto - package cl.zco.desafio3.dto
+
 
+
cl.zco.desafio3.negocio - package cl.zco.desafio3.negocio
+
 
+
cl.zco.desafio3.util - package cl.zco.desafio3.util
+
 
+
clasificarColeccion(List<T>, boolean, String...) - Static method in class cl.zco.desafio3.util.Util
+
+
Metodo que ordena lo que reciba y en base al nombre del atributo.
+
+
Configuracion - Class in cl.zco.desafio3
+
+
Clase de configuracion, en esta tendremos las configuraciones de un archivo + propierties y que tengan el prefijo 'desafio3'.
+
+
Configuracion() - Constructor for class cl.zco.desafio3.Configuracion
+
+
Constructor de la clase Configuracion sin parametros.
+
+
Configuracion(int) - Constructor for class cl.zco.desafio3.Configuracion
+
+
Constructor de la clase Configuracion con parametros.
+
+
Constantes - Class in cl.zco.desafio3.util
+
+
Clase que contiene las constantes.
+
+
Constantes() - Constructor for class cl.zco.desafio3.util.Constantes
+
+
Instantiates a new constantes.
+
+
ConsumirJarPrevired - Class in cl.zco.desafio3.negocio
+
+
The Class ConsumirJarPrevired.
+
+
ConsumirJarPrevired() - Constructor for class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
 
+
controlExcepcion(String) - Static method in class cl.zco.desafio3.util.Util
+
+
Metodo sobrecargado para controlar la excepcion.
+
+
controlExcepcion(String, Integer) - Static method in class cl.zco.desafio3.util.Util
+
+
Control excepcion.
+
+
convertiraJsonDTO(Ufs, List<Uf>, int) - Static method in class cl.zco.desafio3.util.Util
+
+
Convertir a json DTO.
+
+
convertiraJsonUfDTO(List<Uf>, int) - Static method in class cl.zco.desafio3.util.Util
+
+
Convertira json uf DTO.
+
+
crearFicheroJson(FormatoJsonDTO, String) - Static method in class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Crear fichero json.
+
+
crearFicheroJson(FormatoJsonDTO, String, boolean) - Static method in class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Crear fichero json.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-3.html b/doc/index-files/index-3.html new file mode 100644 index 0000000..a9c973c --- /dev/null +++ b/doc/index-files/index-3.html @@ -0,0 +1,68 @@ + + + + +D-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

D

+
+
Desafio3Application - Class in cl.zco.desafio3
+
+
The Class Desafio3Application.
+
+
Desafio3Application() - Constructor for class cl.zco.desafio3.Desafio3Application
+
 
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-4.html b/doc/index-files/index-4.html new file mode 100644 index 0000000..846ef11 --- /dev/null +++ b/doc/index-files/index-4.html @@ -0,0 +1,66 @@ + + + + +E-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

E

+
+
existeCarpeta(String) - Static method in class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Existe carpeta.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-5.html b/doc/index-files/index-5.html new file mode 100644 index 0000000..d3bebea --- /dev/null +++ b/doc/index-files/index-5.html @@ -0,0 +1,86 @@ + + + + +F-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

F

+
+
FORMATO_DD_MMM_YYYY - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant FORMATO_DD_MMM_YYYY.
+
+
FORMATO_YYYY_MM_DD - Static variable in class cl.zco.desafio3.util.Constantes
+
+
The Constant FORMATO_YYYY_MM_DD.
+
+
FormatoJsonDTO - Class in cl.zco.desafio3.dto
+
+
Clase FormatoJsonDTO.
+
+
FormatoJsonDTO() - Constructor for class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Instantiates a new formato json DTO.
+
+
FormatoUfJsonDTO - Class in cl.zco.desafio3.dto
+
+
Clase FormatoUfJsonDTO.
+
+
FormatoUfJsonDTO(String, String) - Constructor for class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Instantiates a new formato uf json DTO.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-6.html b/doc/index-files/index-6.html new file mode 100644 index 0000000..a56ef9a --- /dev/null +++ b/doc/index-files/index-6.html @@ -0,0 +1,102 @@ + + + + +G-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

G

+
+
generarCSV(Ufs) - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo para generar los CSV
+
+
generarJson(Ufs, List<Uf>) - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo que genera el json.
+
+
generarXML(Ufs) - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo para generar los XML
+
+
getCantidadjson() - Method in class cl.zco.desafio3.Configuracion
+
+
Gets the cantidadjson.
+
+
getContexto() - Static method in class cl.zco.desafio3.Proveedor
+
+
Gets the contexto.
+
+
getDato() - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Gets the dato.
+
+
getFecha() - Method in class cl.zco.desafio3.dto.FormatoUfJsonDTO
+
+
Gets the fecha.
+
+
getFin() - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Gets the fin.
+
+
getInicio() - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Gets the inicio.
+
+
getUFs() - Method in class cl.zco.desafio3.dto.FormatoJsonDTO
+
+
Gets the u fs.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-7.html b/doc/index-files/index-7.html new file mode 100644 index 0000000..5db10e9 --- /dev/null +++ b/doc/index-files/index-7.html @@ -0,0 +1,70 @@ + + + + +I-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

I

+
+
iniciar() - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Iniciar.
+
+
iniciarAplicacion() - Static method in class cl.zco.desafio3.Desafio3Application
+
+
Iniciar aplicacion.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-8.html b/doc/index-files/index-8.html new file mode 100644 index 0000000..1d94141 --- /dev/null +++ b/doc/index-files/index-8.html @@ -0,0 +1,74 @@ + + + + +M-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

M

+
+
main(String[]) - Static method in class cl.zco.desafio3.Desafio3Application
+
+
The main method.
+
+
ManejadorArchivos - Class in cl.zco.desafio3.negocio
+
+
Clase que manejará los archivos.
+
+
ManejadorArchivos() - Constructor for class cl.zco.desafio3.negocio.ManejadorArchivos
+
+
Instantiates a new manejador archivos.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index-files/index-9.html b/doc/index-files/index-9.html new file mode 100644 index 0000000..489097a --- /dev/null +++ b/doc/index-files/index-9.html @@ -0,0 +1,76 @@ + + + + +O-Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values +

O

+
+
obtenerEtiqueta(String) - Static method in class cl.zco.desafio3.util.Constantes
+
+
Metodo que obtiene la etiqueta mapeaa + (alternativa rapida concentrar todas las etiquetas, la idea es luego pasar estos codigo + de etiquetas a i18).
+
+
obtenerFechaFormato(Date, String) - Static method in class cl.zco.desafio3.util.Util
+
+
Metodo que obtiene la fecha y le da el formato recibido.
+
+
obtenerValoresUF() - Method in class cl.zco.desafio3.negocio.ConsumirJarPrevired
+
+
Metodo que obtiene los valores de las UF.
+
+
+A C D E F G I M O P R S T U V 
All Classes and Interfaces|All Packages|Constant Field Values
+
+
+ + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..c7cad9e --- /dev/null +++ b/doc/index.html @@ -0,0 +1,73 @@ + + + + +Overview + + + + + + + + + + + + + + + +
+ +
+
+
+

Javadoc Desafio 3 Previred

+
+
+
Packages
+ +
+
+
+
+ + diff --git a/doc/jquery-ui.overrides.css b/doc/jquery-ui.overrides.css new file mode 100644 index 0000000..f89acb6 --- /dev/null +++ b/doc/jquery-ui.overrides.css @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; +} diff --git a/doc/legal/ADDITIONAL_LICENSE_INFO b/doc/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 0000000..b62cc3e --- /dev/null +++ b/doc/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1 @@ +Please see ..\java.base\ADDITIONAL_LICENSE_INFO diff --git a/doc/legal/ASSEMBLY_EXCEPTION b/doc/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 0000000..0d4cfb4 --- /dev/null +++ b/doc/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1 @@ +Please see ..\java.base\ASSEMBLY_EXCEPTION diff --git a/doc/legal/LICENSE b/doc/legal/LICENSE new file mode 100644 index 0000000..4ad9fe4 --- /dev/null +++ b/doc/legal/LICENSE @@ -0,0 +1 @@ +Please see ..\java.base\LICENSE diff --git a/doc/legal/jquery.md b/doc/legal/jquery.md new file mode 100644 index 0000000..8054a34 --- /dev/null +++ b/doc/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.5.1 + +### jQuery License +``` +jQuery v 3.5.1 +Copyright JS Foundation and other contributors, https://js.foundation/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.5.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/doc/legal/jqueryUI.md b/doc/legal/jqueryUI.md new file mode 100644 index 0000000..8031bdb --- /dev/null +++ b/doc/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.12.1 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/doc/member-search-index.js b/doc/member-search-index.js new file mode 100644 index 0000000..afb638d --- /dev/null +++ b/doc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"cl.zco.desafio3.util","c":"Constantes","l":"ATRIB_FECHA"},{"p":"cl.zco.desafio3.util","c":"Util","l":"clasificarColeccion(List, boolean, String...)","u":"clasificarColeccion(java.util.List,boolean,java.lang.String...)"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"Configuracion()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"Configuracion(int)","u":"%3Cinit%3E(int)"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"Constantes()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"ConsumirJarPrevired()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Util","l":"controlExcepcion(String)","u":"controlExcepcion(java.lang.String)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"controlExcepcion(String, Integer)","u":"controlExcepcion(java.lang.String,java.lang.Integer)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"convertiraJsonDTO(Ufs, List, int)","u":"convertiraJsonDTO(com.previred.desafio.tres.uf.vo.Ufs,java.util.List,int)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"convertiraJsonUfDTO(List, int)","u":"convertiraJsonUfDTO(java.util.List,int)"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"crearFicheroJson(FormatoJsonDTO, String)","u":"crearFicheroJson(cl.zco.desafio3.dto.FormatoJsonDTO,java.lang.String)"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"crearFicheroJson(FormatoJsonDTO, String, boolean)","u":"crearFicheroJson(cl.zco.desafio3.dto.FormatoJsonDTO,java.lang.String,boolean)"},{"p":"cl.zco.desafio3","c":"Desafio3Application","l":"Desafio3Application()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"existeCarpeta(String)","u":"existeCarpeta(java.lang.String)"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"FORMATO_DD_MMM_YYYY"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"FORMATO_YYYY_MM_DD"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"FormatoJsonDTO()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"FormatoUfJsonDTO(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"generarCSV(Ufs)","u":"generarCSV(com.previred.desafio.tres.uf.vo.Ufs)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"generarJson(Ufs, List)","u":"generarJson(com.previred.desafio.tres.uf.vo.Ufs,java.util.List)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"generarXML(Ufs)","u":"generarXML(com.previred.desafio.tres.uf.vo.Ufs)"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"getCantidadjson()"},{"p":"cl.zco.desafio3","c":"Proveedor","l":"getContexto()"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"getDato()"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"getFecha()"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"getFin()"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"getInicio()"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"getUFs()"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"iniciar()"},{"p":"cl.zco.desafio3","c":"Desafio3Application","l":"iniciarAplicacion()"},{"p":"cl.zco.desafio3","c":"Desafio3Application","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"cl.zco.desafio3.negocio","c":"ManejadorArchivos","l":"ManejadorArchivos()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"obtenerEtiqueta(String)","u":"obtenerEtiqueta(java.lang.String)"},{"p":"cl.zco.desafio3.util","c":"Util","l":"obtenerFechaFormato(Date, String)","u":"obtenerFechaFormato(java.util.Date,java.lang.String)"},{"p":"cl.zco.desafio3.negocio","c":"ConsumirJarPrevired","l":"obtenerValoresUF()"},{"p":"cl.zco.desafio3","c":"Proveedor","l":"Proveedor()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"RUTA_JAR_JSON"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"RUTA_WKS_JSON"},{"p":"cl.zco.desafio3","c":"Proveedor","l":"setApplicationContext(ApplicationContext)","u":"setApplicationContext(org.springframework.context.ApplicationContext)"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"setCantidadjson(int)"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"setDato(String)","u":"setDato(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoUfJsonDTO","l":"setFecha(String)","u":"setFecha(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"setFin(String)","u":"setFin(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"setInicio(String)","u":"setInicio(java.lang.String)"},{"p":"cl.zco.desafio3.dto","c":"FormatoJsonDTO","l":"setUFs(List)","u":"setUFs(java.util.List)"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"SIMBOLO_NUEVA_LINEA"},{"p":"cl.zco.desafio3","c":"Configuracion","l":"toString()"},{"p":"cl.zco.desafio3.util","c":"Util","l":"Util()","u":"%3Cinit%3E()"},{"p":"cl.zco.desafio3.util","c":"Constantes","l":"VACIO"},{"p":"cl.zco.desafio3.util","c":"Util","l":"validacionElementosEnRango(List, List)","u":"validacionElementosEnRango(java.util.List,java.util.List)"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/module-search-index.js b/doc/module-search-index.js new file mode 100644 index 0000000..0d59754 --- /dev/null +++ b/doc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/doc/overview-summary.html b/doc/overview-summary.html new file mode 100644 index 0000000..7aa9245 --- /dev/null +++ b/doc/overview-summary.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/doc/overview-tree.html b/doc/overview-tree.html new file mode 100644 index 0000000..0e1e2a1 --- /dev/null +++ b/doc/overview-tree.html @@ -0,0 +1,83 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/package-search-index.js b/doc/package-search-index.js new file mode 100644 index 0000000..7a769c9 --- /dev/null +++ b/doc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"cl.zco.desafio3"},{"l":"cl.zco.desafio3.dto"},{"l":"cl.zco.desafio3.negocio"},{"l":"cl.zco.desafio3.util"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/resources/glass.png b/doc/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..34abd18f32d3a55a297fdcf93409bd033ae573e7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&ALRXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^403@vmGjdTsnLJUl-Obo4zO|=aStPBhe<(7X!(U6;;l9^VCTf=69^L{`L N44$rjF6*2UngDu&PXPb` literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..a90afb8bf8028404d206114965669b023dcb85ea GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4hES%`s&m5HI1v5B^Uft7(lid2moiiX_$l+3hB+!{pPkNg5^ OVDNPHb6Mw<&;$T*0!_~V literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe091f6dc036fc1dc11b005738e951e27a43f7a GIT binary patch literal 332 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�_j6WK+Gj+xJRxVvl#lh7y-4uY);t)n47k4ot z9YsU`HVk7fg4;r{;)FHk7ZHyZJ+W|$aKwj=g&_$VCVFn5%XzSA`|z}+4ItZ|`hB}R z>h-6Be`d>nmv8;kQHJg!HMr^cCGG=T5;3HhZ_JRq0_4a3TsY7Pz{V+}z>;!R^U4*c zJ>wRI59B-)92Vi?b&EWvH(`<(G5A?W)z>EuDMG@VENAb7aHa`I#tKw{0uUc3(#J8& z*_S%A_ZxCIY385{%qN-b1K)TWmCjUA4nWKx_ZnKLSvEf0($&_0@DS~ zN8JOXJXXcaFm^OCYrz(R7N5DQkXKGnnt}yzfw^8s%=A?7hxza;ylJ;XQ&XtC`pM%b z6$5Ff0{(ALcSlTKvIbr@mR`0Z)*iM`2EfO|E5OMk$jQsE!^mat*drqV literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-icons_2e83ff_256x240.png b/doc/script-dir/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5f49756ca64bd20a1048bd7a3a584457d4bf00 GIT binary patch literal 4549 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 literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-icons_888888_256x240.png b/doc/script-dir/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5e33f27235d1b5cf0259f63f3894a6be33c679 GIT binary patch literal 6999 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 literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-icons_cd0a0a_256x240.png b/doc/script-dir/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8ebc180a2d2a74739059799407b8b7b57a9092 GIT binary patch literal 4549 zcmeHK2U8PFw@yL`geFb85=9ZD1*F$df}vOGyaXvKy$K2df>fnT5l|3bse%xZCPhLK zq(s2bG?a)Sy-1T5a?x+*n|uGmeP(CR*`0mn>^?hl=A6f-#y6Q6_!s~H0J9!S#~c6v zp1FW6dYZF&QcwTzY=gzr&=N^tVEF&>Uj<|d!K-Hi*#?;#TL5@jZ-D7d+aKjhUB2ay za7XiT$P6-HQsvS@8Ne>u30;%65Ra9O$98#q8tPF*3bZzTz*N?kB)u+wBUmd+0T!5D z*<^r#Xj1>ZovB|~<30Q0ri+GeWcuAh#6Q2zf&gzD+|&Ui&|W~DEuelV+rTsX$43El z`#jYFfOD>TI+~UbzO6elx{w;!AbqIU%Q;US-y3k0y&ZS`{PXJ9%GKuT? zA=YB~_}-7h}grk~UMM~1{IJu5z36&nH&VPs=tlLlQ$TWf}@j0@_1Mr{7PN}kZ@ zU@9N%V%HL9eSE z*BdLzdW%d9Pf1SA5`lAsx?6C@pGL*pIra&^83Gx%WYG^8aT%R?OG4Ou=0P3R5)KZ5 z2&PGFszDp$u%zsXBYLrEImJ}xFS--_mkY=#l)@OKCnEoMOo8S*eqcoB^(_J&4tmM< zs4&xp4^NNgy&HVP!O(^_6JQclp)V-Ib9=q9aWcaz*Gx~fED_HM%LFsYU%*S)OnQwc zjLYYoLk)hxsCi6qp^!9HRp8G%b|f68yfB?n<^DBz9!E*WgJ2gV*g5_E7alHp*g2_wbc8Pw7*-B9ToxV53c2rO-Vs4Px{7M!NqIXUcMSHv1cqfD&&RnMQs) z8771gCX+j09M{&*+~vB&SSU^b{}8I6?+$$T9I*OL*{LYxAHX;*iW?dX43jc> zp~TZQLjbC#e#FPvV$ou|K+q=`%KR&iGq0m)&%Qcc{(18s?cH)B<=dn&oKq#&CVm$KVlo#Io;OGBX$ckfqw0sl%9n2giktQ~NFXr`I; z@h650el?%I!6y~!d;+G2vdswoOkzni?&A=OT9T`SipWyQFEyIunl_G*e?HE^ zx7hkb*WF(Q-{^pB`|k8FH76TXH6UL4I}2h>bLnbqDDskSJx^zYBqL{y$Sn($8Qire zMAVY2aEEb~T~WwSd>Zm#SF3TtfRem42m@SaPkNC3#AX)UgT%TW=5u7S=dxp|3h~tk+8yZee}?!M9HI@f1WTU?%HqiNq#8O^RmBZ`M8nW z4|fZvl;5BN{Lb=BYDGdiZ)y8 zAJE}UL0VRg6Y7k--*#>qd}SW1`t(XXl);%iKi{ne!56tAR#KrNk#?YdO;$EPr~Ghg zL?F4G51g8yyaYA|gz0Frg48>AICegIAO6!sUwFPVn!UV}NVFIh?iYutyf9vPz5yy( z6DHSbg~R&3N2@w%ro3d+aztG`xPRDrWGn*Y&;syq!6%Nw=lpy*v1>S; zz{fdE9!dF+My~C&wlU5dQQi|liohaCEU{7=clSmk*wsDU+doSXunDD0ppEf~z7_WK zr+{Ip?==2A3sWeggPH~cD#9z$y`Scm$bJE%)>E|H9P>`Q=3WWq&5Gckv?(2+idix- z=}@U*Mw5z1u`6g?w5skq?WtvLzqBse`dg0I`$C5Hc0=;s zkPHED_%Qv>At$X$ZQoAYc=|i@^yMF^9@eeSh=MAFRi5FHuyr-LC*Z!C9W%qiV99!$ z+O4V2zvRN1wsMwg1WGvGv~LqgOA2pQZi~E#pY5Lj`j`sW1jcRidq&GPu(oq7&iz*W zKqyJ$uZ1uC=#zeW>zJF-nx-gt-}Ak+qN{)H+eFKjl(8fvzoS10rN}hbM=2ZHn7&EW z&8^#HYV0+@3zAc}_pVhH22dU+MW5s4HwjodZU|T(EZaZ2D1Vuc&fO1}CSck5&kdJ% zi5gTPGKuKSk8XiGTl>tjIdMWO%>rJ^?&*|Ie1H+ zQLN{pqOrow2FVb%V>X_jBIhzH6s6~oS_oYp;iE>C%Z8w|lf!Ev?jfhYkP?FOAJ=__ zr3Ndn*>IP;iK|Ccxw##$W6H7snuYuHC7o)bP}ir&X4B|!Zd3cDm`a244dW*}1CN%5 zXbw16r3xZMsYF85zpYIaVr} z?@&!YCHZY9Dhmzcwq`}f17^3P{$})GtY|@wRkgs2TGgSwUV|As8%gAY&4}SLTG6V7 zW4_tEA;9}Q!A@(ZaEcrzDlf2bSL%{R)ka6gH9z06;tUEGAxQhi>~Q}sg1^506i46bzM;PHOzX~mY*`jhIiS}ZN2&$pmjO9S=Mj>^wMj=hEu zl~8}2{%}WDK+?okXRZA{H+!LjL{Qw9wi7vK1jiPkap+~_ak9^lCE_h!OeGWGGC-f1 zVRpAm`}*sOCzi+Ga`RF(!KxOX_nSKFZ%-ou%u?^0ue8}s6S?Xo-QGlc{EYuH{+mQ} z>M!OEuy)pxcgz<<{Cz|GC0u}FhbpDfLsov{TnAe9J`HN1 za$1aaKcULuO}iD`>6xOm$wW+_K_~{}#cJyGb!F&r_u_WE*8>}sUhJ6ueSj+chaBTO z_5$EOo-Ic;$S9Ktg;7Yrv0}eqi8w*$7sq2td!fj=Cb#w8?(xBoqj;W#K&Bk`$}tA3 z9AGH_)V?G6ZC=jUdQlN6RDFWODgd0RQQ;0q(jfFwegfKM0~6S+>;@7olQV~&k49?f4c6ReTPQa($S^cob|b_kZ$#iX{C8Kz*x0%0 zo>cBW9N_VWlazSRa?1##MXSou-fxeD!_&QLemU3-p!Hs?V4m6Uct-_K_|&bHnK!W$ zV;63=dGgzIvcKFCOuQk~(75AeyWPI#G+g@N6{x%iJmUeHX;4Zap?8EBjG*?Rg>>ai z2KP;zLI>J)rrvOVNW5NFP3LK%e~$B;2#8-H>%?dKvqQey7_%N$0BA{1=_#M`>JpGj zx^=X=@Ue4rw&8wAx+E@QbDpFk)D;j9<|OP%PJua#2WVcDDKfA63c=(IOQ-ItOLyLj z#xi9OEcg{vTTL1PH0YM4?khk(&TzrkU^aY+ypr5 z{jp4uL+LRby+u5hgmq)J$>w4X_2hrqq;M%gOnCFRl<7qk=J7~NV(r#;uVaI=;k)yH z3s|;iNg&Le8;yH+`qw4sWA#bWtE1?ftr!s26wPW{TB4{eZ7}vcT{CttS+z#yeHZD` z!Dm{7xPVwM1jvxV5cImPfv~WUzB0lD0V?KmAfl1#yl9`E3o(FJ-W+yQ`0C&D)y6G7Fqei&raMZE$9ts7fa z4f4?J_L;XiwLe#tFZPq{Hi=d2HL_a#J6156HfF@TAh; z*?Y}c7mP70lKYjiy#yEAjAE=?L_%I!DCR2DHw8zdS^Oe`Q{pKe%3AToxCN@8lKi~y z{NBUBt1t6X6V9;2e1t)uN}rcE_dBkxip3*do}=#z;&-%u?-?GxK;Dbzs!>Q^*6ptj zm^eD>*BoA?nOOnx9cmrMao0O|mq-wu>SauA6^XMeyN#cZXde*AQjDKU-aV#`nCYM! zK93Mnh)oEUJD3C2u*7fg1Z6u(rIWt=TFIqI@vO6HP*2{$Nfzqqt)jply2Pr`P1<{K zAJze>9Iexn7%VzWXJ<9dI_s1qgpT?U{aFjU?#mtfXwP1}`wno0q-!-Ch4te$o&7NO zv0K{_tOX8j$%GwNi1XUiA4V4r(b+)i-C0MYc`g)V`!_Vllu=)fmSLWy3MWmjV{~>( z2}Qmx;l8gN7vOQhu1Ct|e;v2u<}Z#5f0Ri`pg-r)`~A!ONc0I6kHauS0UE#sMlq4I z%K6CTTyOG<7_>u(<5A(mz`ps}+2ji&AfFQ+KjMEIGm>t=ebp$kBvqJzq Mq_Ix57W&cu0AIB!=l}o! literal 0 HcmV?d00001 diff --git a/doc/script-dir/jquery-3.5.1.min.js b/doc/script-dir/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/doc/script-dir/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"