Este repositório do GitHub contém as fontes de 3 bibliotecas que implementam padrões e protocolos IVOA:
Para uma documentação/tutorial completa e uma demonstração das três bibliotecas, você deve visitar os seguintes sites: Adqltuto, Uwstuto e Taptuto.
Essas bibliotecas são desenvolvidas em Java 7 .
As três dessas bibliotecas estão nos termos da licença LGPL V3. Você pode encontrar a descrição completa e todas as condições de uso nos arquivos src/copying e src/copying.lesser.
Eu o incentivo fortemente a declarar qualquer problema que encontrar aqui. Assim, qualquer pessoa que tenha o mesmo problema pode ver se seu problema já é conhecido. Se o problema for conhecido, o progresso e/ou comentários sobre sua resolução serão publicados.
Além disso, se você bifurou este repositório e fez algumas correções ao seu lado, que provavelmente interessarão a qualquer outro usuário das bibliotecas, envie uma solicitação de tração aqui. Se essas modificações estiverem em adequação com a definição IVOA e não forem muito específicas para a sua USECASE, elas serão integradas (talvez após algumas modificações) neste repositório e, portanto, disponibilizadas a todos.
Cada biblioteca possui seu próprio pacote ( adql para ADQL, uws para UWs e tap para TAP). Esses pacotes são independentes, exceto tap , que precisa dos dois outros pacotes. Além desses pacotes, você também encontrará cds o que é uma dependência para as bibliotecas.
Abaixo estão resumidos as dependências de cada biblioteca:
| Adql | Uws | TOCAR | |
|---|---|---|---|
Pacote adql | X | X | |
Pacote cds.utils | X | X | |
| Driver PostGres JDBC | X | X | |
Pacote uws | X | X | |
| Biblioteca JSON | X | X | |
| API HTTP Servlet | X | X | |
| Biblioteca multipartidária HTTP | X | X | |
Pacotes cds.* | X | ||
| Biblioteca SIL | X |
No diretório lib , você encontrará 3 arquivos JAR:
commons-fileupload-1.3.3.jar (e commons-io-2.6.jar ). Esta biblioteca ajuda a lidar com uploads.stil_3.3-2.jar (IE Pacotes nom.tap , org.apache.tools.bzip2 , uk.ac.starlink ). Esta biblioteca ajuda a apoiar o Votável (Leia e Escreva) e alguns outros formatos de saída.json-20180813.jar (ou seja, o primeiro incluiu o pacote org.json ). Esta biblioteca ajuda a manipular o conteúdo JSON. Essa biblioteca já foi usada (antes da v4.4 do UWS-LIB e V2.3 do TAP-Lib), mas foi incluída nas fontes, em vez de ser considerada uma biblioteca externa. O driver pós -gres JDBC é necessário apenas se você quiser usar (e manter) adql.translator.PgSphereTranslator . Você pode obter esse driver no site do PostGresql. O pacote necessário para as bibliotecas ADQL e TAP é org.postgresql (e particularmente a classe org.postgresql.Driver ).
A API HTTP Servlet geralmente está disponível nas bibliotecas que vêm ao longo do servidor de aplicativos da Web que você está usando. Por exemplo, para o tomcat, ele está no diretório lib (ou /var/lib/tomcat-x/lib se instalado com aptidão em um sistema Linux; x é o número da versão do tomcat). O pacote necessário para a biblioteca UWS e TAP é javax.servlet .
NOTA: O driver do PostGres JDBC e a API HTTP Servlet não são fornecidos neste repositório Git para evitar a incompatibilidade da versão com o sistema host (ou seja, sua máquina quando você checkout/clone/fork este repositório).
As fontes dessas três bibliotecas vêm com alguns arquivos de teste JUNIT. Você pode encontrá -los no diretório test .
Se você estiver usando o Eclipse (ou talvez também com outro ambiente de desenvolvimento integrado), o JUNIT geralmente já está disponível. Em seguida, você pode executar diretamente e compilar os arquivos de teste Junit fornecidos. Portanto, você não precisa das duas bibliotecas mencionadas logo abaixo.
Caso contrário, você precisará obter a Biblioteca Junit. Geralmente, é fornecido com o JDK, mas você pode encontrar o frasco correspondente também no site do JUNIT.
Você também pode precisar de outra biblioteca chamada hamcrest . Você pode encontrar este em seu repositório Maven; Só para ter certeza de ter tudo o que é necessário, basta tomar hamcrest-all como uma jarra.
NOTA: As bibliotecas JUNIT e HAMCREST não são fornecidas neste repositório Git para evitar a incompatibilidade da versão com o sistema host (ou seja, sua máquina ao fazer checkout/clone/fork este repositório).
Na raiz do repositório, existem 3 scripts de formiga. Cada um é dedicado a uma biblioteca. Eles são capazes de gerar jar para fontes, binários e javadoc.
4 As propriedades devem ser definidas antes de usar um desses scripts:
POSTGRES apenas para adql e toque se você quiser manter adql.translator.pgspheretranslator : um caminho em direção a um frasco ou um diretório binário contendo todos org.postgresql.*SERVLET-API apenas para UWs e toque : um caminho em direção a um frasco ou um diretório binário contendo todos os javax.servlet.*JUNIT-API não é necessário se você não estiver interessado executando os testes do JUNIT : um caminho para um ou vários frascos ou diretórios binários que contêm todas as classes para usar o JUNIT.JNDI-API apenas para TAP e somente se você estiver interessado executando os testes Junit : um caminho em direção a um ou vários frascos ou diretórios binários que contêm todas as classes para executar um JNDI. Várias bibliotecas existem para isso; Simple-jndi é muito simples e é usado pelo desenvolvedor da biblioteca para executar os testes Junit relacionados.Nota: Nenhuma biblioteca JNDI é fornecida neste repositório Git porque qualquer biblioteca JNDI pode funcionar e não há razão para impor uma específica. Além disso, da mesma forma que as outras bibliotecas necessárias para compilar as fontes, ele permite evitar a incompatibilidade da versão com o sistema host (ou seja, sua máquina ao fazer checkout/clone/fork este repositório).
Todos esses scripts de formiga têm os seguintes alvos principais:
junitValidation : Executa todos os testes JUNIT relacionados à biblioteca de destino e pare a formiga em qualquer erro. Se a biblioteca de destino for toque, os testes Junit das três bibliotecas serão executados.buildLib Padrão : Execute os testes do Junit e, se todos eles forem bem -sucedidos, compilem as classes da biblioteca de destino e crie um arquivo JAR com eles e suas dependências.buildLibAndSrc : o mesmo que buildLib + Edifício de um arquivo JAR contendo todas as fontes e as bibliotecas necessárias.buildJavadoc : Gere um frasco contendo o Javadoc das classes da biblioteca de destino.buildAll : equivalente a buildLibAndSrc e buildJavadoc juntos. O resultado são 3 frascos: um com as classes compiladas, uma com as fontes correspondentes e a última com o javadoc.O código pode ser construído com o gradle, como um arquivo JAR a ser incluído em outros projetos ou como um arquivo de guerra a ser implantado no Tomcat.