Este repositorio de GitHub contiene las fuentes de 3 bibliotecas que implementan estándares y protocolos IVOA:
Para una documentación/tutorial completa y una demostración de las 3 bibliotecas, debe visitar los siguientes sitios web: Adqltuto, UWSTUTO y TAPTUTO.
Estas bibliotecas se desarrollan en Java 7 .
Las tres de estas bibliotecas están bajo los términos de la licencia LGPL V3. Puede encontrar la descripción completa y todas las condiciones de uso en los archivos SRC/Copying y Src/Copy.lesser.
Te recomiendo que declares cualquier problema que encuentres aquí. Por lo tanto, cualquiera que tenga el mismo problema puede ver si su problema ya es conocido. Si se conoce el problema, se publicará el progreso y/o los comentarios sobre su resolución.
Además, si ha bifurcado este repositorio y ha realizado algunas correcciones de su lado que probablemente interese a cualquier otro usuario de las bibliotecas, envíe una solicitud de extracción aquí. Si estas modificaciones están en adecuación con la definición IVOA y no son demasiado específicas para su USECase, estarán integrados (tal vez después de algunas modificaciones) en este repositorio y, por lo tanto, pondrán a disposición de todos.
Cada biblioteca tiene su propio paquete ( adql para ADQL, uws para UWS y tap para TAP). Estos paquetes son independientes, excepto tap , lo que necesita los otros dos paquetes. Además de estos paquetes, también encontrará cds que es una dependencia de las bibliotecas.
A continuación se resumen las dependencias de cada biblioteca:
| Adql | UWS | GRIFO | |
|---|---|---|---|
Paquete adql | incógnita | incógnita | |
Paquete cds.utils | incógnita | incógnita | |
| Postgres JDBC Driver | incógnita | incógnita | |
Paquete uws | incógnita | incógnita | |
| Biblioteca json | incógnita | incógnita | |
| API HTTP Servlet | incógnita | incógnita | |
| Biblioteca http multipart | incógnita | incógnita | |
Paquetes cds.* | incógnita | ||
| Biblioteca | incógnita |
En el directorio lib , encontrará 3 archivos JAR:
commons-fileupload-1.3.3.jar (y commons-io-2.6.jar ). Esta biblioteca ayuda a lidiar con cargas.stil_3.3-2.jar (es decir, paquetes nom.tap , org.apache.tools.bzip2 , uk.ac.starlink ). Esta biblioteca ayuda a respaldar a Votable (leer y escribir) y algunos otros formatos de salida.json-20180813.jar (es decir, el primero incluyó el paquete org.json ). Esta biblioteca ayuda a manipular el contenido de JSON. Esta biblioteca ya se usó (antes de V4.4 de UWS-LIB y V2.3 de TAP-LIB), pero se incluyó en las fuentes en lugar de ser consideradas como una biblioteca externa. El controlador JDBC Postgres solo se necesita si desea usar (y mantener) adql.translator.PgSphereTranslator . Puede obtener este controlador en el sitio web de PostgreSQL. El paquete requerido para las bibliotecas ADQL y TAP es org.postgresql (y particularmente la clase org.postgresql.Driver ).
La API HTTP Servlet generalmente está disponible en las bibliotecas que avanzan en el servidor de aplicaciones web que está utilizando. Por ejemplo, para TomCat, está en el directorio lib (o /var/lib/tomcat-x/lib si se instala con aptitud en un sistema Linux; x es el número de versión de Tomcat). El paquete requerido para la biblioteca UWS y TAP es javax.servlet .
Nota: El controlador JDBC Postgres y la API HTTP Servlet no se proporcionan en este repositorio GIT para evitar la incompatibilidad de la versión con el sistema de host (es decir, su máquina cuando revisa/clon/bifurca este repositorio).
Las fuentes de estas tres bibliotecas vienen con algunos archivos de prueba JUnit. Puede encontrarlos en el directorio test .
Si está utilizando Eclipse (o tal vez también con otro entorno de desarrollo integrado), Junit generalmente ya está disponible. Luego puede ejecutar y compilar directamente los archivos de prueba JUNIT proporcionados. Por lo tanto, no necesita las dos bibliotecas mencionadas justo debajo.
De lo contrario, deberá obtener la Biblioteca Junit. En general, se proporciona el JDK, pero puede encontrar el frasco correspondiente también en el sitio web de Junit.
También es posible que necesite otra biblioteca llamada hamcrest . Puede encontrar este en su repositorio maven; Solo para asegurarse de tener todo lo necesario, solo tome hamcrest-all como un frasco.
Nota: Las bibliotecas Junit y Hamcrest no se proporcionan en este repositorio de Git para evitar la incompatibilidad de la versión con el sistema de host (es decir, su máquina cuando revisa/clon/bifurca este repositorio).
En la raíz del repositorio, hay 3 scripts de hormigas. Cada uno está dedicado a una biblioteca. Son capaces de generar JAR para fuentes, binarios y Javadoc.
4 propiedades deben establecerse antes de usar uno de estos scripts:
POSTGRES solo para ADQL y TAP Si desea mantener ADQL.Translator.pgSpheretranslator : una ruta hacia un frasco o un directorio binario que contiene todos org.postgresql.* - [https://jdbc.postgresql.org/download.htmlfont>(jdbc Postgrres Driver))SERVLET-API solo para UWS y Tap : una ruta hacia un frasco o un directorio binario que contiene todos javax.servlet.*JUNIT-API no es necesario si no está interesado ejecutando las pruebas JUnit : una ruta hacia uno o varios frascos o directorios binarios que contienen todas las clases para usar JUnit.JNDI-API solo para Tap y solo si está interesado ejecutando las pruebas JUnit : un camino hacia uno o varios frascos o directorios binarios que contienen todas las clases para ejecutar un JNDI. Existen varias bibliotecas para eso; Simple-JNDI es muy simple y es utilizado por el desarrollador de bibliotecas para ejecutar las pruebas JUNIT relacionadas.Nota: No se proporciona ninguna biblioteca JNDI en este repositorio Git porque cualquier biblioteca JNDI puede funcionar y no hay razón para imponer una específica. Además, de manera similar a las otras bibliotecas requeridas para compilar las fuentes, permite evitar la incompatibilidad de la versión con el sistema de host (es decir, su máquina cuando revisa/clon/bifurca este repositorio).
Todos estos scripts de hormigas tienen los siguientes objetivos principales:
junitValidation : ejecuta todas las pruebas JUnit relacionadas con la biblioteca de destino y detenga Ant en cualquier error. Si la biblioteca de destino es TAP, se ejecutan las pruebas JUnit de las tres bibliotecas.buildLib predeterminado : ejecute las pruebas JUnit y si todos tienen éxito, compile las clases de la biblioteca de destino y cree un archivo jar con ellas y sus dependencias.buildLibAndSrc : igual que la construcción buildLib + de un archivo jar que contiene todas las fuentes y las bibliotecas requeridas.buildJavadoc : Genere un frasco que contenga el Javadoc de las clases de la biblioteca de destino.buildAll : equivalente de buildLibAndSrc y buildJavadoc juntos. El resultado son 3 frascos: uno con las clases compiladas, una con las fuentes correspondientes y la última con el Javadoc.El código se puede construir con Gradle, ya sea como un archivo JAR que se incluirá en otros proyectos o como un archivo de guerra que se implementará en Tomcat.