Dieses GitHub -Repository enthält die Quellen von 3 Bibliotheken, die IVOA -Standards und -Protokolle implementieren:
Für eine vollständige Dokumentation/ein Tutorial und eine Demo der 3 Bibliotheken sollten Sie die folgenden Websites besuchen: ADQLTUTO, UWSTUTO und TAPTUTO.
Diese Bibliotheken werden in Java 7 entwickelt.
Die drei dieser Bibliotheken stehen unter den Bedingungen der LGPL V3 -Lizenz. Sie können die vollständige Beschreibung und alle Gebrauchsbedingungen in den Dateien SRC/Copying und SRC/Copying.Lesser finden.
Ich ermutige Sie nachdrücklich , alle Probleme zu erklären, denen Sie hier begegnen . So kann jeder, der das gleiche Problem hat, sehen, ob sein Problem bereits bekannt ist. Wenn das Problem bekannt ist, werden die Fortschritte und/oder Kommentare zu seiner Lösung veröffentlicht.
Wenn Sie dieses Repository gepackt und einige Korrekturen auf Ihrer Seite vorgenommen haben, die wahrscheinlich einen anderen Benutzer der Bibliotheken interessieren, senden Sie hier bitte eine Pull -Anfrage hier. Wenn diese Modifikationen mit der IVOA -Definition angemessen sind und nicht zu spezifisch für Ihre Usecase sind, werden sie (möglicherweise nach einigen Änderungen) in diesem Repository integriert und somit allen zur Verfügung gestellt.
Jede Bibliothek verfügt über ein eigenes Paket ( adql für ADQL, uws für UWS und tap für Tap). Diese Pakete sind unabhängig, mit tap was die beiden anderen Pakete benötigt. Zusätzlich zu diesen Paketen finden Sie cds , was für die Bibliotheken eine Abhängigkeit darstellt.
Im Folgenden finden Sie die Abhängigkeiten jeder Bibliothek:
| ADQL | UWS | KLOPFEN | |
|---|---|---|---|
Paket adql | X | X | |
Paket cds.utils | X | X | |
| Postgres JDBC -Treiber | X | X | |
Paket uws | X | X | |
| JSON -Bibliothek | X | X | |
| Http Servlet API | X | X | |
| HTTP Multipart Library | X | X | |
Pakete cds.* | X | ||
| Stilbibliothek | X |
Im lib -Verzeichnis finden Sie 3 JAR -Dateien:
commons-fileupload-1.3.3.jar (und commons-io-2.6.jar ). Diese Bibliothek hilft beim Umgang mit Uploads.stil_3.3-2.jar (dh pakete nom.tap , org.apache.tools.bzip2 , uk.ac.starlink ). Diese Bibliothek unterstützt die Unterstützung von Stimmen (Lesen und Schreiben) und einige andere Ausgabeformate.json-20180813.jar (dh der frühere Paket org.json ). Diese Bibliothek hilft bei der Manipulation von JSON -Inhalten. Diese Bibliothek wurde bereits verwendet (vor V4.4 von UWS-Lib und V2.3 von Tap-Lib), aber sie wurde in die Quellen aufgenommen, anstatt als externe Bibliothek betrachtet zu werden. Der POSTGRES JDBC -Treiber wird nur benötigt, wenn Sie adql.translator.PgSphereTranslator verwenden möchten (und halten). Sie können diesen Treiber auf der PostgreSQL -Website bringen. Das erforderliche Paket für die ADQL- und TAP -Bibliotheken lautet org.postgresql (und insbesondere die Klasse org.postgresql.Driver ).
Die HTTP -Servlet -API ist im Allgemeinen in den Bibliotheken verfügbar, die entlang des von Ihnen verwendeten Webanwendungsservers kommen. Zum Beispiel ist es für Tomcat im Verzeichnis lib (oder /var/lib/tomcat-x/lib wenn sie mit der Eignung auf einem Linux-System installiert ist; x ist die Versionsnummer von Tomcat). Das erforderliche Paket für die UWS- und TAP -Bibliothek ist javax.servlet .
HINWEIS: Der Postgres JDBC -Treiber und die HTTP -Servlet -API werden in diesem Git -Repository nicht bereitgestellt, um eine Inkompatibilität der Version mit dem Hostsystem zu vermeiden (dh Ihr Computer, wenn Sie dieses Repository auschecken/klon/gabel).
Die Quellen dieser drei Bibliotheken werden mit einigen JUNIT -Testdateien ausgestattet. Sie finden sie im test .
Wenn Sie Eclipse (oder möglicherweise auch mit einer anderen integrierten Entwicklungsumgebung) verwenden, ist Junit im Allgemeinen bereits verfügbar. Anschließend können Sie die bereitgestellten JUNIT -Testdateien direkt ausführen und kompilieren. Sie brauchen also nicht die beiden Bibliotheken, die direkt unten erwähnt werden.
Andernfalls müssen Sie die JUNIT -Bibliothek erhalten. Im Allgemeinen ist es mit dem JDK versehen, aber Sie finden das entsprechende Glas auch auf der JUNIT -Website.
Möglicherweise benötigen Sie auch eine andere Bibliothek namens hamcrest . Sie finden dieses in seinem Maven -Repository. Nehmen Sie einfach alles, was alles benötigt hat, einfach als Glas hamcrest-all .
Hinweis: In diesem Git -Repository werden die Bibliotheken von JUNIT und HAMCREST nicht bereitgestellt, um die Inkompatibilität von Versionen mit dem Host -System zu vermeiden (dh Ihr Computer, wenn Sie dieses Repository auschecken/klonen/gib).
Am Wurzel des Repositorys gibt es 3 Ameisenskripte. Jedes ist einer Bibliothek gewidmet. Sie sind in der Lage, Glas für Quellen, Binärdateien und Javadoc zu generieren.
4 Eigenschaften müssen vor der Verwendung eines dieser Skripte festgelegt werden:
POSTGRES nur für adql und tippen Sie, wenn Sie adql.translator.pgSpheretRanslator halten möchten : Ein Pfad zu einem Glas oder einem binären Verzeichnis, das alle org.postgresql.*SERVLET-API nur für UWS und TAP : Ein Weg zu einem Glas oder einem binären Verzeichnis, das alle javax.servlet.*JUNIT-API nicht erforderlich, wenn Sie nicht durch Durchführung der Junit-Tests interessiert sind : Ein Weg zu einem oder mehreren Gläser oder binären Verzeichnissen, die alle Klassen zur Verwendung von JUNIT enthalten.JNDI-API nur für den Tipp und nur, wenn Sie an der Durchführung der JUNIT-Tests interessiert sind : Ein Weg zu einem oder mehreren Gläsern oder binären Verzeichnissen, die alle Klassen enthalten, um einen JNDI zu betreiben. Dafür gibt es mehrere Bibliotheken; Simple-Jndi ist sehr einfach und wird vom Bibliotheksentwickler verwendet, um die zugehörigen JUNIT-Tests durchzuführen.Hinweis: In diesem Git -Repository wird keine JNDI -Bibliothek angegeben, da eine JNDI -Bibliothek möglicherweise funktioniert und es keinen Grund gibt, eine bestimmte aufzuerlegen. In ähnlicher Weise können die anderen Bibliotheken, die für die Kompilierung der Quellen erforderlich sind, die Inkompatibilität der Version mit dem Host -System vermeiden (dh Ihr Computer, wenn Sie dieses Repository auschecken/klon/gib dieses Repository).
Alle diese Ant -Skripte haben die folgenden Hauptziele:
junitValidation : Führen Sie alle Junit -Tests aus, die sich auf die Zielbibliothek beziehen, und stoppen Sie Ant bei jedem Fehler. Wenn die Zielbibliothek tippt, werden die JUNIT -Tests der drei Bibliotheken ausgeführt.buildLib Standard : Führen Sie die JUNIT -Tests aus und erstellen Sie die Klassen der Zielbibliothek und erstellen Sie eine JAR -Datei mit ihnen und ihren Abhängigkeiten.buildLibAndSrc : Wie buildLib + Erstellung einer JAR -Datei, die alle Quellen und die erforderlichen Bibliotheken enthält.buildJavadoc : Generieren Sie ein Glas, das den Javadoc der Klassen der Zielbibliothek enthält.buildAll : Äquivalent zu buildLibAndSrc und zusammen buildJavadoc zusammen. Das Ergebnis ist 3 Gläser: einer mit den kompilierten Klassen, einer mit den entsprechenden Quellen und der letzte mit dem Javadoc.Der Code kann mit Gradle erstellt werden, entweder als JAR -Datei, die in andere Projekte aufgenommen werden soll, oder als Kriegsdatei, die in Tomcat bereitgestellt werden soll.